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
    +关注

    关注

    1611

    文章

    21394

    浏览量

    595660
  • 源码
    +关注

    关注

    8

    文章

    601

    浏览量

    28740
  • 约束
    +关注

    关注

    0

    文章

    82

    浏览量

    12663

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

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

收藏 人收藏

    评论

    相关推荐

    时序约束实操

    添加约束的目的是为了告诉FPGA你的设计指标及运行情况。在上面的生成约束之后,在Result àxx.sdc中提供约束参考(请注意该文件不能直接添加到工程中,需要热复制到别的指定目录或者新建自己的SDC文件添加到工程)。
    的头像 发表于 04-28 18:36 1475次阅读
    时序<b class='flag-5'>约束</b>实操

    Xilinx FPGA的约束设置基础

    LOC约束是FPGA设计中最基本的布局约束和综合约束,能够定义基本设计单元在FPGA芯片中的位置,可实现绝对定位、范围定位以及区域定位。
    发表于 04-26 17:05 329次阅读
    Xilinx FPGA的<b class='flag-5'>约束</b>设置基础

    FPGA物理约束之布局约束

    在进行布局约束前,通常会对现有设计进行设计实现(Implementation)编译。在完成第一次设计实现编译后,工程设计通常会不断更新迭代,此时对于设计中一些固定不变的逻辑,设计者希望它们的编译结果
    的头像 发表于 01-02 14:13 784次阅读
    FPGA<b class='flag-5'>物理</b><b class='flag-5'>约束</b>之布局<b class='flag-5'>约束</b>

    FPGA物理约束之布线约束

    IS_ROUTE_FIXED命令用于指定网络的所有布线进行固定约束。进入Implemented页面后,Netlist窗口如图1所示,其中Nets文件展开后可以看到工程中所有的布线网络。
    的头像 发表于 12-16 14:04 673次阅读
    FPGA<b class='flag-5'>物理</b><b class='flag-5'>约束</b>之布线<b class='flag-5'>约束</b>

    物理约束实践:I/O约束

    I/O约束(I/O Constraints)包括I/O标准(I/OStandard)约束和I/O位置(I/O location)约束
    的头像 发表于 11-18 16:42 729次阅读
    <b class='flag-5'>物理</b><b class='flag-5'>约束</b><b class='flag-5'>实践</b>:I/O<b class='flag-5'>约束</b>

    FPGA的约束设计和时序分析

    在进行FPGA的设计时,经常会需要在综合、实现的阶段添加约束,以便能够控制综合、实现过程,使设计满足我们需要的运行速度、引脚位置等要求。通常的做法是设计编写约束文件并导入到综合实现工具,在进行
    发表于 09-21 07:45

    如何给每个RM添加约束

    在常规非DFX(DynamicFunction eXchange)的Vivado设计中,我们可能会碰到给某一个指定的模块添加特定的约束。这时一个简单的方法就是将这些约束单独写在一个.xdc或.tcl
    的头像 发表于 08-17 09:23 397次阅读
    如何给每个RM添加<b class='flag-5'>约束</b>?

    FPGA时钟周期约束讲解

    时钟周期约束是用于对时钟周期的约束,属于时序约束中最重要的约束之一。
    发表于 08-14 18:25 656次阅读

    FPGA I/O口时序约束讲解

    前面讲解了时序约束的理论知识FPGA时序约束理论篇,本章讲解时序约束实际使用。
    发表于 08-14 18:22 1117次阅读
    FPGA I/O口时序<b class='flag-5'>约束</b>讲解

    请问时序约束文件SDC支持哪些约束

    时序约束文件SDC支持哪些约束
    发表于 08-11 09:27

    请问物理约束文件ADC可做哪些约束

    物理约束文件ADC可做哪些约束
    发表于 08-11 08:37

    时序约束连载03~约束步骤总结

    本小节对时序约束做最终的总结
    的头像 发表于 07-11 17:18 455次阅读
    时序<b class='flag-5'>约束</b>连载03~<b class='flag-5'>约束</b>步骤总结

    时序约束连载01~output delay约束

    本文将详细介绍输出延时的概念、场景分类、约束参数获取方法以及约束方法
    的头像 发表于 07-11 17:12 1993次阅读
    时序<b class='flag-5'>约束</b>连载01~output delay<b class='flag-5'>约束</b>

    聊聊ASIC设计约束与SDC命令

    根据ASIC逻辑设计,优化的约束是速度和面积。在物理设计中,我们需要对面积、速度和功率进行优化设计。根据所需的技术节点和策略进行更好的功耗规划,总是有助于获得芯片的布局。
    发表于 07-11 09:31 497次阅读
    聊聊ASIC设计<b class='flag-5'>约束</b>与SDC命令

    ASIC设计约束与SDC命令

    根据ASIC逻辑设计,优化的约束是速度和面积。在物理设计中,我们需要对面积、速度和功率进行优化设计。根据所需的技术节点和策略进行更好的功耗规划,总是有助于获得芯片的布局。
    的头像 发表于 07-09 11:28 436次阅读
    ASIC设计<b class='flag-5'>约束</b>与SDC命令