CN109753685B - 一种逻辑错误率计算方法 - Google Patents

一种逻辑错误率计算方法 Download PDF

Info

Publication number
CN109753685B
CN109753685B CN201811465776.5A CN201811465776A CN109753685B CN 109753685 B CN109753685 B CN 109753685B CN 201811465776 A CN201811465776 A CN 201811465776A CN 109753685 B CN109753685 B CN 109753685B
Authority
CN
China
Prior art keywords
product
logic
term
product term
terms
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811465776.5A
Other languages
English (en)
Other versions
CN109753685A (zh
Inventor
王伦耀
张莹
储著飞
夏银水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN201811465776.5A priority Critical patent/CN109753685B/zh
Publication of CN109753685A publication Critical patent/CN109753685A/zh
Application granted granted Critical
Publication of CN109753685B publication Critical patent/CN109753685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公布了一种逻辑错误率的计算方法用于计算将“与/或”形式逻辑函数表示为逻辑功能近似的RM逻辑引入了逻辑错误率;通过多次调用乘积项之间的不相交锐积运算得到RM逻辑对应的逻辑覆盖与待优化逻辑函数的逻辑覆盖的差异,进而实现RM逻辑的错误率计算;本发明以不相交乘积项作为基本处理对象,具有运算速度快,适合处理大逻辑函数的特点。

Description

一种逻辑错误率计算方法
技术领域
本发明涉及数字逻辑电路领域,尤其是涉及利用近似计算技术将“与/或”形式的逻辑表达式表示成“与/异或”形式的Reed-Muller(RM)逻辑过程中为实现逻辑优化而引入的错误率的计算方法。
背景技术
一般情况下,逻辑功能正确是电路设计首要条件,为了保证电路输出正确,常不惜牺牲电路的功耗、面积和速度等性能指标。但在实际应用中,待处理的数据中的某些特性,如容错特性,使得一定程度上的计算错误并不影响实际的应用,例如,在多媒体处理中,由于人类的感知能力有限,偶尔的错误,例如丢弃特定的帧或小的图像质量损失通常很少影响用户的满意度。另一方面,随着半导体工艺尺寸进入到纳米级,电路的供电电压更低,集成密度更高,电路输出对工艺参数的波动和故障更敏感。为保证输出正确需要在不同设计层次上进行冗余设计,导致显著的额外电路开销,使得电路实现成本将变得更高。待处理数据自身具有的容错特性,以及在现在集成电路工艺下降低电路实现高成本,使得人们重新思考逻辑功能“正确”的程度,进而提出在设计中引入近似计算(approximate computing)技术,实现电路优化,提高电路良品率。目前,近似计算技术已应用于从系统、架构、存储、逻辑综合到单元电路设计等不同电路层级的优化,以及FPGA,神经网络、通信、可逆逻辑的等诸多方面。
RM逻辑广泛应用于算术电路、通信电路,以及可逆逻辑电路等设计中。研究表明,近一半的逻辑电路,用RM逻辑实现,电路结构可以得到进一步的优化。由于“异或”运算是构成RM逻辑的基本运算,且存在
Figure GDA0004116908050000011
这意味着将偶数个相同的乘积项添加到RM函数中,不改变RM函数的正确性;同样,删除RM函数覆盖中偶数次重复的部分也不改变RM函数的正确性。“异或”运算的这种特点,使得原来用于传统布尔逻辑电路的近似优化技术在RM函数近似优化过程中的应用遇到挑战。
以图1卡诺图为例,在图1(a)中,取值为“1”的最小项组成的逻辑覆盖对应的逻辑函数为
Figure GDA0004116908050000012
如果将图1(b)中标有“F”的最小项
Figure GDA0004116908050000013
作为错误引入的,可以将函数进一步简化为
Figure GDA0004116908050000021
在图1(c)中标有“T”的最小项被偶数次覆盖,考虑到1⊕1=0,因此用RM逻辑表示图1(c),其对应的逻辑功能和图1(b)一样。但图1(c)的表达式为fapp_RM(x1,x2,x3)=x1⊕x3,显然图1(c)对应的表达式比图1(b)的更简单。即RM逻辑面积优化效果更好。
从图1的例子中不难发现RM逻辑和TB逻辑在错误率计算方面的不同。对于TB逻辑而言,可以直接通过比较近似函数的乘积项集合与原函数的乘积项集合的差异得到引起错误输出的乘积项的集合,进而计算出错误率;但对于RM逻辑而言,近似函数的乘积项集合与原函数的乘积项集合的差异不一定就是引起错误输出的乘积项的集合,因为差异部分可能包含了偶数次逻辑覆盖,即RM逻辑与TB逻辑的错误率计算方法是不一样的。
发明内容
本发明要解决的技术问题是提供一种RM逻辑错误率的计算方法。该方法可以计算出经过近似计算技术优化后,优化后的RM逻辑函数与原逻辑函数逻辑覆盖的不同,进而优化得到的RM逻辑函数的错误率。
本发明解决上述技术问题采用的技术方案为:一种逻辑错误率的计算方法,将待优化的采用“与/或”形式的逻辑函数定义为f,其中f包含m个乘积项,m≥2,将f对应的乘积项集合定义为C;将f的近似函数定义为fa,其中fa包含n个乘积项,n≥2,将fa对应的乘积项集合定义为Ca;定义输入变量数为w,输出变量数为v;符号
Figure GDA0004116908050000024
表示二个乘积项不相交锐积运算符;计算方法的具体步骤为:
步骤1.定义空的集合Cba,cdis1和cdis2
步骤2.用公知的方法将f对应的乘积项集合C中的乘积项转化为不相交乘积项;
步骤3.在Ca中任取2个乘积项pi,pj,i≠j,令
Figure GDA0004116908050000025
步骤4.在Ca中删除pi,pj,将cdis1和cdis2中包含的乘积项复制到Ca中,然后清空cdis1和cdis2,即
Figure GDA0004116908050000026
步骤5.重复步骤3和步骤4,直到Ca中任意2个乘积项均不相交;
步骤6.将Ca中的内容复制到Cba中;
步骤7.在Ca中任意取一个乘积项pai,在C中任取一个乘积项pk,令
Figure GDA0004116908050000031
步骤8.在Ca中删除pai,并将cdis1中包含的乘积项复制到Ca中,然后清空cdis1,即
Figure GDA0004116908050000032
步骤9.重复步骤7和步骤8,直到Ca中任意一个乘积项与C中的任意一个乘积项均不相交;
步骤10.在C中任取一个乘积项ph,在Cba中任取一个乘积项paj,令
Figure GDA0004116908050000033
步骤11.在C中删除ph,并将cdis2中包含的乘积项复制到C中,然后清空cdis2,即
Figure GDA0004116908050000034
步骤12.重复步骤10和步骤11,直到C中任意一个乘积项与Cba中的任意一个乘积项均不相交;
步骤13.fa相对于f错误率就是最终留在集合Ca和C中乘积项包含的最小项个数与2w的比值。
与现有技术相比,本发明的优点在于本发明的优点在于:1)运算速度快。错误率计算的关键是找出原函数f与近似函数fa之间的差异,这个差异有2部分组成,一部分是属于f但不属于fa;另一部分是属于fa但不属于f,如果用集合运算来表示这个差异就是(C∪Ca)-(C∩Ca)。这种差异可以通过比较f与fa包含的不同的最小项来求得,但也可以直接通过集合运算来实现。本发明采用的是以不相交乘积项集合进行运算来实现2个函数差异的计算。由于逻辑函数包含的最小项数量与输入变量数成2的指数次方关系,因此随着输入变量数增加,通过比较最小项的方法的运算速度将受到严重影响,而以不相交乘积项集合运算为基础的方法的运算速度影响不大。2)本发明适合处理大电路。大电路具有输入变量多的特点,当输入变量超过30时,最小项的数量已经过亿,因此通过逐个比较最小项个数的方法显然不适合了。本发明直接以不相交乘积项作为基本处理对象。一般情况下,逻辑函数包含的不相交乘积项数量远小于最小项,且通过不相交乘积项可以很方便地计算出对应的最小项的数量,而不需要将乘积项展开后进行最小项的统计,从而使本发明更适合处理大电路。
附图说明
图1(a)逻辑函数f的卡诺图;
图1(b)逻辑函数f引入错误后的卡诺图及其采用“与/或”形式的化简;
图1(c)逻辑函数f引入错误后的卡诺图及其采用“与/异或”形式的化简;
图2(a)待优化逻辑函数f的卡诺图;
图2(b)采用RM逻辑的f的近似函数fa的卡诺图。
具体实施方式
以下结合附图实施例对本发明、作进一步详细描述。
实施例:一种逻辑错误率的计算方法,其特征在于将待优化的采用“与/或”形式的逻辑函数定义为f,其中f包含m个乘积项,m≥2,将f对应的乘积项集合定义为C;将f的近似函数定义为fa,其中fa包含n个乘积项,n≥2,将fa对应的乘积项集合定义为Ca;定义输入变量数为w,输出变量数为v;符号
Figure GDA0004116908050000041
表示二个乘积项不相交锐积运算符;计算方法的具体步骤为:
步骤1.定义空的集合Cba,cdis1和cdis2
步骤2.用公知的方法将f对应的乘积项集合C中的乘积项转化为不相交乘积项;
步骤3.在Ca中任取2个乘积项pi,pj,i≠j,令
Figure GDA0004116908050000042
步骤4.在Ca中删除pi,pj,将cdis1和cdis2中包含的乘积项复制到Ca中,然后清空cdis1和cdis2,即
Figure GDA0004116908050000043
步骤5.重复步骤3和步骤4,直到Ca中任意2个乘积项均不相交;
步骤6.将Ca中的内容复制到Cba中;
步骤7.在Ca中任意取一个乘积项pai,在C中任取一个乘积项pk,令
Figure GDA0004116908050000044
步骤8.在Ca中删除pai,并将cdis1中包含的乘积项复制到Ca中,然后清空cdis1,即
Figure GDA0004116908050000051
步骤9.重复步骤7和步骤8,直到Ca中任意一个乘积项与C中的任意一个乘积项均不相交;
步骤10.在C中任取一个乘积项ph,在Cba中任取一个乘积项paj,令
Figure GDA0004116908050000052
步骤11.在C中删除ph,并将cdis2中包含的乘积项复制到C中,然后清空cdis2,即
Figure GDA0004116908050000053
步骤12.重复步骤10和步骤11,直到C中任意一个乘积项与Cba中的任意一个乘积项均不相交;
步骤13.fa相对于f错误率就是最终留在集合Ca和C中乘积项包含的最小项个数与2w的比值。
假设单输出函数
Figure GDA0004116908050000054
通过引入一定的错误,利用近似计算优化后,得到的RM逻辑函数为
Figure GDA0004116908050000055
因此
Figure GDA0004116908050000056
由于C中的乘积项已经是不相交乘积项,因此在本例中步骤2执行结果不影响C中的乘积项;
在步骤3中,先令
Figure GDA0004116908050000057
由于pi与pj不相交,因此
Figure GDA0004116908050000058
同理,
Figure GDA0004116908050000059
执行步骤4后,乘积项
Figure GDA00041169080500000510
Figure GDA00041169080500000511
从Ca中删除,而cdis1和cdis2中包含的乘积项被复制到Ca中,最终Ca包含的乘积项不变;
重复执行步骤3和步骤4,最终Ca中只有乘积项
Figure GDA00041169080500000512
Figure GDA00041169080500000513
相交,得到
Figure GDA00041169080500000514
在Ca删除
Figure GDA00041169080500000515
Figure GDA00041169080500000516
将cdis1和cdis2中包含的乘积项复制到Ca中,得到
Figure GDA00041169080500000517
执行步骤6后得到
Figure GDA0004116908050000061
在步骤7中,分别在Ca和C中各任取一个乘积项pai和pk,令
Figure GDA0004116908050000062
由于pai与pk不相交,因此
Figure GDA0004116908050000063
因此执行步骤8后,Ca保持不变。接下来的循环中,
Figure GDA0004116908050000064
二者仍然不相交;重复执行步骤8后,Ca仍然保持不变。在下一个循环中,
Figure GDA0004116908050000065
由于pai=pk,因此
Figure GDA0004116908050000066
所以在本循环后
Figure GDA0004116908050000067
不断重复步骤7和步骤8,发现Ca中的乘积项
Figure GDA0004116908050000068
与C中的一个乘积项一样,而Ca中的乘积项
Figure GDA0004116908050000069
与C中的乘积项
Figure GDA00041169080500000610
相交,而
Figure GDA00041169080500000611
因此最终得到
Figure GDA00041169080500000612
在执行步骤10到步骤12时发现,集合C和Cba均包含的乘积项
Figure GDA00041169080500000613
而C中乘积项
Figure GDA00041169080500000614
被Cba中乘积项
Figure GDA00041169080500000615
包含,执行
Figure GDA00041169080500000616
因此执行完步骤12后,得到
Figure GDA00041169080500000617
执行步骤13可知集合Ca和C中乘积项就是
Figure GDA00041169080500000618
且已经是最小项了,且只有1个,由于输入变量数为4,因此错误率为
Figure GDA00041169080500000619
图2给出了上面例子中
Figure GDA00041169080500000620
的卡诺图,图2(b)为f经过近似计算优化后得到的RM逻辑表示形式
Figure GDA00041169080500000621
比较图2中(a)和(b)的卡诺图,标有“F”的格子是二者不同之处,而“F”所在的格子对应的最小项表达式为
Figure GDA00041169080500000622
同本发明计算得到最小项一致。由于f(x1,x2,x3,x4)一共有16种输入组合,除了输入为x1x2x3x4=(0100)外,其他输入fa(x1,x2,x3,x4)与f(x1,x2,x3,x4)取值均一样,因此fa(x1,x2,x3,x4)相对f(x1,x2,x3,x4)的错误率为
Figure GDA00041169080500000623

