Logic Synthesis And Verification Algorithms Gary D. Hachtel & Fabio Somenzi 第十章

本文介绍了多级逻辑综合的重要性,特别是对于降低面积和功耗的优势。文章详细探讨了布尔网络的表示,包括节点和代数运算,强调了代数和布尔表达式的区别。接着,讨论了因子化形式、除法、核与副核的概念,并引入了启发式因子化算法,如通用因子化算法、快速因子和好因子。最后,概述了分解和重构,包括代数重置、选择性节点消除和提取过程,这些方法用于优化布尔网络结构和减少逻辑单元数量。
摘要由CSDN通过智能技术生成

Chapter 10 Multi-Level Logic Synthesis

10.1 Introduction

一个SOP F = xz + yz的电路如下图所示是两级的。

 而multi-level是从左边输入到右边输出存在多级的路径,如下图。好处是通常面积较小,功耗低。实际应用中大型的design几乎都是multi-level的。

 

10.1.1 Networks and Algebraic Operations

最常见的multilevel logic模型是bool网络,本质上是一个有向图,每个节点是一个bool表达式。

 节点z1和z2是bool网络的primary outputs(Po),节点x1,x2,x3,x4,x5,x6是bool网络的primary inputs(PI)。内部各个节点的bool表达式为

 这里我们并没有对节点表达式的形式做任何限定,是最通用的模型。在具体的建模中,我们可以限定节点表达式形式为与门,或门,BDD,AIG,SOP,......。

  下面是两个multi-level circuit,可以视为一个bool网络。

 左右的bool表达式分别为

 从左图到右图实际上是一种结构上的restructuring,对应到表达式就是把公因子c提取出来。当让,factorization的方法不知一种,比如 f 还可以factor成

 通常情况下,我们会对factoring的类型进行限制。在本章中,我们对bool表达式的factoring操作都限定为algebraic。Algebraic的定义并不是特别严密,主要是区别于Boolean,意思是我们所作的运算局限于实数多项式领域。可以这样理解

 我们一定要记住上述区别,否则无法理解本章余下的内容。不严格地说,我们是对bool表达式进行多项式因式分解。 显然,f = c(a+b) + ad就符合这个约定,而 f = (a+bc)(c+d) = ac + ad + bc.c + ad = ac+2ad+bc.c就不符合这个约定,因为我们无法利用多项式领域的运算将 f = (a+bc)(c+d)转换回 f = ac + bc + ad。

在multilevel logic的领域,我们还必须要有一个观念上的改变。对于 f = ac + bc + ad,我们之前的理解为三个cube ac,bc,ad的和。在本章中,我们将 f 视为三个cube 的集合 {ac,bc,ad}。同时我们将cube ac 视为2个literals的集合{a,c},cube bc 视为......

10.2 Representation Issues and Choices

10.2.1 Alternate Node Representations

boolean网络中每个节点的表达形式可以有很多种。

1 SOP---sum of products

2 Factored forms

本章最重要的表示方式,直观上看,是用括号嵌套的表达式

 Factored form有一个很好的特性-------取反之后literals的数目不变,如

左右的literals数目都是5。所以,我们认为一个factored form同时表示F和F‘(inverter的代价可忽略不计)。

 3 NAND or NOR Representations-------限定节点function为NAND或NOR

 10.3 Representing Switching Functions in Factored Form

10.3.1 Factored Forms

一个product可以视为terms为1的sum,factored form可以理解为sum of product的扩展,只不过product被递归定义为factored forms的乘积。并且一个single literal也是一个factored form。比如下面这些表达式都是factored form:

 但是下面这个就不是,因为一个括号是一个factored form,但是定义中没有说可以对factored form取反,是不是?注意a'本身是一个literal,不是对literal a的取反。

 

 10.3.2 Algebraic and Boolean Expressions

 a+bc是algebraic expression的,但是a+ab不是algebraic的。Why?假设我们对a+ab提取公因子会得到a(1+b)。如果按照bool操作,1+b = 1,但是按照代数操作,没有这种优化。所以应该这样理解,如果一个表达式的优化涉及bool操作,则这个表达式就不是代数的。

 可见support是忽略取反的。

10.3.3 Algebraic and Boolean Factored Forms

 

 一条简单的判别规则,我们把factored form按照代数操作展开,如果结果是代数表达式,则factored form是代数的,否则为bool的。

