FPGA设计中,Vivado 调用IP核详细操作步骤

今天给大侠带来了FPGA设计中,Vivado 调用IP核详细操作步骤,话不多说,手把手教学,请往下看。

首先咱们来了解一下vivado的IP核,IP核(IP Core):Vivado中有很多IP核可以直接使用,例如数学运算(乘法器、除法器、浮点运算器等)、信号处理(FFT、DFT、DDS等)。IP核类似编程中的函数库(例如C语言中的printf()函数),可以直接调用,非常方便,大大加快了开发速度。

使用Verilog调用IP核

一、添加IP核

1.点击Flow Navigator中的IP Catalog。

2.选择Math Functions下的Multiplier,即乘法器,并双击。

3.将弹出IP核的参数设置对话框。点击左上角的Documentation,可以打开这个IP核的使用手册查阅。这里直接设置输入信号A和B均为4位无符号型数据,其他均为默认值,点击OK。

4.稍后弹出的窗口,点击Generate。

二、调用IP核

1.选择IP Sources,展开并选择mult_gen_0 - Instantiation Template - mult_gen_0.veo,可以打开实例化模板文件。如图,这段代码就是使用Verilog调用这个IP核的示例代码。

2.将示例代码复制到demo.v文件中,并进行修改,最终如下。代码中声明了无符号型的4位变量a和b,分别赋初值7、8,作为乘数使用;无符号型的8位变量p,用于保存计算结果。clk为Testbench编写的周期20ns的时钟信号;mult_gen_0 mul(...)语句实例化了mult_gen_0类型的模块对象mul,并将clk、a、b、p作为参数传入。

三、行为仿真验证

以demo为顶层模块,启动行为仿真,即可输出波形。设置a、b、p显示为无符号十进制(右击选择Radix - Unsigned Decimal)。如图,可以看到a=7, b=8,第一个时钟上升沿后p = a * b = 56。

框图(Block Design)中调用IP核

这里举一个简单的例子,通过调用乘法器IP核,产生一个能计算平方的新模块。

一、创建框图设计文件

1.选择Flow Navigator中的Create Block Design,创建一个框图设计文件。

2.输入文件名并点击OK。

二、添加IP核

1.在框图空白处右击,选择Add IP。

2.可以直接搜索需要的IP核,双击确认。

3.IP核即可被添加进来,可以用导线将其与其他器件连接。

4.双击这个IP核符号,可以打开参数设置对话框。点击左上方的Documentation可以查看IP核的手册。这里将输入的A、B均设置为4为无符号型,其他为默认值,点击OK确认。

三、绘制电路

1.右击Diagram窗口空白处,选择Create Port。

2.弹出窗口中,设置端口a为4位输入信号,并点击OK。

3.将a与A、B都连接起来。

4.同样的方法,添加一个8位输出端口p,与P连接。

5.再添加一个clk时钟输入端口,与CLK连接。

6.最终结果如图。

四、仿真测试

1.右击框图设计文件design_1,选择Create HDL Wrapper。

2.选择第二项并点击OK。

3.打开生成的design_1_wrapper.v文件如图,红框中的代码用来调用前面画好的Block Design模块。

4.在design_1_wrapper.v文件中,添加Testbench代码即可进行行为仿真。修改代码如下,给输入信号a赋初值为8,clk连接到Testbench生成的时钟信号c上。

5.在Simulation Sources文件夹下,设置design_1_wrapper.v为行为仿真的顶层文件(右击,选择Set as Top)。

启动行为仿真,最终输出的波形如下。可以看到,在clk的第一个上升沿后,就有 p = a x a = 64,即实现了平方运算。

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

【QQ交流群】

群号:173560979,进群暗语:FPGA技术江湖粉丝。

多年的FPGA企业开发、培训经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,FPGA技术江湖打造最纯净最专业的技术交流学习平台。

【微信交流群】

现微信交流群已建立08群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。

欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式,更多精彩内容等你发现

