除以整数常数的浮点除法制造技术

技术编号:39722275 阅读:3 留言:0更新日期:2023-12-17 23:27
一种用于确定比率

【技术实现步骤摘要】
除以整数常数的浮点除法
[0001]本申请是申请日为
2019
年8月
21


名称为“除以整数常数的浮点除法”的中国专利技术专利申请
No.201910774064.X
的分案申请


技术介绍

[0002]本公开涉及用于确定比率的二进制逻辑电路,其中
x
是已知长度的变量,并且
d
是整数常数

[0003]在数字电路中,通常需要提供硬件来计算针对某种输入
x
的比率其中
d
是在设计时已知的某种整数常数

经常进行这样的计算,并且重要的是能够在数字逻辑中尽可能快地执行它们,以便不会在电路的关键路径中引入延迟

[0004]用于计算比率的二进制逻辑电路是众所周知的

例如,电路设计通常使用在寄存器传送级
(RTL)
从逻辑单元库生成电路设计的工具来执行,逻辑单元库通常包括用于计算比率的逻辑单元

这样的标准逻辑单元很少代表就消耗的电路面积或在关键路径中引入的延迟量而言最有效的用于计算的逻辑

[0005]用于计算比率的常规逻辑通常以两种方式之一运算

第一种方法是根据长除法的过程来评估该比率

这种方法就硅面积消耗而言可以是相对有效的,但是需要大约
w
个顺序运算,这会引入相当大的等待时间,其中
w

x
的比特宽度

第二种方法是通过将输入变量
x
乘以倒数来评估该比率:
[0006][0007]因此,可以使用传统的二进制乘法器逻辑来执行变量
x
除以
d
的除法,该二进制乘法器逻辑被设置为将变量
x
乘以在设计时评估的常量
c。
这种方法可以提供低等待时间,但需要大的硅面积


技术实现思路

[0008]提供本
技术实现思路
是为了介绍将在以下详细描述中进一步描述的一些概念


技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围

[0009]提供了一种用于确定比率
x/d
的二进制逻辑电路,其中
x

w
比特的可变整数输入,包括比特宽度为
r≥1
比特的
M>8
个块,并且
d>2
是固定整数,该二进制逻辑电路包括:
[0010]模数单元的对数树,每个模数单元都被配置为针对
x
中的相应块位置
a

b
,来计算
x[a:b]mod d
,其中
b>a
,块位置的编号从
x
的最高有效比特增大到
x
的最低有效比特,模数单元被布置为使得对数树的
M
‑1个模数单元的子集为所有
m∈{1,M}
提供
x[0:m]mod d
,并且,基于任何给定的模数单元都会引入1的延迟:
[0011](a)
所有模数单元都在的延迟包络内布置在对数树中;并且
[0012](b)
模数单元的子集的超过
M
‑2u
以最大延迟布置,其中2u
是恰好小于
M
的2的幂;
[0013]以及
[0014]输出逻辑,其被配置为将模数单元子集提供的输出与输入
x
的块组合以产生比率
x/d。
[0015]对于整数
n≥2
,除数可以是
d
=2n
±
1。
[0016]对于整数
v≥3
,输入的块的数量可以是
M
=2v
+1
,并且至少两个模数单元可以以最大延迟布置

[0017]每个模数单元都可以接收一对输入值,每个输入值取决于对数树中模数单元的位置,都是输入
x
的块或来自另一个模数单元的输出值,并且每个模数单元都被配置为组合其输入值对,并对生成的二进制值执行
mod d
运算

[0018]对数树的模数单元可以布置成多个级,其中给定级的模数单元都不接收来自较高级的模数单元的输入值,第一

最低级的模数单元各自都被布置为接收来自输入
x
的一对相邻块作为输入值,并且每个较高
S
th
级的模数单元都被布置为接收来自
(S

1)
th
级的模数单元的至少一个输入

[0019]第一级的每个模数单元都可以被配置为对包括
2r
比特的一对输入值进行运算

[0020]每个模数单元都可以被配置为提供比特宽度为
p
比特的输出值,并且较高级的每个模数单元都被配置为对以下各项进行运算:
[0021]一对输入值,对于被布置为接收来自输入
x
的其一个块的模数单元,包括
r+p
比特;以及
[0022]一对输入值,对于被布置为接收来自其他模数单元的输出值作为其输入值对的模数单元,包括
2p
比特

[0023]输入的块数可以是
[0024]可选地,和输入的一个或多个块可以具有除
r
比特之外的比特宽度

[0025]可选地,和输入的一个或多个块可以用比特来填充,使得输入的所有块都是比特宽度为
r
比特

