模(2的制作方法

文档序号:6456222阅读:154来源:国知局
专利名称:模(2的制作方法
技术领域
本实用新型涉及一种运算电路,具体地说,是涉及一种可实现模(216+1)乘法逆运算的运算电路。
背景技术
模(216+1)乘法逆运算电路对16位的输入数据D,求D的模216+1的乘法逆Q,即对于D求Q,使得下式成立D*Q=1 mod(216+1)。
求D的模216+1乘法逆Q的算法如下(1)令n1=216+1,n2=D,b1=0,b2=1;(2)求q,r,使n1=q*n2+r;(3)若r≠0,则作n1=n2,n2=r,t=b2,b2=b1-q*b2,b1=t,转第(2)步;若r=0,则进行第(4)和第(5)步;(4)若b2<0,则作b2=b2+(216+1);(5)b2就是D的乘法逆,即Q=b2,结束。
以上运算流程中,在r=0之前可能会在第(2)和第(3)步骤之间进行若干周期的运算。在整个循环运算中,由于各运算部件,如加法器、乘法器、除法器运算速度不一致,则n1、n2、b1、b2装载时间不一致,从而会导致运算错误。此外,在前一数据运算还未完成之前,新的数据的到来会破坏前一数据的运算,从而导致结果出错。

发明内容
为了克服传统设计不能保证运算电路计算的准确性和稳定性,本实用新型提供了一种模(216+1)乘法逆运算电路,此电路不仅能准确稳定地完成模(216+1)乘法逆运算的功能,而且结构简单,控制准确。
为解决上述技术问题,本实用新型通过以下技术方案予以实现一种模(216+1)乘法逆运算电路,包含有除法器、零比较器和寄存器,所述零比较器的输入端与除法器的余数输出端相连,而所述的寄存器则用来存储运算过程中需暂存的数据;所述寄存器的输入端分别与一选择器的输出端相连,所述选择器的控制端均与使能信号输入端相连;所述零比较器的输出端经一非门与一或门的输入端相连,所述或门的另一输入端连接使能信号输入端,经或运算后分别与所述寄存器的使能端相连。
其中,所述使能信号输入端接收装载使能信号,此装载使能信号的周期大于该运算电路运算所需的最长时间。
此外,上述除法器和寄存器的时钟输入端均与一统一的时钟信号输入端相连。
与现有技术相比,本实用新型的优点和积极效果是本实用新型通过增加装载使能信号和时钟信号,使寄存器和除法器的动作同步于输入时钟,并且所述装载使能信号的周期大于该运算电路运算所需的最长时间,从而保证了装载新的数据不会破坏正在进行中的运算,提高了运算的准确性。上述电路结构简单、成本低廉、控制准确。


图1是本实用新型实现模(216+1)乘法逆运算的前一部分电路图;
图2是本实用新型实现模(216+1)乘法逆运算的后一部分电路图。
具体实施方式
以下结合附图和具体实施方式
对本实用新型做进一步详细的说明。
本实用新型由5个寄存器n1、n2、b1、b2、out,5个选择器n1_5、n2_5、b1_5、b2_5、out_2,一个除法器u_divider,两个加法器b2_nxt、un2_out,一个乘法器un2_b2_nxt和一个零比较器组成,具体连接关系参见图1、图2所示。5个寄存器n1、n2、b1、b2、out的数据输入端D分别与相应的选择器n1_5、n2_5、b1_5、b2_5、out_2的输出端相连,其时钟输入端均与统一的时钟信号输入端clk相连,使其动作同步于输入时钟。
在本实用新型的模(216+1)乘法逆运算电路中增设有使能信号输入端,可接收装载使能信号ld,它分别与选择器n1_5、n2_5、b1_5、b2_5的控制端相连,根据装载使能信号ld的高低电平实现对选择器n1_5、n2_5、b1_5、b2_5输出数据的控制。此外,在本实用新型的模(216+1)乘法逆运算电路中还包含有除法器u_divider,其输入端分别与寄存器n1、n2的输出端相连,时钟信号端c与统一的时钟信号输入端clk相连,余数输出端r与零比较器的输入端相连。所述零比较器由17个非门和1个与门组成,17位余数r的每一位与1个非门相连,经按位取反后与所述与门相连进行与运算。若余数r为零,则零比较器输出结果req0为1;反之,为0。所述零比较器的输出端一路与寄存器out的使能端E相连,当余数r为零时,寄存器out打开,装载输出结果,反之则不变;另一路通过一非门与一或门un1_ld的输入端相连,所述或门n1_ld的另一输入端接收装载使能信号ld,将其进行或运算后分别向寄存器n1、n2、b1、b2的使能端E发出控制信号。当装载使能信号ld为低电平(无新数据载入)且余数r为0时,或门un1_ld输出低电平,此时寄存器n1、n2、b1、b2关闭,不能装载数据;当装载使能信号ld为高电平(载入新数据)或余数r非0时,或门un1_ld输出高电平,以上寄存器n1、n2、b1、b2可以在时钟clk上升沿将数据输入端D的数据送到其输出端Q。
当载入新数据d时,装载使能信号ld发出高电平脉冲信号,控制选择器n1_5、n2_5、b1_5、b2_5将其1输入端的初始数据装入寄存器n1、n2、b1、b2,对其进行初始化。此时,寄存器n1中的数据为216+1;寄存器n2中的数据为输入数据d,其最高位与0拼接形成17位数据;寄存器b1中的数据为0;寄存器b2中的数据为1。除法器u_divider将寄存器n1中的数据与n2中的数据相除,输出的商q与寄存器b2中的数据经乘法器un2_b2_nxt相乘,其乘积经一非门取反后连接到加法器b2_nxt的一个输入端,所述加法器b2_nxt包含有三个输入端,另外两个输入端一路与寄存器b1的输出端相连,另一路输入数据1,实现b1-q*b2的运算。所述加法器b2_nxt的输出端与比较器b2_5的0输入端相连,其输出端与寄存器b2的数据输入端相连。
当下一个时钟信号clk到来时,由于此时装载使能信号ld为低电平,所以选择器n1_5、n2_5、b1_5、b2_5将其0输入端的数据输出给其后的寄存器n1、n2、b1、b2,在时钟clk上升沿,寄存器n1读入寄存器n2中的数据,寄存器n2存入余数r的值,寄存器b1读入寄存器b2中的值,而寄存器b2存入加法器b2_nxt输出的结果。同时,寄存器b2的输出端一路连接选择器out_2的0输入端,另一路与加法器un2_out的输入端相连,完成b2+(216+1)的运算,并将结果输出给选择器out_2的1输入端。选择器out_2的控制端与寄存器b2中数据的最高位相连,当寄存器b2中的数据为正数时,最高位为0,控制选择器out_2将其0输入端的数据输出;当寄存器b2中的数据为负数时,最高位为1,控制选择器out_2将其1输入端的数据输出。
在余数r≠0期间,寄存器n1、n2、b1、b2处于打开状态,寄存器out处于关闭状态,运算电路按上述流程循环运算;当余数r=0时,寄存器n1、n2、b1、b2关闭,寄存器out打开,将选择器out_2输出的数据作为运算的最终结果输出。
本实用新型通过以上电路实现了模(216+1)乘法逆运算,由于增加的装载使能信号ld的周期大于该运算电路运算所需的最长时间,所以保证了装载新的数据不会破坏正在进行中的运算,大大提高了运算的准确性和稳定性。当然,上述说明并非是对本实用新型的限制,本实用新型也并不仅限于上述举例,本技术领域的普通技术人员在本实用新型的实质范围内所做出的变化、改型、添加或替换,也应属于本实用新型的保护范围。
权利要求1.一种模(216+1)乘法逆运算电路,包含有除法器、零比较器和寄存器,所述零比较器的输入端与除法器的余数输出端相连,而所述的寄存器则用来存储运算过程中需暂存的数据;其特征在于所述寄存器的输入端分别与一选择器的输出端相连,所述选择器的控制端均与使能信号输入端相连;所述零比较器的输出端经一非门与一或门的输入端相连,所述或门的另一输入端连接使能信号输入端,经或运算后分别与所述寄存器的使能端相连。
2.根据权利要求1所述的模(216+1)乘法逆运算电路,其特征在于所述除法器和寄存器的时钟输入端均与一统一的时钟信号输入端相连。
3..根据权利要求1或2所述的模(216+1)乘法逆运算电路,其特征在于所述使能信号输入端接收装载使能信号,所述装载使能信号的周期大于该运算电路运算所需的最长时间。
专利摘要本实用新型公开了一种模(文档编号G06F7/72GK2674542SQ20042003827
公开日2005年1月26日 申请日期2004年2月8日 优先权日2004年2月8日
发明者何云鹏, 曲英杰, 占嘉瑾, 丁勇, 刘志恒, 孙尔俊, 陈永强, 缪建兵, 王瑞冰, 杨帆, 丘敏, 张世友 申请人:海信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1