0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

FPGA快乐学习 来源:FPGA快乐学习 作者:FPGA快乐学习 2022-11-03 11:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

16912bd6-5b2a-11ed-a3b6-dac502259ad0.jpg

概述

网表约束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是需要探测监控的信号。

16a5954e-5b2a-11ed-a3b6-dac502259ad0.jpg

图1 识别需要进行探测的信号1

16c1d39e-5b2a-11ed-a3b6-dac502259ad0.jpg

图2识别需要进行探测的信号2

如图3所示,在待探测信号定义申明前面增加语句:(*mark_debug= "true"*)。当然了,如果后续不探测这个信号了,直接修改“true”为“false”就可以。

16d7a246-5b2a-11ed-a3b6-dac502259ad0.jpg

图3 标注需要探测的信号

完成对探测信号的mark_debug标记后,如图4所示,点击“Synthesis à Run Synthesis”对工程进行综合编译。

16eae234-5b2a-11ed-a3b6-dac502259ad0.jpg

图4 工程的综合编译

综合编辑完成后,如图5所示,接着点击“Synthesis à Synthesized Design à Set Up Debug”。

16fb14a6-5b2a-11ed-a3b6-dac502259ad0.jpg

图5 Set Up Debug菜单

如图6所示,点击Next进入下一步。

1712baac-5b2a-11ed-a3b6-dac502259ad0.jpg

图6 Set Up Debug Wizard页面

如图7所示,Nets to Debug界面显示的信号正是我们在前面的工程源码中标记了(*mark_debug = "true"*)的信号。如果没有被标记过的信号,我们希望添加到Nets to Debug界面中,就要点击Find Netsto Add…按钮逐个查找并添加了,效率要明显低于直接在工程源码中事先标记。对这些调试信号做采样和触发属性设置后,点击Next进入下一页面。

173474a8-5b2a-11ed-a3b6-dac502259ad0.jpg

图7 Nets to Debug页面

如图8所示,ILA Core Options页面中,可以设定探测信号的采样深度、缓存寄存器等级和信号采集触发相关控制选项。完成设置后,点击Next进入下一页面。

17531f84-5b2a-11ed-a3b6-dac502259ad0.jpg

图8 ILA CoreOptions页面

如图9所示,Set up Debug Summary中点击Finish完成设置。

1769d134-5b2a-11ed-a3b6-dac502259ad0.jpg

图9 Set upDebug Summary页面

此时,如图10所示,所有的探测信号出现在了Debug窗口中。

177e67a2-5b2a-11ed-a3b6-dac502259ad0.jpg

图10 Debug窗口

接着,重新对工程进行编译,将产生的比特流烧录到FPGA器件中,最终便能捕捉到如图11所示的实际的信号波形。

178ed380-5b2a-11ed-a3b6-dac502259ad0.jpg

图11 触发位置的波形

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22502

    浏览量

    639054
  • 源码
    +关注

    关注

    8

    文章

    689

    浏览量

    31494
  • 约束
    +关注

    关注

    0

    文章

    83

    浏览量

    13209

原文标题:物理约束实践:网表约束MARK_DEBUG

