当前位置: 首页 > 专利查询>宁波大学专利>正文

一种单输出组合逻辑电路的近似简化方法技术

技术编号:26479121 阅读:37 留言:0更新日期:2020-11-25 19:23
本发明专利技术公开了一种单输出组合逻辑电路的近似简化方法,其在错误率约束下,通过将多个乘积项近似表示成一个乘积项,以及删除特定的乘积项从而实现逻辑函数简化;考虑到简单的逻辑函数的逻辑表达式往往对应简单的电路结构,因此使得一些逻辑电路有了更大的优化空间;在不影响逻辑电路正常应用的前提下,可实现逻辑电路功耗、速度和面积等性能的进一步优化;其虽然是单输出的组合逻辑电路简化方法,但考虑到多输出组合逻辑电路可转化为多个单输出电路的组合,因此其可以推广到多输出组合逻辑电路的简化,适用于逻辑功能可以用“与/或”形式逻辑函数描述的逻辑电路的优化,且容易编程实现,可以融入到计算机辅助设计中,用于逻辑电路的综合与优化。

【技术实现步骤摘要】
一种单输出组合逻辑电路的近似简化方法
本专利技术涉及一种逻辑电路的近似计算技术,尤其是涉及一种单输出组合逻辑电路的近似简化方法。
技术介绍
近似计算是在不影响电路正常应用的前提下,通过适当降低计算精度来实现电路面积、功耗、延时等性能和参数的优化。目前,近似计算已成为数字集成电路设计中一个新的、重要的策略,已经应用于一些运算量大且有一定容错性的场景中,如多媒体处理、物联网中传感数据处理、数据搜索等诸多方面。逻辑电路的逻辑功能一般可以用逻辑函数来描述,而逻辑函数的复杂程度与逻辑电路结构的复杂性紧密相关,进而潜在地影响到逻辑电路的功耗、面积、速度等性能指标。因此,可以通过简化逻辑函数的逻辑表达式形式,进而实现逻辑电路性能的提升。图1a给出了4输入变量为a,b,c,d的逻辑函数对应的电路,输出为f1;图1b给出了3输入变量为b,c,d的逻辑函数f2(b,c,d)=bc+cd对应的电路,输出为f2。从两个逻辑表达式中可以看出,只有在输入{a,b,c,d}={0,0,0,1}和{a,b,c,d}={1,1,0,1}时,f1≠f2;而其他任何本文档来自技高网...

【技术保护点】
1.一种单输出组合逻辑电路的近似简化方法,其特征在于包括以下步骤:/n步骤1:令f表示用于表达待简化的逻辑电路的逻辑功能用的单输出逻辑函数,f采用“与/或”逻辑形式,f的输入变量的数量为w个,w个输入变量分别为x