FPGA设计中,Vivado 调用IP核详细操作步骤相关推荐

  1. vivado调用IP核详细介绍

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  2. 数字 02 vivado 关于IP核的配置步骤

    软件环境:vivado2018.2 目录 VIO DDS Compiler(6.0) PLL ILA VIO Vio使用过程: 1.ip catalog搜索vio 2.配置属性 上图设置输入probe ...

  3. docker容器中配置mysql集群详细操作步骤

    1.下载mysql镜像 这里我们拉取官方的最新版本的镜像: docker pull mysql:latest 这一步也可以省略,当没有版本的时候,会自动去远程仓库里面拉取 2.创建master实例并启 ...

  4. FPGA设计中,产生LFSR伪随机数

    今天给大侠带来在FPGA设计中,产生LFSR伪随机数,话不多说,上货. 一.概述 通过一定的算法对事先选定的随机种子(seed)做一定的运算可以得到一组人工生成的周期序列,在这组序列中以相同的概率选取 ...

  5. 基于Vivado MIG IP核的DDR3读写实验(top_rom_ddr/ddr_top)

    一.前言 关于Vivado MIG IP核详细配置可以参考我之前的文章:基于Vivado MIG IP核的DDR3控制器(DDR3_CONTROL) 关于MIG IP核的用户端的接口时序可以参考这篇文 ...

  6. 弟中弟级,基于Vivado的IP核封装以及仿真调用,FPGA入门小玩

    弟中弟级,基于Vivado的IP核封装以及仿真调用,FPGA入门小玩 IP核:知识产权核,指某一方提供的.形式为逻辑单元的可重用模块.IP核通常已经通过了设计验证,设计人员以IP核为基础进行设计,可以 ...

  7. FPGA之FIFO IP核详细教程

     FPGA之fifo的相关知识(附完整设计代码,仿真代码) 本文回答以下几个问题: 1:fifo是什么,有什么作用: 2:在使用fifo的两种模式: 3:使用异步fifo IP核的详细步骤说明: 4: ...

  8. Vivado中的FFT IP核使用(含代码)

    本文介绍了Vidado中FFT IP核的使用,具体内容为:调用IP核>>配置界面介绍>>IP核端口介绍>>MATLAB生成测试数据>>测试verilog ...

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

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

最新文章

  1. Java面向对象编程思想
  2. NO29 用户提权sudo配置文件详解实践--志行为审计
  3. java时间格式转换_Java中System.currentTimeMillis()计算方式与时间的单位转换
  4. 为什么Python类语法应该不同?
  5. !亲测有效!质量最高的pr模板网站,有点小贵罢了
  6. Spring Boot集成Thymeleaf模板引擎
  7. 【leetcode】Max Points on a Line
  8. WPF 可触摸移动的ScrollViewer控件
  9. 牛客网–华为机试在线训练9:提取不重复的数
  10. linux系统下idea打包apk教程,intellij idea14打包apk文件和查看sha1值
  11. win11微软拼音输入法失效、没有候选框、不显示语言栏的问题
  12. firefox硬件加速 linux,火狐浏览器硬件加速相关资料以及开启关闭火狐硬件加速方法...
  13. IDEA jclasslib插件安装
  14. 社交网络分析(Social Network Analysis)
  15. java微信提现_关于Java调用微信、支付宝支付提现
  16. iptables日志记录访问记录
  17. 2023美赛思路2023美国大学生数学建模竞赛思路
  18. 祝贺|蚂蚁金服技术人许寄入选2018 MIT TR 35全球榜单
  19. NB-IoT 设备实时反向控制方案分析
  20. 桌面计算机右键属性不弹窗,Win7系统右键计算机属性不见了的解决方法

热门文章

  1. 2017福建省计算机一级应用技术,2017年一级计算机信息技术及应用考试试题级答案...
  2. RabbitMQ简介及其六种工作模式
  3. ios input不能唤醒_如何使iOS的“唤醒唤醒”每次都能正常工作
  4. android设计架构之MVC、MVP、MVVM的理解
  5. 波波:App Store改版深入测评,生态改变,行业大洗牌
  6. 使用python+ffmpeg桌面录制软件
  7. vue-devtools安装教程 附各种常见错误处理(图标不显示 图标显示控制台没用Vue选项卡)
  8. 用 Python 自动玩王者荣耀,简直太秀了
  9. 嵌入式STM32深入之RTOS编程
  10. 在线支付线上支付是什么?其应用范围