【技术实现步骤摘要】
一种乘除法器及运算方法
本专利技术涉及一种算术运算领域的关键电路实现,特别涉及在自动控制、数字信号处理、通信、视频和图像等领域的芯片设计中的高性能乘除法器及其实现方法。
技术介绍
在自动控制、数字信号处理、通信、视频和图像等方面的数据处理中经常会涉及到无符号或有符号的乘除法运算,但是乘除法运算的实现电路复杂,计算周期长,其性能的优劣直接影响着芯片的整体数据处理能力。为了提升芯片的性能,减轻CPU核的计算负担,有效的方法是在微控制器芯片或专用型芯片的内部专门设计用于乘除法及相关算术运算的协处理器或专用乘除法器电路。目前现有的除法算法有基于加减法操作的算法和采用乘法操作的算法。采用加减法操作的算法,其优点在于可以大大减少电路面积,不足之处在于计算速度慢。采用乘法操作的算法,速度相对较快,但是由于引入了乘法器,从而使电路的实现面积大大增加。在集成电路设计中,目前应用较广的主要是基于加减法操作的算法,其核心思想是通过移位和减法操作来完成除法运算。现有乘法器的实现方法主要是先生成部分积,然后将部分积相加得到乘积。公开号为CN1423189A的专利“一种除法器”利用减法器、移位加法器、比较器完成除法。然而,这种实现方法的不足在于每次移位和减法操作后只能获得一位商,例如当N位除数A除以N位除数B时,需要执行N次迭代运算才能得到商。所以该方法计算速度慢,只能用在低速数据处理领域。公开号为CN101295237B的专利“求商和余数的高速除法器”利用超前借位减法、并行减法、一次求得多位商的技术实现求商和余数的运算。但是该实现方法也用到了移位器,比较器,以及三组超前借位减法器, ...
【技术保护点】
一种乘除法器,用于实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算,其特征在于,所述乘除法器包括:一数据预处理器,所述数据预处理器与一第一、第二操作数、一乘除法运算选择信号以及一除法模式选择信号连接,根据所述一乘除法运算选择信号以及一除法模式选择信号对所述第一、第二操作数进行处理,当所述乘除法运算选择信号为除法时,所述第一、第二操作数分别作为除数和被除数;当所述乘除法运算选择信号为乘法时,所述第一、第二操作数分别作为乘数和被乘数;一迭代运算单元,所述迭代运算单元与所述数据预处理器连接,用于根据所述乘除法运算选择信号,进行余数补零及除数移位,或者进行乘数移位及被乘数扩展;一除法运算单元,所述除法运算单元与所述迭代运算单元连接,用于生成一两位商和一余数;一乘法运算单元,所述乘法运算单元与所述迭代运算单元连接,用于生成一乘积结果;一运算控制计数器,所述运算控制计数器与所述迭代运算单元、除法运算单元、乘法运算单元连接,所述运算控制计数器用于控制所述迭代运算单元的运算位数及运算过程;一结果寄存器,所述结果寄存器与所述除法运算单元及乘法运算单元连接,用于存放所述商、余数或乘积结果。
【技术特征摘要】
1.一种乘除法器,用于实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算,其特征在于,所述乘除法器包括:一数据预处理器,所述数据预处理器与一第一、第二操作数、一乘除法运算选择信号以及一除法模式选择信号连接,根据所述一乘除法运算选择信号以及一除法模式选择信号对所述第一、第二操作数进行处理,当所述乘除法运算选择信号为除法时,所述第一、第二操作数分别作为除数和被除数;当所述乘除法运算选择信号为乘法时,所述第一、第二操作数分别作为乘数和被乘数;一迭代运算单元,所述迭代运算单元与所述数据预处理器连接,用于根据所述乘除法运算选择信号,进行余数补零及除数移位,或者进行乘数移位及被乘数扩展;一除法运算单元,所述除法运算单元与所述迭代运算单元连接,用于生成一两位商和一余数;一乘法运算单元,所述乘法运算单元与所述迭代运算单元连接,用于生成一乘积结果;一运算控制计数器,所述运算控制计数器与所述迭代运算单元、除法运算单元、乘法运算单元连接,所述运算控制计数器用于控制所述迭代运算单元的运算位数及运算过程;一结果寄存器,所述结果寄存器与所述除法运算单元及乘法运算单元连接,用于存放所述商、余数或乘积结果;其中,所述迭代运算单元包括一补零单元、移位单元以及一乘数扩展单元,所述补零单元及移位单元与所述除法运算单元连接,所述移位单元与所述乘数扩展单元与所述乘法运算单元连接;当所述乘除法运算选择信号为除法时,所述除法运算单元生成当前余数,并根据所述当前余数、所述除数、所述商生成第一级余数,所述补零单元根据商的位数对所述当前余数与所述第一级余数进行补0,产生两个补零结果;所述移位单元根据所述运算控制计数器的计数值,对新的除数或乘数进行两次左移位,产生两个移位结果;所述乘数扩展单元根据用于根据运算控制计数器的计数值,取被乘数的两位,分别对被乘数的每一位数进行扩展,产生与乘数位数相同的两个扩展结果。2.如权利要求1所述的乘除法器,其特征在于,当所述乘除法运算选择信号为除法时,所述数据预处理器对所述第一操作数和第二操作数取绝对值,并生成一商符号位;当被除数为零时,产生一溢出标志;当所述乘除法运算选择信号为乘法时,所述数据预处理器作为一数据缓冲器。3.如权利要求1所述的乘除法器,其特征在于,所述结果寄存器包括第一寄存器和第二寄存器,所述第一寄存器用于存放所述商或所述乘积结果的高位部分,所述第二寄存器用于存放所述余数或所述乘积结果的低位部分。4.如权利要求1所述的乘除法器,其特征在于,所述运算控制计数器、除法运算单元以及乘法运算单元的时钟频率是所述数据预处理器的m倍,m为自然数。5.如权利要求1所述的乘除法器,其特征在于,所述除法运算单元包括:一两位商生成器,用于根据余数补零及除数移位的结果生成一两位商;一商位存储器,用于保存每次迭代运算产生的两位商并产生所述商;一余数生成器,用于根据所述两位商,分别用余数减去第一次移位结果生成第一级余数,用所述第一级余数减去第二次移位结果生成第二级余...
【专利技术属性】
技术研发人员:严伟,杨维,张文荣,陆健,王成,王鹏,沈骅,
申请(专利权)人:上海晟矽微电子股份有限公司,北京大学软件与微电子学院无锡产学研合作教育基地,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。