news 2026/5/7 20:42:52

项目开发中常用的Vivado软件调试技巧(一)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
项目开发中常用的Vivado软件调试技巧(一)

技巧一: 高效利用高速采样时钟采样低频数据

在项目中,利用JTAG采样低频数据时,受限于片上BRAM资源,采样的数据深度不能太深;另外,通常会受限于JTAG仿真器时钟也不能设置太低频率(如图1所示),所以对于低频数据进行调试或者排查偶发故障需要多次抓取故障附近数据时,简单采用如图2所示触发方式,只能在①处触发条件时采样一个重复很多次的"H"数据,不能采集到完整的串口指令,不方便调试问题。

图1:JTAG clock频率设置

图2:默认简单触发条件设置

因此,在利用高频时钟采样低频数据时,可以在图3所示,在①处Nuber of windows采样窗口设置40个,即将2048个采样深度分为40段,每段满足④处触发条件时,都会采样数据,这样就可以删除大量重复数据,得到我们想要观察的完整串口通信指令。

图3:采用多段触发采样

技巧二:选择合适的ILA核端口例化参数方式

在利用ILA核调试Verilog代码时,有时需要观察的信号非常多,调试过程中还要不断修改要观察的信号,如果采用如图4所示方式,需要不断修改ILA核信号位宽,以满足要观察的信号,不便于调试。

图4:ILA核调用方式1

这时,可以利用如图5所示方式,ILA核port设置为1个,观察信号位宽设置为较宽值,方便添加或修改要观察的信号,而无需每次修改ILA核设置。

图5:ILA核调用方式2

注意:在使用图5所示ILA核方式调试时,如果触发逻辑设置为如图6所示,<,<=,>,=>时,软件将产生错误,如图7所示,这种情况下可以使用图4所示调用方式。

图6:ILA核调用方式2触发逻辑选择

图7:ILA核调用方式2触发错误情况

技巧三:Vivado中未分配管脚IO不检查约束设置

在顶层文件FPGA外部接口有时会添加一些调试IO口,这些IO口如果不分配管脚约束,Vivado软件编译检查IO约束时就会报错,此时可以在.xdc文件中添加以下语法,跳过未分配IO语法检查。

set_property SEVERITY {Warning} [get_drc_checks NSTD-1]

set_property SEVERITY {Warning} [get_drc_checks RTSTAT-1]

set_property SEVERITY {Warning} [get_drc_checks UCIO-1]

技巧四:压缩比特流文件,提高Flash下载速度

FPGA编译后的程序往往较大,通过压缩,可以减少比特流文件大小,提到下载速度快,加载速度更快。在约束文件中可以增加以下约束:

set_property BITSTREAM.GENERAL.COMPRESS true [current_design]

set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]

set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]

set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

需要注意的是:设置Flash配置速度、位宽、时钟加载沿仅对FPGA有用,ZYNQ SOC不支持。


欢迎关注FPGA技术实战公众号,喜欢就多多转发吧!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 19:00:18

Packet Tracer汉化完整指南:适用于初学者的配置流程

让Packet Tracer说中文&#xff1a;零基础也能搞定的汉化实战指南 你是不是也曾在打开 Packet Tracer 的那一刻&#xff0c;面对满屏英文菜单感到头大&#xff1f;“Simulation Mode”是啥&#xff1f;“Realtime”和“Simulation”切换按钮到底干啥用的&#xff1f;刚学网络…

作者头像 李华
网站建设 2026/4/22 11:07:20

AES 与 SM4 加密算法:深度解析与对比

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

作者头像 李华
网站建设 2026/4/18 13:22:27

基于minidump的系统崩溃分析:手把手教程

从蓝屏到真相&#xff1a;用 minidump 破解系统崩溃的底层密码 你有没有遇到过这种情况——电脑突然一黑&#xff0c;紧接着满屏刺眼的蓝色界面跳出来&#xff0c;上面写着一堆看不懂的错误代码&#xff1f; 重启后一切如常&#xff0c;但几天后它又来了。 “老是蓝屏” &a…

作者头像 李华
网站建设 2026/5/3 8:34:23

基于python旅游景点推荐系统 协同过滤推荐算法 数据分析+可视化 Django框架 数据仓库 Hadoop saprk(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝50W&#xff0c;前互联网大厂软件研发、集结硕博英豪成立软件开发工作室&#xff0c;专注于计算机相关专业项目实战6年之久&#xff0c;累计开发项目作品上万套。凭借丰富的经验与专业实力&#xff0c;已帮助成千上万的学生顺利毕业&#xff0c;…

作者头像 李华
网站建设 2026/5/5 23:51:47

树莓派5安装ROS2配置步骤完整示例

树莓派5上从零搭建ROS2开发环境&#xff1a;实战配置全记录 最近在做一款自主移动机器人的原型开发&#xff0c;主控平台选用了刚入手的 树莓派5 。这颗小板子性能确实惊艳——四核A76、2.4GHz主频、支持NVMe SSD扩展&#xff0c;完全不像传统印象中“跑不动复杂系统”的树莓…

作者头像 李华
网站建设 2026/5/2 5:39:09

新手必看:Multisim14.0虚拟电源设置通俗解释

新手避坑指南&#xff1a;Multisim 14.0 虚拟电源设置全解析你有没有遇到过这种情况&#xff1f;辛辛苦苦画好了一个运放电路&#xff0c;信心满满地点下“运行仿真”&#xff0c;结果输出波形一片死寂——没有信号、没有响应&#xff0c;连万用表都测不到电压。别急&#xff0…

作者头像 李华