FPGA中除法器IP核乘法器IP使用
1.除法器IP核有两种,3.0是最大支持32bit的被除数除数;4.0是最大支持64bit的被除数除数;研究电机时需要计算步数,都仅仅需要32bit因此选择3.0;
2.有两种类型
(1)remainder 余数
(2)fractional:小数
(3)dividend:被除数
(4)divisior: 除数
(5)quotient : 商
选择无符号数据,余数类型即可;之前又看到一个帖子写到商是有时间去计算的,我32bit设置了40个clk;具体的公式未找到;但是足够了
3.后期由于需要,被除数位数达到37bit,因此需要放弃3.0,使用4.0;同样有两种类型余数型和小数型,选择余数型;
4.时序与3.0不一致
(1)dividend :低37bit是被除数
(2)divisior :低16bit是除数
(3)ddata :[55:0] :低16bit是余数,接着37bit是商;
(4)valid:被除数和除数在赋值同时需要赋值1个clk的高电平脉冲信号
(5)doutvalid:商是接收到输出1clk高电平同时才更新最新的商
参考一个帖子运行后的仿真文件IP4.0时序。
这样就不需要用多个除法器和多个乘法器配合使用了,毕竟有时延以及越大的数据除法器有一定的不准确率
5.乘法器IP核
讲完除法器IP ,想起代码中也使用到乘法器;一个clk后得到最后乘积;
经仿真验证,乘法器积运算仅仅需要1clk
经验证,除法器3.0商运算需要35个clk,被除数是32bit,除数是20bit;文章来源地址https://www.toymoban.com/news/detail-429598.html
文章来源:https://www.toymoban.com/news/detail-429598.html
到了这里,关于FPGA中除法器IP核乘法器IP核使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!