一种Reed-Muller逻辑电路极性快速转换方法

文档序号:8225732阅读:298来源:国知局
一种Reed-Muller逻辑电路极性快速转换方法
【技术领域】
[0001] 本发明涉及数字逻辑电路的简化方法,尤其是涉及一种Reed-Muller逻辑电路简 化过程中使用的输入变量极性转换方法。
【背景技术】
[0002] 数字逻辑电路可以采用"AND/OR"形式表示,也可以采用"XOR/AND"形式表示。其 中采用"XOR/AND"形式表示的逻辑也称为Reed-Muller逻辑,简称RM逻辑。相比于"AND/ OR"表示形式,采用"XOR/AND"形式的RM逻辑在算术、奇偶检验、电路可测试性等方面具有 更简单的电路结构,因此在算术电路、通讯电路以及电路可测试性设计方面,RM逻辑被广泛 地米用。
[0003] RM逻辑电路的结构复杂程度与电路的输入变量的取值情况密切相关。以下面的例 子为例,RM逻辑函数的5种表达形式是等效的。其中H为电路输入变量的取值情况,也称 RM逻辑函数的极性。当H用二进制表示时,H中某一位取值为"0"表示该位对应的变量以 原变量形式出现,反之,H中某一位取值为" 1"表示该位对应的变量以反变量形式出现。下 面的例子给出了输入变量为Xp x2, x3的逻辑函数f (X x2, x3)中各输入变量取不同极性时 对应的表达式,其中符号" ? "表示逻辑"异或"运算。从表达式中可以看出,不同极性对应 的逻辑表达式的复杂程度不一样。
[0004]
【主权项】
1. 一种RM逻辑电路极性转化的方法,其特征在于定义被转换的电路对应的逻辑函数 为f ;电路的输入变量数定义为m,输出变量数定义为η ;定义构成f的乘积项的集合为C ; Pi, Pj为属于集合c的任意一对乘积项;定义对于集合c中任一乘积项中的任一变量,用 "〇"表示该变量以反变量形式出现,"1"表示该变量以原量形式出现,"2"表示该变量不出 现;定义符号[P i] k表示乘积项P i的第k位的取值,且0彡k彡m-ι ;将f的各位变量极性 用H表示;H中的"0"表示该位变量在f中以原变量形式出现;H中的"1"表示该位变量 在f中以反变量形式出现;将H中第k位的取值用[H] k表示;乘积项p i与极性H之间的 第k位"位极性"运算用Tk(PpH)表示,并规定当[pjk= [H] k时,有T k(PpH) = 4,否则 Tjp" H) = [PiIIk;用Λ kCpJk,[pj]k,[H]k)表示乘积项Pi, Pj关于H的第k位相交运算, 并规定 Ak(2, 4, 1) = 2, Ak(2, 4, 0) = 2, Ak(2, 2, 1) = 2, Ak(2, 2, 0) = 2, Ak(4, 2, 1)= 0, Ak(4, 2, 0) = 1,Ak(4, 0, I) = 2, Ak(4, 1,0) = 2, Ak(l,4, 0) = 1,Ak(〇, 4, I) = 0, 八15(1,1,〇)=1,人15(〇,〇,1)=〇;其他|^] 15,|^]15和[!1]15的取值组合下,乘积项?1,口』关 于 H 不相交,并用 A,;([p,.U/~U//L) = 0 表示;用 rk(Tk(Pi,H),Tk(Pj,H),[H] k)表示乘 积项口^」关于11的第1^位互斥运算,其中1^(1^!1),1^(1^!1)的取值为〇,1,2或4,[!1] k的取值为〇 或 I ;并规定 Γ k(4,0,l) = 2, rk(4,2,l) =0, rk(4,l,0) = 2, rk(4,2,0) =1,rk(4,4, I) = 4, rk(4,4,0) = 4,其他 Tk(Pi,H),Tk(Pj,H)和[H] k取值组合下, rk(Tk(Pi,H),Tk(Pj,H),[H] k)运算结果定义为空;具体步骤为: 步骤⑴.定义一个空的集合,用Cp表示,执行步骤⑵; 步骤⑵.利用不相交乘积项转换方法将集合C中的乘积项转换成不相交乘积项,执行 步骤⑶; 步骤⑶.在集合C中任取一个乘积项p' i,对p' i逐位进行"位极性"运算,将p' i 的第k位取值[p'丄用Tk(p' pH)替代,完成p' i中的每一位变量的"位极性"运算 后,将结果存于(;中,并在集合C中删除p' i; 步骤⑷.检查集合C中的每一个乘积项是否都与H进行"位极性"运算,如果是,删除 集合C,并执行步骤(5),否则,执行步骤⑶; 步骤(5).在集合Cp中任取一对乘积项,记为p" JPp"」,判断p"#Pp"」中是否存 在某一位变量使得'([/〇,[/<1[〃],;) = 0,〇彡1^彡(111-1);如果不存在,执行步骤(6),否 则执行步骤⑶; 步骤(6).依次检查p" i中各位取值,如p" i中第k位取值为4,k彡m-1,则生 成一个新的乘积项,用Pk表示;其中Pk的前(k-Ι)位取值等于p" JPp"」关于H的 相交结果,即[Pk]u= AU([P" JuJp" j]u,[H]u),0彡u彡k_l,pk的第k位取值等于 rk(Tk(p" i,H),Tk(p"』,Η),[H]k),pk的第(k+Ι)位到(m-1)位的值等于 p" i的第(k+1) 位到(m-1)位的值;若pk乒p " i,则将pk存储到集合CpIf,否则不存储; 步骤(7).判断是否对p" i全部m个位的取值情况进行了检查,如果是,则执行步骤(8), 否则执行步骤(6); 步骤⑶.依次检查p"」中各位取值,如p"」中第s位取值为4,s<m-l,则生 成一个新的乘积项,用Ps表示;其中Ps的前s-1位取值等于p" #Pp" i关于H的 相交结果,即[ps]t= Λ t([p " j]t, [p " Jt, [H]t),0彡t彡S-1,Ps的第s位取值等于 1\(1^(1)"^),1^(1)"1,!1),[!1]3)也的第( 8+1)位到(111-1)位的值等于?"』.的第(8+1) 位到(m-1)位的值;若ps# p " j,则ps存储到C pif,否则不存储; 步骤(9).判断是否对p" ^全部m个位的取值情况进行了检查,如果是,则删除p" ^口 P " ^并执行步骤(1Φ,否则执行步骤⑶; 步骤(1Φ .判断是否对(;中所有任意二个乘积项都进行了关于H的相交检查,如果是, 执行步骤(11),否则执行步骤(5); 步骤(11).极性为H的RM逻辑表达式中乘积项的个数定义戈
t,其中w表示(;中 乘积项个数,V表示一个乘积项中"4"的个数,(2'表示C p中第r个乘积项展开为对应的 RM逻辑表达式中乘积项个数为2^将C 5中每个乘积项中取值为"4"的位分别用"0"和" 1" 代替,然后以二进制方式展开,并将展开位中取值与极性表达式H中对应位相同的位用 替换,同时将"2"对应的位也用替换,得到极性为H的RM逻辑表达式。
【专利摘要】本发明公开了一种Reed-Muller逻辑电路极性快速转换方法,通过删除不同乘积项对应的逻辑覆盖中公共部分的方法实现RM逻辑的固定极性转换,提出的方法避免了以往RM逻辑极性转化过程中采用乘积项展开、搜索和删除等步骤,整个搜索过程不需要对乘积项进行多次展开和重复乘积项搜索和删除操作,整个过程只需要1次的乘积项展开且不需要重复性检查,从而使得提出的方法在RM逻辑极性转换时转换速度更快,能处理的电路规模更大,本发明的方法在极性搜索方面具有更高的效率。
【IPC分类】H03M13-13
【公开号】CN104539298
【申请号】CN201410810723
【发明人】王伦耀, 夏银水, 储著飞
【申请人】宁波大学
【公开日】2015年4月22日
【申请日】2014年12月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1