Candence $shm_open $shm_probe 函数

739 阅读1分钟

详细使用参考用户手册。


$shm_open(“wave.shm”,   ,   ,   ,    ,   ,)

                          1           2   3   4  5   6

位置1:波形数据*.trn file存放的文件夹名字

位置2:值为空

位置3:设置波形数据的最大容量。单位:bytes。值为空则无上限

位置4: 值为空

位置5: 设置波形数据递增的容量。单位:MB。

位置6:设置波形数据递增的最大个数。值为空则无上限

Exp:

  1. $shm_open(“wave.shm”, , 10240000000)

波形数据最大容量为10240000000bytes=10GB,如果实际超出10GB,则收集仿真时间靠后的10GB波形

 

  1. $shm_open(“wave.shm”, , , , 1024)

如果实际波形为10G,则原来的1个case.trn波形数据会被分割成每份1024MB=1GB,一共10份的波形数据(case1.trn,case2.trn,……case10.trn)

 

  1. $shm_open(“wave.shm”, , , , 1024,5)

如果实际波形为10G,则按照1GB一个波形数据递增,最多有5个波形数据(case6.trn,case7.trn…..case10.trn)。则收集仿真时间靠后的5GB波形。

 

$shm_probe(scope, “node”);

scope:采集波形的范围

node:采集波形范围中的节点

A指定范围的所有节点(包括端口port)
S指定范围及其以下所有端口,不包括库单元内部
C指定范围及其以下所有端口,包括库单元内部
AS指定范围的所有节点(包括端口port),不包括库单元内部
M指定范围的memories
T指定范围的task
F指定范围的function

node可以随意搭配,不分先后顺序。

$shm_probe(top,”AC”)

采集top模块下所有节点(包括端口port),以及库单元内部

$shm_probe(top.DUT.u0,”AS”,top.DUT.u1,”AM”)

采集top.DUT.u0模块下所有节点(包括端口),不包括库单元内部;采集top.DUT.u1模块下所有节点(包括端口),以及memories