Claims (1)

1.一种逻辑错误率的计算方法,其特征在于将待优化的采用“与/或”形式的逻辑函数定义为f,其中f包含m个乘积项,m≥2,将f对应的乘积项集合定义为C;将f的近似函数定义为fa,其中fa包含n个乘积项,n≥2,将fa对应的乘积项集合定义为Ca;定义输入变量数为w,输出变量数为v;符号
Figure FDA0004116908030000011
表示二个乘积项不相交锐积运算符;计算方法的具体步骤为:
步骤1.定义空的集合Cba,cdis1和cdis2
步骤2.用公知的方法将f对应的乘积项集合C中的乘积项转化为不相交乘积项;
步骤3.在Ca中任取2个乘积项pi,pj,i≠j,令
Figure FDA0004116908030000012
步骤4.在Ca中删除pi,pj,将cdis1和cdis2中包含的乘积项复制到Ca中,然后清空cdis1和cdis2,即
Figure FDA0004116908030000013
步骤5.重复步骤3和步骤4,直到Ca中任意2个乘积项均不相交;
步骤6.将Ca中的内容复制到Cba中;
步骤7.在Ca中任意取一个乘积项pai,在C中任取一个乘积项pk,令
Figure FDA0004116908030000014
步骤8.在Ca中删除pai,并将cdis1中包含的乘积项复制到Ca中,然后清空cdis1,即
Figure FDA0004116908030000015
步骤9.重复步骤7和步骤8,直到Ca中任意一个乘积项与C中的任意一个乘积项均不相交;
步骤10.在C中任取一个乘积项ph,在Cba中任取一个乘积项paj,令
Figure FDA0004116908030000016
步骤11.在C中删除ph,并将cdis2中包含的乘积项复制到C中,然后清空cdis2,即
Figure FDA0004116908030000017
步骤12.重复步骤10和步骤11,直到C中任意一个乘积项与Cba中的任意一个乘积项均不相交;
步骤13.fa相对于f错误率就是最终留在集合Ca和C中乘积项包含的最小项个数与2w的比值。
CN201811465776.5A 2018-12-03 2018-12-03 一种逻辑错误率计算方法 Active CN109753685B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811465776.5A CN109753685B (zh) 2018-12-03 2018-12-03 一种逻辑错误率计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811465776.5A CN109753685B (zh) 2018-12-03 2018-12-03 一种逻辑错误率计算方法

