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.

How do i run corners using scripts? need explanation

Status
Not open for further replies.

surreyian

Member level 3
Joined
Feb 10, 2006
Messages
63
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,796
corner sim using scripts

hello,
usually i use the corner function in the ADE. using ADE i'm not able to show the data for the corners i run. i have to do visual check and that is very pain staking.
I heard that i can run corner using scripts. by using scripts, im able to display the results in table.
How do i run corners using scripts?
 

corner sim using scripts

check the following documents
Cadence advanced analysis tools user guide
Ocean reference
 

Re: corner sim using scripts

I often use ocean scripts to do corner analysis.
Just example:
Code:
;icc1_proc is called by every corner case
procedure(icc1_proc(mmodel ttemp)

                   fprintf(p "temperature is %s" ttemp)
                   newline(p)
                   fprintf(p "models is %s running" mmodel)
                   newline(p)
                   
                   temp(ttemp )
                   modelFile( list("/home/user/models/models.scs" mmodel) ) 
                  ;build separate directory for each simulation
                   resultsDir((buildString list("/home/user/simulation/SIM_1/spectre/" ttemp "/" mmodel) ""))
                   run() 
                  ;measure current consumption
                   Icc = clip(IT("/R1/PLUS") 0.0025 0.0045)
                   if( Icc then
                           Icc1 = average(Icc)
                           fprintf(p "Icc1= %10.3e"  Icc1)
                           newline(p)
                           fprintf(p "Icc1 %s is ready" mmodel)
                           newline(p)
                          else
                           fprintf("Problem with simulation")
                           newline(p)
                           )
                   fprintf(p "--------------------------------")
                   newline(p)
                  )

;main procedure

;prepare to simulation
ocnWaveformTool( 'wavescan )
simulator( 'spectre )
design("/home/user/simulation/SIM_1/spectre/schematic/netlist/netlist")

analysis('tran ?stop "5m" ?errpreset "liberal" )

temp( 27.0 )
;different models
models = '("type" "fast" "slow" )
;different temperatures
temps = '("27" "-30" "150")

; save necessary points 
save('i "R1" 'v "DRIVER")

;open log file
p = outfile( "./simres/Icc1.res" "a" )

;!!!!!!!!!!!!main loop
;make sweep through all models and all temperatures
;and call icc1_proc procedure for every combination
foreach(y temps foreach(x models  icc1_proc(x y)))
;!!!!!!!!!!!!!!!!!!!!!!

fprintf(p "Icc1 simulation is finished")
newline(p)
close( p )

Finally i got analysis data in Icc1.res file and can check any simulation by Results Browser
(for instance typical simulation data saved in /home/user/simulation/SIM_1/spectre/27_type directory)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top