物理约束实践:网表约束MARK_DEBUG

概述
网表约束mark_debug可应用在源码中的任意一个网络信号上,被施加该约束的网络信号在调试界面中可见,从而方便在线调试时快速定位该信号,提升调试效率。话不多说,下面以fpga中的在线逻辑分析仪(ila)的调试实践为例,让大家感受一下网表约束mark_debug的妙用。
工程实践
以star fpga开发板中的at7_ex10工程为例,这个工程实现uart传输的loopback功能。该实例中使用在线逻辑分析仪希望探测到fpga端接收并进行串并转换过程中所设计的一些主要信号。
首先需要找出待探测的信号。如图1和图2所示,在my_uart_rx.v模块中,uart_rx、clk_bps、rx_data、rx_int、num、rx_temp_data是需要探测监控的信号。
图1 识别需要进行探测的信号1
图2识别需要进行探测的信号2
如图3所示,在待探测信号定义申明前面增加语句:(*mark_debug= true*)。当然了,如果后续不探测这个信号了,直接修改“true”为“false”就可以。
图3 标注需要探测的信号
完成对探测信号的mark_debug标记后,如图4所示,点击“synthesis à run synthesis”对工程进行综合编译。
图4 工程的综合编译
综合编辑完成后,如图5所示,接着点击“synthesis à synthesized design à set up debug”。
图5 set up debug菜单
如图6所示,点击next进入下一步。
图6 set up debug wizard页面
如图7所示,nets to debug界面显示的信号正是我们在前面的工程源码中标记了(*mark_debug = true*)的信号。如果没有被标记过的信号,我们希望添加到nets to debug界面中,就要点击find netsto add…按钮逐个查找并添加了,效率要明显低于直接在工程源码中事先标记。对这些调试信号做采样和触发属性设置后,点击next进入下一页面。
图7 nets to debug页面
如图8所示,ila core options页面中,可以设定探测信号的采样深度、缓存寄存器等级和信号采集触发相关控制选项。完成设置后,点击next进入下一页面。
图8 ila coreoptions页面
如图9所示,set up debug summary中点击finish完成设置。
图9 set updebug summary页面
此时,如图10所示,所有的探测信号出现在了debug窗口中。
图10 debug窗口
接着,重新对工程进行编译,将产生的比特流烧录到fpga器件中,最终便能捕捉到如图11所示的实际的信号波形。
图11 触发位置的波形


基于USound公司的先进个人MEMS技术应用音频系统
选择机器视觉系统中控制器的一些考量因素
不带放电功能的新能源车如何取电?
3D打印技术创新,3D打印“兔子”成功复制5代
40年前,美国驯服了日本,但这次美国还能如愿吗?
物理约束实践:网表约束MARK_DEBUG
华为MediaPadT5印度上市 最低售价约合人民币1500元
物联网卡有哪些神奇的功能?
数字式毫秒表作为电力系统继电保护装置,它有哪些功能
联络中心软件供应商先进的自助服务选项正变得越来越有吸引力
美的:机器人业务上半年亏损7.59亿
如何使用数字相位表对两个激光进行混频锁相
数据通信与网络:数字数据,模拟数据和数字信号间的转换
IBC 2023 | 华为谭峰:新视频,新生活
全球蜂窝模组龙头进军UWB模组,UWB产业格局正在剧烈变革!
设计模式行为型:命令模式
SK海力士斥资280亿元采购EUV光刻机
如何用热转印法制作PCB
变压器在运行中的几种测试
iPhone15Pro新增灰色 与土豪金拜拜 iphone15pro参数配置大升级