Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

vcs equivalent of modelsims log -r ?

Status
Not open for further replies.

PercyCuted

Newbie level 4
Joined
May 25, 2010
Messages
7
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
UK
Activity points
1,368
I'm new to VCS, [been using modelsim for donkeys years], and trying to find out an equivalent of modelsims
log -r *
that stores the simulated states of all signals in a hierarchy so that they can later be added to a waveform
 

What data format do you use for saved waveforms ?
FSDB? VPD?

[Enabling Dumping]
+vcs+vcdpluson, #Compile-time Options
A compile-time substitute for $vcdpluson option. The +vcs+vcdpluson switch enables dumping for the entire design. You would however need to use a debug switch (example -debug_pp) to dump the data.

[Options for VPD Files]
+vpdfile+file_name, #Simulation Options
Specifies the name of the output VPD file (default is vcdplus.vpd). You must include the full file name with the .vpd extension.

$vcdpluson
Starts recording, in the VPD file, the transition times and values for the nets and registers in the specified module instance or individual nets or registers. Syntax: $vcdpluson[(level_number, module_instance | net_or_variable)];
where:
level_number
Specifies the number of hierarchy scope levels for which to record signal value changes (a zero value records all scope instances to the end of the hierarchy; default is all).

module_instance
Specifies the name of the scope for which to record signal value changes (default is all).

net_or_variable
Specifies the name of the signal for which to record signal value changes (default is all).
 

Hi,

Thanks for the quick reply.
Is there no way to enable recording into a VPD file once the interactive DVE GUI has been started ?
 

Is there no way to enable recording into a VPD file once the interactive DVE GUI has been started ?
Describe what you want to do in detail.

Using system task instead of comman options.
Code:
[System Tasks for VPD Files]
Note:
To use the system tasks for VPD files, you must compile your source code with the -debug_pp option.

$vcdplusfile
Specifies the next VPD file that DVE opens during simulation, after it executes the $vcdplusclose system task and when it executes the next $vcdpluson system task. Syntax: $vcdplusfile("filename");

$vcdpluson
Starts recording, in the VPD file, the transition times and values for the nets and registers in the specified module instance or individual nets or registers. Syntax: $vcdpluson[(level_number, module_instance | net_or_variable)];
where:
level_number
Specifies the number of hierarchy scope levels for which to record signal value changes (a zero value records all scope instances to the end of the hierarchy; default is all).

module_instance
Specifies the name of the scope for which to record signal value changes (default is all).

net_or_variable
Specifies the name of the signal for which to record signal value changes (default is all).

$vcdplustraceon
Starts recording, in the VPD file, the order of statement execution in the specified module instance and the module instances hierarchically under it. Syntax: $vcdplustraceon[(module_instance)];
 

Hi,

In the modelsim GUI, if one expects to need to add some signals to a waveform later on, then you use something like :
log -r * [record the signal activity for all signals from the current level of hierarchy down, or indeed the whole design, if current level is at the top]
or
log blockname/* [record all signals within block blockname, but no lower]

The run the simulation. When the simulation is halted, any of the signals covered by the preceding log commands has been stored in a wlf file (equivalent of vpd I guess), and can be added to the waveform display.

So it is just a command to store the state of any number of signals for later addition to the waveform display.
 

Hey,

I guess you just need to give -fsdb or -vpd switch while you are running VCS. Then you can open the GUi and add any signal you want.

Thanks,
Abhishek


Hi,

In the modelsim GUI, if one expects to need to add some signals to a waveform later on, then you use something like :
log -r * [record the signal activity for all signals from the current level of hierarchy down, or indeed the whole design, if current level is at the top]
or
log blockname/* [record all signals within block blockname, but no lower]

The run the simulation. When the simulation is halted, any of the signals covered by the preceding log commands has been stored in a wlf file (equivalent of vpd I guess), and can be added to the waveform display.

So it is just a command to store the state of any number of signals for later addition to the waveform display.
 

Hey,

I guess you just need to give -fsdb or -vpd switch while you are running VCS. Then you can open the GUi and add any signal you want.

Thanks,
Abhishek

Hi Abhishek,

I already use -debug_all as an option, and can add signals to my waveform display, but what I am trying to understand is how to tell vcs to record specific signals before running a simulation, that may later be added to the waveform display. I don't want to add every signal in the design (or even a block) to the wave display before I run a sim.
In Modelsim I can type
log signalname
and then run a simulation. signalname is not cluttering up my wave display, but if, after running the sim interactively, I can then add signalname to the waveform display, and see what it was doing up to the point I halted.
Does that make sense ?

Hi Abhishek,

I already use -debug_all as an option, and can add signals to my waveform display, but what I am trying to understand is how to tell vcs to record specific signals before running a simulation, that may later be added to the waveform display. I don't want to add every signal in the design (or even a block) to the wave display before I run a sim.
In Modelsim I can type
log signalname
and then run a simulation. signalname is not cluttering up my wave display, but if, after running the sim interactively, I can then add signalname to the waveform display, and see what it was doing up to the point I halted.
Does that make sense ?

Ah - just found what I was looking for - Dumping !
I had previously assumed dumping was just a dump of the current state of the design. I had missed the fact that after dumping is set up, it continues logging the changes of all signals in its scope.

Can you give me the switch that you found??

Thanks for all your help.
 

Ah - just found what I was looking for - Dumping !

Can you give me the switch that you found??

Thanks,
Abhishek

Not a switch - just used the GUI menu [right-click on the desired block in the hierarchy browser ->Add Dump]
or from the command line
Code:
dump -add { digital_top_test.blocka.blockb }  -depth 0 -scope "."
Which is, I guess, the exact answer I was seeking from my original post ("what is the vcs equivalent of modelsims log -r *")

I think I must not have described it well, as it must be blindingly obvious for anyone familiar with VCS !

Thanks for taking the time to respond though.
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top