Xilinx Vivado定制IP核调用和除法器IP核的latency和resource分析

38 篇文章 5 订阅
34 篇文章 9 订阅

加入定制的乘法IP核,必须在sources右键,用Add Directories加入才完整
在这里插入图片描述
加入文件夹后如下图:
在这里插入图片描述
测试代码与主程序模块连接端口初学者容易出现错误
在这里插入图片描述
输入端口:从模块内部来讲,输入端口必须为线网数据类型,从模块外部来看,输入端口可以连接到线网或者reg数据类型的变量。
输出端口:从模块内部来讲,输出端口可以是线网或者reg数据类型,从模块外部来看,输出必须连接到线网类型的变量,而不能连接到reg类型的变量。

(125条消息) [初学Verilog笔记]模块输入输出_qq_34670678的博客-CSDN博客 https://blog.csdn.net/qq_34670678/article/details/106432116
在这里插入图片描述
我的错误是某一个英文的“:”不小心写成了中文的“:”

(125条消息) Modelsim中出现Syntax error, unexpected non-printable character错误_天津大学–神经网络方向–在读研究生的博客-CSDN博客 https://blog.csdn.net/weixin_43257368/article/details/90717109

观察下面的仿真的顶层模块与测试模块是否正确
在这里插入图片描述
在这里插入图片描述

以下部分参考赛灵思IP除法器官方文档《pg151-div-gen》

除法器 IP LutMult

在这里插入图片描述

在这里插入图片描述

鼠标左键是Run

在这里插入图片描述

鼠标右键是Reset
在这里插入图片描述

latency = 8,实际为7

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

latency = 1

在这里插入图片描述
在这里插入图片描述
从功能仿真上看到正确输出
在这里插入图片描述

综合后仿真也基本一样
在这里插入图片描述

选latency=4

在这里插入图片描述

右键所选的div_gen_900_synth_1, 选sythesis Run Properties, 再选 report
在这里插入图片描述
选latency=4 得出下面的资源利用情况
在这里插入图片描述
或者
report_utilization -hierarchical
report_utilization -name div_gen_900_1

在这里插入图片描述

除法器 IP Radix2

latency = 1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

latency = 8

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

根据实际情况修改位数:

div_gen_900除法器 10位除12位
mult_gen_32_12乘法器 32位乘12位
在这里插入图片描述
仿真验证
在这里插入图片描述
现在进一步将程序贴近实际,
在这里插入图片描述
div_gen_10_12 是10位数除12位数
mult_gen_5 是5倍运算
mult_gen_20 是20倍运算
mult_gen_25 是25倍运算
mult_gen_32_8 是32位数乘8位数
将div_gen_10_12的除数作为乘数代入 mult_gen_32_8

仿真图
在这里插入图片描述
结果正确,但除法耗时太长,调成1
在这里插入图片描述

在这里插入图片描述
assign相当于一条连线,将表达式右边的电路直接通过wire(线)连接到左边,左边信号必须是wire型。
(125条消息) Verilog赋值语句_FireBird的专栏-CSDN博客_verilog赋值 https://blog.csdn.net/firstlai/article/details/52712042

寄存器的赋值方式

reg [9:0] set_div;
always @ (negedge reset or posedge clkout) 
begin
	      set_div <= 10'd900;

两点: Array信号必须标明维数,set_div值必须在always块中赋值,不能直接用“=”在always语句块外赋值。

顶层模块内部用reg赋值后,功能仿真正确
在这里插入图片描述
可以看到除法器似乎立即生效,输入数据分别在下降沿和上升沿更新,均在上升沿后间半个周期左右除法完成。
在这里插入图片描述
在这里插入图片描述

风险一、

这里把除法器输入有效信号始终维持为高,并未细化处理,可能存在风险。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值