当前位置: 首页 > news >正文

项目开发中常用的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技术实战公众号,喜欢就多多转发吧!

http://www.zskr.cn/news/138097.html

相关文章:

  • 基于python旅游景点推荐系统 协同过滤推荐算法 数据分析+可视化 Django框架 数据仓库 Hadoop saprk(建议收藏)✅
  • PCAN多通道同步通信的Windows平台解决方案
  • 一文说清上位机在Modbus协议中的角色与作用
  • Arduino IDE设置中文的通俗解释与步骤
  • Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(七)
  • 使用libiconv-win-build在Windows平台下编译libiconv
  • 新手必看:Multisim14.0虚拟电源设置通俗解释
  • 驱动开发中WinDbg分析DMP蓝屏文件的完整指南
  • 基于minidump的系统崩溃分析:手把手教程
  • Packet Tracer汉化完整指南:适用于初学者的配置流程
  • 数据库性能优化实战:从工程架构到SQL深度调优的全面指南
  • 分布式搜索ES面试题精讲:实战案例
  • Babel中实现ES6函数扩展的深度剖析
  • 零基础也能懂的ESP32连接阿里云MQTT讲解
  • 一文说清Vivado下载在Artix-7上的实现方法
  • 工业自动化设备PCB布线可制造性设计:DFM实践指南
  • Flutter AR 开发:打造厘米级精度的室内导航应用
  • 项目超编与人力如何优化处理
  • GlcNAc beta(1-3)GalNAc-alpha-Thr—糖肽研究与治疗的关键糖基化结构单元 CAS号: 126740-76-9
  • 小程序springboot新能源汽车4S店试驾平台_i3v8mexl
  • 小程序springboot校园学生宿舍报修管理系统_th4x9yos
  • 小程序springboot校园智能垃圾分类回收预约平台_myez9h59
  • Gemini vs GPT-4 vs Claude免费额度对比
  • 幽冥大陆(六十) SmolVLM 本地部署 轻量 AI 方案—东方仙盟筑基期
  • Kafka 消费者的负载均衡在大数据中的实现
  • ModbusRTU报文结构完整指南(主从模式)
  • 一文说清Batocera游戏整合包的ROM目录结构与规范
  • NetActuate扩建丹佛数据中心提升混合云与灾备能力
  • LC.173 | 二叉搜索树迭代器 | 树 | 中序展开/栈模拟
  • Java计算机毕设之基于springboot的旧物回收商城系统的设计与实现基于Springboot的旧物置换网站实现(完整前后端代码+说明文档+LW,调试定制等)