FPGA Vivado调用IP核详细操作步骤

FPGA技术江湖 2026-06-23 08:34
FPGA Vivado调用IP核详细操作步骤图1

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


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


FPGA Vivado调用IP核详细操作步骤图2



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


FPGA Vivado调用IP核详细操作步骤图3

使用Verilog调用IP核


FPGA Vivado调用IP核详细操作步骤图4
FPGA Vivado调用IP核详细操作步骤图5

一、添加IP核
1. 点击Flow Navigator中的IP Catalog。
FPGA Vivado调用IP核详细操作步骤图6

2. 选择Math Functions下的Multiplier,即乘法器,并双击。
FPGA Vivado调用IP核详细操作步骤图7

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

 4. 稍后弹出的窗口,点击Generate。
FPGA Vivado调用IP核详细操作步骤图9

FPGA Vivado调用IP核详细操作步骤图10


二、调用IP核
1. 选择IP Sources,展开并选择mult_gen_0 - Instantiation Template - mult_gen_0.veo,可以打开实例化模板文件。如图,这段代码就是使用Verilog调用这个IP核的示例代码。
FPGA Vivado调用IP核详细操作步骤图11

 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作为参数传入。
FPGA Vivado调用IP核详细操作步骤图12

FPGA Vivado调用IP核详细操作步骤图13


三、行为仿真验证
以demo为顶层模块,启动行为仿真,即可输出波形。设置a、b、p显示为无符号十进制(右击选择Radix - Unsigned Decimal)。如图,可以看到a=7, b=8,第一个时钟上升沿后p = a * b = 56。
FPGA Vivado调用IP核详细操作步骤图14


FPGA Vivado调用IP核详细操作步骤图15

框图(Block Design)中调用IP核

FPGA Vivado调用IP核详细操作步骤图16
FPGA Vivado调用IP核详细操作步骤图17

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


FPGA Vivado调用IP核详细操作步骤图18

一、创建框图设计文件
1. 选择Flow Navigator中的Create Block Design,创建一个框图设计文件。
FPGA Vivado调用IP核详细操作步骤图19
2. 输入文件名并点击OK。
FPGA Vivado调用IP核详细操作步骤图20

FPGA Vivado调用IP核详细操作步骤图21


二、添加IP核
1. 在框图空白处右击,选择Add IP。
FPGA Vivado调用IP核详细操作步骤图22

2. 可以直接搜索需要的IP核,双击确认。
FPGA Vivado调用IP核详细操作步骤图23

3. IP核即可被添加进来,可以用导线将其与其他器件连接。
FPGA Vivado调用IP核详细操作步骤图24

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

FPGA Vivado调用IP核详细操作步骤图26


三、绘制电路
1. 右击Diagram窗口空白处,选择Create Port。
FPGA Vivado调用IP核详细操作步骤图27

2. 弹出窗口中,设置端口a为4位输入信号,并点击OK。
FPGA Vivado调用IP核详细操作步骤图28

3. 将a与A、B都连接起来。
FPGA Vivado调用IP核详细操作步骤图29

4. 同样的方法,添加一个8位输出端口p,与P连接。
FPGA Vivado调用IP核详细操作步骤图30

5. 再添加一个clk时钟输入端口,与CLK连接。
FPGA Vivado调用IP核详细操作步骤图31

6. 最终结果如图。
FPGA Vivado调用IP核详细操作步骤图32

FPGA Vivado调用IP核详细操作步骤图33


四、仿真测试

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

FPGA Vivado调用IP核详细操作步骤图34

2. 选择第二项并点击OK。
FPGA Vivado调用IP核详细操作步骤图35

3. 打开生成的design_1_wrapper.v文件如图,红框中的代码用来调用前面画好的Block Design模块。
FPGA Vivado调用IP核详细操作步骤图36

4. 在design_1_wrapper.v文件中,添加Testbench代码即可进行行为仿真。修改代码如下,给输入信号a赋初值为8,clk连接到Testbench生成的时钟信号c上。
FPGA Vivado调用IP核详细操作步骤图37

 5. 在Simulation Sources文件夹下,设置design_1_wrapper.v为行为仿真的顶层文件(右击,选择Set as Top)。
FPGA Vivado调用IP核详细操作步骤图38

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

END


往期精选 

FPGA Vivado调用IP核详细操作步骤图39 
FPGA Vivado调用IP核详细操作步骤图40 


FPGA Vivado调用IP核详细操作步骤图41
FPGA Vivado调用IP核详细操作步骤图42

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

FPGA Vivado调用IP核详细操作步骤图43

加群主微信,备注姓名+公司/学校+岗位/专业进群


FPGA技术江湖QQ交流群

FPGA Vivado调用IP核详细操作步骤图44

备注姓名+公司/学校+岗位/专业进群

FPGA Vivado调用IP核详细操作步骤图45

关于科技区角:国内科技展会垂直内容策划服务商,提供从论坛内容全案策划、会展市场化IP打造到精准专业观众一站式邀约服务,以产业内容吸引高质量B端人群,打通展会从议题设计、演讲嘉宾邀约、宣传预热、精准邀观到供需对接全链路。
声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。
FPGA IP
more
直播预约 | “5人60天 vs 2人3天”:当FPGA开发遇上AI智能体,效率革命真的来了!
牛!FPGA + 双 AD9288,轻松玩转便携式示波器
基于 FPGA Vivado 的数字钟设计(附源工程)
不用写一行 HDL!AMD 官方教你用 MATLAB + Simulink 搭建 FPGA 软件无线电
22nm+23K LUTs混合架构,高云半导体FPGA实现创新引领
源码系列:基于FPGA的数字电压表(AD)设计
AEC-Q100+ASIL D双认证,安路科技车规FPGA护航智能座舱
一块 430 块的 FPGA,让我看清了算力的未来
国外大学生都用FPGA做什么项目(二十)
FPGA Vivado调用IP核详细操作步骤
Copyright © 2025-成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号