在使用 VCS 进行仿真时,如果需要将库单元(library cells)的信号dump到波形文件(如FSDB或VPD)中,可以通过以下方法实现。一般,我们经常提到的库,包括两种:
(1)-v/-y 指定的 library
(2) `celldefine ...... `endcelldefine 定义的库
方法一
针对第一种方式: VCS 提供方法; -debug_region=lib+cell . 该方式会dump库的端口信号和内部信号。
方法二
在 VCS 仿真中,+fsdb+skip_cell_instance=n
是一个用于控制信号dump行为的选项,特别是在处理库单元(cell)时。以下是该选项的使用方法和作用:
1. +fsdb+skip_cell_instance=n
的作用
-
n=0
:不跳过任何实例,dump所有信号,包括库单元内部的信号。 -
n=1
:跳过库单元内部的信号,只dump库单元的端口信号。 -
n=2
:跳过库单元内部的信号,只dump库单元的端口信号,并且可以加快仿真的速度。
2. 使用场景
-
n=1
或n=2
:在后仿真(post-simulation)中,通常不需要dump库单元内部的信号,因为这些信号通常由库单元的行为模型定义。通过跳过这些信号,可以显著减少波形文件的大小并加快仿真速度。
3. 如何使用
在运行仿真时,可以通过以下命令行选项启用该功能:
simv +fsdb+skip_cell_instance=1
或者
initial begin
$fsdbDumpvars(0, top, "+fsdb+skip_cell_instance=1");
end
完结