10.3.4 Value of a Factorization

 其实factorization value就是原始sop的literals数目减去factored form的literals数目,换句话说,就是factoring节省的literals数目。比如

 如果选取G1 = a + bc + bd,G2 = e + f + g,则R=0,F = (a + bc + bd) (e + f + g)。从而FACT_VAL(F,G2) = 24 - (5 + 3) = 16。书中用了一种别扭的计算方式FACT_VAL(F,G2) = 2 * 3 + 2 * 5  = 16。我们解释以下2*5是怎么来的,2*3与之类似。我们观察(a + bc + bd)的literals数目为5,在factored form,a+bc+bd只计算了一次,而如果展开成的话,会被计算三次------(a+bc+bd)*e + (a+bc+bd)*f + (a+bc+bd)*g,所以相当于减少了5*(3-1) = 2*5个literals。

10.3.5 Equivalent, Maximal, and Optimum Factorizations

Forctored form可以表示为一棵factoring tree,如下图

 

 

 看两个例子

    

 这两个都不是maximally factored的。这两者一个为sum of products,一个为products of sums,都含有一个公因子a,所以都可以提取公因子:

   

 需要注意的是后一个提取公因子用到了“+” distributes over “.“,这个是bool操作非代数操作。今后如果我们的factoring操作限定在代数领域,则不会考虑后面一个提取公因子操作,因为这种情况根本不会出现。比如代数领域可能出现(a+b)(c+d),但是绝不会出现(a+b)(a+c)。所以我们在判断是否为maximally factored的时候,不需要考虑product of sums的terms之间是否存在公因子,即不用考虑Definition 10.3.6的第二种情况

 这个很显然。比如我们要判断F = (ab + ac + cd)(e+f) + gh是否为maximally factored,递归步骤(实际为倒序,因为是postorder)为

    1  判断sum terms (ab+ac+cd)(e+f) 和  gh之间是否有公因子

    2  无需判断product

### 回答1: 在数字电路逻辑合成领域,一些普遍推荐的介绍性教科书有《数字电路设计》(Digital Circuit Design)、《逻辑合成》(Logic Synthesis)和《数字电路的设计和分析》(Design and Analysis of Digital Circuits)等。相关的学术期刊有《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》、《ACM Transactions on Design Automation of Electronic Systems》等。 ### 回答2: 逻辑综合是数字电路设计中的重要领域,有许多教材和相关学术期刊可以使用。 在教材方面,一本常用的入门教材是《数字逻辑与计算机设计》(作者:M.M.马诺亚尔夫斯基)。该教材系统地介绍了数字电路设计与逻辑综合的基本概念、方法和技术。另外,John P. Uyemura的《数字逻辑集成电路设计与优化》也是一本广泛使用的教材,涵盖了数字电路设计和逻辑综合的各个方面。 在学术期刊方面,逻辑综合领域有许多重要的学术期刊,其中一些被广泛引用和研究。例如,IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD) 是一个知名的期刊,它发表了许多与逻辑综合相关的高水平研究论文。此外,IEEE Transactions on Very Large Scale Integration (VLSI) Systems、Journal of Electronic Testing: Theory and Applications (JETTA) 等期刊也经常刊登关于逻辑综合的研究成果。 除了上述教材和学术期刊,逻辑综合领域还有其他一些影响力较大的资料和资源,如国际会议的论文集(如International Conference on Computer-Aided Design)以及一些专业组织的出版物或在线资源(如IEEE和ACM)。这些资源为学者和研究人员提供了更多的信息和研究成果,以促进逻辑综合领域的发展。 ### 回答3: 数字电路逻辑综合领域有很多介绍性教材和相关学术期刊。以下是一些常用的教材和期刊: 教材: 1. "Logic Synthesis and Verification Algorithms"由Gary Hachtel和Fabio Somenzi撰写,是逻辑综合算法领域的入门教材。 2. "Logic Synthesis for FSM-Based Control Units"由Maya B. Gokhale和Irith Pomeranz编写,主要介绍有限状态机(FSM)控制单元的逻辑综合。 3. "Introduction to Boolean Algebra and Logic Circuits"由Giriraj Sharma撰写,能够帮助初学者了解布尔代数和逻辑电路的基础知识。 期刊: 1. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD):这是一个针对集成电路和系统设计的重要期刊,经常涉及到逻辑综合的研究。 2. IEEE Design & Test:这个期刊涵盖了硬件设计和测试方面的广泛内容,并经常刊登有关数字电路逻辑综合的文章。 3. ACM Transactions on Design Automation of Electronic Systems (TODAES):这个ACM期刊关注电子系统设计自动化,经常包含逻辑综合的研究成果。 以上是数字电路逻辑综合领域常用的教材和期刊,它们提供了理论和实践方面的资料,对于学习和研究逻辑综合非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值