具有 A 和 B 定点的"A div B"硬件



我需要一种方法来计算不动点B在不动点a中包含的次数。类似于整数除法,但在非整数操作数上。我需要为这个操作设计一个硬件块。我的第一个猜测是,当我到达小数部分时,使用除法作为移位、减法和停止,但也许你知道更好的方法来找到它。

如果我理解正确,您需要分数除法的整数部分,即

C = floor(A / B)

现在,小数除法和整数除法没有什么不同,除了调整小数点之外,如果你表示A = a * 2^-nB = b * 2^-m,你就会得到

C = floor(A / B) = floor((a / b) * 2^(-n-m))

因此,您可以对不变的整数使用除法算法(本质上是移位和减法),并忽略(向下取整)最低有效的n+m位,或者更有效地在达到小数点后停止迭代。

最新更新