FPGA应用之vivado三种常用IP核的调用

可编程逻辑

1349人已加入

描述

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

  今天介绍的是vivado的三种常用IP核:时钟倍频(Clocking Wizard),实时仿真(ILA),ROM调用(Block Memory)。

  Clocking Wizard该IP核可以将输入的时钟信号进行倍频,倍数可以大于1,也可以小于1,非常方便。

  1.打开vivado 找到IP CatelogVivado

  在右侧输入栏中输入clk,找到Clocking Wizard

  Vivado

  双击该项目打开,根据开发板上晶振频率进行输入时钟配置Vivado

  配置需要输出的倍频频率Vivado

  在最下方可选择IP核需要的引脚,我都没用到,因此全取消了(之前有遇到选择reset和lock引脚后IP核不能使用的情况,原因还未弄清楚)。Vivado

  点击OK,并点击Generate,完成Clocking Wizard的配置Vivado

  在代码中对IP核进行调用Vivado

  编写TESTBENCH,仿真结果如下Vivado

  ILAILA是用于实时仿真的IP核,在你将bit文件烧入芯片后,可在ILA核中看到你想观察的图像和数据。

  打开IP Catelog,输入ILAVivado

  双击打开项目,配置需要观察的端口数,采样的深度Vivado

  配置观察端口的位数Vivado

  点击OK,和Generate完成IP核配置Vivado

  在代码中调用IP核Vivado

  完成工程综合后,下载文件,点击运行和循环,开始观察Vivado

  Block Memory该IP核调用片内ROM,可以用来储正弦波,三角波等波形。该IP核引用文件的格式为.coe,因此我们需要先使用Matlab生成一个.coe文件。

  打开matlab,新建一个.m文件,输入以下代码生成一个位宽10位,深度1024的正弦波

  Vivado

  生成文件之后,用notepad++(或UltraEdit)打开,你会看见已经生成好的1024个数据,这时需要在文件的最开始添加下面两句:

  Vivado

  radix表示是十进制显示。之后,在文件的最末尾,将最后一个数据后面的逗号改成分号,点击保存。VivadoVivado

  打开vivado,点击IP Catalog,输入blockVivado

  双击打开项目,选择Single port ROMVivado

  配置要存入的数据位宽和数据深度,我之前生成的是位宽10位,深度1024的数据选择Always Enanbled,让IP核始终处于工作状态Vivado

  将之前生成好的文件载入IP核Vivado

  点击OK和Generate,完成IP核配置在代码中调用IP核,我这里DAC是低位在前Vivado

  编写好Testbench后,可以在仿真中看到正弦波,我这里因为低位在前,所以波形杂乱。Vivado

  以上,便是vivado三种常用IP核的调用。编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分