一种减少数字逻辑电路面积的方法

文档序号:7521098阅读:232来源:国知局
专利名称:一种减少数字逻辑电路面积的方法
技术领域
本发明涉及数字逻辑电路优化方法,尤其是涉及一种减少数字逻辑电路面积的方
法。
背景技术
集成电路设计中一个非常重要的环节是电路的逻辑综合与优化。在逻辑综合和优化中,其中一项指标就是如何控制集成电路的面积。考虑到逻辑函数的复杂程度与对应的数字电路的复杂程度密切有关,简单的逻辑函数往往对应着较小的电路面积,因此常常可以通过对逻辑函数的简化来减少逻辑电路的面积。数字电路的逻辑函数表示既可以用基于AND/0R/N0T运算的布尔逻辑来实现,也可以用基于AND/X0R逻辑来实现。然而目前几乎所有的涉及数字电子设计自动化软件 (Electronic Design Automation,EDA)工具均是基于布尔逻辑发展而来的。并且在逻辑函数综合和优化的学术研究领域,相关的研究内容也是彼此分开的。或者将逻辑函数用单纯的布尔逻辑来表示;或者就是通过极性变换,实现逻辑函数的优化。上述这种彼此分开的做法意味着对那些适于用AND/X0R逻辑实现的函数如果用单纯布尔逻辑来实现将无法得到逻辑函数最优化。同样,对于那些适于用布尔逻辑实现的函数若用AND/X0R逻辑来实现同样得不到逻辑函数的最优化。事实上,对于大部分逻辑电路而言,它们很难用单纯的一种逻辑来达到满意的优化结果。在更多的情况下,一个电路是上述两种逻辑的混合体。即电路的一部分结构适合用布尔逻辑来表示,而另外一部分则适合用AND/X0R逻辑来实现。以往也有将上述两种逻辑函数结合的方法来表达数字电路,但仅仅限于搜索传统意义上海明距为2的乘积项对的搜索。如假设输入变量为a,b,c, d的逻辑函数/的表达式为
/ (a,b,c,d) = abc + acd + abed + ahcd(1)
与式(1)对应的采用二输入逻辑门实现的电路可以表示为图1。通过搜索狭义海明距为2的两个乘积项,如(涵S2 ),再用异或操作来实现函数/的化简,如
f(a,b,csd) = ac(b d) + ic + acd(2 )
与式(2)对应的采用二输入逻辑门实现的电路如图2所示。
图1电路图2电路逻辑与门106逻辑或门32逻辑异或门01
表1
表1为图1所示电路与图2所示电路的比较情况。从表1中可以发现,将逻辑函数 f{a,b,c,d)中适合AND/X0R逻辑进行优化的部分电路进行单独优化后,能减少数字电路所
4需的元件,从而减少数字电路的面积。但是即便对图1所示电路采用了如式(2)所示的方法简化,还有进一步的减小的可能。

