The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> Analysing waveforms, scripts for Cadence
https://designers-guide.org/forum/YaBB.pl?num=1108068864

Message started by kamesh419 on Feb 10th, 2005, 12:54pm

Title: Analysing waveforms, scripts for Cadence
Post by kamesh419 on Feb 10th, 2005, 12:54pm

Dear all,


    I am working on "Prediction of Glitches and Hazards at transistor level". I have to analyse glitches and develop metrics to predict them. The anaylsis will be done at transistor level and i have to implement a mechanism to record the incomplete transitions during simulation. To do this I am using various tools of Cadence.

I am generating the netlist (3 bit Adder for example) using synopsys design analyzer. I then create a schematic using Cadence Virtuoso and supply it with input streams. Later I analyse the outputs. This is what I am suppossed to do.

The problem :

1) How can I convert the inputs which are in binary digital format to analog voltages so that i can give them to my schematic as inputs. I have heard about this "BitGen" program which does this but never tried it. Any other Cadence alternatives you can suggest ?

2) How can I record the incomplete transitions during simulation at transistor level.

3) I have to estimate the Glitches and other parameters (like the No.of Glitches etc..). To do this i have to analyse the wave forms and i cannot do this manually. Can any one suggest any good alternative that i can use in this kind of a scenario. I have heard of "OCEAN" scripting language, SKILL, TCL etc.. can they be useful to analyse the wave forms.

4) Can i automate the whole above processes, instead of doing it manually. Like starting cadence tools (SpectreS simulator), giving inputs, and analysing outputs. If so how can i do that ?

A very lengthy post i believe. Please take some time for this newbie and help me out.

Thanks in advance,

kamesh.

P.S : pardon me if this is not the place to post this. :)

Title: Re: Analysing waveforms, scripts for Cadence
Post by Mighty Mouse on Feb 10th, 2005, 1:09pm

If I were attempting this project, I would use Verilog-A models to detect glitches. Once I found them, I would write information about them to a file for later analysis.

To produce the stimulus, I would use my favorate scripting language to produce PWL files (time-value pairs) that are read into the vsource.

I would also describe the analyses to be performed using the Spectre netlist language. With Spectre you can run any number of analyses. You can also intersperse alter statements within the analyses. So you can create all the stimulus files in advance, and use the alter statement to have Spectre step through them, or you can use the shell command in Spectre to have it produce them on the fly.

- MM -

Title: Re: Analysing waveforms, scripts for Cadence
Post by kamesh419 on Feb 10th, 2005, 1:35pm

Thanks mightmouse.. but your answer is a bit vague for me considering the fact that I am new to this Cadence tools and scripting language. I have some knowledge of TCL and i have used synopsys design analyzer before.  

Adding more to my question above... to be precise i have to test some metrics to predict Glitches which were already developed on the basis of gate level simulation using Modelsim. Now i have to use the synthesis flow with the XFAB technology and test those metrics.

If possible could you please add some more in a detailed way. you forgot the incomplete transitions part.

Thanks in advance.
kamesh.

Title: Re: Analysing waveforms, scripts for Cadence
Post by Ken Kundert on Feb 10th, 2005, 3:06pm

To measure a glitch or a runt with Verilog-A (I am assuming an "incomplete transition" is a runt) you would write a model with two thresholds. When the input crosses the first threshold the module records the time at which it occurs. It then waits for subsequent transitions. If the same threshold is crossed again, or if no threshold is crossed for a long time, the transition is considered incomplete (a runt) and its presence is recorded. If the second threshold is crossed, and then quickly crossed again, a glitch has been detected.

You can get an idea of how to write this model by looking at the "time interval measurement" module at www.verilog-ams.com.

-Ken

Title: Re: Analysing waveforms, scripts for Cadence
Post by Mighty Mouse on Feb 10th, 2005, 3:12pm

I'm afraid I don't know anything about synopsys design analyzer, modelsim, or XFAB technology. If you don't know anything about Verilog-AMS or Spectre netlist language this could be tough. Can you ask a more specific question that would help you get started?

- MM -

Title: Re: Analysing waveforms, scripts for Cadence
Post by kamesh419 on Feb 11th, 2005, 8:33am

Thankyou both Ken and MightyMouse. Let me ask you a specific question (Thanks Mightymouse it would be simpler for us both).

I have the Transistor Layout of an 8-bit adder and I would like to simulate that circuit using say 200 pwl sources (Using Analog Design Environment/SpectreS Simulator). I get some glitches when i try to analyze the waveforms. what if i want to know the Number of Glitches that are occurring on the waveforms. Obviously i cannot calculate them manually i believe. So any body has a mechanism to analyze waveforms like these and get the number of Glitches in my case.

Some kind of scripting language (or Calculator tool or  something like that) you use to analyze wave forms like these ?

Title: Re: Analysing waveforms, scripts for Cadence
Post by Mighty Mouse on Feb 11th, 2005, 9:22am

First off, the SpectreS iterface is really old and no longer preferred. It is better to use the Spectre interface.

I don't know artist well enough to know if it can sweep though 200 PWL files. You can try the parametric analysis capability, but I suspect it only sweeps numeric parameters. So instead I was suggesting that you could use a scripting language like Tcl to produce a netlist that caused Spectre to step through each file, and then run Spectre with that netlist standalone (outside Artist).

The file would look something like this ...

Code:
// run adder over a range of stimulus sets
simulator lang=spectre
include "adder.scs"
changeWave1 alter dev=Vin param="./waves/wave1.pwl"
tran1 tran stop=100ns
changeWave2 alter dev=Vin param="./waves/wave2.pwl"
tran2 tran stop=100ns
...
This would run the circuit over all the input waveforms. The only thing left to do would be to detect the glitches. You can follow Ken's suggestions to write Verilog-A modules that you would include in your circuit. They would detect the glitches. From there you could either print out a message that ends up in the Spectre log file. Then you could use grep and wc to determine how many glitches occurred. Or you can have your Verilog-A module count the glitches and output the count directly to a dedicated file.

- MM -

Title: Re: Analysing waveforms, scripts for Cadence
Post by kamesh419 on Feb 16th, 2005, 7:56am


Mighty Mouse wrote on Feb 10th, 2005, 1:09pm:
To produce the stimulus, I would use my favorate scripting language to produce PWL files (time-value pairs) that are read into the vsource.
- MM -


Thankyou ken and mightymouse. your inputs helped me to start my proj.

I have got one more prob. I have found that Bitgen Program is not installed in our institute unfortunately. so i would like to use TCL scripts to convert digital inputs to PWL sources. I want to know how i can do this ? the logic behind that.

Thanks in advance,
kamesh.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.