添加除法 IP核的方法和之前的BRAM方法相同,在IP Catalog → Math Functions → Divider Generator。
其中常用的关键选项配置解释如下:
Algorithm Type:选择不同的算法模式,其中Radix2为常用的模式,LutMult当时数较小的时候使用,High Radix是当数很大的时候使用。常用的是Radix2,此处也是选择的为Radix2.
Dividend Width:被除数的位数。
Divisor Width:除数的位数。
Remainder Type:选择余数的模式。有两种模式:Remainder:余数,以及Fractional分数模式。Remainder模式的余数模式位数固定,由系统根据除数自动设定,如上图中的就是5位,即Fractional Width那一栏。而选择Fractional Width模式,则可以在Fractional Width那一栏选择自己想要的余数位数。常用模式为Remainder模式。
以上就是需要主要设置的配置。常用情况下,其他设置可以不用配置。
同时我们发现作图的端口图上的被除数、除数以及结果的位数与我们设定的并不相同,所以我们以左边端口图的位数为准,来测试下,我们设置的位数与左边端口图位数的关系。
Testbench的代码如下:
module