ASIC世廿施程和世讨贷桂-nginx url自动加斜杠及301重定向的问题
第二章ASIC设计流程和方法
逻辑优化是在逻辑综合以后进行的。逻辑优化程序的输入是逻辑描述,它可以是逻辑综合的结果,也可以在逻辑级直接生成。逻辑优化是在给定综合库的情况下,对于逻辑描述形成的门电路网络进行优化,优化的目标是根据电路速度和面积等约束条件进行协调,简化和改善电路的逻辑设计。优化的结果再由版图综合软件生成物理版图。
典型的逻辑优化过程如图2.13所示。输入的门级逻辑描述是非优化的布尔等式描述,经过编译转换成中间格式,经过弱分解和重复改进,并与目标工艺综合库对应,转化成优化的布尔描述。优化过程分两个阶段进行,它们是:
-
与工艺无关的逻辑优化阶段:运用代数和布尔代数技术对电路进行优化。这一阶段的逻辑优化采用布尔代数和代数技术分四步进行,即输入处理、两级极小化、代数化简和重复改进。如果你对布尔代数与逻辑函数化简感兴趣,可以参考布尔代数与逻辑函数化简的详细内容。
-
与目标工艺对照阶段:根据制造工艺的要求,将已简化的逻辑描述转换成综合库要求的表达形式,用相应的单元符号,包括标准单元或FPGA元件符号以及其它物理实现的逻辑符号替代已简化的描述。
以下着重介绍第一阶段的逻辑优化方法。输入处理是对输入的逻辑网表作初步处理,包括删除多余的倒相器,删除逻辑值不变化的节点,使逻辑化简;接着是进行两级极小化操作,这是将电路所有的逻辑关系都转换成简单的AND(与)和OR(或)的表达式,使非优化的布尔描述格式转换成能执行优化算法的布尔描述格式,此时的网表变成了两级PLA乘积和的形式,其中每一个乘积项就是布尔表达式的最小项。
最后使用代数化简方法,引入新的节点,再将两级逻辑表达式生成多级逻辑表达式使网络简化。这种技术叫弱分解(Weak Division)。两级极小化过程从代数角度来看,它的作用是去掉中间变量的消元过程,使逻辑描述转化成两级乘积和的形式。这个过程也称为展平设计。一个实际的例子如下:
"a = b.c; b = d + e; c = f.(g + h); a = bc = (d + e).(f(g + h)) = (d + e)(fg + fh) = dfg + dfh + efg + efh"
两级极小化过程实际上是把中间变量b和c消去,得到一种两级逻辑表达形式。
了解更多关于布尔代数和逻辑优化的内容,请参阅QM算法进行布尔代数化简和布尔代数和逻辑门。这些资源将帮助你更深入地理解逻辑优化过程的细节和应用。
逻辑优化的方法和技术不仅仅局限于理论,还包括实际应用的方方面面。比如,对于布尔代数构建的源码可以参考布尔代数构建源码以获得实用的编程技巧。是否感到知识的海洋无限宽广,令人神往?了解逻辑代数的基础知识,不妨阅读逻辑代数基础的讲解,从基础入手一步步提升自己。