文章出处:【微信号:FPGA快乐学习,微信公众号:FPGA快乐学习】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EHB系统MOSFET选型指南:基于热响应滞后与高频控制约束的决策清单

    基于 EHB 系统的极端工况,梳理 MOSFET 选型中的物理风险,并提供结构化的条件决策清单。 一、 EHB 制动控制的核心选型约束 在为 EHB 系统的电机驱动单元进行 MOSFET 选型时,系统工程师必须框定以下前置约束
    的头像 发表于 03-17 13:23 6409次阅读

    电压放大器在主动约束层阻尼板研究测试中的应用

    主动约束层阻尼结构采用压电或其他智能材料取代经典约束层阻尼结构中的约束层,并通过引入主动控制系统,进一步增强约束阻尼层对振动能量的耗散能力。即使在主动控制系统关闭或失效的情况下,仍能保
    的头像 发表于 03-09 14:33 169次阅读
    电压放大器在主动<b class='flag-5'>约束</b>层阻尼板研究测试中的应用

    Vivado时序约束中invert参数的作用和应用场景

    在Vivado的时序约束中,-invert是用于控制信号极性的特殊参数,应用于时钟约束(Clock Constraints)和延迟约束(Delay Constraints)中,用于指定信号的有效边沿或逻辑极性。
    的头像 发表于 02-09 13:49 427次阅读
    Vivado时序<b class='flag-5'>约束</b>中invert参数的作用和应用场景

    使用Vivado ILA进行复杂时序分析的完整流程

    在 HDL 代码中标记待观测信号,添加 (* mark_debug = "true" *) 属性(Verilog)或 keep 属性(VHDL)
    的头像 发表于 02-04 11:28 528次阅读

    vivado中常用时序约束指令介绍

    在vivado中,我们常用的时序约束指令主要包括如下几个方面。
    的头像 发表于 01-20 16:15 626次阅读

    输入引脚时钟约束_Xilinx FPGA编程技巧-常用时序约束详解

    基本的约束方法 为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取。最普遍的三种路径以及异常路径为: 输入路径(Input Path),使用输入约束 寄存器到寄存器路径
    发表于 01-16 08:19

    声智科技提出物理信息约束的声学世界模型

    scene denoising and dynamic prediction)入选,是计算声学(Computational Acoustics)领域唯一入选的中国团队。声智联合创始人常乐代表团队做了学术报告,首次介绍物理信息约束的声学
    的头像 发表于 12-12 16:10 1065次阅读

    时序约束问题的解决办法

    Time 是否满足约束。 我们要留意的是 WNS 和 WHS 两个数值,如果这两个数值为红色,就说明时序不满足约束。下面将解释怎么解决这个问题。 1. Setup Time 违例 Setup
    发表于 10-24 09:55

    关于综合保持时间约束不满足的问题

    1、将 nuclei-config.xdc 和 nuclei-master.xdc 加入到项目工程中,综合得到时序约束报告如下: 保持时间约束不满足,分析原因,发现所有不满足均出现在
    发表于 10-24 07:42

    技术资讯 I Allegro 设计中的走线约束设计

    本文要点在进行时序等长布线操作的时候,在布线操作的时候不管你是走蛇形线还是走折线,约束管理器会自动帮你计算长度、标偏差,通过精确控制走线长度,来实现信号的时序匹配。约束设计就是一套精准的导航系统
    的头像 发表于 09-05 15:19 1524次阅读
    技术资讯 I Allegro 设计中的走线<b class='flag-5'>约束</b>设计

    技术资讯 I 图文详解约束管理器-差分对规则约束

    本文要点你是否经常在Layout设计中抓瞎,拿着板子无从下手,拿着鼠标深夜狂按;DDR等长没做好导致系统不稳定,PCIe没设相位容差造成链路训练失败……这些都是血泪教训,关键时刻需要靠约束管理器救命
    的头像 发表于 08-08 17:01 1484次阅读
    技术资讯 I 图文详解<b class='flag-5'>约束</b>管理器-差分对规则<b class='flag-5'>约束</b>

    西门子再收购EDA公司 西门子宣布收购Excellicon公司 时序约束工具开发商

    精彩看点 此次收购将帮助系统级芯片 (SoC) 设计人员通过经市场检验的时序约束管理能力来加速设计,并提高功能约束和结构约束的正确性   西门子宣布 收购 Excellicon 公司 ,将该公司用于
    的头像 发表于 05-20 19:04 1812次阅读
    西门子再收购EDA公司  西门子宣布收购Excellicon公司  时序<b class='flag-5'>约束</b>工具开发商

    PCB Layout 约束管理,助力优化设计

    本文重点PCBlayout约束管理在设计中的重要性Layout约束有助避免一些设计问题设计中可以使用的不同约束在PCB设计规则和约束管理方面,许多设计师试图采用“一刀切”的方法,认为同
    的头像 发表于 05-16 13:02 1187次阅读
    PCB Layout <b class='flag-5'>约束</b>管理,助力优化设计

    PanDao:实际约束条件下成像系统的初始结构的生成

    摘要 :初始点的选择对后续设计过程具有重大影响。除透镜规格外,其它必要的实际约束条件也可能起到非常关键的作用。本研究采用“First Time Right”方法生成受约束的初始系统,并运用
    发表于 05-07 08:57

    FPGA时序约束之设置时钟组

    Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径,除非时序约束中设置了时钟组或false路径。使用set_clock_groups命令可以使时序分析工具不分析时钟组中时钟的时序路径,使用set_false_path约束则会双向忽略时钟间的时序路径
    的头像 发表于 04-23 09:50 1637次阅读
    FPGA时序<b class='flag-5'>约束</b>之设置时钟组