Introduction
目录
之前用过ISE和Quartus II一段时间,给我感觉二者界面并不是特别的友好,而且最近版(2018.2 Update)的ISE14.7最高支持Virtex-6系列,如图1:
![](https://i-blog.csdnimg.cn/blog_migrate/bbe78962132e80b9930cd8e90a1ecc3a.png)
Virtex-7系列Xilinx公司推荐使用Vivado,因为Xilinx公司的高端系列芯片基本都是基于Vivado开发的;另外一点,基于老师那边的项目用到了Virtex-7系列下的XCKU115, 因此这次就使用Vivado2018.2进行项目学习与开发,而且最近(2018.10)更新的Vivado2018.2安装之后发现它的界面风格是我比较喜欢的,如图2和3:
![](https://i-blog.csdnimg.cn/blog_migrate/a1d9e4640f4113537c6d92a4836f77b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7807e889f49fdcefbdc62536de65381b.png)
不得不说,IP核是一个很神奇的东西,通过它可大大减少我们的开发时间,而且Vivado中有很多IP核可以直接使用,例如数学运算(乘法器、除法器、浮点运算器等)、信号处理(FFT、DFT、DDS等),IP核类似编程中的函数库(例如C语言中的printf()
函数),可以直接调用,非常方便。
本次也是基于FIR的IP核进行低通滤波器设计,滤波器参数由matlab的工具箱FDATool设计给出,输入波形为4MHz和5MHz的正弦波叠加,叠加过程由乘法器IP核实现,正弦波由DDS IP核实现,系统整体过程见下:
新建工程(Create a New Porject)
打开Vivado2018.2,点击Create Project选项,如图4:
![](https://i-blog.csdnimg.cn/blog_migrate/f82779dd2211ff8984ddffad3f7ecb2e.png)
点击Next,如图5:
![](https://i-blog.csdnimg.cn/blog_migrate/072c90c022724a8ee09267fab3f0d6de.png)
命名工程(Project name)以及工程存储路径(Project Location),注意路径不要含空格和中文,空格用下划线替代,这里我取名为FIR_blog,勾选上Create project subdirctory(创建工程子目录),点击Next
![](https://i-blog.csdnimg.cn/blog_migrate/ea97d5d3abfd3055fc7098008b0ca14e.png)
选择工程类型(Project Type),如图6,一般对于普通的项目我们选择RTL Project(在设计PCB会用到I/Oplanning这种类型,用在原理图和封装兼容性设计),同时不勾选Do not specify sources at this time,后续再添加源文件就行,点击Next
![](https://i-blog.csdnimg.cn/blog_migrate/e85c6dd0d6b0b5b21ed71c4c5baa36ac.png)
添加源文件(Add Sources)和物理&时间约束引脚文件(Constraints),如图7和8,现在先不添加,直接点击Next就Ok
![](https://i-blog.csdnimg.cn/blog_migrate/3ee929f10ce8e4dec567b7abed9d61da.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6c791102c858d169cbb23249385fbd72.png)
选择芯片型号,因为老师的项目用到了Xilinx公司的V7系列XCKU115,我们选择该芯片型号,直接搜索就可以,
芯片封装型号:flvf1924 速度等级:3 ,点击Next
![](https://i-blog.csdnimg.cn/blog_migrate/4e7c9f8cbb3561d8f463c6b9b2af04d2.png)
最后生成Project Summary,这里可以查看上一步选择的芯片型号以及添加的源文件,由于我们没有添加源文件,因此显示No Source files...,点击Finish创建New Project成功。
![](https://i-blog.csdnimg.cn/blog_migrate/e9d45ce58b971d7fa625f1211b72146c.png)
输入正弦波叠加IP核实现
首先利用Vivado的DDS IP核生成两个正弦信号(频率分别为4MHz和5MHz)
- 点击创建Block Design,命名Design name,这里命名为dds_fir,如图12:
![](https://i-blog.csdnimg.cn/blog_migrate/c66c88b25834af6e2c9ee4ecb2ab99ac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4fe9e24956e58940129efed346626f80.png)
- 点击Add IP,如图13,直接搜索dds,双击DDS Compiler生成一个dds IP核,如图14所示
![](https://i-blog.csdnimg.cn/blog_migrate/c8c80dd082566320dd02ad0e6b9ec7c7.png)