发明内容
本发明所要解决的技术问题是提供一种减少数字逻辑电路面积的方法。通过利用广义海明距搜索适合“异或”逻辑实现的逻辑乘积项,并用“异或”逻辑实现这些逻辑乘积项对应的逻辑,从而实现减少与该逻辑函数对应的数字逻辑电路面积的目的。本发明解决上述技术问题所采用的技术方案为一种减少数字逻辑电路面积的方
法,待优化的逻辑函数定义为/,/优化后的函数定义为; /的乘积项的集合定义为4 ;
若 中含有W个乘积项,其中任意一个乘积项定义为灼;化表示乘积项的维数,即对于
一个含有《个变量的函数,如果逻辑函数/的某个乘积项约含有《个变量,m </ ,则A的
维数为=;并且令4的初始值为“0”;具体步骤为
步骤A.定义广义海明距对于一个给定的含有个变量的逻辑函数/,它的任意两个乘积项为內,巧^ * ,其中i和J·都不大于w ;乘积项乃和巧之间的广义海明距表示各输
入变量在药和巧中取值的差异;广义海明距大小等于同时符合下面2个条件的变量的个
数①、变量在约和巧·中都出现;②、变量在乃和巧·中取值形式为互补;
步骤B.在乘积项的集合&中任选一个乘积项Λ ;找出与乘积项,广义海明距为2
的所有乘积项,复制这些乘积项,得到一个与f的广义海明距都为2的乘积项集合,定义为
suh — -
步骤C.令乘积项集合Si对应的逻辑函数为/5 ,在中任选一个乘积项—,由灼和巧分别生成的二个添加乘积项,定义为^yiil和;其中生成的方法如下①、按照广义海明距的定义,确定导致乃和巧的广义海明距为2的两个变量的位置,记为、和& ;②、比较Pi和巧·的维数,选取维数较小的乘积项来产生添加乘积项,如果乘积项Pi和乘积项τ的维数一样,则任取一个;③、第一个添加乘积项Paiil等于将选中的乘积项中的第 S位变量取反;第二个添加乘积项等于将选中的乘积项的第4位变量取反;对歹應进行如下运算PLm = P-I - P碰η & ,并将卩!碰添加到函数中,得到Λ' = /3 + ?‘磁, Kl = Sp U P'—l ;对Ρ·2执行如下运算P'—2 = P-I - P—2 η ,并将PtMil添加到函数义中,得到Λ =,A = SpUi^2 ;
步骤D.定义函数J;,并令;用公知布尔函数二级优化方法优化//,得到优化结果为/‘,并判断f;是否具有如下特性(1)、是否比/5更加简单;
(2)、定义乂和为的二个乘积项;判断添加的乘积项P^fl是否同时仅被/^和包含;
如果同时具有上面(1)和(2)两个特征,则从集合&中删去被乘积项Af1和Pi1完全覆
盖的乘积项,并将函数·4更新成为4+Ο 路),删除/;,删除》[& ,并执行步骤E;
否则用公知布尔函数二级优化方法优化/2',得到优化结果为,并判断是否具有如下特性
(3)、/^是否比更加简单;
(4)、定义W2和;^为的二个乘积项;判断添加的乘积项P^2是否同时仅被巧'2和<2包含;如果同时具有上面(3)和(4)两个特征,则从集合&中删去被乘积项K3 和^2完全覆盖的乘积项,并将函数更新成为/;+ (《 另2),删除4 ,删除—, 并执行步骤E ;如果乘积项PiLm不符合特征(1)和(2)或者乘积项不符合特征(3)和 (4),则从集合中删去乘积项P/ ,然后执行步骤C寻找另外一个和巧的广义海明距为2的乘积项;如果比较了 &中的所有乘积项都没有符合特征(1)和(2)或者符合特征(3)和(4),则将乘积项趵从&中删除,并将函数厶更新为O; +趵),删除J;,删除 ,执行步骤Ε;
步骤Ε.如果&中包含的乘积项的个数大于1,则执行步骤B到步骤D ;如果&中只包含了 1个乘积项P,,则原逻辑函数/的最终简化结果为C.‘+Α);如果&为空集,则得到原逻辑函数/的最终简化结果。与现有技术相比,本发明的优点在于1)原来传统意义上的海明距仅仅是本发明提出的广义海明距的一个特例;2)当发现存在广义海明距为2的二个乘积项后,并不马上将这二个乘积项构成一个异或表达式,而是先产生添加项,然后通过相应的评估方法来判断添加项是否适合函数的简化。这种方法与传统方法相比的最大优点在于它不但能通过计算机搜索到传统方法可以找到的适合构成异或表达式的乘积项,而且能找到传统方法无法找到适合构成异或表达式的乘积项。因为逻辑函数的复杂程度与对应的数字电路的复杂程度密切有关,简单的逻辑函数往往对应着较小的电路面积,因此,可以通过简化逻辑函数的方法达到了减少数字逻辑电路面积的目的。


