发明名称 基4-Booth编码方法及门电路和流水线大数乘法器
摘要 本发明基4-Booth编码方法,乘数B每相邻的三位共有八种组合方式,不同的组合形式分别代表部分积选择是0,±A,±2A之中的一种,其中A代表被乘数,编码值Xi等于1表示绝对值是被乘数自身的组合方式,编码值Xi等于0表示其余组合方式;编码值Mi等于1表示部分积为负数的组合方式;编码值Modifyi等于1表示绝对值非零的六种组合方式,本发明同时提供了实现该编码的门电路以及基于该编码的流水线大数乘法器,本发明编码方法可缩短Booth编码的延时,流水线大数乘法器可实现256位大数乘法运算,应用于公钥密码算法模乘运算中,可大幅提高公钥密码芯片的性能。
申请公布号 CN103412737A 申请公布日期 2013.11.27
申请号 CN201310261574.X 申请日期 2013.06.27
申请人 清华大学 发明人 李树国;周怡
分类号 G06F7/533(2006.01)I 主分类号 G06F7/533(2006.01)I
代理机构 西安智大知识产权代理事务所 61215 代理人 贾玉健
主权项 1.一种基4-Booth编码方法,其特征在于,如下表所示:<img file="FDA00003418493900011.GIF" wi="1610" he="783" />乘数B每相邻的三位共有八种组合方式,不同的组合形式分别代表部分积选择是0,±A,±2A之中的一种,其中A代表被乘数,编码值X<sub>i</sub>等于1表示绝对值是被乘数自身的组合方式,编码值X<sub>i</sub>等于0表示其余组合方式;编码值M<sub>i</sub>等于1表示部分积为负数的组合方式;编码值Modify<sub>i</sub>等于1表示绝对值非零的六种组合方式,所述编码值中的i表示生成第i个部分积所需要的编码值序号,对256位乘法器来说,其范围是0~128;所述编码值X<sub>i</sub>、M<sub>i</sub>、Modify<sub>i</sub>的逻辑表达式概括如下:<maths num="0001"><![CDATA[<math><mrow><msub><mi>X</mi><mi>i</mi></msub><mo>=</mo><mi>B</mi><mo>[</mo><mn>2</mn><mi>i</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>&CirclePlus;</mo><mi>B</mi><mo>[</mo><mn>2</mn><mi>i</mi><mo>]</mo></mrow></math>]]></maths>M<sub>i</sub>=B[2i+1]<maths num="0002"><![CDATA[<math><mrow><msub><mi>Modify</mi><mi>i</mi></msub><mo>=</mo><mi>B</mi><mo>[</mo><mn>2</mn><mi>i</mi><mo>+</mo><mn>1</mn><mo>]</mo><mo>&CirclePlus;</mo><mi>B</mi><mo>[</mo><mn>2</mn><mi>i</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>+</mo><mi>B</mi><mo>[</mo><mn>2</mn><mi>i</mi><mo>]</mo><mo>&CirclePlus;</mo><mi>B</mi><mo>[</mo><mn>2</mn><mi>i</mi><mo>-</mo><mn>1</mn><mo>]</mo></mrow></math>]]></maths>部分积每一比特位的生成如下述逻辑表达式所示:<maths num="0003"><![CDATA[<math><mrow><msub><mi>p</mi><mi>i</mi></msub><mo>[</mo><mi>j</mi><mo>]</mo><mo>=</mo><mrow><mo>(</mo><mi>A</mi><mo>[</mo><mi>j</mi><mo>]</mo><mo>&CirclePlus;</mo><msub><mi>M</mi><mi>i</mi></msub><mo>+</mo><mrow><mo>(</mo><mo>~</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>A</mi><mo>[</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>]</mo><mo>&CirclePlus;</mo><msub><mi>M</mi><mi>i</mi></msub><mo>+</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>+</mo><msub><mi>Modify</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>其中B[2i]代表乘数的第2i比特位,A[j]表示被乘数A的第j比特位。
地址 100084 北京市海淀区100084信箱82分箱清华大学专利办公室