John O Donovan
Junior Member
![* *](https://designers-guide.org/forum/Templates/Forum/default/starblue.gif)
Offline
Posts: 29
San Jose, CA
|
Kiran,
If you want to run a stand-alone simulation with Spectre and do these measurements, then you should use MDL for it.
Create a netlist with you design, I'll call the file "input,scs". Create an MDL file with all the measurements that you want. MDL provides measurements, and control statements( such as foreach, binary search, optimization), so you can do a lot of characterization in MDL without reverting back to Perl, etc. I'll call the MDL file input.mdl. Then run "spectremdl", as follows
% spectremdl -b input.mdl
This will generate a file "input.measure" with your results. If you really want to you cant have print statements in the MDL file too, so that you can print the results in whatever format you want.
Here is a sample MDL file for you measurements
Regards, John
alias measurement trippoints { export real vil, vih run dc( dev=Vin, param=dc, start=0, stop=VDD, step=0.1 ) vil = V(in) @ cross( V(out), thresh=0.8*VDD ) vih = V(in) @ cross( V(out), thresh=0.2*VDD ) } alias measurement delays { export real delay run tran( stop=2u, autostop='yes) delay = deltax( sig1=V(in), dir1='rise, thresh1=0.5*VDD, \ sig2=V(out), dir2='fall, thresh2=0.5*VDD ) } run trippoints run delays
|