【技术特征摘要】
1.一种单输出组合逻辑电路的近似简化方法,其特征在于包括以下步骤:
步骤1:令f表示用于表达待简化的逻辑电路的逻辑功能用的单输出逻辑函数,f采用“与/或”逻辑形式,f的输入变量的数量为w个,w个输入变量分别为x1,x2,…,xw,f的输出变量的数量为1个,f中包含有m个乘积项;令fa表示f的近似函数,fa采用“与/或/异或”逻辑形式,fa的输入变量和f的输入变量相同,fa的输出变量的数量为1个,fa中包含有n个乘积项;规定仅属于f或仅属于fa的最小项的数量不能大于H个;
规定构成f和fa各自的每个乘积项中的输入变量,其排列顺序均一样,并且对于任意一个乘积项中的任意一个输入变量,用“0”表示该输入变量以反变量形式出现在该乘积项中,即出现形式为反变量,用“1”表示该输入变量以原变量形式出现在该乘积项中,即出现形式为原变量,用“2”表示该输入变量没有出现在该乘积项中;
将f中的所有乘积项构成的乘积项集合记为Cf,并对Cf中的每个乘积项按序标记序号;定义符号“∩”表示“相交”运算,定义符号表示两个不同的集合对应的逻辑覆盖之间的互斥运算,且对于两个不同的乘积项集合和它们之间的互斥运算表示为即的结果等于在中去除和的公共部分,定义符号表示空集;
定义G[xk0]Q表示输入变量xk以反变量形式在乘积项Q中出现的频次,定义G[xk1]Q表示输入变量xk以原变量形式在乘积项Q中出现的频次,其中,G[xk0]Q的值等于将乘积项Q展开为最小项后,输入变量xk以反变量形式出现在这些最小项中的次数,G[xk1]Q的值等于将乘积项Q展开为最小项后,输入变量xk以原变量形式出现在这些最小项中的次数;
上述,w为正整数,w≥2,x1,x2,…,xw对应表示f和fa的第1个输入变量、第2个输入变量、……、第w个输入变量,m为正整数,m≥2,n为正整数,n≥1,H为正整数,H>0,xk表示f和fa的第k个输入变量,1≤k≤w;
步骤2:定义Ccur、Cdis、Cdis1、CRMD、Ctmp、Cer、CM、Cpnt和Cxor均表示集合,且初始值均为空集;构建一个包含所有输入变量x1,x2,…,xw的乘积项pz,并将pz中的各个输入变量的表示形式的初始值均设为“2”;
步骤3:在Cf中任取2个乘积项,分别记为pi和pj;然后将乘积项pi存放到Ccur中,将乘积项pj存放到Cdis中,执行将Ctmp中的所有乘积项存放到Cdis中,在Cf中删除pi和pj,清空Ctmp和Ccur;其中,i∈[1,m],j∈[1,m],i≠j,i为pi的序号,j为pj的序号;
步骤4:检查Cf是否为空集,如果则执行步骤5,否则,执行步骤6;
步骤5:在Cf中任取1个乘积项,记为pt;然后将pt存放到Ccur中,执行将Ctmp中的所有乘积项存放到Cdis中,在Cf中删除pt,清空Ctmp和Ccur,再返回执行步骤4;其中,t∈[1,m],t为pt的序号;
步骤6:统计Cdis中的乘积项的数量,记为M,若M≥2,则执行步骤7;若M<2,则将Cdis中的所有乘积项移除并存放到CM中,然后将CRMD中的所有乘积项移除并存放到Cdis中,再重新统计Cdis中的乘积项的数量,记为M',若M'≥2,则令M=M',并将pz中的各个输入变量的表示形式的取值均设为“2”,再执行步骤7;否则,将Cdis中的所有乘积项移除并存放到CM中,再执行步骤13;其中,M=M'中的“=”为赋值符号;
步骤7:统计各个输入变量x1,x2,…,xw在Cdis中的所有乘积项中的表示形式的取值为“0”、取值为“1”和取值为“2”的数量;然后将各输入变量x1,x2,…,xw在Cdis中的M个乘积项中的表示形式取值为“0”的统计结果组成的第一数组记为[[x10],[x20],…,[xk0],…,[xw0]],将各输入变量x1,x2,…,xw在Cdis中的M个乘积项中的表示形式取值为“1”的统计结果组成的第二数组记为[[x11],[x21],…,[xk1],…,[xw1]],将各输入变量x1,x2,…,xw在Cdis中的M个乘积项中的表示形式取值为“2”的统计结果组成的第三数组记为[[x12],[x22],…,[xk2],…,[xw2]];其中,[x10]表示输入变量x1在Cdis中的M个乘积项中的表示形式的取值为“0”的数量,[x20]表示输入变量x2在Cdis中的M个乘积项中的表示形式的取值为“0”的数量,[xk0]表示输入变量xk在Cdis中的M个乘积项中的表示形式的取值为“0”的数量,[xw0]表示输入变量xw在Cdis中的M个乘积项中的表示形式的取值为“0”的数量,[x11]表示输入变量x1在Cdis中的M个乘积项中的表示形式的取值为“1”的数量,[x21]表示输入变量x2在Cdis中的M个乘积项中的表示形式的取值为“1”的数量,[xk1]表示输入变量xk在Cdis中的M个乘积项中的表示形式的取值为“1”的数量,[xw1]表示输入变量xw在Cdis中的M个乘积项中的表示形式的取值为“1”的数量,[x12]表示输入变量x1在Cdis中的M个乘积项中的表示形式的取值为“2”的数量,[x22]表示输入变量x2在Cdis中的M个乘积项中的表示形式的取值为“2”的数量,[xk2]表示输入变量xk在Cdis中的M个乘积项中的表示形式的取值为“2”的数量,[xw2]表示输入变量xw在Cdis中的M个乘积项中的表示形式的取值为“2”的数量;
步骤8:计算每个输入变量以反变量形式...

【专利技术属性】
技术研发人员:邹九发王伦耀夏银水储著飞
申请(专利权)人:宁波大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1