[0026]由对数树提供的每个
x[0:m]mod d
的比特宽度都可以等于表示
mod d
运算的可能输出范围所需的最小比特宽度
p。
[0027]输入的块数可以是至少
24
个块

[0028]提供了一种用于确定比率
x/d
的二进制逻辑电路,其中
x

w
比特的可变整数输入,包括比特宽度为
r≥1
比特的
M>8
个块,并且
d>2
是固定整数,该二进制逻辑电路包括:
[0029]模数单元的对数树,每个模数单元都被配置为针对
x
中的相应块位置
a

b
,来计算
x[a:b]mod d
,其中
b>a
,块位置的编号从...

【技术保护点】

【技术特征摘要】
1.
一种二进制逻辑电路,用于确定比率
x/d
,其中
x

w
比特的可变整数输入,包括比特宽度为
r≥1
比特的
M>8
个块,并且
d>2
是固定整数,所述二进制逻辑电路包括:模数单元的对数树,每个模数单元都被配置为针对
x
中的相应块位置
a

b
来计算
x[a:b]mod d
,其中
b>a
,块位置的编号从
x
的最高有效比特增大到
x
的最低有效比特,所述模数单元被布置为使得所述对数树的
M
‑1个模数单元的子集为所有
m∈{1,M

1}
提供
x[0:m]mod d
,并且,基于任何给定的模数单元都会引入1的延迟,所有所述模数单元都在的延迟包络内布置在所述对数树中;以及输出逻辑,其被配置为将
M
‑1个模数单元的所述子集提供的输出与所述输入
x
的块组合以产生所述比率
x/d
;其中对于给定数量
M
的块,所述对数树中的模数单元的总数
T
符合下表:
2.
如权利要求1所述的二进制逻辑电路,其中对于整数
n≥2
,除数
d
=2n
±
1。3.
如权利要求1或2所述的二进制逻辑电路,其中对于整数
v≥3
,所述输入的所述块的数量是
M
=2v
+1
,而至少两个模数单元以所述最大延迟布置
。4.
如权利要求1所述的二进制逻辑电路,其中每个模数单元都接收一对输入值,每个输入值取决于所述对数树中所述模数单元的位置都是所述输入
x
的块或来自另一个模数单元的输出值,并且每个模数单元都被配置为组合其输入值对,并对所得到的组合输入值对执行其
mod d
计算
。5.
如权利要求1所述的二进制逻辑电路,其中所述对数树的所述模数单元被布置在多个级中,其中给定级的模数单元都不接收来自较高级的模数单元的输入值,第一

最低级的所述模数单元各自都被布置为接收来自所述输入
x
的一对相邻块作为输入值,并且每个较高
S
th
级的所述模数单元都被布置为接收来自
(S

1)
th
级的模数单元的至少一个输入
。6.
如权利要求5所述的二进制逻辑电路,其中所述第一级的每个模数单元都被配置为对包括
2r
比特的一对输入值进行运算
。7.
如权利要求5或6所述的二进制逻辑电路,其中每个模数单元都被配置为提供比特宽度为
p
比特的输出值,并且较高级的每个模数单元都被配置为对以下各项进行运算:一对输入值,对于被布置为接收来自所述输入
x
的其一个块的模数单元,包括
r+p
比特;以及一对输入值,对于被布置为接收来自其他模数单元的输出值作为其输入值对的模数单元,包括
2p
比特
。8.
如权利要求1所述的二进制逻辑电路,其中所述输入的所述块的数量是
9.
如权利要求8所述的二进制逻辑电路,其中和所述输入的一个或多个所述块具有除
r
比特之外的比特宽度或者用比特填充,使得所述输入的所有块都是
r
比特的比特宽度
。10.
如权利要求1所述的二进制逻辑电路,其中由所述对数树提供的每个
x[0:m]mod d
的所述比特宽度等于表示
mod d
计算的可能输出的范围所需的最小比特宽度
p。11.
一种合成用于确定比率
x/d
的二进制逻辑电路的方法,其中
x

w
比特的可变整数输入,包括比特宽度为
r≥1
比特的
M>8
个块,并且
d>2
是固定整数,所述二进制逻辑电路包括模数单元的对数树,每个模数单元都被配置为对于
x
中的相应块位置
a

b
来计算
x[a:b]mod d
,其中
b>a
,块位置的编号从
x
的最高有效比特增大到
x
的最低有效比特,所述方法包括:定义模数单元的布置,使得:所述对数树的
M
‑1个模数单元的子集为所有
m∈{1,M

【专利技术属性】
技术研发人员:乔纳斯
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:

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

1