模(2的制作方法

文档序号:6456220阅读:274来源:国知局
专利名称:模(2的制作方法
技术领域
本实用新型涉及一种运算电路,具体地说,是涉及一种模(216+1)乘法的运算电路。
背景技术
模(216+1)乘法是对两个16位输入数据D0[15:0]和D1[15:0]进行模(216+1)乘法运算,得到16位的结果Q[15:0],即Q=D0*D1 mod(216+1)。传统的电路是将输入数据D0和D1相乘后,将乘积除以(216+1),所得余数为结果Q。该方法由于需用一除法器,所以,电路实现复杂,门数多,运算速度慢。

发明内容
为了克服传统设计电路对除法器的需求,降低集成电路的门数,本实用新型提供了一种模(216+1)乘法运算电路。该电路不仅能完成模(216+1)乘法功能,而且无需除法器,电路实现简单,运算速度快。
为解决上述技术问题,本实用新型通过以下技术方案予以实现一种模(216+1)乘法运算电路,包含有乘法器,在所述乘法器的输入端连接有数据判断电路,输出端连接有比较器,对乘法器输出的乘积的高16位和低16位进行比较,并将结果输出给选择器的控制端;所述选择器的输入端一路接收乘法器输出的高16位数,一路与第一加法器的输出端相连,此加法器完成对高16位数的减1运算;所述选择器的输出端与第二加法器的输入端相连,第二加法器的另一输入端接收所述乘法器输出的低16位数,完成低16位数与选择器输出数据的减法运算,运算结果由其输出端输出。
其中,所述的数据判断电路由非门和与门组成,每一位输入数据先通过非门取反后进入与门进行与运算,将运算结果与原数据拼接后送入所述乘法器;乘法器的输出端连接有一寄存器,乘积经所述寄存器寄存后分别输出给后续的比较器和第一加法器。
此外,所述的第二加法器包含有三个数据输入端,一端接收所述乘法器输出的低16位数,另一端通过非门与所述选择器的输出端相连,第三端输入1,从而实现了低16位数与选择器输出数据的减法运算;在第二加法器的输出端也连接有一寄存器,运算结果经所述寄存器寄存后输出。
与现有技术相比,本实用新型的有益效果是本实用新型通过增设数据判断电路实现了对输入数据是否为零的判断。当输入数据为零时,将其处理成216,若非零,则不变;将处理后的两数通过乘法器相乘,将乘积的高16位数和低16位数输入给比较器进行比较,若高16位数小于低16位数,则控制选择器输出高16位数;反之,则控制选择器输出高16位数减1的差。取选择器输出值的补码与低16位数相加,加法器的输出值即为模(216+1)乘法的结果。本实用新型电路实现简单,避免了对除法器的需求,提高了运算速度。


图1是本实用新型实现模(216+1)乘法运算的具体电路图。
具体实施方式
以下结合附图和具体实施方式
对本实用新型作进一步详细的说明。
本实用新型求解模(216+1)乘法运算的具体思路是先对输入数据D0和D1是否为零进行判断,若为零,则处理成216,若非零,则不变。然后将处理后的两数进行相乘,对所得乘积的高16位数和低16位数进行比较,若高16位数小于低16位数,则用低16位数减去高16位数;反之,则用低16位数减去高16位数减1的差,所得差值即为结果Q。
图1为采用上述思路实现模(216+1)乘法运算的具体电路连接图,主要包含有数据判断电路、乘法器MUL、比较器CC、选择器SEL、加法器ADD1或ADD2以及寄存器T1或T2。所述数据判断电路分别由16个非门和1个与门组成,16位输入数据D0和D1先经过非门按位取反后,各自经过一个与门进行与运算,若输入数据为0,则与门输出1,否则,与门输出0。将与门的输出值作为最高位与输入数据D0和D1拼接,形成17位数分别送入乘法器MUL进行乘法运算,取运算结果的后32位输出给寄存器T1寄存后输出。寄存器T1的输出值分成高16位和低16位数据送入一小于比较器CC作比较,同时,高16位数送入加法器ADD1与-1(图中的1*16表示16位1,即为1的补码)进行加法运算,其结果送入选择器SEL的0输入端,选择器CC的1输入端接收寄存器T1输出的高16位数。所述比较器CC的输出端与选择器SEL的控制端相连,当高16位数小于低16位数时,比较器CC输出高电平信号控制选择器SEL将其1输入端的高16位数输出;当高16位数大于低16位数时,比较器CC输出低电平信号控制选择器SEL将其0输入端的加法器ADD1的输出值输出。选择器SEL的输出端经一非门取反后与另一加法器ADD2相连。所述加法器ADD2包含有三个数据输入端,其余两个分别接收低16位数和数值1,将三个数相加即得到了[低16位数-高16位数]或[低16位数-(高16位数-1)]的结果,此结果即为Q=D0*D1 mod(216+1)的运算结果。将结果Q输出给寄存器T2寄存后输出,并将此输出值作为最终运算结果。
本实用新型通过采用上述电路结构实现了模(216+1)乘法运算,避免了对除法器的需求,提高了运算速度。当然,上述说明并非是对本实用新型的限制,本实用新型也并不仅限于上述举例,本技术领域的普通技术人员在本实用新型的实质范围内所做出的变化、改型、添加或替换,也应属于本实用新型的保护范围。
权利要求1.一种模(216+1)乘法运算电路,包含有乘法器,其特征在于在所述乘法器的输入端连接有数据判断电路,输出端连接有比较器,对乘法器输出的乘积的高16位和低16位进行比较,并将结果输出给选择器的控制端;所述选择器的输入端一路接收乘法器输出的高16位数,一路与第一加法器的输出端相连,此加法器完成对高16位数的减1运算;所述选择器的输出端与第二加法器的输入端相连,第二加法器的另一输入端接收所述乘法器输出的低16位数,完成低16位数与选择器输出数据的减法运算,运算结果由其输出端输出。
2.根据权利要求1所述的模(216+1)乘法运算电路,其特征在于所述的数据判断电路由非门和与门组成,每一位输入数据先通过非门取反后进入与门进行与运算,将运算结果与原数据拼接后送入所述乘法器。
3.根据权利要求1所述的模(216+1)乘法运算电路,其特征在于所述第二加法器包含有三个数据输入端,一端接收所述乘法器输出的低16位数,另一端通过非门与所述选择器的输出端相连,第三端输入1,从而实现了低16位数与选择器输出数据的减法运算。
4.根据权利要求1或2所述的模(216+1)乘法运算电路,其特征在于在所述乘法器的输出端连接有一寄存器,乘积经所述寄存器寄存后分别输出给后续的比较器和第一加法器。
5.根据权利要求1或3所述的模(216+1)乘法运算电路,其特征在于在所述第二加法器的输出端也连接有一寄存器,运算结果经所述寄存器寄存后输出。
专利摘要本实用新型公开了一种模(文档编号G06F7/60GK2669270SQ200420038168
公开日2005年1月5日 申请日期2004年1月20日 优先权日2004年1月20日
发明者何云鹏, 曲英杰, 战嘉瑾, 丁勇, 刘志恒, 孙尔俊, 陈永强, 缪建兵, 王瑞冰, 杨帆, 丘敏, 张世友 申请人:海信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1