C
comp.cad.cadence
Guest
Hello, folks
Please look at the following OCEAN script:
;; set the DC analysis
analysis('dc ?saveOppoint t ?param "vgs" ?start "0"
?stop "1.8" )
desVar( "vgs" 1 )
desVar( "vds" 1 )
saveOption( 'save "all" )
save( 'all )
temp( 27 )
;; run parametric simulation
paramAnalysis("vds" ?start 0.6 ?stop 1.8 ?step 1.2)
paramRun()
;; plot the waveform "wy against "wx"
wy = deriv(i("/TN0/D"))
wx = i("/TN0/D")
ocnYvsYplot( ?wavex wx ?wavey wy )
awvSetXAxisLabel( awvGetCurrentWindow() "Ids(A)" )
It just does the parametric simulation of the variable "vds" around the
DC sweep analysis. And then plot the waveform "wy" against the waveform
"wx" by using the OCEAN function ocnVvsYplot. But the bummer is that
the name of each curve is very lengthy one like
vds:"600m" value(deriv(i("/TN0/D" ?result "dc")) "vds"
0.6)/value(i("/TN0/D" ?result "dc") "vds" 0.6)
instead of a succinct expression such as vds:"600m" vds:"1.8" ...
If just the function plot is used, this problem can be fixed just by
leaving null in the list() as shown below
plot( i("/TN0/D") ?expr list("") )
But with the function ocnYvsYplot, I haven't figured out how. Don't
like to change the names for each waveform curve manually from GUI of
waveform window. Anyone cares to give me some idea? Thinks a lot!
-Andy
Please look at the following OCEAN script:
;; set the DC analysis
analysis('dc ?saveOppoint t ?param "vgs" ?start "0"
?stop "1.8" )
desVar( "vgs" 1 )
desVar( "vds" 1 )
saveOption( 'save "all" )
save( 'all )
temp( 27 )
;; run parametric simulation
paramAnalysis("vds" ?start 0.6 ?stop 1.8 ?step 1.2)
paramRun()
;; plot the waveform "wy against "wx"
wy = deriv(i("/TN0/D"))
wx = i("/TN0/D")
ocnYvsYplot( ?wavex wx ?wavey wy )
awvSetXAxisLabel( awvGetCurrentWindow() "Ids(A)" )
It just does the parametric simulation of the variable "vds" around the
DC sweep analysis. And then plot the waveform "wy" against the waveform
"wx" by using the OCEAN function ocnVvsYplot. But the bummer is that
the name of each curve is very lengthy one like
vds:"600m" value(deriv(i("/TN0/D" ?result "dc")) "vds"
0.6)/value(i("/TN0/D" ?result "dc") "vds" 0.6)
instead of a succinct expression such as vds:"600m" vds:"1.8" ...
If just the function plot is used, this problem can be fixed just by
leaving null in the list() as shown below
plot( i("/TN0/D") ?expr list("") )
But with the function ocnYvsYplot, I haven't figured out how. Don't
like to change the names for each waveform curve manually from GUI of
waveform window. Anyone cares to give me some idea? Thinks a lot!
-Andy