[实用新型]适用于模除算法的新架构及非交织一维脉动架构有效
申请号: | 201620385333.5 | 申请日: | 2016-04-29 |
公开(公告)号: | CN205721742U | 公开(公告)日: | 2016-11-23 |
发明(设计)人: | 丁丹;王志中;王惠美 | 申请(专利权)人: | 九州华兴集成电路设计(北京)有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;G06F21/72 |
代理公司: | 北京恩赫律师事务所 11469 | 代理人: | 赵文成 |
地址: | 100000 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本实用新型公开一种适用于模除算法的新架构及非交织一维脉动架构,属于密码芯片领域,包括MxN的单元序列,其中,M为迭代次数加一,N为处理的模数位长加一,前M‑1行运算单元中的每一行均能够完成一次迭代,第M行的运算单元能够完成最后的修正,本实用新型能够完成M‑1次迭代,能够处理的模数位长为N‑1个字节。与现有技术相比,本实用新型采用的算法ModDiv计算简单,在硬件实现中,不会导致较长的关键路径延时,同时,硬件实现的流水线在各次迭代中平衡,避免了时钟周期的浪费,不仅如此,本实用新型的算法ModDiv计算时,依赖关系简单,有助于提高硬件利用率。因此,本实用新型能够实现更小的关键路径延时和计算时间。 | ||
搜索关键词: | 适用于 算法 架构 交织 脉动 | ||
【主权项】:
一种适用于模除算法的新架构,其特征在于,包括MxN的单元序列,M为迭代次数加一,N为处理的模数位长加一,前M‑1行运算单元中的每一行均能够完成一次迭代,第M行的运算单元能够完成最后的修正,其中:对于第一行运算单元:第一行运算单元包括位于最右侧有1个单元B和左侧的N‑1个单元A,最右侧的单元B为单元B(0,0),B(0,0)有九个输入,从左到右分别是除数y1位、模数m1位、被除数x1位、0、模数m1位、除数y0位、模数m0位、被除数x0位和0,单元B(0,0)有13个输出信号,其中,有8个信号经过一个寄存器后传入与单元B(0,0)左侧相邻的单元A(0,1),这8个信号包括五个控制信号v[1]、s[1]、v[2]、s[2]、swap和三个进位信号c10、c20、c30,另外5个信号经过两个寄存器后连入第二行的单元B(1,0)的输入端,分别为
与单元B(0,0)左侧相邻的单元A(0,1)同样有九个输入,从左到右分别为除数y2位、模数m2位、被除数x2位和0经过1个寄存器作为单元A(0,1)输入,以及模数m2位、除数y1位、模数m1位、被除数x1位、0经过1个寄存器作为单元A(0,1)的输入,单元A(0,1)有13个输出信号,其中,8个信号经过一个寄存器后传入与单元A(0,1)左侧相邻的单元A(0,2),分别是五个控制信号v[1]、s[1]、v[2]、s[2]、swap和三个进位信号c11、c21、c31,另外5个信号经过两个寄存器后连入第二行的与单元A(0,1)的下面对应的单元A(1,1)的输入,分别为
单元A(0,2)有九个输入,从左到右分别是除数y3位、模数m3位、被除数x3位、0经过2个寄存器作为A(0,2)的输入,以及模数m3位、除数y2位、模数m2位、被除数x2位、0经过2个寄存器作为A(0,2)的输入,单元A(0,2)有13个输出信号,其中,8个信号经过一个寄存器后传入单元A(0,2)左侧相邻的单元A(0,3),这8个信号包括五个控制信号v[1]、s[1]、 v[2]、s[2]、swap和三个进位信号c12、c22、c32,另外5个信号经过两个寄存器后连入第二行的与单元A(0,2)的下面对应的单元A(1,2)的输入,分别为
单元A(0,3)有九个输入,从左到右分别是除数y3位、模数m3位、被除数x3位、0经过3个寄存器作为A(0,3)的输入,以及模数m3位、除数y3位、模数m3位、被除数x3位、0经过3个寄存器作为A(0,2)的输入,单元A(0,3)有13个输出信号,其中,8个信号经过一个寄存器后传入单元A(0,3)左侧相邻的单元A(0,4),这8个信号包括五个控制信号v[1]、s[1]、v[2]、s[2]、swap和三个进位信号c13、c23、c33,另外5个信号z0、![]()
经过两个寄存器后连入第二行的与单元A(0,3)的下面对应的下面单元A(1,3);单元A(0,4)和后续单元A的信号输入和连接方式均和单元A(0,1)、A(0,2)、A(0,3)相同;对于第二至第M‑1行运算单元:第二至第M‑1行运算单元的单元组合、信号连接方式分别和第一行相同;对于第M行运算单元:第M行运算单元包括位于最右侧的1个单元D和左侧的N‑1个单元C,单元D、C为符号扩展位,其中,单元D的输入为b1、s0,b1为A(2,1)的输出信号
经过三个寄存器的输出,s0为B(2,0)的输出信号
经过4个寄存器的输出,单元D的输出为s3、
z0,其中,s3和
连入单元C的输入s3和
单元D左侧的第一个单元C除了从单元D传来的信号外,还有一个输入信号来自单元A(2,1)的输出信号
经过三个寄存器的输出,单元D左侧的第一个单元C的输出为s3、
z1,其中,s3和
连入下一个单元C的输入s3和si,左侧其他的单元C连接方式均和它相同;上述的单元A包括3个异或XOR‑AND门、2个数据选择器MUX和3个全加器Full Adder,3个XOR‑AND门和2个MUX从左向右依次 排列,从左向右依次为第一XOR‑AND门、第二XOR‑AND门、第三XOR‑AND门、第一MUX和第二MUX,第一XOR‑AND门、第二XOR‑AND门、第三XOR‑AND门的下方分别对应的设置第一Full Adder、第二Full Adder和第三Full Adder,第二MUX输入分别为ri、si、swap,其中,swap作为地址输入信号,第二MUX的输出为
第一MUX输入分别为ai、bi、swap,其中,swap作为地址输入信号,第二MUX的输出为bi,第三XOR‑AND门包括第三XOR门和第三AND门,第三XOR门的输入为mi+1、s2,第三XOR门的输出连接第三AND门的被加数输入端,第三AND门的加数端输入v2,第三AND门的输出端连接第三Full Adder的加数输入端,第三Full Adder的被加数输入端为第二Full Adder的本位和输出,第三Full Adder的进位信号输入为c3i‑1,进位信号输出为c3i,第三Full Adder的本位输出为
第二XOR‑AND门包括第二XOR门和第二AND门,第二XOR门的输入为si+1、s1,第二XOR门的输出连接第二AND门的被加数输入端,第二AND门的加数输入端输入ri+1,第二AND门的输出端连接第二Full Adder的加数输入端,第二Full Adder的被加数输入端输入ri+1,第二Full Adder的进位信号输入为c2i‑1,其进位信号输出为c2i,第一XOR‑AND门包括第一XOR门和第一AND门,第一XOR门的输入为bi+1、s1,第一XOR门的输出连接第一AND门的被加数输入,第一AND门的加数输入为v1,第一AND门的输出连接第一Full Adder的加数输入端,第一Full Adder的被加数输入端为ai+1,进位信号输入为c1i.其进位信号输出为
上述的单元B包括单元A和控制单元Ctrl组成,控制单元Ctrl的输入为a1、b1、a0、r0、s0,控制单元Ctrl的输出v1、s1、v2、s2、swap、c1、c2和c3的初始值连接至单元A的同名端;单元C和单元D所完成的运算是求相反数,其中,单元C由异或门和半加器连接组成,其中异或门输入为si、s3,输出连入半加器的被加数输入端,另加数输入信号是进位信号c4i‑1,其本位输出为
进位为s1,单元D由单元C组成,其中,输入信号si为s0,c4i‑1连接b1,传入单元C 的输出为s3、c40,本位输出为
第一行至第M‑1行中的每一行,从右到左,每两个相邻的单元组合成了一个单元组合,构成一个单元组合的两个单元之间的流水线寄存器均去掉。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于九州华兴集成电路设计(北京)有限公司,未经九州华兴集成电路设计(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201620385333.5/,转载请声明来源钻瓜专利网。