一种除法器及除法处理方法技术

技术编号:30046431 阅读:64 留言:0更新日期:2021-09-15 10:47
本申请公开了一种除法器及除法处理方法,包括:预处理模块,用于将被除数左移小数位宽加1个比特得到第一数据,将除数左移数据位宽个比特得到第二数据;数据位宽为小数位宽与输入数据位宽之和;迭代运算模块执行:步骤01:比较第一数据以及第二数据的大小,若第一数据小于第二数据,则将第一数据存入预设寄存器,否则,第一数据减去第二数据将差值加1的结果存入寄存器;步骤02:判断步骤01的执行次数是否达到数据位宽次,若否,则将寄存器的值左移1个比特并赋值给第一数据,重新执行步骤01,若是,则将寄存器的值作为输出结果输入输出处理模块进行处理,能够实现任意整数的除法运算,且降低综合后电路面积。降低综合后电路面积。降低综合后电路面积。

【技术实现步骤摘要】
一种除法器及除法处理方法


[0001]本申请涉及IC设计
,特别涉及一种除法器及除法处理方法。

技术介绍

[0002]在IC(即Integrated circui,集成电路)设计中,除法器的设计是必不可少的,虽然Verilog语言中有除法运算指令,但是除法运算中除数以及被除数必须是2的指数幂,且被除数最好是2的指数幂的倍数,否则无法得到准确的计算结果,因此无法实现任意整数的除法运算,很大程度上限制了它的适用领域。并且,对于除法指令,很多综合工具无法综合出较优的结果,面对复杂运算甚至不能综合。

技术实现思路

