本发明涉及一种三值FPRM电路功耗优化方法,尤其是涉及一种利用穷举法的三值FPRM电路功耗优化方法。
背景技术:
随着集成电路规模和集成度的不断发展,数字电路必定会遭遇功耗、面积与速度等问题。传统的数字电路大都采用二值逻辑,但是二值信号信息含量低已成为制约集成电路发展的主要因素。而多值逻辑电路增加了单线携带信息的能力,能有效提高空间或时间的利用率,减少数字系统的连线,节省电路面积与成本。基数为3的三值逻辑在多值逻辑代数系统中基数最小,容易实现,具有代表性。任意逻辑函数均可以用布尔逻辑和Reed-Muller(RM)逻辑来表示,与传统的布尔逻辑电路相比,基于RM逻辑的电路具有以下三个方面的优势:首先,在某些功能电路(如通信电路、奇偶校验电路、运算电路等)中,用RM逻辑表示的电路在功耗、面积和速度等方面体现出了巨大的优势;其次,用RM逻辑表示的电路可测性强;最后,用RM逻辑表示的电路结构更加紧凑。RM逻辑函数通常采用固定极性(Fixed-polarityReed-Muller,FPRM)和混合极性(Mixed-polarityReed-Muller,MPRM)两种表达方式。在n变量的三值FPRM逻辑函数中有3n个固定极性,3n个固定极性对应有3n个不同的三值FPRM表达式,三值FPRM表达式的简单与否由其对应的极性决定,而三值FPRM表达式的简单与否直接决定了三值FPRM电路的功耗和面积等性能指标,因此,极性对FPRM电路的功耗、面积等性能指标产生很大的影响。由于多值逻辑和RM逻辑的诸多优点,国内外许多专家学者对多值RM逻辑进行了研究。然而国内外专家学者主要集中研究多值RM逻辑电路极性转换技术,对于多值RM电路的功耗优化技术未进行研究。鉴此,设计一种利用穷举法的三值FPRM电路功耗优化方法,对三值FPRM电路功耗优化具有重要意义。
技术实现要素:
本发明所要解决的技术问题是提供一种利用穷举法的三值FPRM电路功耗优化方法。该优化方法利用穷举法实现三值FPRM电路的最佳极性搜索,由此实现三值FPRM电路的功耗优化,功耗优化效果显著。本发明解决上述技术问题所采用的技术方案为:一种利用穷举法的三值FPRM电路功耗优化方法,包括如下步骤:①建立三值FPRM电路的功耗估计模型:①-1将三值FPRM电路采用三值FPRM逻辑函数表示为如下形式:其中,n为函数fp(xn-1,xn-2,…,x0)的变量数,xn-1,xn-2,…,x0表示函数fp(xn-1,xn-2,…,x0)的n个输入变量,p表示函数fp(xn-1,xn-2,…,x0)的极性,极性p用n位三进制形式表示为pn-1pn-2…p0,pj∈{0,1,2},j=0,1,2,…,n-1,⊕表示多输入模3加运算,∑为累加符号,符号“*”表示乘号,i=0,1,2,…,3n-1,i用n位三进制形式表示为in-1in-2…i0,ij∈{0,1,2},ai为FPRM系数;ai∈{0,1,2};∏表示多输入模3乘运算,的展开式为:其中极性p和下标i决定变量的表示形式;①-2p极性下的三值FPRM逻辑函数包含两类多输入运算,两类多输入运算分别为多输入模3加运算和多输入模3乘运算,根据三值FPRM逻辑函数展开式将三值FPRM逻辑函数分解为多个多输入模3加运算和多个多输入模3乘运算,然后将每个多输入运算分别分解为二输入运算,得到二输入模3加运算和二输入模3乘运算,具体分解过程为:将多输入运算的第1个输入变量和第2个输入变量作为第一个二输入运算的两个输入变量,得到第一个二输入运算的输出变量;将第一个二输入运算的输出变量和多输入运算的第3个输入变量作为第二个二输入运算的两个输入变量,得到第二个二输入运算的输出变量;将第二个二输入运算的输出变量和多输入运算的第4个输入变量作为第三个二输入运算的两个输入变量,得到第三个二输入运算的输出变量;依此类推,直到所有的多输入运算的输入变量作为二输入运算的输入变量,完成多输入运算的分解;将p极性下的三值FPRM逻辑函数分解后得到多个多输入模3加运算和多个多输入模3乘运算,多输入模3加运算也称为多输入模3加门,多输入模3乘运算也称为多输入模3乘门,将p极性下三值FPRM逻辑函数分解后的多输入模3加门的数量记为N,将p极性下三值FPRM逻辑函数分解后的多输入模3乘门的数量记为W;将每个多输入模3加运算分解后得到多个二输入模3加运算,将每个多输入模3乘运算分解后得到多个二输入模3乘运算,二输入模3加运算也称为二输入模3加门,二输入模3乘运算也称为二输入模3乘门;将第u个多输入模3加门分解后的二输入模3加门的数量记为Nu,u=1,2,…,N;将第o个多输入模3乘门分解后的二输入模3乘门的数量记为Wo,o=1,2,…,W;①-3将p极性下的三值FPRM逻辑函数分解后得到的所有二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值FPRM电路的功耗,二输入模3加门引起的功耗采用其开关活动性表示,二输入模3乘门引起的功耗采用其开关活动性表示,门电路的开关活动性用其输出端的输出变量概率表示,二输入模3加门引起的功耗采用其输出端的输出变量概率表示,二输入模3乘门引起的功耗采用其输出端的输出变量概率表示;①-4根据公式(2)、(3)和(4)计算第u个多输入模3加门分解后的第k个二输入模3加门的输出变量概率;k=1,2,…,Nu;P1(k)u=Pky11*Pky20+Pky10*Pky21+Pky12*Pky22(2)P2(k)u=Pky12*Pky20+Pky11*Pky21+Pky10*Pky22(3)P0(k)u=1‐P1(k)u‐P2(k)u(4)根据公式(5)、(6)和(7)计算第o个多输入模3乘门分解后的第g个二输入模3乘门的输出变量概率,g=1,2,…,Wo:Q1(g)o=Qgr11*Qgr21+Qgr12*Qgr22(5)Q2(g)o=Qgr11*Qgr22+Qgr12*Qgr21(6)Q0(g)o=1‐Q1(g)o‐Q2(g)o(7)其中,P1(k)u表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为1的概率,P2(k)u表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为2的概率,P0(k)u表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为0的概率,y1和y2表示二输入模3加门的两个输入变量,m∈{0,1,2},当k=1时,Pky1m为多输入模3加运算的第1个输入变量为m的概率,Pky2m为多输入模3加运算的第2个输入变量为m的概率,当k>1时,Pky1m为第k-1个二输入模3加门输出变量为m的概率,Pky2m为多输入模3加门的第k+1个输入变量为m的概率;Q1(g)o表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为1的概率,Q2(g)o表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为2的概率,Q0(g)o表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为0的概率,r1和r2表示二输入模3乘门的两个输入变量;当g=1时,Qgr1m为多输入模3乘运算的第1个输入变量为m的概率,Qgr2m为多输入模3乘运算的第2个输入变量为m的概率,当g>1时,Qgr1m为第g-1个二输入模3乘门输出变量为m的概率,Qgr2m为多输入模3乘门的第g+1个输入变量为m的概率;输入变量xj为1和2的概率是由随即函数产生的概率对(P1,P2),P0=1-P1-P2;P0,P1和P2分别为0到1之间某个值,P0表示输入变量为0的概率,P1表示输入变量为1的概率,P2表示输入变量为2的概率;①-5根据二输入模3加门的输出变量概率和二输入模3乘门的输出变量概率计算三值FPRM电路的功耗,将三值FPRM电路的功耗估计模型表示为:其中,Eswd表示p极性下三值FPRM电路的功耗,N为p极性下三值FPRM逻辑函数分解后的多输入模3加门的数量,W为p极性下三值FPRM逻辑函数分解后的多输入模3乘门的数量;②采用穷举法对三值FPRM电路进行功耗最佳极性搜索,得到三值FPRM电路的功耗最佳极性和该功耗最佳极性下三值FPRM电路的最小功耗。所述的步骤②中采用穷举法对三值FPRM电路进行功耗最佳极性搜索的具体步骤为:②-1采用三值FPRM电路的功耗估计模型计算最大极性下的三值FPRM电路功耗,将最大极性作为最佳极性,将最大极性下的三值FPRM电路的功耗作为最小功耗;②-...