Publications (2)

Publication Number Publication Date
CN109753685A CN109753685A (zh) 2019-05-14
CN109753685B true CN109753685B (zh) 2023-05-12

Family

ID=66403459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811465776.5A Active CN109753685B (zh) 2018-12-03 2018-12-03 一种逻辑错误率计算方法

Country Status (1)

Country Link
CN (1) CN109753685B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110880932B (zh) * 2019-11-12 2023-05-12 宁波大学 一种逻辑电路近似实现方法
CN111985172B (zh) * 2020-06-30 2023-05-12 宁波大学 一种单输出组合逻辑电路的近似简化方法
CN112861453B (zh) * 2021-02-08 2023-05-12 宁波大学 近似算术逻辑电路的最大绝对输出误差的计算方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376143A (zh) * 2014-07-31 2015-02-25 苏州大学 基于近似逻辑电路的软错误屏蔽方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080281572A1 (en) * 2007-05-10 2008-11-13 Ruchir Puri Integrated circuit (ic) design method and method of analyzing radiation-induced single-event upsets in cmos logic designs
KR101544649B1 (ko) * 2013-12-30 2015-08-17 서울과학기술대학교 산학협력단 SoC에서의 오류율 분석 방법
US10360088B2 (en) * 2015-11-20 2019-07-23 Quantum Benchmark, Inc. Randomized compiling for quantum computation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376143A (zh) * 2014-07-31 2015-02-25 苏州大学 基于近似逻辑电路的软错误屏蔽方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wang Lunyao等.Multi-supply voltage (MSV) driven SoC floorplanning for fast design convergence.《INTEGRATION-THE VLSI JOURNAL》.2016,第335-346页. *

