一种适用于商位宽固定情况的除法器装置制造方法及图纸

技术编号:36751329 阅读:15 留言:0更新日期:2023-03-04 10:38
本发明专利技术属于数字集成电路设计领域,具体涉及一种用于商位宽固定的除法运算的除法器装置。本发明专利技术采用串行的思想实现除法,按照从最高位到最低位的顺序,串行地对商的每一位进行赋值。本发明专利技术设计的除法器装置,将除法运算转化为相对简单的比较、减法以及移位运算,方便硬件实现,也减小了除法运算电路消耗的面积;同时每个时钟周期对商的一位进行赋值,运算消耗的时钟周期数不超过商的位数,在被除数和除数位宽均大于商的位宽时,相比传统的基于减法的除法运算算法,可以节约运算时间;另外,每个时钟周期的运算最多仅包括一次比较、减法和移位,大大减小了电路中组合逻辑路径的延迟,更容易满足时序的要求。容易满足时序的要求。容易满足时序的要求。

【技术实现步骤摘要】
一种适用于商位宽固定情况的除法器装置


[0001]本专利技术属于数字集成电路设计领域,具体涉及一种特殊的除法器装置。

技术介绍

[0002]在数字集成电路设计中,除法器是关键的运算单元,虽然在ver i log语言中有除法运算的指令,但是对于被除数和除数均为变量的情况,直接用除法指令可能导致综合工具无法综合出较优的结果,且面对被除数和除数的位宽均较大的情况,除法运算会占用较多资源,并可能无法保证在一个时钟周期内完成运算,导致电路时序出现问题。因此,对于被除数和除数均为变量的情况,通常设计相应的算法来实现除法,比如基于减法操作的除法,即对于n位的无符号除法,将被除数转换成高n位为0,低n位为被除数的中间变量一,除数转换成高n位为除数,低n位为0的中间变量二。在每个周期开始时,先将中间变量一左移一位,末尾补0,然后与除数比较;若大于除数,则将中间变量一减去中间变量二且加1,作为更新的中间变量一,否则继续向下执行。上述的移位、比较和减法要执行n次,执行结束后中间变量一的高n位为余数,低n位为商。
[0003]但是,在某些应用场景下,比如视频编解码协议中的运算,由于数据的位深被限定在n位,协议中除法运算的结果也往往限定其位宽。在商的位宽固定的情况下,若m位的被除数与除数运算,商被限定在n位,采用前面所述的算法进行运算,需要m个时钟得出m位的商,再将其限制到n位无符号数表示的范围。然而当m远大于n时,除法运算消耗的周期数较多,且运算的中间变量位宽大,占用资源较多。故针对这一类应用场景,需要设计一种新型的除法器来完成商位宽固定的除法。

技术实现思路

