在vivado中怎么调用时

在vivado中怎么调用时,第1张

设计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是数据深度,即有多少个这样的数据,我打开生成的squarecoe文件可以清楚的看到一共有4096这样的数据。

always enable是ROM一直处于工作状态,不需要使能信号。

这里是加载coe文件,勾选load init file 然后点击browse将刚才生成的squarecoe文件加载到ROM中,最后点击OK。

选择generate生成IP核

打开如图所示文件,

将生成的IP核实例化,即可

最后编写测试文件进行测试

最后右键点击da_data选择wave style选择analog,将会看到模拟波形,但是有时候还是需要设置一下模拟波形的显示,同样右键点击da_data选择wave style选择analog setting,选择如下图所示参数。

最后便大功告成,即可得打方波的波形图

大家还可以按照这种方法将其他两种波形都做出来。

步骤一:
在工程中,将需要封装的模块(包括子模块)设置为顶层模块,例如top为工程的顶层模块,top调用了A和B,B又调用了C和D,需要将B模块以及下面的模块整体加密,也就是封装为网表,那么需要将B设置为顶层模块。
步骤二:设置综合条件
1、在Flatten hierarchy选择为full。
2、在more options中输入-mode out_of_context
步骤三:综合
在工程中运行综合步骤,在综合完成后,打开综合。
步骤四:生成edf
这里和quartus不一样,这里需要通过输入脚本的方式生成。
假设网表文件中没有调用IP,那么输入如下指令:
write_edif F:/FPGA/abcedf
如果调用了IP,输入如下指令:
write_edif -security_mode all F:/FPGA/abcedf
步骤五:生成调用v文件
假设vivado的版本在20174以前,输入如下指令:
write_verilog -mode port F:/FPGA/abc_stubv
20181以后:
write_verilog -mode synth_stub F:/FPGA/abc_stubv

对数据时钟添加延迟add_delay进行设置。
晶振内部振荡器产生的时钟频率fXTAL ≈114、285000000MHz,用户后续都无法更改。
晶振虽然可以在上电状态下通过I2C设置改变输出频率,但是重新上电后又会从Flash里加载出厂设置输出默认的上电频率。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13356938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存