capturing selective data from a vcd file

Hi,
This is a vcd file.A vcd file may have 'n' modules.
1) I need to capture the data in bold,i.e. the module names (shown in bold)
2) Also i need to capture the data inside each individual module,say for tst_bench_top ,i need to capture data from line 4 to line 20 ...
I just want one generalized Perl script that says read the data after the $end of "$scope module" statement to the data before next "$scope module" statement....
In the ex show below i wanna read from line 4 to line 20,but a module may have even more/less than 20 lines.Hence i want a generalized script.

$timescale
...
$scope module tst_bench_top $end         #   line 3
$var reg       1 !    clk  $end                      #    line 4
$var reg       1 "    rstn  $end
......
.....
....
$var parameter  3 Z    CR_R  $end .....    #     line 20

$scope module master_blk $end
...
....
....
$var parameter ....

$scope module ...

How about this:

sed -n '/^\$scope module/,/^$/p' your.vcd
1 Like

Should you have more complicated tasks to handle, perhaps this will be of use to you: Verilog::VCD - search.cpan.org

Regards,
Alister

1 Like