发明名称 一种RNS比较器
摘要 本发明公开了一种RNS比较器,包括:第一n位反相器阵列,模2<sup>n</sup>加法器,第二n位反相器阵列,模2<sup>n</sup>-1加法器,第一n+1位反相器阵列,模2<sup>n</sup>+1加法器,第三n位反相器阵列,第二n+1位反相器阵列,二输入异或门,第一带循环进位的进位存储加法器,第二带循环进位的进位存储加法器,2n位二进制加法器,第一运算模块,第二运算模块,第一1位反相器,第二1位反相器,二输入与门。本发明的RNS比较器,直接在余数系统中进行减法运算,把余数系统中运算结果再转化到二进制系统,从而简化了比较的对比过程,减少了耗费的资源,也提高了运算速度。
申请公布号 CN102930097B 申请公布日期 2014.11.05
申请号 CN201210418373.1 申请日期 2012.10.29
申请人 电子科技大学 发明人 李磊;周璐;周婉婷;刘辉华
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 成都宏顺专利代理事务所(普通合伙) 51227 代理人 周永宏
主权项 一种RNS比较器,包括:第一n位反相器阵列,模2<sup>n</sup>加法器,第二n位反相器阵列,模2<sup>n</sup>‑1加法器,第一n+1位反相器阵列,模2<sup>n</sup>+1加法器,第三n位反相器阵列,第二n+1位反相器阵列,二输入异或门,第一带循环进位的进位存储加法器,第二带循环进位的进位存储加法器,2n位二进制加法器,第一运算模块,第二运算模块,第一1位反相器,第二1位反相器,二输入与门;设A和B为所述比较器的输入,其中,A={a1,a2,a3},B={b1,b2,b3},a1、a2、b1、b2为n位,a3、b3为n+1位;(A=B)、(A<B)和(A>B)为所述比较器的输出;具体连接关系如下:所述第一n位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b1,所述第一n位反相器阵列的输出为<img file="FDA0000549972560000018.GIF" wi="87" he="60" />所述模2<sup>n</sup>加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a1和所述第一n位反相器阵列的输出<img file="FDA0000549972560000017.GIF" wi="68" he="65" />所述模2<sup>n</sup>加法器的进位输入端用于输入逻辑‘1’,所述模2<sup>n</sup>加法器的输出为d1;所述第二n位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b2,所述第二n位反相器阵列的输出为<img file="FDA0000549972560000011.GIF" wi="83" he="66" />所述模2<sup>n</sup>‑1加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a2和所述第二n位反相器阵列的输出<img file="FDA0000549972560000012.GIF" wi="82" he="65" />所述模2<sup>n</sup>‑1加法器的输出为d2;第一n+1位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b3,所述第一n+1位反相器阵列的输出为<img file="FDA0000549972560000013.GIF" wi="79" he="66" />所述模2<sup>n</sup>+1加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a3和所述第一n+1位反相器阵列的输出<img file="FDA0000549972560000014.GIF" wi="88" he="68" />所述模2<sup>n</sup>+1加法器的进位输入用于输入逻辑‘1’,所述模2<sup>n</sup>+1加法器的输出为d3;所述第三n位反相器阵列的输入端用于输入模2<sup>n</sup>‑1加法器的输出d2,所述第三n位反相器阵列的输出为<img file="FDA0000549972560000015.GIF" wi="88" he="66" />所述第二n+1位反相器阵列的输入端用于输入所述模2<sup>n</sup>+1加法器的输出d3,所述第二n+1位反相器阵列的输出为<img file="FDA0000549972560000016.GIF" wi="86" he="66" />所述二输入异或门的两个输入端分别用于输入所述模2<sup>n</sup>+1加法器的输出d3的对应位d3[n]和d3[0],所述二输入异或门的输出为T;所述第一带循环进位的进位存储加法器的输入端分别用于输入所述模2<sup>n</sup>加法器的输出d1的对应位的组合U、所述第三n位反相器阵列的输出<img file="FDA0000549972560000021.GIF" wi="66" he="64" />的对应位与逻辑‘1’的组合V、以及所述第二n+1位反相器阵列的输出<img file="FDA0000549972560000028.GIF" wi="61" he="56" />的对应位与逻辑‘1’的组合‑d3,所述第一带循环进位的进位存储加法器的当前位输出为L1,所述第一带循环进位的进位存储加法器的进位输出为H1,其中,U=d1[0]#d1[n‑1:0]#d1[n‑1:1],<img file="FDA0000549972560000022.GIF" wi="496" he="112" /><img file="FDA0000549972560000023.GIF" wi="474" he="120" />X[u:v]表示X的第v位到第u位对应的数,#为连接符号;所述第二带循环进位的进位存储加法器的输入端分别用于输入所述第一带循环进位的进位存储加法器的当前位输出L1和进位输出H1,以及所述模2<sup>n</sup>+1加法器的输出d3的对应位与所述二输入异或门的输出T的组合W,所述第二带循环进位的进位存储加法器的当前位输出为L2,所述第二带循环进位的进位存储加法器的进位输出为H2,其中,W=T#d3[n‑1:1]#T#d3[n‑1:1];所述2n位二进制加法器的输入端分别用于输入所述第二带循环进位的进位存储加法器的当前位输出L2和进位输出H2,所述2n位二进制加法器的输出为S;所述第一运算模块的输入端分别用于输入所述模2<sup>n</sup>加法器的输出d1,所述模2<sup>n</sup>‑1加法器的输出d2和所述模2<sup>n</sup>+1加法器的输出d3,所述第一运算模块的输出为(A=B),其中,第一运算模块执行的运算为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mrow><mo>(</mo><mi>A</mi><mo>=</mo><mi>B</mi><mo>)</mo></mrow><mo>=</mo><mover><mrow><mi>d</mi><mn>1</mn><mo>[</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><mi>d</mi><mn>1</mn><mo>[</mo><mn>0</mn><mo>]</mo><mo>+</mo><mi>d</mi><mn>2</mn><mo>[</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><mi>d</mi><mn>2</mn><mo>[</mo><mn>0</mn><mo>]</mo><mo>+</mo><mi>d</mi><mn>3</mn><mo>[</mo><mi>n</mi><mo>]</mo><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><mi>d</mi><mn>3</mn><mo>[</mo><mn>0</mn><mo>]</mo></mrow><mo>&OverBar;</mo></mover><mo>;</mo></mrow>]]></math><img file="FDA0000549972560000024.GIF" wi="1486" he="82" /></maths>所述第二运算模块的输入分别用于输入2n位二进制加法器的输出S和所述模2<sup>n</sup>加法器的输出d1,输出为(A≤B),第二运算模块执行的运算为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mrow><mo>(</mo><mi>A</mi><mo>&le;</mo><mi>B</mi><mo>)</mo></mrow><mo>=</mo><mover><mrow><mi>S</mi><mo>[</mo><mn>2</mn><mi>n</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>+</mo><mi>S</mi><mo>[</mo><mn>2</mn><mi>n</mi><mo>-</mo><mn>2</mn><mo>]</mo><mo>&CenterDot;</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>&CenterDot;</mo><mi>S</mi><mo>[</mo><mn>0</mn><mo>]</mo><mo>&CenterDot;</mo><mi>d</mi><mn>1</mn><mo>[</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>&CenterDot;</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>&CenterDot;</mo><mi>d</mi><mn>1</mn><mo>[</mo><mn>0</mn><mo>]</mo></mrow><mo>&OverBar;</mo></mover><mo>,</mo></mrow>]]></math><img file="FDA0000549972560000025.GIF" wi="1084" he="75" /></maths>其中·为逻辑乘;所述第一1位反相器的输入端用于输入所述第二运算模块的输出(A≤B),所述第一1位反相器的输出为(A>B);所述第二1位反相器的输入端用于输入所述第一运算模块的输出(A=B),所述第二1位反相器的输出为<img file="FDA0000549972560000026.GIF" wi="172" he="74" />所述二输入与门的两个输入端分别用于输入所述第二运算模块的输出(A≤B)和所述第二1位反相器的输出<img file="FDA0000549972560000027.GIF" wi="179" he="74" />所述二输入与门的输出为(A<B)。
地址 611731 四川省成都市高新区(西区)西源大道2006号