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.

[SOLVED] DFT pattern simulation->how to dump waveform only after pattern N

Status
Not open for further replies.

ajukrishnan

Newbie level 5
Joined
Oct 5, 2010
Messages
9
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,283
Location
Bangalore
Activity points
1,349
Hi,
I am doing timing simulation of my serial pattern having around 7400 patterns. The patterns are written out by Tetramax 2010 SP2. For simulation I use cadence ncsim. I see failures at pattern 45. I want to:
1.Skip dumping waveform till pattern 40
2.Dump waveforms from pattern 40 to 50
3.Skip dumping waveform for rest of the patterns.
Is there a way to do this? I read about tcl input files to ncsim , but I am new to it.
 

rca

Advanced Member level 4
Joined
May 20, 2010
Messages
1,485
Helped
355
Reputation
710
Reaction score
328
Trophy points
1,363
Location
Marin
Activity points
8,522
for sure fastscan verilog test bench to simulate the pattern has two parameters to indicate the start and end patterns. That's possible because there is normaly no relation between one pattern to another pattern, so you could simulate the pattern you want.
 

ajukrishnan

Newbie level 5
Joined
Oct 5, 2010
Messages
9
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,283
Location
Bangalore
Activity points
1,349
I tried simulating by writing out 10 patterns near the failing pattern 45(patterns 40 -50). But due to some reason, they pass, and so I cannot debug the real failure at pattern 45. So I want the simulation to run all the way from pattern 1 to 50 , but dump waveform only from pattern 40 to 50. I am using tetramax to write out patterns.

I tried a tcl script:
Code:
database -shm test_database.shm -default -event
set pattern_num [value top_test.pattern_number]
    probe top_test -shm -depth all -name test_probe

    probe -disable test_probe

if { #%dtop_test.pattern_number >= 5 && #%dtop_test.pattern_number <10 } {
    probe -enable test_probe
} elseif { #%dtop_test.pattern_number >= 10} {
   probe -disable test_probe
   } else {
   probe -disable test_probe
   }
stop -condition { #%dtop_test.pattern_number==10}
run

I then input this to ncsim. But it is not working. Can anyone help?
 

rca

Advanced Member level 4
Joined
May 20, 2010
Messages
1,485
Helped
355
Reputation
710
Reaction score
328
Trophy points
1,363
Location
Marin
Activity points
8,522
You could used the "list" feature un Modelsim.
I means run up patterns 40, and add the signal in the list window, and run again.
 

ajukrishnan

Newbie level 5
Joined
Oct 5, 2010
Messages
9
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,283
Location
Bangalore
Activity points
1,349
Thank you for your response. I am not familiar with modelsim, but i found out how to do it with ncsim.
I made this tcl script and gave as ncsim -input <my tcl file>:

Code:
#create database database.shm
database -shm test_database.shm -default -event

#create a probe named test_probe
probe top_test -shm -depth all -name test_probe

#disable it for now
probe -disable test_probe

#create breakpoint at pattern 40
stop -condition { #%dtop_test.pattern_number==40}

#run till the breakpoint
run

#enable probe now
probe -enable test_probe

#create next breakpoint at pattern 50
stop -condition { #%dtop_test.pattern_number==50}

#run till next breakpoint
run

#disable probe after pattern 50
probe -disable test_probe

#run without dump after pattern 50
run

exit
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top