electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

How to add assertions in the simvision waveform viewer


Post new topic  Reply to topic    EDAboard.com Forum Index -> ASIC Design Methodologies & Tools (Digital) -> How to add assertions in the simvision waveform viewer
Author Message
dipakg



Joined: 06 Jun 2008
Posts: 9


Post06 Jun 2008 15:06   

shm_probe


I have written assertion to verify certain timing protocol. I am using cadence's simvision tool for waveform analysis. But I don't know how to add the assertions in the simvision waveform viewer. Is there any setting for this?

Please help me.
Thanks in advance.
Back to top
boardlanguage



Joined: 06 Apr 2007
Posts: 96
Helped: 4


Post07 Jun 2008 17:01   

cadence simvision


dipakg wrote:
I have written assertion to verify certain timing protocol. I am using cadence's simvision tool for waveform analysis. But I don't know how to add the assertions in the simvision waveform viewer. Is there any setting for this?

Please help me.
Thanks in advance.


No special switches/flags needed, assertions are browseable/viewable just like regular nets/signals. Are you using mmediate or concurrent assertions?

Code:
module hahahahahaha;

my_assertion1 : assert property ( @(posedge clk) disable iff ( !rstn )
  req |-> ##1 ack; // expect ACK signal 1-cycle after REQ
  );
endmodule : hahahahahaha


When you compile the testbench and probe signals in simvision, the object 'my_assertion1' is the assertion-object. In the design-browser, it will show up as RED
Back to top
dipakg



Joined: 06 Jun 2008
Posts: 9


Post11 Jun 2008 7:10   

shm_probe ac


Hi boardlanguage,

I tried the following thing in my code(assert_ack.sv):
###############################################
module hahahahahaha;

my_assertion1 : assert property ( @(posedge clk) disable iff ( !rstn )
req |-> ##1 ack; // expect ACK signal 1-cycle after REQ
);


initial
begin
$dumpvars(1,my_assertion1);
end
endmodule

###############################################

Then I ran assert_ack.sv by questa:

> qverilog assert_ack.sv

and to observe the waveform on simvision:
> simvision &

But it only showing the name of the signal not the status of the signal in the simvision window.

Can you tell me where is my mistake or I did anything wrong?
Thanks.
Back to top
boardlanguage



Joined: 06 Apr 2007
Posts: 96
Helped: 4


Post12 Jun 2008 20:21   

simvision waveform


I'm confused, are you using Simvision (Cadence IUS), or Questasim (Mentor Modelsim)?

Each product has its own debug-browser and user-interface. I only know how to look at assertions in Cadence Simvision. I've never used Questasim before. Sad
Back to top
dipakg



Joined: 06 Jun 2008
Posts: 9


Post13 Jun 2008 13:53   

$shm_probe


Hi boardlanguage,

See I am using Questa for simulation. The qverilog command compiles (vlog), optimizes (vopt), and simulates (vsim) Verilog and SystemVerilog designs in a single step. It combines the compile, elaborate, and simulate phases together, as some users may be accustomed to doing with NC-Sim.

And then Simvision as a waveform analysis.

Regards,
Dipak.
Back to top
boardlanguage



Joined: 06 Apr 2007
Posts: 96
Helped: 4


Post14 Jun 2008 7:08   

simvision assertion browser


Wow, I never thought to mix two competing products like that.

I don't know how to answer your question. NCSIM's integrated TRN (signalscan-trace) dumper records assertion-information -- in the Simvision waveform viewer, you can browse assertions and view their counts (failed, completed, active) as regular waveforms.

I don't know whether Questasim has this ability. Also, how are you reading the simulation waveform file? Did you dump out a VCD or extended-VCD file, a TRN file, or Modelsim's native .WLF file? From what I recall, simvision only reads TRN files directly -- VCD-files can be imported (converted on the fly).
Back to top
dipakg



Joined: 06 Jun 2008
Posts: 9


Post16 Jun 2008 11:12   

ncsim vcd dumpports


I dump VCD files and then simvision converts it into .TRN file.

--Dipak
Back to top
boardlanguage



Joined: 06 Apr 2007
Posts: 96
Helped: 4


