| Author |
Message |
roger
Joined: 27 Aug 2003 Posts: 182 Helped: 7
|
16 Jul 2004 7:49 fsdbdumpon |
|
|
|
|
How to extract signals to start or stop dumping using VHDL, ModelSim?
Please.
|
|
| Back to top |
|
 |
xigu
Joined: 05 Jul 2004 Posts: 10
|
18 Jul 2004 2:18 fsdbdumpoff |
|
|
|
|
from modesim user manual
-->
A VCD file from source to output
The following example shows the VHDL source, a set of simulator commands, and the resulting VCD output.
VHDL source code
The design is a simple shifter device represented by the following VHDL source code:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity SHIFTER_MOD is
port (CLK, RESET, data_in : IN STD_LOGIC;
Q : INOUT STD_LOGIC_VECTOR(8 downto 0));
END SHIFTER_MOD ;
architecture RTL of SHIFTER_MOD is
begin
process (CLK,RESET)
begin
if (RESET = '1') then
Q <= (others => '0') ;
elsif (CLK'event and CLK = '1') then
Q <= Q(Q'left - 1 downto 0) & data_in ;
end if ;
end process ;
end ;
VCD simulator commands
At simulator time zero, the designer executes the following commands:
vcd file output.vcd
vcd add -r *
force reset 1 0
force data_in 0 0
force clk 0 0
run 100
force clk 1 0, 0 50 -repeat 100
run 100
vcd off
force reset 0 0
force data_in 1 0
run 100
vcd on
run 850
force reset 1 0
run 50
vcd checkpoint
quit -sim
|
|
| Back to top |
|
 |
roger
Joined: 27 Aug 2003 Posts: 182 Helped: 7
|
18 Jul 2004 15:08 vcd checkpoint |
|
|
|
|
What I mean is I wanna to start dumping when some signals
are active. I think you can not use run 20 ??sec, vcd file ...
because we don't know exactly the time when signals are active.
Hopt to share your idea.tks!
|
|
| Back to top |
|
 |
galant
Joined: 19 Jun 2003 Posts: 58
|
19 Jul 2004 4:45 fsdbdumpoff |
|
|
|
|
Use the following tcl commands.
"probe -shm -all"
It can dump the all signals in verilog-xl. You can have a try in Model-sim.
|
|
| Back to top |
|
 |
roger
Joined: 27 Aug 2003 Posts: 182 Helped: 7
|
06 Sep 2004 10:27 fsdb extract |
|
|
|
|
| galant wrote: |
Use the following tcl commands.
"probe -shm -all"
It can dump the all signals in verilog-xl. You can have a try in Model-sim. |
In that way, the dump file would probably be too big.
|
|
| Back to top |
|
 |
AlexWan
Joined: 26 Dec 2003 Posts: 305 Helped: 6
|
07 Sep 2004 13:08 nwave extract signal |
|
|
|
|
Have you have the PLI for debussy?
initial
begin
$fsdbDumpfile("fsdbfilename.fsdb");
wait (a_valid)
$fsdbDumpvars;
wait (b_valid)
$fsdbDumpoff;
wait (c_valid)
$fsdbDumpon;
...
...
end
Certainly, Dumping VCD have the same commands. Ref the GU of ModelSim.
Good Luck.
|
|
| Back to top |
|
 |
Google AdSense

|
07 Sep 2004 13:08 Ads |
|
|
|
|
|
|
| Back to top |
|
 |
xmizi
Joined: 21 Feb 2002 Posts: 35
|
01 Oct 2004 20:30 dump signals in verilog |
|
|
|
|
use:
initial
begin
$dumpfile("./***.vcd");
$dumpvars;
end
you can also specify the signals and level of hierarchical in the $dumpvars.
Then use debussy to translate vcd to fsdb or running power analysis or whatever you want with the vcd file
VCD is usually much bigger than fsdb etc.
|
|
| Back to top |
|
 |
roger
Joined: 27 Aug 2003 Posts: 182 Helped: 7
|
10 Oct 2004 8:28 tcl fsdbdumpvars |
|
|
|
|
| xmizi wrote: |
use:
initial
begin
$dumpfile("./***.vcd");
$dumpvars;
end
you can also specify the signals and level of hierarchical in the $dumpvars.
Then use debussy to translate vcd to fsdb or running power analysis or whatever you want with the vcd file
VCD is usually much bigger than fsdb etc. |
That's verilog ,not VHDL ok!
|
|
| Back to top |
|
 |
aji_vlsi
Joined: 10 Sep 2004 Posts: 640 Helped: 72 Location: Bangalore, India
|
11 Oct 2004 5:50 fsdb + dumpvars |
|
|
|
|
| roger wrote: |
What I mean is I wanna to start dumping when some signals
are active. I think you can not use run 20 ??sec, vcd file ...
because we don't know exactly the time when signals are active.
Hopt to share your idea.tks! |
Not sure if this is do-able in Modelsim. With NC you can do:
database -disable -shm;
run 100 us
database -enable -shm;
To have it controlled using a signal (as you've asked), you can use "stop" command in conjunction with this. A pseudo-code (as you don't use NC anyway).
stop -condition {/top/dump_start == 1} -execute {database -enable -shm}
stop -condition {/top/dump_stop == 1} -execute {database -disable -shm}
NOTE: Options might be wrong in the above TCL, it is an idea than actual code.
I don't find such commands in MTI, they recently intorduced some thing called wlfman - but that's for post processing.
Regards,
Ajeetha
http://www.noveldv.com
|
|
| Back to top |
|
 |
saho
Joined: 04 Apr 2003 Posts: 65
|
23 Nov 2004 18:49 modelsim + disable dumping |
|
|
|
|
Hello.
Let me suggest a solution.
I have learned that Novas (certainly latest version Debussy and possibly Verdi) does support extraction of sub-signal waveform from a large waveform log.
The trick is it is a FSDB formatted file. Luckily, Novas has kindly provided conversion utility in its tools.
Now, if you have the orginal waveform in VCD. Novas may have a utility to convert VCD to FSDB format, Soon you have the converted FSDB file, you can load into nWave for signal extraction.
Conclusion: It is possible, albiet some pains involved. Read Novas's Knowledge base articles (you will need userID and password) and Debussy's user manual.
SAHO
|
|
| Back to top |
|
 |