[0004]针对上述存在的问题或不足,本专利技术提供了一种特殊的除法器装置,能够实现商位宽固定的除法运算,当商位宽小于被除数位宽时,可以减少运算时间,且降低综合后电路的面积。其具体方案如下:
[0005]本专利技术公开了一种针对商位宽固定的情况的除法器装置,包括预处理模块、计数模块、迭代运算模块和输出模块。
[0006]所述预处理模块,用于对输入的被除数和除数进行预处理,将被除数左移一个比特,低位补0,得到第一数据,除数左移数据位宽个比特,低位补0,得到第二数据;其中,所述数据位宽为所述商的位宽。
[0007]所述计数模块,用于对运算周期进行计数,计数值可以表示商已经更新的位数。设置一个初始值为0的计数值,当除法使能信号拉高时,每个时钟周期,计数值在原来的基础上加1;当收到除法运算完成的标志信号时,计数值清零;其余情况下计数值保持不变。
[0008]所述迭代运算模块,按照下面的步骤执行迭代的运算。
[0009]S1:当计数值为0时,执行S1,比较所述第一数据和第二数据的大小:若所述第一数据大于或等于第二数据,则将第一数据左移一个比特,低位补0,再减去第二数据,两者的差
再左移一个比特,低位补0,将运算结果存入预设寄存器,所述预设寄存器的值作为第三数据,同时将所述商寄存器的最高位赋值为1;若所述第一数据小于第二数据,则将第一数据左移一个比特再低位补0的运算结果存入所述预设寄存器,预测寄存器的值作为第三数据,同时将所述商寄存器的最高位赋值为0;
[0010]S2:当计数值非0时,执行S2,比较所述第三数据和所述第二数据的大小:若所述第三数据大于所述第二数据,则将第三数据左移一个比特再减去第二数据,两者的差再左移一个比特,低位补0,将运算结果存入预设寄存器,预设寄存器的值作为更新的第三数据,同时将商寄存器的某一数据位赋值为1,所述数据位在商寄存器中的位数为:商的位宽与所述计数值的差,所述的位数按照从低位到高位的顺序进行计算,最低位对应的位数为第1位;若所述第三数据小于第二数据,则将第三数据左移一个比特再低位补0的运算结果存入所述预设寄存器,预测寄存器的值作为更新的第三数据,同时将所述商寄存器的所述数据位赋值为0;若所述第三数据等于第二数据,则将第三数据清零,同时将所述商寄存器的所述数据位赋值为1。
[0011]所述输出模块,对除法运算结束的条件进行判断,当满足条件时,输出除法运算结束标志以及除法运算结果。
[0012]进一步的,所述预处理模块,具体用于:
[0013]当采集到除法开始信号的上升沿,则将被除数左移一个比特,低位补0,得到所述第一数据,除数左移数据位宽个比特,低位补0,得到所述第二数据。
[0014]进一步的,所述预处理模块,还用于:
[0015]与所述计数模块连接,当采集到除法开始信号的上升沿,则将除法使能信号拉高,并送入所述计数模块;当采集到所述除法结束标志信号的上升沿,将除法使能信号拉低。
[0016]进一步的,所述预处理模块,还用于:
[0017]为数据配置参数;其中,所述配置参数包括所述第一数据、第二数据的位宽以及所述计数值的位宽。
[0018]进一步的,所述预处理模块,还用于:
[0019]与所述迭代运算模块连接,将所述除法使能信号以及所述第一数据、所述第二数据输出至所述迭代运算模块;
[0020]进一步的,所述计数模块,用于在接收到所述除法使能信号后,从初始值0开始计数,每个时钟上升沿时自加1;在接收到所述除法结束标志信号后,将计数值清零。
[0021]进一步的,所述计数模块,还用于记录S1和S2的执行次数。
[0022]进一步的,所述计数模块,还用于与所述输出模块连接,将计数器的计数值输出至所述输出模块,作为判断除法结束的条件之一;
[0023]进一步的,所述迭代运算模块,用于在接收到所述除法使能信号后,执行所述S1和S2;在接收到所述除法结束标志信号后,停止迭代运算。
[0024]进一步的,所述输出模块,用于与所述迭代运算模块和所述计数模块连接,在接收到所述计数模块送入的计数值以及所述迭代运算模块送入的第三数据和第二数据后,判断除法是否结束,若计数值等于商的位宽减一的值或者所述第三数据等于所述第二数据,则产生表示除法运算结束的有效标志信号,并将该有效标志信号输出至所述计数模块,同时将所述除法运算结果赋值给除法器的输出。
附图说明
[0025]为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为现有技术中提供的基于减法的除法运算算法流程图;
[0027]图2为本专利技术提供的除法运算算法流程图;
[0028]图3为实施例的除法器装置的结构示意图;
[0029]图4为实施例的迭代模块的结构示意图;
具体实施方式
[0030]为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的实施例。但是,本申请可以以多种不同的形式来实现,并不局限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对商位宽固定的情况的除法器装置,其特征在于,包括预处理模块、循环计数模块、迭代运算模块、输出模块。所述预处理模块,用于对输入的被除数和除数进行预处理,将被除数左移一个比特,低位补0,得到第一数据,除数左移数据位宽个比特,低位补0,得到第二数据;其中,所述数据位宽为所述商的位宽。所述计数模块,用于对运算周期进行计数,计数值可以表示商已经更新的位数。设置一个初始值为0的计数值,当除法使能信号拉高时,每个时钟周期,计数值在原来的基础上加1;当收到除法运算完成的标志信号时,计数值清零;其余情况下计数值保持不变。所述迭代运算模块,按照下面的步骤执行迭代的运算。S1:当计数值为0时,执行S1,比较所述第一数据和第二数据的大小:若所述第一数据大于或等于第二数据,则将第一数据左移一个比特,低位补0,再减去第二数据,两者的差再左移一个比特,低位补0,将运算结果存入预设寄存器,所述预设寄存器的值作为第三数据,同时将所述商寄存器的最高位赋值为1;若所述第一数据小于第二数据,则将第一数据左移一个比特再低位补0的运算结果存入所述预设寄存器,预测寄存器的值作为第三数据,同时将所述商寄存器的最高位赋值为0;S2:当计数值非0时,执行S2,比较所述第三数据和所述第二数据的大小:若所述第三数据大于所述第二数据,则将第三数据左移一个比特再减去第二数据,两者的差再左移一个比特,低位补0,将运算结果存入预设寄存器,预设寄存器的值作为更新的第三数据,同时将商寄存器的某一数据位赋值为1,所述数据位在商寄存器中的位数为:商的位宽与所述计数值的差,所述的位数按照从低位到高位的顺序进行计算,最低位对应的位数为第1位;若所述第三数据小于第二数据,则将第三数据左移一个比特再低位补0的运算结果存入所述预设寄存器,预测寄存器的值作为更新的第三数据,同时将所述商寄存器的所述数据位赋值为0;若所述第三数据等于第二数据,则将第三数据清零,同时将所述商寄存器的所述数据位赋值为1。所述输出模块,对除法运算结束的条件进行判断,当满足条件时,输出除法运算结束标志以及除法运算结果。2.如权利要求1...

【专利技术属性】
技术研发人员:谢小东张甜
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1