Splitting and extracting specific modules from VPD or VCD dump¶
The vcsplit
utility¶
Synopsys VCS has a nifty utility called vcsplit
that lets you do 2 useful things
- Extract and create a new VPD/VCD with specific modules or a scope from a larger VPD/VCD
- Extract a time window and create a new VPD/VCD
This is how you use it.
vcsplit [-o output_file] [-scope selected_scope_or_signal]
[-include include_file] [-min min_time] [-max max_time]
[-ignore ignore_file] input_file
Extract just one scope¶
You can specify it on the command line like this
vcsplit -o output.vpd -scope tb_top.dut.mod_inst.blk_inst input.vpd
Extract multiple scopes¶
First create a scopefile.txt file with one scope per line, like this:
# scopefile.txt
tb_top.dut.controller_inst.arb_inst
tb_top.dut.hash_inst
Then provide the above scopefile
as input to vcsplit
vcsplit -o output.vpd -include scopefile input.vpd
Excluding scopes¶
Similar to -include
, you can provide a scope list to exclude, using the -ignore
option.