加入定制的乘法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)
beginset_div <= 10'd900;

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

顶层模块内部用reg赋值后,功能仿真正确

可以看到除法器似乎立即生效,输入数据分别在下降沿和上升沿更新,均在上升沿后间半个周期左右除法完成。

风险一、

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

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

  1. 微信白名单服务器ip地址,调用接口的IP地址不在白名单中

    senparclsx 15 个回复 • 查看 457 次 • 57天前 sy87468118 15 个回复 • 查看 375 次 • 2天前 magiboy 13 个回复 • 查看 732 次 • 1 ...

  2. Xilinx VIVADO 中 DDR3(AXI4)的使用(1)创建 IP 核

    1.前言 DDR3 SDRAM 简称 DDR3,是当今较为常见的一种储存器,在计算机及嵌入式产品中得到广泛应用, 特别是应用在涉及到大量数据交互的场合,比如电脑的内存条.DDR3的时序相当复杂,对DD ...

  3. Xilinx vivado 常用IP核使用

    目录 1. Accumulator 12.0 2. Aurora 8B10B 11.1 3. Clocking Wizard 3.1. 时钟资源 4. Divider Generator 5.1 5. ...

  4. vivado中复数乘法器的ip核调用及其仿真的详细介绍

    复数乘法器的ip核可在下图的​​​​​中找到 ip核的输入配置和输出配置如下图所示 当我们在选择multplier construction的Use LUTs选项时,选择的是三次乘法的算法,相比于四次 ...

  5. Vivado定制DDR3 IP核注意事项

    1.1 Vivado定制DDR3 IP核注意事项 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado定制DDR3 IP核注意事项: 5)结束语. 1.1.2 本 ...

  6. Xilinx vivado DDR3 MIG IP核中系统时钟、参考时钟解释及各个时钟的功能详解

    注:在使用xilinx的MIG 核时,会有许多关于时钟的配置,时间长了容易混淆,特意记录一下为以后快速回忆,如有错误请留言指正. 0.先贴出来DDR3的时钟树,这个图展示了参考时钟设置的强制规定. 1 ...

  7. 调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)

    在上一篇的文章中:https://blog.csdn.net/weixin_44502554/article/details/126228405?spm=1001.2014.3001.5502 讲述了 ...

  8. 基于 xilinx vivado 的PCIE ip核设置与例程代码详解

    1.概述 本文是用于总结PCIE ip例程的学习成果.主要是从ip的设置,ip核的例程代码构成及其来源两方面介绍pcie的使用情况. 2.参考文档 <pg054-7series-pcie> ...

  9. 基于xilinx vivado的GTX/GTP ip核设置与例程代码使用详解

    本文目录 1 概述 2 参考文档 3 GTX的IP设置 3.1 本例程使用环境 3.2 GTX IP界面的设置情况 3.2.1 GTX IP设置第1页 3.2.2 GTX IP设置第2页 3.2.3 ...

最新文章

  1. linux下IPython的安装方法
  2. python 每分钟运行一次_调度Python脚本以准确地每小时运行一次
  3. Jquery之编辑不可修改
  4. 6001. mavlink 编译与移植
  5. 订单金额等字段设置decimal时,要禁止为负数
  6. linux 深入检测io详情的工具iopp
  7. Fiddler抓取https如何设置
  8. 如何获取类(接口)的成员
  9. C#递归拷贝文件夹下文件以及文件夹
  10. python 找出日期_Python-在字符串中查找日期
  11. c语言中judge的用法,judge的用法
  12. CodeRunner激活
  13. uclinux编译 心得一
  14. 计算机音乐夜空,星空音乐在线点播系统
  15. Java核心类库(一)
  16. Linux定时任务与开机自启动脚本(cron与crontab)
  17. 简单利用Dialog实现Ios从底部弹出的效果,合QQ空间里面的发表说说弹出拍照的效果类似
  18. RabbitVCS:ubuntu下svn可视化工具的安装和使用
  19. 魔兽8.0最新服务器人口普查,魔兽世界人口普查8.0版最新资讯!赶紧来了解!
  20. UE4 | 蓝图 | 闪现和TP的实现

热门文章

  1. 【强化学习探索01】Win10 下gym安装
  2. 《真金》孙溟㠭篆刻作品
  3. 【干货】外贸业务员的客户开发信为什么总是进老外垃圾邮箱?
  4. dede文章命名规则改变方法
  5. 用excel进行设计(91):Excel表格的视觉设计技巧
  6. 熟练掌握R语言的Meta分析全流程和不确定性分析,并结合机器学习等方法讲解Meta分析在文献大数据的延伸应用
  7. 计算机毕业设计选题怎么办?毕设开题不会怎么办?毕业设计选题指南
  8. JQuery 向下展开收起动画( slideDown(),slideUp() )
  9. 解决Matlab 界面中文乱码问题,亲测有效
  10. android 读取wps_Android 实现 调用 WPS Office手机版接口