全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

如何对传统的非DFX设计进行调试呢?

时间:2023-08-10 09:07

人气:

作者:admin

标签: RTL  VHDL语言  VIO  DFx  处理器 

导读:对传统的非DFX设计进行调试时,一个重要环节是插入ILA(Integrated Logic Analyzer,集成逻辑分析仪)。...

对传统的非DFX设计进行调试时,一个重要环节是插入ILA(Integrated Logic Analyzer,集成逻辑分析仪)。可以采用如下图所示的两种方式。方式1是实例化方式,即在RTL代码或者BD中实例化ILA。如果图中红色字体“Instantiation”所示。方式2是网表插入方式,即在综合后的网表中插入ILA。

不难看出方式1是在综合之前完成,而方式2则是在综合之后完成。方式1需要手工例化ILA,同时将待测网线连接到ILA的测试端口,这个过程稍显繁琐,尤其是待测信号需要穿越多个层次到达ILA所在层次时,但也确保了待测信号能够百分之百被观测到(不会被工具优化掉)。方式2更为自动化,在综合后的网表中找到待测信号将其标记为debug(本质上是将其属性mark_debug设置为true)。但有可能出现待测信号名字发生改变或者彻底被优化掉而无法找到的情形。

b9ab78e4-3711-11ee-9e74-dac502259ad0.png

对于DFX设计,那么就只能使用实例化方式插入ILA。但即便如此,仍有一些特殊之处。为便于说明,我们看一个实际案例。这个DFX设计中的RP(Reconfigurable Partition)为math,该RP下有两个RM(ReconfigurableModule),分别为add和mult,如下图所示。

每个RM中均包含一个ILA。这个ILA无论参数配置是否一致,都要分别调用ILA IP Core,单独例化。这是DFX设计所要求的,即每个IP都要以唯一的方式存在于RM中。

b9e78bc2-3711-11ee-9e74-dac502259ad0.png

到这里我们看到的例化ILA的方式与传统的非DFX设计并没有什么不同。但是在每个RM的顶层,需要添加12个BSCAN端口,如下图所示。这12个端口最终会与dbg_hub相连。这里要求端口名字必须与图中红色方框内的名字完全一致,如果不一致,则要通过属性X_INTERFACE_INFO设定。

b9fdf290-3711-11ee-9e74-dac502259ad0.png

ba0c4f5c-3711-11ee-9e74-dac502259ad0.png

在整个设计的顶层,对RM进行实例化时,这12个端口的端口映射为空,如下图所示,如果使用的是VHDL,端口映射内填写open。

ba27d254-3711-11ee-9e74-dac502259ad0.png 在综合阶段生成的网表中,dbg_hub是以黑盒子的形式存在,在设计顶层和RM内分别有一个dbg_hub,如下图所示。dbg_hub与ILA的连接关系由工具自动处理,无需人工干预。

ba43d95e-3711-11ee-9e74-dac502259ad0.pngba550a94-3711-11ee-9e74-dac502259ad0.png

实际上,在opt_design阶段,Vivado会自动生成dbg_hub,这可在runme.log文件中查看到,如下图所示。

ba7da062-3711-11ee-9e74-dac502259ad0.png

打开布线后的网表文件,执行命令get_debug_cores,可以看到当前网表中的ILA、VIO和dbg_hub。如下图所示,设计顶层和RM中各有一个dbg_hub。

bab25ffa-3711-11ee-9e74-dac502259ad0.png

如果某个RM中并没有使用ILA或VIO,而其他RM中至少有一个使用了ILA或VIO,那么所有的RM都要列出上文提到的12个BSCAN端口,以确保所有RM接口的一致性。







审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信