[0003]有鉴于此,本申请的目的在于提供一种除法器及除法处理方法,能够实现任意整数的除法运算,且降低综合后电路面积。其具体方案如下:
[0004]第一方面,本申请公开了一种除法器,包括预处理模块、迭代运算模块、输出处理模块,其中,
[0005]所述预处理模块,用于将被除数左移小数位宽加1个比特,得到第一数据,以及将除数左移数据位宽个比特,得到第二数据;其中,所述数据位宽为所述小数位宽与输入数据位宽之和,所述输入数据位宽为所述被除数以及所述除数的位宽;
[0006]所述迭代运算模块,用于执行:
[0007]步骤01:比较所述第一数据以及所述第二数据的大小,若所述第一数据小于所述第二数据,则将所述第一数据存入预设寄存器,否则,利用所述第一数据减去所述第二数据,得到目标差值,并将所述目标差值加1的结果存入所述预设寄存器;
[0008]步骤02:判断所述步骤01的执行次数是否达到所述数据位宽次,若否,则将所述预设寄存器的值左移1个比特并赋值给所述第一数据,重新执行所述步骤01,若是,则将所述预设寄存器的值作为输出结果输入所述输出处理模块;
[0009]所述输出处理模块,用于将所述输出结果中最低的数据位宽个比特的值作为商存入商寄存器、非最低的数据位宽个比特的值作为余数,并判断所述余数是否大于所述除数的二分之一,若是,则将所述商寄存器中的值加1,得到除法运算结果,否则,将当前所述商寄存器中的值作为除法运算结果。
[0010]可选的,所述预处理模块,具体用于:
[0011]当采集到预设输入信号的上升沿,则将被除数左移小数位宽加1个比特,得到第一数据,以及将除数左移数据位宽个比特,得到第二数据。
[0012]可选的,所述预处理模块,还用于:
[0013]当采集预设输入信号的上升沿,则生成计算开始信号。
[0014]可选的,所述预处理模块,还用于:
[0015]将所述计算开始信号以及所述第一数据、所述第二数据输入至所述迭代运算模
块;
[0016]相应的,所述迭代运算模块,用于在接收到所述计算开始信号后,执行所述步骤01以及所述步骤02。
[0017]可选的,所述迭代运算模块,还用于:
[0018]在确定所述输出结果之后,生成计算结束信号,并将所述所述计算结束信号输入所述输出处理模块;
[0019]相应的,所述输出处理模块,用于在接收到所述计算结束信号后,将所述输出结果中最低的数据位宽个比特的值作为商存入商寄存器、非最低的数据位宽个比特的值作为余数,并判断所述余数是否大于所述除数的二分之一。
[0020]可选的,所述输出处理模块,还用于:
[0021]在得到所述除法运算结果之后,将所述除法运算结果赋值给除法器输出信号,并产生表示得到除法运算结果的有效信号;
[0022]将所述除法器输出信号以及所述有效信号输出。
[0023]可选的,所述迭代运算模块,还用于利用预设计数器记录所述步骤01的执行次数。
[0024]可选的,所述预处理模块,还用于:
[0025]获取配置参数;其中,所述配置参数包括所述小数位宽以及所述数据位宽。
[0026]第二方面,本申请公开了一种除法处理方法,包括:
[0027]通过预处理模块将被除数左移小数位宽加1个比特,得到第一数据,以及将除数左移数据位宽个比特,得到第二数据;其中,所述数据位宽为所述小数位宽与输入数据位宽之和,所述输入数据位宽为所述被除数以及所述除数的位宽;
[0028]通过迭代运算模块执行:
[0029]步骤01:比较所述第一数据以及所述第二数据的大小,若所述第一数据小于所述第二数据,则将所述第一数据存入预设寄存器,否则,利用所述第一数据减去所述第二数据,得到目标差值,并将所述目标差值加1的结果存入所述预设寄存器;
[0030]步骤02:判断所述步骤01的执行次数是否达到所述数据位宽次,若否,则将所述预设寄存器的值左移1个比特并赋值给所述第一数据,重新执行所述步骤01,若是,则将所述预设寄存器的值作为输出结果输入所述输出处理模块;
[0031]通过输出处理模块将所述输出结果中最低的数据位宽个比特的值作为商存入商寄存器、非最低的数据位宽个比特的值作为余数,并判断所述余数是否大于所述除数的二分之一,若是,则将所述商寄存器中的值加1,得到除法运算结果,否则,将当前所述商寄存器中的值作为除法运算结果。
[0032]可选的,还包括:
[0033]获取配置参数;其中,所述配置参数包括所述小数位宽以及所述数据位宽。
[0034]可见,本申请公开的除法器,包括预处理模块、迭代运算模块、输出处理模块,其中,所述预处理模块,用于将被除数左移小数位宽加1个比特,得到第一数据,以及将除数左移数据位宽个比特,得到第二数据;其中,所述数据位宽为所述小数位宽与输入数据位宽之和,所述输入数据位宽为所述被除数以及所述除数的位宽;所述迭代运算模块,用于执行:步骤01:比较所述第一数据以及所述第二数据的大小,若所述第一数据小于所述第二数据,则将所述第一数据存入预设寄存器,否则,利用所述第一数据减去所述第二数据,得到目标
差值,并将所述目标差值加1的结果存入所述预设寄存器;步骤02:判断所述步骤01的执行次数是否达到所述数据位宽次,若否,则将所述预设寄存器的值左移1个比特并赋值给所述第一数据,重新执行所述步骤01,若是,则将所述预设寄存器的值作为输出结果输入所述输出处理模块;所述输出处理模块,用于将所述输出结果中最低的数据位宽个比特的值作为商存入商寄存器、非最低的数据位宽个比特的值作为余数,并判断所述余数是否大于所述除数的二分之一,若是,则将所述商寄存器中的值加1,得到除法运算结果,否则,将当前所述商寄存器中的值作为除法运算结果。这样,对除数和被除数的值没有限制,能够实现任意整数的除法运算,并且,通过简单的移位、比较、减法运算,易于综合,能够降低综合后电路面积。
附图说明
[0035]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0036]图1为本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种除法器,其特征在于,包括预处理模块、迭代运算模块、输出处理模块,其中,所述预处理模块,用于将被除数左移小数位宽加1个比特,得到第一数据,以及将除数左移数据位宽个比特,得到第二数据;其中,所述数据位宽为所述小数位宽与输入数据位宽之和,所述输入数据位宽为所述被除数以及所述除数的位宽;所述迭代运算模块,用于执行:步骤01:比较所述第一数据以及所述第二数据的大小,若所述第一数据小于所述第二数据,则将所述第一数据存入预设寄存器,否则,利用所述第一数据减去所述第二数据,得到目标差值,并将所述目标差值加1的结果存入所述预设寄存器;步骤02:判断所述步骤01的执行次数是否达到所述数据位宽次,若否,则将所述预设寄存器的值左移1个比特并赋值给所述第一数据,重新执行所述步骤01,若是,则将所述预设寄存器的值作为输出结果输入所述输出处理模块;所述输出处理模块,用于将所述输出结果中最低的数据位宽个比特的值作为商存入商寄存器、非最低的数据位宽个比特的值作为余数,并判断所述余数是否大于所述除数的二分之一,若是,则将所述商寄存器中的值加1,得到除法运算结果,否则,将当前所述商寄存器中的值作为除法运算结果。2.根据权利要求1所述的除法器,其特征在于,所述预处理模块,具体用于:当采集到预设输入信号的上升沿,则将被除数左移小数位宽加1个比特,得到第一数据,以及将除数左移数据位宽个比特,得到第二数据。3.根据权利要求2所述的除法器,其特征在于,所述预处理模块,还用于:当采集预设输入信号的上升沿,则生成计算开始信号。4.根据权利要求2所述的除法器,其特征在于,所述预处理模块,还用于:将所述计算开始信号以及所述第一数据、所述第二数据输入至所述迭代运算模块;相应的,所述迭代运算模块,用于在接收到所述计算开始信号后,执行所述步骤01以及所述步骤02。5.根据权利要求1所述的除法器,其特征在于,所述迭代运算模块,还用于:在确定所述输出结果之后,生成计算结束信号,并将所述所述计算结束信号输入所述输出处理模块;相应的,所述输出处理模块,用于在接...

【专利技术属性】
技术研发人员:吕阳张坡郑良广任浩侯晓伟王文武黄旭
申请(专利权)人:宁波中车时代传感技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1