图1为与逻辑函数/0,4^,^ = ^^ + ^9 + 39+^9对应的用二输入逻辑门实现的电路图。
阁2为与逻辑函数e,d) = $(b id) + + Sd对应的用输入逻辑门实现的电路图。阁3为与使用本发明化简后逻辑函数/^,S1Cj) Ρ^ΤΘ 对应的用输入逻辑门实现的电路图。阁4为以4变M为例用传统方法与木发明方法都能搜索到的适合构成异或表达式的乘积项的m若图;该图例显示了可以构成"异或”逻辑的三种情况。阁5为以4变M为例用传统方法与木发明方法所得到的逻辑函数简化结果的差异对比的M若图。其中图5(a),(b)为采用传统简化的封若图.图5(a)和(b)中画圈的乘积项可以构成"异或”逻辑图5(c)为采用本发明方法简化的f 诺具体实施例方式以下结合附阁实施例对木发明作进-步详细描述。实施例
-种减少数卞ι逻辑电路而积的方法,待优化的逻辑函数定义为Λ f优化后的函数定义为f.v ·, /_的乘积项的集合定义为S11 ’若Sr巾含有w个乘积项,其中任意一个乘积项定义为 Pi ; D1,表示乘积项ρ,的维数,即对于-个含有η个变 的函数,如果逻辑函数f的某个乘积项P,含有 个变it/ </;,则P,的维数为丨)…并IL令f\v的初始值为“0”具体步骤为
步骤A.定义广义海明距对于一个给定的含有《个变禎的逻辑函数Λ它的任意1 个乘积项为?J,其中i和J都小大于w :乘积项/J,.和凡·之间的广义海明距表示各输入变S在P,和/J,.巾取值的差异;广义海明距大小等于符合下而2个条件的变M的个数①、变 在P,.和P,巾都出现②、变 在P,·和P,中取值形式为 <补在施案例中,用数宁“ 1 " 表示原变 ,“0”表示反变 , “4”表示该变《在乘积项巾没有出现。并定义"Γ的取反为 “0”. “0”的取反为“ 1 “ 4“的取反为“4 ”。这样乘积项乃,P1分别uj以用一维数组array-巧和array-p,.來表示丫。另外.定义_ .维数组array- /,.,.表示数组array-p,.与array-p,的和。表2表示丫数组array- /,,巾修-位上所有4能的取值。根据广义海明距的定义4以推得,乘积项P,和P,广义海明距的大小就是数组array- /,.,巾,“1”的个数。表2:
步骤B.在乘积项的集合^中任选一个乘积项@ ;找出与乘积项Λ广义海明距为2
的所有乘积项,复制这些乘积项.得到-个与Pi的广义海明距都为2的乘积项集合,定义为 ;
步骤C.令乘积项集合$对应的逻辑函数为中任选一个乘积项。,山g和。分别'+:成的个添加乘积项,定义为^^工和?^^^ :其巾'+:成的方法如下①、按照广义海明距的定义,确定导致乃和。的广义海明距为2的两个变M的位置,C为、和与 ;②、比较乃和巧的维数,选取维数较小的乘积项来产'+:添加乘积项,如果乘积项g和乘积项。的维数--样,则任取一个 ’③、第-个添加乘积项等于将选中的乘积项巾的第 、位变《取反;第ι.个添加乘积项^^等于将选中的乘积项的第^位变^取反对^^ 进行如下运算PssMi = PM “ P^ Sp,并将Pjm添加到函数^巾,得到存=^+ PLn ■ = ^1J Pmi ;对执行如下运算= 广并将;^趕添加到函数為中’得到處,% = ^ ;
步骤D.定义函数&,并令fi=各;用公知布尔函数级优化方法优化得到优化结果为/i .并判断/i是否具有如下特性
(1)、繼是否比Λ更加简单;
(2)、定义蚝和;^为J^1的个乘积项;判断添加的乘积项Pl^1是I1T同时仅被和 包含;
如果同时具有上面Π )和(2) W个特征,则从集合。中删去被乘积项W1和^^!完企礙盖的乘积项,并将函数更新成为/i +錄电齒,删除删除.并执厅步骤R ; I1T则用公知布尔函数级优化方法优化得到优化结果为,并判断是否具有如下特性
(3)、—是否比/5更加简单;
(4)、定义;^和为&的个乘积项判断添加的乘积项 是I1T同时仅被PL和於包含如果同时具有上面(3 )和U) W个特征,则从集合Sf中删去被乘积项备和 ^完个S盖的乘积项,并将函数々更新成为4+ .由^,删除·4 ,删除加1 , 并执厅步骤R ;如果乘积项^i1小符合特征Π )和(2)或者乘积项 不符合特征(3)和 U),则从集合巾删去乘积项巧,然后执行步骤C寻找另外_ -个和@的广义海明距为2的乘积项如果比较了 ^i=Sf中的所有乘积项都没有符合特征(Π和(2)或者符合特征(3)和U),则将乘积项钱从力巾删除,并将函数更新为: + !,删除删除 .加·’执行步骤R ;
步骤R.如果 巾包含的乘积项的个数大于1,则执行步骤B到步骤D 如果$中只包含丫 1个乘积项$,则原逻辑函数f的最终简化结果为: ^+朽;)::;如果。为空集,则得到原逻辑函数f的最终简化结果/乡、阁4辛阁6以4变M为例说明丫木发明在搜索模式上与传统方法的异同点。阁巾卞母"a"表示币木发明的方法添加上去的乘积项。阁4为符合传统意义上海明距为2的 个乘积项的_诺图简化方法。图4显示了3种符合传统海明距为2的情况。图5为传统方法与木方法搜索结果的比较。以阁5(a)为例,假设恃优化函数原始的乘积项的集合为{ 按照传统海明距定义,乘积项冗的海明距为2,对以转化为“异或”表达式达到简化函数的0的,于是得到十.孤.;似是,如果函数f的乘积项的集合如阁5(b)所示,即{ Htu. },山于这3个乘积项小符合传统意义的海明距定义’囚此不能进·步简化,即十痧十m ;似如果采用本方法,无论函数的乘积项构成是{ H陴.},还是{ WV,S,Xu },其最终都町以得到如阁5(c)所示的简化结果,即 / ^ ; 1*1 5(c)中*ι'·母“a"对应的部分为添加的乘积项。阁6是在4变M怙况下,用传统海明距方法小能简化,似用木方法能进行逻辑简化的例了-。木方法通过添加特定乘积项的方法.将原来小相邻的乘积项通过新增加的乘积项连接起来,达到逻辑相邻,使得在电路而积优化上取得更好的结果。下而以阁6 (b)为例说明具体处理过程
定义阁6 (b)逻辑函数为丨,即/十)^_ ; j 优化后的函数定义为/乡
■,/的乘积项的集合定义为$ .即丨并11令_4_的初始值为“ο"具体步骤为
1)、先取¥中第一个乘积项当作g,即芮=^5,在。巾找到与$广义海明距为2的乘积项,只有· 1个为?产“伊.,所以得到6^= ·;
2)、此时集合Sp对应的逻辑函数Z就是义,即力=;十_■"十^rv^yuy。山于集合“ = 巾只有一个乘积项’所以添加项山乘积项Pi = 和W来产牛。按照步骤A的方法,得到V两的另外-种表示Pi = 1Μ0Φ), Pj =■■ (114 ,显然ρ,和ρ 的对应array-ZW, ,= {1,5,4,1}。因此2个添加项uj以通过取反乘积项Λ巾第O位或第3位的变M来获得,即p—ix^.和P^m =‘,其中ρ,.的第1位变iij-没有出现在乘积项
中。得到] ;^=;^]-^^…;:=^^’;);^.= ^^-.^^。^^.^^ 进’步得到力‘二义+广!^-^^十;^+嫩十冲”+·^ ’ ^iM spijP^i =;
Js'.=/;.十广尸、—十·^十’ = S,^p'^-i^-^.-^-yvv^y^) 3)定义函数,并令= Jli。山于此时」、,所以&。优化为’得
到优化后的结果JL, 4十;十炉物々。显然在K于‘的乘积项巾,找小到2个乘积项截和P、,使得同时仅被感和而包含即添加项;^广;^不满足特征 (2),所以放弃。优化Ji ,得到优化后的结果为;si十押,乘积项;g和分别对应步骤I)中的感和 。考虑到表达式^比J1简中.,并IL乘积项二 xyuv同时仅被 和;^所包含.囚此满足步骤D巾的特征(3)和(4)。所以函数4以更新成为 Jl 舉纷秒二孟^%。山于力巾的4个乘积跸ν都被丨g: 和^完企《盖,所以这4个乘积项都对以删除,这样Sf就变成」'空集.因此在步骤R中就⑷ι以得到逻辑函数厂的最终优化结果就是/,。对于这个函数,如
果通过寻找传统海明距为2的乘积项的方法是无法化简到&如这个程度的。4)、为」'对木方法在减少电路而积方面的作ffl有一个直观的丫解,现仍然以式(1) 为例,采用木方法4以得到式⑶的表示形式。f (α, >, ,¢1)=^0^(3)
与式(3)对应的电路见阁3。表3列出了与式(2)对应的数字电路(如图2所示)和式(3)对应的数字电路(如阁3所示)的比较结果。
图2电路图3电路逻辑与门62逻辑或门20逻辑异或门11表 3
从表3町知无论是使ffl的门的种类,还是门的数S,木发明的方法在减少电路的而积上获得明 的改进。
权利要求
1. 一种减少数字逻辑电路面积的方法,其特征在于待优化的逻辑函数定义为八/优化后的函数定义为J^ ; /的乘积项的集合定义为4 ;若4中含有w个乘积项,其中任意一个乘积项定义为灼;化表示乘积项约的维数,即对于一个含有《个变量的函数,如果逻辑函数/的某个乘积项-含有 个变量, < ,则Λ的维数为4 =;并且令·4的初始值为“ο” ;具体步骤为步骤α.定义广义海明距对于一个给定的含有个变量的逻辑函数/,它的任意两个乘积项为巧,ρρ #,其中i和J·都不大于w ;乘积项Λ和巧之间的广义海明距表示各输入变量在灼和巧中取值的差异;广义海明距大小等于同时符合下面2个条件的变量的个数①、变量在巧和巧中都出现;②、变量在”和中取值形式为互补;步骤B.在乘积项的集合中任选一个乘积项Ps ;找出与乘积项灼广义海明距为2的所有乘积项,复制这些乘积项,得到一个与的广义海明距都为2的乘积项集合,定义为步骤c.令乘积项集合&对应的逻辑函数为又,在中任选一个乘ρ项由 Pi和巧分别生成的二个添加乘积项,定义为Pfltai和Pfli^ ;其中生成的方法如下①、按照广义海明距的定义,确定导致A和巧·的广义海明距为2的两个变量的位置,记为&和& ;②、比较Pi和P/的维数,选取维数较小的乘积项来产生添加乘积项,如果乘积项乃和乘积项Λ的维数一样,则任取一个;③、第一个添加乘积项Pfliftil等于将选中的乘积项中的第 ^仨变量取反;第二个添加乘积项等于将选中的乘积项的第A位变量取反;对Pffi^1 进行如下运算P^1 = - P碰& ,并将添加到函数Λ中,得到Λ = J.+ Pmi , sU = υP'碰;对P2iM2执行如下运算PLH = P磁—Pn^ ,并将Ρ^ 添加到函数/3 中,得到/2' = Ji +P: , Κ.2 = ^ U P'·,步骤D.定义函数^,并令;用公知布尔函数二级优化方法优化λ',得到优化结果为Ji;,并判断是否具有如下特性(1)、是否比X更加简单;(2)、定义PA和Pi1为的二个乘积项;判断添加的乘积项PLai是否同时仅被Ρ 和 P、包含;如果同时具有上面(1)和(2)两个特征,则从集合4中删去被乘积项Af1和Pi1完全覆盖的乘积项,并将函数厶更新成为忍+CK1 ,删除^ ,删除趣14,并执行步骤E ;否则用公知布尔函数二级优化方法优化€,得到优化结果为,并判断/i^是否具有如下特性(3)、^是否比更加简单;(4)、定义乂2和M2为/&的二个乘积项;判断添加的乘积项P^2是否同时仅被 Pl2和包含;如果同时具有上面(3)和(4)两个特征,则从集合&中删去被乘积项巧'2 和完全覆盖的乘积项,并将函数更新成为■/; +(祐 片2),删除忍,删除 ^ — , 并执行步骤E ;如果乘积项P^1不符合特征(1)和(2)或者乘积项P^2不符合特征(3)和 (4),则从集中删去乘积项巧,然后执行步骤C寻找另外一个和乃的广义海明距为2的乘积项;如果比较了 —&中的所有乘积项都没有符合特征(1)和(2)或者符合特征(3)和(4),则将乘积项乃从&中删除,并将函数J;更新为(J:f +Pi),删除J;,删除执行步骤E;步骤Ε.如果&中包含的乘积项的个数大于1,则执行步骤B到步骤D ;如果&中只包含了 1个乘则原逻辑函数/的最终简化结果为Ο^+Α);如果。为空集,则得到原逻辑函数/的最终简化结果。
全文摘要
本发明公开了一种减少数字逻辑电路面积的方法,通过利用异或操作的特性,生成特定的乘积项添加到被优化函数中,由于新的乘积项的加入,可以使原来逻辑不相邻的乘积项因添加项的插入而逻辑相邻,从而实现逻辑的优化,其优点在于判明存在广义海明距为2的二个乘积项后,并不马上将这二个乘积项构成一个异或表达式,而是先产生相应的添加项,然后通过相应的评估方法来判断添加项是否适合函数的简化。因为逻辑函数的复杂程度与对应的数字电路的复杂程度密切有关,简单的逻辑函数往往对应着较小的电路面积,通过简化逻辑函数的方法达到了减少数字逻辑电路面积的目的。
文档编号H03K19/173GK102185606SQ20111005216
公开日2011年9月14日 申请日期2011年3月4日 优先权日2011年3月4日
发明者夏银水, 王伦耀 申请人:宁波大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1