历史内容合集
0 应用背景
在vcspyglass中,可以通过get_cells -filter
的方式抓取同一类的信号,比如如下module
module async_fifo (
output empty,
output full
......
);
// 省略code内容
// ......
// 这是结束处
endmodule
async_fifo
可能在design中有很多地方都调用了,如果一个一个去找,design规模大的话,很难找全,在vcspyglass中可以用如下cmd抓取所有调用async_fifo
的hier
get_cells -filter "ref_name=~*async_fifo*" -h
但是当async_fifo
被调用的次数很多时,tool会用...
省略掉一些
下面介绍原因
1 原因
在user guide中有提到,默认情况下,tool最多显示100个objects,如果超过100个,则会用...
省略
2 解决方法
当async_fifo
被调用的次数超过100时,可以在vcspyglass的cmd line先执行如下命令
set collection_result_display_limit 200
其中的200
是将显示的最大数改为200
想改为不限制最大值
试过将 200 改为 -1 => tool直接报错
试过将 200 改为 0 => 结果没有显示
3 一点其他的操作
3.1 获取两个clk的关系
可以通过如下cmd获取两个clk之间的关系(如果不知道的话)
get_clock_relationship [get_clocks sys_*]
显示格式如下:
sys_0 sys_1 : asynchronous
sys_0 sys_2 : synchronous
3.2 抓取指定的cdc Error
可以用如下cmd抓取指定的cdc Error
report_cdc -filter "srcobject=~*async_fifo && srcobject=~*async_fifo*" -stage Sync -verbose -limit 0
上述cmd是抓取 sync阶段,所有src和dest均为 async_fifo的cdc Error
-verbose 的作用是显示Error的详细信息
-limit 0 是不限制显示数量,不指定的话,默认显示100条
其中还可以根据tag类型去选择提取的部分,-tag
和-stage
,描述如下