xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)

1.Radix-2模式:基数-2使用整数操作数的非恢复整数除法,允许生成分数或整数余数。对于小于16位的操作数宽度或需要高吞吐量的应用程序,建议使用。基数-2非恢复算法使用加减法求解每个周期的一点商。该设计是完全流水线的,可以实现每个时钟周期一分的吞吐量。如果所需的吞吐量较小,则每个时钟参数的分法允许降低吞吐量和资源使用。该算法自然会生成一个余数,对于需要整数余数或模数结果的应用程序的选择也是如此。

Radix-2模式下:可以选择是余数还是分数;也可以选择是有符号位还是无符号位;几个时钟读一次数也可以选择;但是当选择余数类型时,不可以更改其位宽;如果是分数类型,可以改位宽(不可以是0);计算的时延也不可以更改。

xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)_第1张图片

 下面是该除法器ip核的资源占比情况:

xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)_第2张图片

 

High Radix模式下:只能是分数类型,可以选择位宽(可以是0);只能是有符号类型(因此被除数和除数的位宽最好扩展一位);时延可以改为手动,就可以更改时延了,会根据设置计算位宽不同,有一个时延的范围(我一般设为最小的那个时延,但不知道有什么影响);会比Radix-2模式多出两个信号,ND(新数据输入使能),RFD(计算完成标志位)(在级联计算的时候,就可以很好的控制数据)。

xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)_第3张图片

 下面是该除法器ip核的资源占比情况:(可以看出当使用High Radix模式时,使用的dsp资源xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)_第4张图片

如果把分数部分位宽改为0,那么又会减少很多资源

xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)_第5张图片

 

 所以就是当要使用多个运算ip核,进行级联运算时,可以使用nd核rdy配合,就可以使用High Radix模式。

还有就是分数的含义,他不是单纯的商的小数部分,计算公式如下:

被除数=商X除数 + 余数(整数余数模式)

分数部分 = (余数X(2的F次方))/ 除数  (无符号整数分数模式,F是分数的位宽)

分数部分 = (余数X(2的F-1次方))/ 除数  (有符号整数分数模式,F是分数的位宽)

xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)_第6张图片

 

你可能感兴趣的:(xilinx,fpga,ip核使用例程(VHDL),FPGA,VHDL,ISE,fpga开发)