Post16 Jun 2008 19:27   

shm_probe ac as


I can't think of anything else.

In questasim's integrated waveform-viewer, can you browse/view the assertions? If the answer is yes, then I suspect the issue is with the VCD-file not being able to store assertion-information.

When I run simulation in Cadence IUS 6.2 (irun/ncsim), then open the *.trn file in Simvision, I can see every assertion listed as a hierarchical signal.

It looks sort of like this:

http://www.aldec.com/Products/Movie.aspx?productmovieid=29ad7c25-3dce-4ce6-9d57-cec54d37a44e

(Skip ahead to 3/4 toward the end of the movie.) The count, #failed, #passed shows up.
Back to top
Google
AdSense
Google Adsense




Post16 Jun 2008 19:27   

Ads




Back to top
dipakg



Joined: 06 Jun 2008
Posts: 9


Post17 Jun 2008 5:53   

simvision dump file


Hi boardlanguage,

Thanks for your kind support....

Now, I am running the verilog code and assertion(SVA) using Cadence IUS 6.11 ncsim and then for waveform I am using Simvision... The similar problem I am facing in this case also.

Let me know if you are aware of this thing.

Regards,
Dipak
Back to top
boardlanguage



Joined: 06 Apr 2007
Posts: 96
Helped: 4


Post17 Jun 2008 16:47   

simvision $shm_probe


Is your simulation still dumping to VCD? (I.e., are you using the $dumpports or $dumpfile system-task to handle the dump-activity?) If you are, then that could be the problem.

All modern simulators (Modelsim, VCS, Incisive) have their own proprietary wavedump format. This is not only the fastest (in terms of runtime), but also the most complete tracedump you can get.

For Cadence/Incisive, there are several different ways to dump traces to a *.trn file:

1) From the Verilog-file
$shm_open( "waves.shm",,,0 );
// dump trace to subdir './waves.shm)
// ,,,0 disable compression (slows down the simulator)

$shm_probe( "AC", toplevel_tb );
// "AC" : all signals in current scope, AND all signals beneath current scope
// toplevel_tb : name of the toplevel module (change this as needed)

2) from the tcl-interpreter:
probe ...;
// Sorry, i don't remember the command. It's in the cdnshelp documentation.

Finally, whatever method you choose, there is one extra step: tell the simulator to allow read-access to internal signals (otherwise the integrated *.TRN dumper can't see the design hierarchy.)
Add the command-line option +ncaccess+rwc

Example:
Code:
   // Toplevel testbench = toplevel_tb.sv (contains 'module toplevel_tb();')

   module toplevel_tb;

   localparam string dumpfilename = "waves.shm";
   initial begin : enable_trn_dump
      // For Cadence/IUS only! (not compatible with other simulators)
      $display(" writing dumpfile to %s", dumpfilename );
      $shm_open( dumpfilename,,,0);
      $shm_probe( "AC", toplevel_tb ); // dump *everything*
      // $shm_probe( "A", toplevel_tb ); // dump the current scope, nothing else
    end : enable_trn_dump

   endmodule : toplevel_tb

   irun +access+rwc toplevel_tb.sv


(It's either +ncaccess+ or +access+, I forget which.)
Back to top
dipakg



Joined: 06 Jun 2008
Posts: 9


Post18 Jun 2008 5:54   

irun assertion switches


Hi boardlanguage,

I am very thankful to you. Aah it worked finally...
I tried the $shm_open and $shm_probe....
Thank you very much.

--Dipak:D
Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> ASIC Design Methodologies & Tools (Digital) -> How to add assertions in the simvision waveform viewer
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
how to reload a database in simvision waveform viewer (1)
Howto add signals into SIMVISION with tcl command? (1)
Xilinx ISE - internal signal in the waveform viewer of ISE (2)
waveform viewer (4)
free waveform viewer (6)
free waveform viewer (3)
pls suggest a good waveform viewer for hspice? (6)
what waveform viewer is used for spectre (cadence 5.0 linux) (12)
How to use the FSM Viewer on Synplify ? (1)
how to use Wave_Tetramax - how can I check the waveform ? (1)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS