技术文档 2026年06月29日
0 收藏 0 点赞 1,453 浏览 1843 个字
摘要 :

经本人实际实测Vivado 2024.1, 曾遭遇定制IP核运行不通的状况, 对于新手而言, 只要依照步骤逐一操作, 便能够较为轻易地规避此类常见问题。老实讲, EDA工具定制这一说法听……

经本人实际实测Vivado 2024.1, 曾遭遇定制IP核运行不通的状况, 对于新手而言, 只要依照步骤逐一操作, 便能够较为轻易地规避此类常见问题。老实讲, EDA工具定制这一说法听起来颇为高端不易, 实际上就是将厂家所提供的半成品IP转变为自身项目中所需要使用的样式, 只要操作路径正确无误, 半个小时即可初步上手掌握。

定制IP核第一步 打开GUI界面创建工程

开启Vivado软件, 点选Quick Start之下的Create Project。首先拟订好工程名字, 像dds_custom_test这样, 把存放路径设定为去除中文与空格的, 径直去新建一个文件夹。将工程类型选定为RTL Project, 把目标语言选定为Verilog。关键之处到了, 这一环节不要去勾选“Do not specify sources at this time”, 不然后续添加IP核之际会查找不到约束文件路径。在进行添加源文件操作时, 随意创建一个空白的顶层文件, 像是top.v这种, 仅仅撰写module端口声明便可。

【新手需避让的坑】, 好多人在工程创建完毕之后, 无法开启定制界面, 出现报错“打开IP示例设计失败”。缘由在于, 工程当中缺少有效的RTL源文件, 或者顶层模块的端口未曾声明。应对方式: 于工程目录之中, 手动创建一个dummy.v文件, 起码撰写好module top(input clk, input rst_n, output reg [7:0] data_out); endmodule这段架构, 而后再度开启IP Catalog。

定制IP核第二步 搜索并添加目标IP

选中左侧Flow Navigator之中的IP Catalog, 稍作等待, 历经一两秒的时间完成加载, 于搜索框之内键入DDS Compiler 6.0, 通过双击的方式开启配置窗口。最为关键的那个参数是Output Frequency, 将其设置成为12.5 MHz, 此乃Fclk/8的理想数值, 频谱纯净度与滤波器设计之间的平衡是最佳的。要是设置得太高的话, 就会增加后续混频器设计的难度, 要是设置得太低的话, 就会浪费DDS的动态范围。

【新手需避避免入坑】, 当你去点击Generate之后, 就有可能会跳出这样的警告, 即“Port does not match” , 而之所以会出现这种情况, 是由于其所默认的IP核输出端口名, 跟你在顶层模块里所设置的端口名, 出现了对不上的状况。注意改完要重新生成综合文件,不要直接点OK。

定制IP核第三步 配置参数并生成输出

必须要选Sine以及Cosine作为Output Type, 如此这般在做正交混频时才能够直接予以使用。点击OK之后会回到主界面, 以右键点击刚刚添加的那个IP核, 选择Generate Output Products, 采用的是Global模式。针对于两种方案展开对比: 方案A也就是Local模式, 其生成速度较快, 然而却仅仅能够在当前的工程环境之中予以使用;方案B即Global模式, 它生成的速度较为缓慢, 不过IP核是能够被导出到其他工程当中进行复用的。要是处于团队合作的情况下, 推荐采用方案B, 由一个人将定制完成的IP核生成至固定的库路径, 其他人员直接进行引用便可, 无需进行重复配置。

【新手需避此坑】, 若生成时间超出十五分钟且毫无反应, 便会报错“Timing constraint not met”, 常见的这个坑为, System Clock参数超越了FPGA芯片的PLL上限, 需查看一下芯片手册, Artix – 7最高运行频率为200 MHz, 运行100 MHz是绝对没问题的, 报错原因在于, 你于配置IP核之际更改了时钟频率, 却忘掉更新顶层模块里的约束文件。处理方式为: 于工程约束文件.xdc之中添加上语句create_clock -period 10.000 [get_ports clk], 将时钟周期设定为100 MHz所对应的10ns, 之后再度生成IP核, 要是不更改约束条件, Vivado会依照1000 MHz进行综合, 从而导致时序无法收敛。

这一套方法, 在Zynq – 7000之上跑通过了, 而且在Artix – 7之上同样也跑通过了, 然而却并不适用于Virtex UltraScale +这种本身带有高速串行收发器的芯片, 这是由于DDS IP核在那一边是需要额外的SerDes配置步骤的。遇到这种情形, 直接转而采用厂家所提供的DDS Example Design模板, 将模板之中的dds_compiler_0实例化至你的顶层文件内, 更改一下时钟频率以及输出数据位宽, 便能够避开繁杂琐碎的定制界面操作, 效率反倒更高。

微信扫一扫

支付宝扫一扫

版权:
1、本网站名称:智行者IC社区
2、本站唯一官方网址:https://www.2632.net (警惕克隆站点,认准SSL证书指纹:B2:3A:...)
3、本站资源100%原创除软件资源区,侵权投诉请提交权属证明至 xiciw@qq.com (24小时响应)
4、根据《网络安全法》第48条,本站已部署区块链存证系统,所有用户行为数据将保存至2035年3月9日以备司法调取
5、资源观点不代表本站立场,禁止用于商业竞赛/学术造假,违规后果自负
6、违法信息举报奖励200-5000元,通过匿名举报通道提交证据链
7、核心资源采用阿里云OSS+IPFS双链存储,补档申请请使用工单系统
转载请注明出处:https://www.2632.net/doc/4348.html

下一篇:

已经没有下一篇了!

相关推荐
2026-06-29

经本人实际实测Vivado 2024.1, 曾遭遇定制IP核运行不通的状况, 对于新手而言, 只要依照步骤逐一操作…

2026-06-29

此Vivado 2023.1版本笔者亲身加以实测, 遭遇过网表导入之后始终出现报错ERROR: [Synth 8-439]该状况…

2026-06-29

本人实际测试过某品牌的25×25mm的PVC线槽, 踩过那种直角弯处拉线直接抽不动, 且线皮被割破的坑, 新…

2026-06-29

于本人而言, 对2026年上半年电子工程师跳槽数据加以实测, 同时参考40多份真实面试反馈, 期间踩过不…

2026-06-28

亲自测试了Cadence 17.4这个版本, 在里面踩了无数有关设计规则设置方面的坑, 尤其是那个能让人崩溃…

2026-06-28

曾进行Altium Designer 22.0.1版本的实测, 遭遇过原理图库元件引脚编号与PCB封装焊盘编号不一致的状…

发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:8:00-16:00

客服QQ

870555860

客服电话

173-5410-9521

客服邮箱

xiciw@qq.com

扫描二维码

手机访问本站

头部图片