
设计DDS的核心就是调用IP ROM,vivado调用ROM的方法和ISE相类似,都是加载.coe文件,我这里特地做笔记,以防忘记。
这是DDS的原理图,DDS并没有像它的名字一样说的那么玄乎,它的核心便是控制频率的fword字输入,和相位字pword输入,最后调用IP核查找表即可,代码也十分简单,下面给出DDS design代码。
DDS_design
使用vivado调用IP核ROM教程如下
点击IP catalog
选择block memory,然后双击
将show disabled ports 选项勾选掉
输入ROM名,我这里为了演示重新配置一个方波ROM,命名为square_rom
这里选择single ports ROM
按如上图所示勾选参数,port width是数据宽度,我们根据代码要求设置为10位,
port width是数据深度,即有多少个这样的数据,我打开生成的square.coe文件可以清楚的看到一共有4096这样的数据。
always enable是ROM一直处于工作状态,不需要使能信号。
这里是加载.coe文件,勾选load init file 然后点击browse将刚才生成的square.coe文件加载到ROM中,最后点击OK。
选择generate生成IP核
打开如图所示文件,
将生成的IP核实例化,即可
最后编写测试文件进行测试
最后右键点击da_data选择wave style选择analog,将会看到模拟波形,但是有时候还是需要设置一下模拟波形的显示,同样右键点击da_data选择wave style选择analog setting,选择如下图所示参数。
最后便大功告成,即可得打方波的波形图
大家还可以按照这种方法将其他两种波形都做出来。
右击要打开的文件选属性,打开方式中的更改,在程序中找,如果没有你要找的程序,选“浏览”在里面寻找你需要的程序,选择后按确定使用就可以了,使用一次之后,系统就会记下了,以后该类型的文件的打开方式中就会多出一个你选择的程序。添加库即可。工程建好后会有个"xil_default"库,这个其实就是"work"库,vhdl里“library"其实就是个路径。点"Libraries"标签,点"+"按钮,把要引用的库文件(*.ovl)加进来,这时会被加进xil_default库中,然后在"xil_default"树分支下找到刚加进来的库文件(*.ovl),然后在下面的"Source File Propertites"面板里的"Library"编辑框里把它改成你要的库文件名(比如:libcommon),就可以了。
Vivado设计套件,是FPGA厂商赛灵思公司2012年发布的集成设计环境。包括高度集成的设计环境和新一代从系统到IC级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。集成的设计环境——Vivado设计套件包括高度集成的设计环境和新一代从系统到IC级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)