Also Published As

Publication number Publication date
CN109753685A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
CN109753685B (zh) 一种逻辑错误率计算方法
Ji et al. A hardware implementation of a radial basis function neural network using stochastic logic
Helliwell et al. A fast algorithm to minimize multi-output mixed-polarity generalized Reed-Muller forms
Abdellatef et al. Accurate and compact convolutional neural network based on stochastic computing
Guo et al. Scheme for automatic differentiation of complex loss functions with applications in quantum physics
Xia et al. Design and simulation of quantum image binarization using quantum comparator
Abdellatef et al. Accurate and compact stochastic computations by exploiting correlation
Bunch et al. Weighting vectors for machine learning: numerical harmonic analysis applied to boundary detection
Yuan et al. Improved quantum dilation and erosion operations
CN110880932B (zh) 一种逻辑电路近似实现方法
Baek et al. A memristor-CMOS Braun multiplier array for arithmetic pipelining
Stojković et al. Reversible circuits synthesis from functional decision diagrams by using node dependency matrices
Hasegawa Variational principle for non-equilibrium states and the Onsager-Machlup formula
Winstead Tutorial on stochastic computing
CN113822386B (zh) 一种图像识别方法、装置、设备及介质
Nabulsi et al. A new method for boolean function simplification
Balasubramanian et al. Indicating asynchronous multipliers
Aygun et al. Efficient and robust bitstream processing in binarised neural networks
Hu et al. Optimization of softmax layer in deep neural network using integral stochastic computation
CN112861453B (zh) 近似算术逻辑电路的最大绝对输出误差的计算方法
Feng et al. Simplification of logical functions with application to circuits
Kishore et al. Implementation of braun and baugh-wooley multipliers using qca
Voudouris et al. Decomposition of multi-output boolean functions
Stankovic Some remarks on terminology in spectral techniques for logic design: Walsh transform and Hadamard matrices
Yuan et al. LGHAE: Local and Global Hyper-relation Aggregation Embedding for Link Prediction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant