一种数字求模运算的数据处理方法、数字求模运算电路技术

技术编号:24572449 阅读:50 留言:0更新日期:2020-06-20 23:55
本发明专利技术属于数字电路技术领域,公开了一种数字求模运算的数据处理方法、数字求模运算电路,已知被除数最大值与除数,采用先求取中间值,利用选择器与减法器,实现求模运算;已知被除数的所有值和所有除数,通过存储多个被除数矩阵的方式,将原来复杂的求模运算简化为简单的选择运算和减法运算的集合;已知被除数最大值与除数以及模除运算在几个cycle内完成,根据系统所需达到的最高的时钟频率,给出使得总得门限数量最少各个cycle门限取值的情况。本发明专利技术解决了传统模除运算符号%限制整个系统时钟频率和使用LUT多资源问题,解决了过查找表方法实现求模运算用到资源多的问题,解决了通过减法运算实现求模运算多cycle的问题。

A data processing method and circuit of digital modular operation

【技术实现步骤摘要】
一种数字求模运算的数据处理方法、数字求模运算电路
本专利技术属于数字电路
,尤其涉及一种数字求模运算的数据处理方法、数字求模运算电路。
技术介绍
目前,最接近的现有技术:数字模除运算电路是用来求解一个量除以另一个变量的余数,在现在的数字电路设计中有广泛的应用,例如在5GLDPC编码中就需要对编码矩阵H里面的值进行模除运算。在verilog中,最简单也是最常用的求模运算就是直接使用求模符号%。当除数为2的N次方的时候,最后的结果就是直接取后N位二进制数,这种情况下EDA工具综合出来的电路比较简单,不会影响整个系统的性能。当除数不是2的幂次的时候,使用%时EDA工具综合出来的电路是由数字电路中的各种元器件组合形成的电路,综合出来的实际电路一般都会很复杂,会占用很多的LUT资源。此外,如果系统工作在高时钟下,很难在一个或者几个Cycle内完成一次求模运算,所以直接使用%进行求模运算就会限制整个系统的时钟频率以及用到更多的LUT资源。此外,在verilog数字电路设计中,还可以通过减法运算或者查找表的方法进行求模运算。但前者需要更多的cy本文档来自技高网...

【技术保护点】
1.一种数字求模运算的数据处理方法,其特征在于,所述数字求模运算的数据处理方法包括:/n已知被除数最大值与除数,采用先求取中间值的方式,利用选择器与减法器,实现求模运算;/n已知被除数的所有值和所有除数的情况下,通过存储多个被除数矩阵的方式,将原来复杂的求模运算简化为简单的选择运算和减法运算的集合;/n已知被除数最大值与除数以及模除运算所需在几个cycle内完成的情况下,根据系统所需达到的最高的时钟频率,给出使得总得门限数量最少的各个cycle门限取值的情况。/n

【技术特征摘要】
1.一种数字求模运算的数据处理方法,其特征在于,所述数字求模运算的数据处理方法包括:
已知被除数最大值与除数,采用先求取中间值的方式,利用选择器与减法器,实现求模运算;
已知被除数的所有值和所有除数的情况下,通过存储多个被除数矩阵的方式,将原来复杂的求模运算简化为简单的选择运算和减法运算的集合;
已知被除数最大值与除数以及模除运算所需在几个cycle内完成的情况下,根据系统所需达到的最高的时钟频率,给出使得总得门限数量最少的各个cycle门限取值的情况。


2.如权利要求1所述的数字求模运算的数据处理方法,其特征在于,所述数字求模运算的数据处理方法已知被除数的最大值b与除数的最小值a,规定求模运算在一个时钟内完成时,共需要(b/a)+1个选择门限。


3.如权利要求1所述的数字求模运算的数据处理方法,其特征在于,所述数字求模运算的数据处理方法已知被除数的最大值b与除数的最小值a,规定求模运算在两个时钟内完成时,当第一个cycle完成(b/a)1/2+1选1的操作,第二个cycle完成(b/a)1/2选1的操作时所用总的门限数最少;共需2(b/a)1/2+1次选择以及2次减法运算:
k1表示第二个cycle所使用门限个数,f(k1)表示求模运算所使用的总的门限个数:
f(k1)=k1+b/(a*k1)+1;



令:
f'(k1)=0
k1min=(b/a)1/2;
函数单调性如下:
k1>k1min,f'(k1)>0
k1<k1min,f'(k1)<0;
使得f(k1)最小的k1应是(b/a)1/2,k1是整数,最后使得f(k1)最小的k1是或者


4.如权利要求1所述的数字求模运算的数据处理方法,其特征在于,所述数字求模运算的数据处理方法已知被除数的最大值b与除数的最小值a,规定求模运算在三个时钟内完成时,当第一个cycle完成(b/a)1/3+1选1的操作,第二个cycle完成(b/a)1/3选1的操作,第三个cycle完成(b/a)1/3选1的操作时所用总的门限数最少;共需3(b/a)1/3+1次选择以及3次减法运算,门限值最小的原理如下:
k1表示第三个cycle所使用门限个数,k2表示第二个cycle所使用门限个数f(k1,k2)表示求模运算所使用的总的门限个数,则有:
f(k1,k2)=k1+k2+b/(a*k1*k2)+1;
令:



则有:
f(k1,k2)=c+b/(a*(c-k2)*k2)+1;
令:



F'(k2)=-2k2+c=0;
则有:
k2min=c/2;
k2<k2minF'(k2)>0;
k2>k2minF'(k2)<0;
在定义域k1+k2=c上,式中c为任意常数,使得函数值f最小的变量值一定在k1=k2=c/2处取得;
当:
k1=k2;
则有:
f(k1)=2k1+b/(a*k12)+1;



k1min=(b/a)1/3;
其单调性如下:
k1>k1min,f'(k1)>0
k1<k1min,f'(k1)<0;
在定义域为k1=k2时,使得f最小的变量值在k1min=k2min=(b/a)1/3处取得;
综合以上公式推导,使得函数值f最小的变量值是k1min=k2min=(b/a)1/3,k1与k2代表的是门限的个数,都是整数值。


5.如权利要求1所述的数字求模运算的数据处理方法,其特征在于,所述数字求模运算的数据处理方法求解使得函数值f最小的整数自变量取值,k1+k2=c表示虚线簇,其中c是任意的实数值,圆点的坐标是((b/a)1/3,(b/a)1/3),使得函数值f最小的自变量值:



直线k1+k2=c1与k1=n的交点的函数值一定比其左下方的所有点的函数值要小;直线k1+k2=c2与k1=m的交点的函数值比其右上方的所有点的函数值要小;在直线k1+k2=c1右侧与直线k1+k2=c2左侧交汇的区域内,使得函数值f最小整数自变量是直线分别与直线k1=m,k1=n的交点,使得函数值f最小的整数自变量取值是含括((b/a)1/3,(b/a)1/3)最小正方形的四个顶点的坐标值;
使得函数值f最小且是整数的(k1,k2)是中的一个。


6.如权利要求1所述的数字求模运算的数据处理方法,其特征在于,所述数字求模运算的数据处理方法已知被除数的最大值b与除数的最小值a,规定求模运算在四个时钟内完成时,当第一个cycle完成(b/a)1/4+1选1的操作,第二个cycle完成(b/a)1/4选1的操作,第三个cycle完成(b/a)1/4选1的操作,第四个...

【专利技术属性】
技术研发人员:刘刚张謇张涛
申请(专利权)人:西安电子科技大学中国电子科技集团公司第五十四研究所
类型:发明
国别省市:陕西;61

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

1