FPGA中除法器IP核乘法器IP核使用

                                FPGA中除法器IP核乘法器IP使用

1.除法器IP核有两种,3.0是最大支持32bit的被除数除数;4.0是最大支持64bit的被除数除数;研究电机时需要计算步数,都仅仅需要32bit因此选择3.0;
FPGA中除法器IP核乘法器IP核使用_第1张图片
2.有两种类型
(1)remainder 余数
(2)fractional:小数
(3)dividend:被除数
(4)divisior: 除数
(5)quotient : 商
选择无符号数据,余数类型即可;之前又看到一个帖子写到商是有时间去计算的,我32bit设置了40个clk;具体的公式未找到;但是足够了
FPGA中除法器IP核乘法器IP核使用_第2张图片
3.后期由于需要,被除数位数达到37bit,因此需要放弃3.0,使用4.0;同样有两种类型余数型和小数型,选择余数型;
FPGA中除法器IP核乘法器IP核使用_第3张图片
4.时序与3.0不一致
(1)dividend :低37bit是被除数
(2)divisior :低16bit是除数
(3)ddata :[55:0] :低16bit是余数,接着37bit是商;
(4)valid:被除数和除数在赋值同时需要赋值1个clk的高电平脉冲信号
(5)doutvalid:商是接收到输出1clk高电平同时才更新最新的商
参考一个帖子运行后的仿真文件IP4.0时序。
FPGA中除法器IP核乘法器IP核使用_第4张图片
这样就不需要用多个除法器和多个乘法器配合使用了,毕竟有时延以及越大的数据除法器有一定的不准确率
5.乘法器IP核
讲完除法器IP ,想起代码中也使用到乘法器;一个clk后得到最后乘积;
FPGA中除法器IP核乘法器IP核使用_第5张图片
FPGA中除法器IP核乘法器IP核使用_第6张图片
FPGA中除法器IP核乘法器IP核使用_第7张图片
经仿真验证,乘法器积运算仅仅需要1clk
FPGA中除法器IP核乘法器IP核使用_第8张图片
经验证,除法器3.0商运算需要35个clk,被除数是32bit,除数是20bit;
除法器35个clk计算时间

你可能感兴趣的:(fpga)