CN103699357A - 一种用于模乘和模平方的快速模约简算法电路 - Google Patents
一种用于模乘和模平方的快速模约简算法电路 Download PDFInfo
- Publication number
- CN103699357A CN103699357A CN201310655820.XA CN201310655820A CN103699357A CN 103699357 A CN103699357 A CN 103699357A CN 201310655820 A CN201310655820 A CN 201310655820A CN 103699357 A CN103699357 A CN 103699357A
- Authority
- CN
- China
- Prior art keywords
- modular
- input gate
- gate array
- circuit
- input
- 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.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种用于模乘和模平方的快速模约简算法电路,该电路结构包括乘法或平方的部分积产生电路,2个m+1位的二输入与门阵列,m+1个两级CSA加法单元,m+2个FA全加器单元,以及m+3个扫描触发器。本发明针对m位大素数P可以采取从高位到低位约简的方法,可以在乘法和平方运算的同时对其结果进行约简,从而避免了对乘法和平方结果单独进行约简的过程,减少了模乘和模平方的时间;同时,省去了专门的模约简电路模块,降低了电路面积。
Description
技术领域
本发明涉及集成电路设计领域,具体涉及一种用于模乘和模平方的快速模约简算法电路。
背景技术
目前,对于大数模乘和模平方的模约简过程,通常采用的方案是先计算出乘法和平方的结果,再采用专门的模约简电路进行约简,该方案需要耗费专门的模约简模块和模约简时间。有鉴于此,有必要设计一种新型模约简算法,在乘法和平方运算的同时对其结果进行约简,解决上述问题。
发明内容
本发明的目的在于提供一种用于模乘和模平方的快速模约简算法电路,该电路能够针对m位大素数P从高位到低位约简,在乘法和平方运算的同时对其结果进行约简,从而避免了对乘法和平方结果单独进行约简的过程,减少了模乘和模平方的时间;同时,省去了专门的模约简电路模块,降低了电路面积。
为了达到上述目的,本发明所采用的技术方案是:包括乘法或平方的部分积产生电路、2个m+1位的二输入与门阵列、m+2位的全加器单元FA以及m+3位的扫描触发器;2个m+1位的二输入与门阵列的输出端上连接有用于将4个多位加数压缩成2个加数的m+1位的4-2压缩器;二输入与门阵列的一个输入端分别与扫描触发器的第m+1位和第m+2位的输出端相连,另一个输入端与m位的大素数P的补码Pb相连;2个m+1位的二输入与门阵列的输出端、部分积产生电路的输出端以及扫描触发器前m+1位的输出端均连接到4-2压缩器的输入端上;4-2压缩器的输出端与全加器单元FA的输入端相连,全加器单元FA的结果输出端与扫描触发器的输入端相连;其中,160≤m≤15360。
所述的4-2压缩器为m+1位的两级加法单元CSA。
所述两级加法单元CSA的4个加数分别来自于:部分积产生电路的部分积、扫描触发器累加和的前m+1位以及2个二输入与门阵列的输出。
所述的二输入与门阵列包括m+1位的第一二输入与门阵列、m+1位的第二二输入与门阵列;扫描触发器的第m+1位的输出连接到第一二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第0位至第m-1位分别连接到第一二输入与门阵列的第0位至第m-1位的另一个输入端上,第一二输入与门阵列的第m位的另一个输入端接“0”;扫描触发器的第m+2位的输出连接到第二二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第0位至第m-1位分别连接到第二二输入与门阵列的第1位至第m位的另一个输入端上,第二二输入与门阵列的第0位的另一个输入端接“0”。
与现有技术相比,本发明具有以下有益效果:
在本发明中,该电路每经过一个时钟周期就可以累加一行部分积,同时约简掉上一次部分积累加和的最高位,输出结果左移。本发明针对m位大素数P采取从高位到低位约简的方法,可以在乘法和平方运算的同时对其结果进行约简,从而避免了对乘法和平方结果单独进行约简的过程,减少了模乘和模平方的时间;同时,省去了专门的模约简电路模块,降低了电路面积。
附图说明
图1为本发明的电路结构示意图;
图2为本发明的具体电路图。
具体实施方式
下面结合附图对本发明作进一步详细的说明:
参见图1和图2,本发明包括乘法或平方的部分积产生电路、2个m+1位的二输入与门阵列、m+2位的全加器单元FA以及m+3位的扫描触发器;2个m+1位的二输入与门阵列的输出端上连接有用于将4个多位加数压缩成2个加数的m+1位的4-2压缩器,4-2压缩器为m+1位的两级加法单元CSA。两级加法单元CSA的4个加数分别来自于:部分积产生电路的部分积、扫描触发器累加和的前m+1位以及2个二输入与门阵列的输出。二输入与门阵列的一个输入端分别与扫描触发器的第m+1位和第m+2位的输出端相连,另一个输入端与m位的大素数P的补码Pb相连;2个m+1位的二输入与门阵列的输出端、部分积产生电路的输出端以及扫描触发器前m+1位的输出端均连接到4-2压缩器的输入端上;二输入与门阵列包括m+1位的第一二输入与门阵列、m+1位的第二二输入与门阵列;扫描触发器的第m+1位的输出连接到第一二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第0位至第m-1位分别连接到第一二输入与门阵列的第0位至第m-1位的另一个输入端上,第一二输入与门阵列的第m位的另一个输入端接“0”;扫描触发器的第m+2位的输出连接到第二二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第0位至第m-1位分别连接到第二二输入与门阵列的第1位至第m位的另一个输入端上,第二二输入与门阵列的第0位的另一个输入端接“0”。4-2压缩器的输出端与全加器单元FA的输入端相连,全加器单元FA的结果输出端与扫描触发器的输入端相连;其中,160≤m≤15360。
在本发明中,该电路每经过一个时钟周期就可以累加一行部分积,同时约简掉上一次部分积累加和的最高位,输出结果左移。
参见图2,初始化时RS=0,将m+3位寄存器全部置为0;输出Q[m+2:0]=000…00…000。工作时,RS=1,SE=1,Q[m+2]和Q[m+1]均为零,第一个有效时钟沿时,来自与门阵列的加数均为0,即第一次不需要约简,部分积累加和左移存入寄存器中;第二个有效时钟沿后,由最高两位的输出Q[m+2]和Q[m+1]控制两个与门阵列是否输出2Pb或Pb,从而进行约简。直到第m个时钟沿,最后一行乘法或平方的部分积累加完成。第m+2个时钟沿到来之前,将SE置为0,最多再经过两个时钟沿,乘法或平方的运算结果被约简至m位。
Claims (4)
1.一种用于模乘和模平方的快速模约简算法电路,其特征在于:包括乘法或平方的部分积产生电路、2个m+1位的二输入与门阵列、m+2位的全加器单元FA以及m+3位的扫描触发器;2个m+1位的二输入与门阵列的输出端上连接有用于将4个多位加数压缩成2个加数的m+1位的4-2压缩器;二输入与门阵列的一个输入端分别与扫描触发器的第m+1位和第m+2位的输出端相连,另一个输入端与m位的大素数P的补码Pb相连;2个m+1位的二输入与门阵列的输出端、部分积产生电路的输出端以及扫描触发器前m+1位的输出端均连接到4-2压缩器的输入端上;4-2压缩器的输出端与全加器单元FA的输入端相连,全加器单元FA的结果输出端与扫描触发器的输入端相连;其中,160≤m≤15360。
2.根据权利要求1所述的用于模乘和模平方的快速模约简算法电路,其特征在于:所述的4-2压缩器为m+1位的两级加法单元CSA。
3.根据权利要求2所述的用于模乘和模平方的快速模约简算法电路,其特征在于:所述两级加法单元CSA的4个加数分别来自于:部分积产生电路的部分积、扫描触发器累加和的前m+1位以及2个二输入与门阵列的输出。
4.根据权利要求1所述的用于模乘和模平方的快速模约简算法电路,其特征在于:所述的二输入与门阵列包括m+1位的第一二输入与门阵列、m+1位的第二二输入与门阵列;扫描触发器的第m+1位的输出连接到第一二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第0位至第m-1位分别连接到第一二输入与门阵列的第0位至第m-1位的另一个输入端上,第一二输入与门阵列的第m位的另一个输入端接“0”;扫描触发器的第m+2位的输出连接到第二二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第0位至第m-1位分别连接到第二二输入与门阵列的第1位至第m位的另一个输入端上,第二二输入与门阵列的第0位的另一个输入端接“0”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310655820.XA CN103699357B (zh) | 2013-12-05 | 2013-12-05 | 一种用于模乘和模平方的快速模约简算法电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310655820.XA CN103699357B (zh) | 2013-12-05 | 2013-12-05 | 一种用于模乘和模平方的快速模约简算法电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699357A true CN103699357A (zh) | 2014-04-02 |
CN103699357B CN103699357B (zh) | 2016-11-23 |
Family
ID=50360898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310655820.XA Expired - Fee Related CN103699357B (zh) | 2013-12-05 | 2013-12-05 | 一种用于模乘和模平方的快速模约简算法电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699357B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873941A (zh) * | 2017-01-19 | 2017-06-20 | 西安交通大学 | 一种快速模乘和模平方电路及其实现方法 |
CN114879934A (zh) * | 2021-12-14 | 2022-08-09 | 中国科学院深圳先进技术研究院 | 一种高效的零知识证明加速器及方法 |
CN118233094A (zh) * | 2024-04-17 | 2024-06-21 | 华中科技大学 | 一种适用于后量子密码算法Dilithium的模乘运算电路 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5426743A (en) * | 1991-03-29 | 1995-06-20 | International Business Machines Corporation | 3-1 Arithmetic logic unit for simultaneous execution of an independent or dependent add/logic instruction pair |
US5436574A (en) * | 1993-11-12 | 1995-07-25 | Altera Corporation | Universal logic module with arithmetic capabilities |
CN1449519A (zh) * | 2000-05-15 | 2003-10-15 | 艾蒙系统股份有限公司 | 扩展整数的计算域的范围 |
CN1883155A (zh) * | 2003-11-18 | 2006-12-20 | 爱特梅尔股份有限公司 | 随机化模数约简方法以及用于该方法的硬件 |
CN101000538A (zh) * | 2007-01-05 | 2007-07-18 | 东南大学 | 椭圆曲线密码体制协处理器的实现方法 |
CN101194457A (zh) * | 2005-05-12 | 2008-06-04 | 爱特梅尔公司 | 随机模数化多项式约简方法及其硬件 |
-
2013
- 2013-12-05 CN CN201310655820.XA patent/CN103699357B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5426743A (en) * | 1991-03-29 | 1995-06-20 | International Business Machines Corporation | 3-1 Arithmetic logic unit for simultaneous execution of an independent or dependent add/logic instruction pair |
US5436574A (en) * | 1993-11-12 | 1995-07-25 | Altera Corporation | Universal logic module with arithmetic capabilities |
CN1449519A (zh) * | 2000-05-15 | 2003-10-15 | 艾蒙系统股份有限公司 | 扩展整数的计算域的范围 |
CN1883155A (zh) * | 2003-11-18 | 2006-12-20 | 爱特梅尔股份有限公司 | 随机化模数约简方法以及用于该方法的硬件 |
CN101194457A (zh) * | 2005-05-12 | 2008-06-04 | 爱特梅尔公司 | 随机模数化多项式约简方法及其硬件 |
CN101000538A (zh) * | 2007-01-05 | 2007-07-18 | 东南大学 | 椭圆曲线密码体制协处理器的实现方法 |
Non-Patent Citations (2)
Title |
---|
戴紫彬 等: "GF(2m)域上可配置 ECC 算术模块的设计与实现", 《计算机工程》 * |
袁丹寿: "一种快速有限域乘法器结构及其VLSI实现", 《微电子学》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873941A (zh) * | 2017-01-19 | 2017-06-20 | 西安交通大学 | 一种快速模乘和模平方电路及其实现方法 |
CN106873941B (zh) * | 2017-01-19 | 2019-05-21 | 西安交通大学 | 一种快速模乘和模平方电路及其实现方法 |
CN114879934A (zh) * | 2021-12-14 | 2022-08-09 | 中国科学院深圳先进技术研究院 | 一种高效的零知识证明加速器及方法 |
CN114879934B (zh) * | 2021-12-14 | 2023-01-10 | 中国科学院深圳先进技术研究院 | 一种高效的零知识证明加速器及方法 |
CN118233094A (zh) * | 2024-04-17 | 2024-06-21 | 华中科技大学 | 一种适用于后量子密码算法Dilithium的模乘运算电路 |
CN118233094B (zh) * | 2024-04-17 | 2024-09-20 | 华中科技大学 | 一种适用于后量子密码算法Dilithium的模乘运算电路 |
Also Published As
Publication number | Publication date |
---|---|
CN103699357B (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bansal et al. | High speed vedic multiplier designs-A review | |
CN103176767B (zh) | 一种低功耗高吞吐的浮点数乘累加单元的实现方法 | |
CN104603744B (zh) | 用于高效浮点运算的方法和设备 | |
US20140379774A1 (en) | Systems, methods, and computer program products for performing mathematical operations | |
CN103699357A (zh) | 一种用于模乘和模平方的快速模约简算法电路 | |
CN103559019A (zh) | 一种通用浮点全流水fft运算ip核 | |
Singh et al. | A review on various multipliers designs in VLSI | |
WO2008037975A3 (en) | Matrix multiplication | |
SE0201756D0 (sv) | A method and a system for improved trading of combinations and baits generated thereof | |
Saha et al. | Vedic divider: Novel architecture (ASIC) for high speed VLSI applications | |
CN111325332A (zh) | 卷积神经网络的处理方法和装置 | |
Varshney et al. | Design and Execution of Enhanced Carry Increment Adder using Han-Carlson and Kogge-Stone adder Technique: Han-Carlson and Kogge-Stone adder is used to increase speed of adder circuitry | |
CN103176948A (zh) | 一种低成本的单精度初等函数运算加速器 | |
Khan et al. | Comparative analysis of different algorithm for design of high-speed multiplier accumulator unit (MAC) | |
CN103020014A (zh) | 一种大点数fft的实现方法 | |
CN203250306U (zh) | 一种高效硬件crc校验装置 | |
CN104731551B (zh) | 基于fpga进行除法操作的方法及装置 | |
Zacharias et al. | Study of approximate multiplier with different adders | |
CN107688469A (zh) | 兼顾通用指令和专用指令的可重构计算装置 | |
Chen et al. | Efficient sigmoid function for neural networks based FPGA design | |
CN105425662A (zh) | 基于fpga的集散控制系统中的主处理器及其控制方法 | |
CN104901651A (zh) | 一种数字滤波器的实现电路及方法 | |
CN106873941B (zh) | 一种快速模乘和模平方电路及其实现方法 | |
Nouri et al. | Design and evaluation of correlation accelerator in IEEE-802.11 a/g receiver using a template-based coarse-grained reconfigurable array | |
CN100458452C (zh) | 一种电能计量芯片中的数频转换电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161123 Termination date: 20201205 |
|
CF01 | Termination of patent right due to non-payment of annual fee |