vivado fft ip核_Vivado调用IP核详细操作步骤

本文提供Vivado调用FFT IP核的详细步骤,包括使用Verilog调用,Block Design中添加IP核,并指导进行仿真测试。同时介绍了FPGA技术交流平台FPGA技术江湖的加入方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

使用Verilog调用IP核

c257e0a94b3e486ce449d6c1c7ce110b.png21724287833642c74630ca22dcec56ef.png一、添加IP核1. 点击Flow Navigator中的IP Catalog。2da87836e15cebd9b67088d9a5ec77b2.png2. 选择Math Functions下的Multiplier,即乘法器,并双击。4c21bd028a57fb5475b39b172dd5e8b9.png 3. 将弹出IP核的参数设置对话框。点击左上角的Documentation,可以打开这个IP核的使用手册查阅。这里直接设置输入信号A和B均为4位无符号型数据,其他均为默认值,点击OK。f3e7b7c61ada05f6a3a7507bd8b0b077.png 4. 稍后弹出的窗口,点击Generate。82a406e701b8a1064c62779a3fca3241.pnga7b0bc6850e5e5ef92bad57bf84eb82b.png二、调用IP核1. 选择IP Sources,展开并选择mult_gen_0 - Instantiation Template - mult_gen_0.veo,可以打开实例化模板文件。如图,这段代码就是使用Verilog调用这个IP核的示例代码。e6d4a400e96c684b9d0e39d2e817dbd6.png 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作为参数传入。17df5a01baa6b746c5f5868c272ed850.pnga7b0bc6850e5e5ef92bad57bf84eb82b.png三、行为仿真验证以demo为顶层模块,启动行为仿真,即可输出波形。设置a、b、p显示为无符号十进制(右击选择Radix - Unsigned Decimal)。如图,可以看到a=7, b=8,第一个时钟上升沿后p = a * b = 56。3402aa756b5bfe2e2ecff1dcdb1a0f91.pnga3fdf94bc60c402bf3dbebd8f8ccf433.png

框图(Block Design)中调用IP核

e72221195ceaf00ccaded72dcb5c73f3.pnga38b20b5eb58972c12a71454e1ef172e.png这里举一个简单的例子,通过调用乘法器IP核,产生一个能计算平方的新模块。d197de3388c7bad248ac0f9f2f98f8b8.png一、创建框图设计文件1. 选择Flow Navigator中的Create Block Design,创建一个框图设计文件。f3c82ad7c86c0724c348cd295b4395c4.png2. 输入文件名并点击OK。006d9bce42c4e07c93d7c0991b5c91dc.pnge502fb38c38d8d3b294a6fb990681c96.png二、添加IP核1. 在框图空白处右击,选择Add IP。89e60b72bc8d064cbb0c1b2d6c90d081.png2. 可以直接搜索需要的IP核,双击确认。10158d88ff7e175ec52e60649d2d6971.png3. IP核即可被添加进来,可以用导线将其与其他器件连接。20aa3a2103dd049361594c5508747780.png4. 双击这个IP核符号,可以打开参数设置对话框。点击左上方的Documentation可以查看IP核的手册。这里将输入的A、B均设置为4为无符号型,其他为默认值,点击OK确认。 275537ff96f5a2c96c5b911000330c05.pnge502fb38c38d8d3b294a6fb990681c96.png三、绘制电路1. 右击Diagram窗口空白处,选择Create Port。cfeced028f770516b4db14f9dde136aa.png2. 弹出窗口中,设置端口a为4位输入信号,并点击OK。01620f3c50097a556faa077a9f6814e2.png3. 将a与A、B都连接起来。b8da4d9559e1d39488375956565cba21.png4. 同样的方法,添加一个8位输出端口p,与P连接。f2d35fe4e7c0de929993c15f11c15636.png5. 再添加一个clk时钟输入端口,与CLK连接。ecebf6b9e51ddb7e2aa3db19ba80e668.png6. 最终结果如图。51dcddf1d83ad32a8278b011d1c92ee0.pnge502fb38c38d8d3b294a6fb990681c96.png

四、仿真测试

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

a892be83d7b1ee91a364b8b6ee62a7b4.png2. 选择第二项并点击OK。a0351897a0c04d4d4632edc7af80a9c2.png3. 打开生成的design_1_wrapper.v文件如图,红框中的代码用来调用前面画好的Block Design模块。1a623d1d78ff1da3a681dc96208e505f.png4. 在design_1_wrapper.v文件中,添加Testbench代码即可进行行为仿真。修改代码如下,给输入信号a赋初值为8,clk连接到Testbench生成的时钟信号c上。ff9f5668b96d119fdfe446fe347a8ced.png 5. 在Simulation Sources文件夹下,设置design_1_wrapper.v为行为仿真的顶层文件(右击,选择Set as Top)。e088f319a4b18d490abc76fb9f0e5744.png启动行为仿真,最终输出的波形如下。可以看到,在clk的第一个上升沿后,就有 p = a*a = 64,即实现了平方运算。END后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!907129d2bde26132c967e6f8c7947046.png精彩推荐Verilog HDL 语法学习笔记VHDL语法学习笔记:一文掌握VHDL语法Vivado 2017.2 安装教程(含多版本各类安装包)叁芯智能科技 FPGA开发板,热销中!ecb26a7e4418bc837326c4a103cd4ae4.gif

e81501e14f50780c1a098ef2f52159d6.png

FPGA技术江湖广发江湖帖

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

FPGA技术江湖微信交流群

3a3cd0a2c5dd4f0fd4453605d2d27387.png

加群主微信,备注职业+方向+名字进群

FPGA技术江湖QQ交流群

e1d904b3699703d28e66457c9edd320a.png

备注地区+职业+方向+名字进群

f45d54fbf9bf2579683dea21b705a3e2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值