selective signal dumping using VCD

S

SB

Guest
Hi there!

I am using VCD with heavy Verilog simulations that create large (~200
MB) .vpd files. I then use these in the DVE simulator to view the
activity on the signals. However, I am only interested in a
particular subset of the design's signals. Is there a way to dump the
signals of selective sub-blocks? This would save much in disk space.
Any help on this would be very appreciated.

Cheers
SB
 
On May 19, 2:00 am, SB <smartba...@yahoo.com> wrote:
Hi there!

I am using VCD with heavy Verilog simulations that create large (~200
MB) .vpd files. I then use these in the DVE simulator to view the
activity on the signals. However, I am only interested in a
particular subset of the design's signals. Is there a way to dump the
signals of selective sub-blocks? This would save much in disk space.
Any help on this would be very appreciated.

Cheers
SB
Hi!
Check on the syntax of dumpvars, dump_on, dump_off , Should be helpful

Rajkumar...
 
You can do it from within the test bench
initial begin

$dumpfile("bench_pk.vcd");
$dumpvars(1, tst_bench_top);
$dumpvars(1, tst_bench_top.u_i2c_ck);
end

If you use modelsim you can do it from the do file via
vcd add /tst_bench_top/u_i2c_ck/*
vcd add /tst_bench/clk_in
....

SB :
Hi there!

I am using VCD with heavy Verilog simulations that create large (~200
MB) .vpd files. I then use these in the DVE simulator to view the
activity on the signals. However, I am only interested in a
particular subset of the design's signals. Is there a way to dump the
signals of selective sub-blocks? This would save much in disk space.
Any help on this would be very appreciated.

Cheers
SB
 
On May 18, 2:00 pm, SB <smartba...@yahoo.com> wrote:
Hi there!

I am using VCD with heavy Verilog simulations that create large (~200
MB) .vpd files.
Sorry - I almost spit out what I was drinking when I read that there
are people who think 200MB is a large waveform file. I'm happy when I
can keep them under 2GB, with many almost at 10GB. And these are
compressed Novas format, dumping only part of the design).

Seriously, though - it's been years since I've used VCD. Have they
updated the format? I remember it being very inefficient, with no
compression. Is this still the case? Are there any "standard"
waveform file formats other than VCD?

As for the OP, I'm sure there are system calls that specify which
modules / levels of hierarchy are monitored for the waveform file. A
Google search on 'vcd waveform $dumpvars' found a bunch of info.

David
 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

unfrostedpoptart wrote:
On May 18, 2:00 pm, SB <smartba...@yahoo.com> wrote:
Hi there!

I am using VCD with heavy Verilog simulations that create large (~200
MB) .vpd files.

Sorry - I almost spit out what I was drinking when I read that there
are people who think 200MB is a large waveform file. I'm happy when I
can keep them under 2GB, with many almost at 10GB. And these are
compressed Novas format, dumping only part of the design).
I believe the technical term is "Splorf!"

Seriously, though - it's been years since I've used VCD. Have they
updated the format? I remember it being very inefficient, with no
compression. Is this still the case? Are there any "standard"
waveform file formats other than VCD?
There is EVCD which is the evolved version of VCD, but it doesn't
seem to do much with file sizes.

If by "standard" you mean "open and documented, with sample
implementations in source code form", there is LXT/LXT2 format which
I find to be pretty good. That is a format understood by gtkwave.
The gtkwave source includes reader/writer subroutines if you want
to integrate it into your favorite tool. That is how Icarus Verilog
supports it.

- --
Steve Williams "The woods are lovely, dark and deep.
steve at icarus.com But I have promises to keep,
http://www.icarus.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFGUcJqrPt1Sc2b3ikRAns7AJ4uyICm3lSkcky8jSbC/PHmAjlY4gCeOs+T
DC338KUN25A4TFjABaG2qRI=
=4P7E
-----END PGP SIGNATURE-----
 
One thing is not clear here. Looks like you are using Synopsys VCS
tool and DVE gui. Are you trying to dump as a VCD format or VPD format
(.vpd)?

If you are trying to dump VCD format, it is very obvious that this
file occupies more space because it contains ASCII format (readable).

If you are trying to dump as VCS's own format called VPD, then you
have the following control over that.
$vcdplusfile("my_dump.vpd");
$vcdpluson(<level>, <scope>);
ex: $vcdpluson(0, top.dut.sub);
<level> - default is 0. Dumps all the levels.
$vcdplusoff(<level>, <scope>);
ex: $vcdplusoff(2, top.dut.sub.sub_2);
<level> - default is 0. Switch offs the dump upto the specified
levels.

It's always recommended to use the same format which the tool provides
for beeter use model.

Thanks & Regards,
Karthik
 

Welcome to EDABoard.com

Sponsor

Back
Top