逻辑优化是指在一个或多个限制條件下,找到指定逻辑电路等效表示的过程,是数字电路与集成电路设计中逻辑综合的一部分。
电路一般来说會受到最小芯片面积和预定响应延迟的限制。对给定电路进行逻辑优化的目标是获得最小的逻辑电路,且其值与原始电路相同。
方法
逻辑电路简化方法同样适用于布尔表达式最小化。
分类
如今,逻辑优化分为多个类别:
;基于电路表示
: 两级逻辑优化
: 多级逻辑优化
基于电路特性
:时序逻辑优化
:组合逻辑优化
;基于执行类型
:图形优化方法
:表格优化方法
:代数优化方法
图形法
图形法通过表示逻辑变量与函数值的图表表示所需逻辑函数。操作/检查图表可以省去很多繁琐的计算。两级逻辑图形最小化方法包括
- 莱昂哈德·欧拉(1707–1783)的欧拉图(1768)
- 约翰·维恩(1834–1923)的文氏图(1880)
- 莫里斯·卡诺的卡诺图(1953)
布尔表达式最小化
下面列出的布尔表达式最小化(简化)方法也适用于电路优化。
对于布尔函数由电路确定的情形(即,对于找到尽可能小等效电路的问题),无界电路最小化问题在时间复杂度上长期被猜想为是\Sigma_2^P复杂的,并在2008年得到证明这样就可以用SAT求解器找到最佳电路表示。
启发式方法
启发式方法用既定规则解决更大的问题集中实际有用的子集。启发式方法可能产生不了理论上的最优解,但若有用,则能以最小代价实现大部分优化目标。计算机系统中用启发式方法进行逻辑优化的例子是启发式逻辑压缩器。
两级表示法与多级表示法
电路的两级表示,严格来说是指以积之和(SOP)为单位的扁平化电路表示法,更适用于PLA设计的实现。多级表示则是以任意形式连接的SOP、POS(和之积)、因子形式等为单位的更通用的电路表示法。逻辑优化算法通常针对电路结构(SOP、因子形式)或功能标识(二元决策图、代数决策图)。SOP形式中,与门是最小单元,通过或门相连;POS形式中则相反,需要用括号将或项归并到与门下,因为或的优先级低于与。SOP和POS形式都能很好地转化为电路逻辑。
若有两函数F_1,\ F_2:
: F_1 = AB + AC + AD,\,
: F_2 = A'B + A'C + A'E.\,
则上述两级表示需要6个积项与24个CMOS Rep晶体管。
多级功能等价表示可以是
: P=B+C
: F_1=AP+AD
: F_2=A'P+A'E
虽然级数是3,但由于共用了B+C项,积项与字面量总数减少了。
同样,我们将电路分为组合逻辑电路和时序逻辑电路。组合逻辑电路仅根据当前输入产生输出,可用布尔关系表示,如优先编码器、译码器、数据选择器、多路分解器等。
时序逻辑电路根据当前与过去的输入产生输出,依靠时钟信号区分两种输入。它们可用有限状态机表示,如触发器与计数器。
例子
有很多最小化电路的方法,这是通过最小化(简化)布尔函数达到目标的例子。电路执行的布尔函数与实线该函数的代数表达式直接相关。
}}
参考文献
阅读更多
- (146 pages)
- (NB. Chapters 7–9 cover combinatorial two-level, combinatorial multi-level, and respectively sequential circuit optimization.)
*
*
*
评论 (0)