当前位置:   article > 正文

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

vivado fftip核使用说明
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.png 21724287833642c74630ca22dcec56ef.png 一、添加IP核 1. 点击Flow Navigator中的IP Catalog。 2da87836e15cebd9b67088d9a5ec77b2.png 2. 选择Math Functions下的Multiplier,即乘法器,并双击。 4c21bd028a57fb5475b39b172dd5e8b9.png  3. 将弹出IP核的参数设置对话框。点击左上角的Documentation,可以打开这个IP核的使用手册查阅。这里直接设置输入信号A和B均为4位无符号型数据,其他均为默认值,点击OK。 f3e7b7c61ada05f6a3a7507bd8b0b077.png  4. 稍后弹出的窗口,点击Generate。 82a406e701b8a1064c62779a3fca3241.png a7b0bc6850e5e5ef92bad57bf84eb82b.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.png a7b0bc6850e5e5ef92bad57bf84eb82b.png 三、行为仿真验证 以demo为顶层模块,启动行为仿真,即可输出波形。设置a、b、p显示为无符号十进制(右击选择Radix - Unsigned Decimal)。如图,可以看到a=7, b=8,第一个时钟上升沿后p = a * b = 56。 3402aa756b5bfe2e2ecff1dcdb1a0f91.png a3fdf94bc60c402bf3dbebd8f8ccf433.png

框图(Block Design)中调用IP核

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

四、仿真测试

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

a892be83d7b1ee91a364b8b6ee62a7b4.png 2. 选择第二项并点击OK。 a0351897a0c04d4d4632edc7af80a9c2.png 3. 打开生成的design_1_wrapper.v文件如图,红框中的代码用来调用前面画好的Block Design模块。 1a623d1d78ff1da3a681dc96208e505f.png 4. 在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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/669450
推荐阅读
相关标签
  

闽ICP备14008679号