Code dot - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 prt=outfile("/home/15vl21f/current_bias.csv" "w") simulator( 'spectre ) design( "/home/15vl21f/simulation/Current_bias/spectre/schematic/netlist/netlist") resultsDir( "/home/15vl21f/simulation/Current_bias/spectre/schematic" ) openResults( "/home/15vl21f/simulation/Current_bias/spectre/schematic" ) modelFile( '("/opt/cad/cad/FOUNDRY/analog/180nm/models/spectre/gpdk.scs" "stat") ) analysis('dc ?saveOppoint t ) analysis('ac ?start "10" ?stop "100G" ) fprintf(prt "I, W, L, Gain, Bandwidth, overdrive, tail_current\n") desVar( "I" ) desVar( "W" ) desVar( "L" ) envOption( 'analysisOrder list("dc" "ac") ) temp( 27 ) run() reg_0=pv("NM0" "region" ?result "dcOpInfo") reg_1=pv("NM2" "region" ?result "dcOpInfo") reg_2=pv("PM0" "region" ?result "dcOpInfo") when(((reg_0==2) && (reg_1==2) && (reg_2==2)) x = ymax(db20(VF("/vout"))) y = bandwidth(VF("/vout") 3 "low") vth = pv("NM0" "vth" ?result "dcOpInfo") vgs = pv("NM0" "vgs" ?result "dcOpInfo") overdrive = vgs - vth tail_current = 2 * pv("NM0" "id" ?result "dcOpInfo") Gain = x Bandwidth = y fprintf(prt "%d, %f m, %f m,%f dB, %f Hz, %f V, %f A\n", I, W, L, x, y, overdrive, tail_current) ) ) ) ) close(prt);
prt=outfile("/home/15vl21f/param.csv" "w")
simulator( 'spectre )
design( "/home/15vl21f/simulation/diff_amp/spectre/schematic/netlist/netlist")
resultsDir( "/home/15vl21f/simulation/diff_amp/spectre/schematic" )
modelFile(
'("/opt/cad/cad/FOUNDRY/analog/180nm/models/spectre/gpdk.scs" "stat")
)
analysis('ac ?start "10" ?stop "100G" )
analysis('dc ?saveOppoint t )
desVar( "W" "" )
desVar( "L" "" )
desVar( "I" "" )
envOption(
'analysisOrder list("dc" "ac")
)
temp( 27 )
paramAnalysis("I" ?values '(0.00015 0.00016 0.00017 ) ?sweepType 'paramset
paramAnalysis("W" ?values '(5e-07 8e-07 1e-06 ) ?sweepType 'paramset
paramAnalysis("L" ?values '(1e-05 1.5e-05 2.5e-05 ) ?sweepType 'paramset
)))
paramRun()
x = ymax(db20(VF("/vout")))
y = bandwidth(VF("/vout") 3 "low")
fprintf(prt " %f A, %f m, %f m,%f dB, %f Hz\n", I, W, L, x, y)
close(prt);
I doubt that it just says "error".I tried it but i'm getting error.
Hi,
I doubt that it just says "error".
Usually there is an error description. This description is useful to locate and correct the error.
Therefore it is essential to tell us the complete error description.
Klaus
// Library name: Kiran_OTA
// Cell name: diff_amp
// View name: schematic
NM3 (net5 net5 0 0) nmos1 w=((W) / (1)) l=L as=(((W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ad=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ps=(((W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
pd=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
m=(1)*(1)
NM2 (net11 net5 0 0) nmos1 w=((2*W) / (1)) l=L as=(((2*W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (1))) : 0)) / 1 \
ad=(((2*W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (1))) : 0)) / 1 \
ps=(((2*W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (1)))) : 0)) / 1 \
pd=(((2*W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (1)))) : 0)) / 1 \
m=(1)*(1)
NM0 (net12 vip net11 0) nmos1 w=((W) / (1)) l=L as=(((W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ad=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ps=(((W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
pd=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
m=(1)*(1)
NM1 (vo vim net11 0) nmos1 w=((W) / (1)) l=L as=(((W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ad=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ps=(((W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
pd=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
m=(1)*(1)
PM0 (vo net12 vdd vdd) pmos1 w=((2*W) / (2)) l=L as=(((2*W) / (2)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) + (floor(((2) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) + (floor(((2) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ad=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((floor((2) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ps=(((2*W) / (2)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
pd=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
m=(1)*(2)
PM1 (net12 net12 vdd vdd) pmos1 w=((2*W) / (2)) l=L as=(((2*W) / (2)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) + (floor(((2) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) + (floor(((2) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ad=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((floor((2) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ps=(((2*W) / (2)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
pd=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
m=(1)*(2)
E0 (vim net03 vip net03) vcvs gain=-1.0
V1 (vip net03) vsource mag=1 type=sine ampl=1m freq=1K
I5 (vdd net5) isource dc=I type=dc
V3 (net03 0) vsource dc=900.0m type=dc
V0 (vdd 0) vsource dc=1.8 type=dc
No.The netlist
What do you want to show ?("/opt/cad/cad/FOUNDRY/analog/180nm/models/spectre/gpdk.scs" "stat")
prt=outfile("/home/15vl21f/param.csv" "w")
simulator( 'spectre )
design( "/home/15vl21f/simulation/diff_amp/spectre/schematic/netlist/netlist")
resultsDir( "/home/15vl21f/simulation/diff_amp/spectre/schematic" )
modelFile(
'("/opt/cad/cad/FOUNDRY/analog/180nm/models/spectre/gpdk.scs" "stat")
)
analysis('ac ?start "10" ?stop "100G" )
analysis('dc ?saveOppoint t )
desVar( "W" "" )
desVar( "L" "" )
desVar( "I" "" )
envOption(
'analysisOrder list("dc" "ac")
)
temp( 27 )
paramAnalysis("I" ?values '(0.00015 0.00016 0.00017 ) ?sweepType 'paramset
paramAnalysis("W" ?values '(5e-07 8e-07 1e-06 ) ?sweepType 'paramset
paramAnalysis("L" ?values '(1e-05 1.5e-05 2.5e-05 ) ?sweepType 'paramset
)))
paramRun()
x = ymax(db20(VF("/vout")))
y = bandwidth(VF("/vout") 3 "low")
fprintf(prt " %f A, %f m, %f m,%f dB, %f Hz\n", I, W, L, x, y)
close(prt);
It is possible.Is it possible to do parametric analysis for three different variables at a time?
I can not understand what you want to mean at all.I'm new to Cadence
I can not understand what you want to mean at all.I have to write code for Nelder-Mead method in Ocean.
I answered in #8 clearly.--------------------------------------
can you tell me what's wrong in this code?
// Generated for: spectre
// Generated on: Jun 21 15:06:12 2017
// Design library name: Kiran_OTA
// Design cell name: diff_amp
// Design view name: schematic
simulator lang=spectre
global 0
// Generated for: spectre
// Generated on: Jun 21 15:06:12 2017
// Design library name: Kiran_OTA
// Design cell name: diff_amp
// Design view name: schematic
simulator lang=spectre
global 0
parameters W L I
include "/opt/cad/cad/FOUNDRY/analog/180nm/models/spectre/gpdk.scs" section=stat
// Library name: Kiran_OTA
// Cell name: diff_amp
// View name: schematic
NM3 (net5 net5 0 0) nmos1 w=((W) / (1)) l=L as=(((W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ad=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ps=(((W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
pd=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
m=(1)*(1)
NM2 (net11 net5 0 0) nmos1 w=((2*W) / (1)) l=L as=(((2*W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (1))) : 0)) / 1 \
ad=(((2*W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (1))) : 0)) / 1 \
ps=(((2*W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (1)))) : 0)) / 1 \
pd=(((2*W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (1)))) : 0)) / 1 \
m=(1)*(1)
NM0 (net12 vip net11 0) nmos1 w=((W) / (1)) l=L as=(((W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ad=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ps=(((W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
pd=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
m=(1)*(1)
NM1 (vo vim net11 0) nmos1 w=((W) / (1)) l=L as=(((W) / (1)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) + (floor(((1) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) + (floor(((1) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ad=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((W) / (1)) * 400n))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((W) / (1)) * 200n)) : 0)) / 1 : ((floor((1) / 2.0) * ((((400n) - 200n) + 400n) * ((W) / (1)))) + ((((1) / 2) - floor((1) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((W) / (1))) : 0)) / 1 \
ps=(((W) / (1)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) + (floor(((1) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
pd=(((W) / (1)) < 599.5n) ? ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 1 : ((floor((1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((W) / (1))))) + ((((1) / 2) - floor((1) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((W) / (1)))) : 0)) / 1 \
m=(1)*(1)
PM0 (vo net12 vdd vdd) pmos1 w=((2*W) / (2)) l=L as=(((2*W) / (2)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) + (floor(((2) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) + (floor(((2) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ad=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((floor((2) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ps=(((2*W) / (2)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
pd=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
m=(1)*(2)
PM1 (net12 net12 vdd vdd) pmos1 w=((2*W) / (2)) l=L as=(((2*W) / (2)) < 599.5n) ? (((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) + (floor(((2) - 1) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) + (floor(((2) - 1) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) == 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ad=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * (((((400n) - 200n) + 400n) * 600n) + (((2*W) / (2)) * 400n))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n)) * 600n) + (((2*W) / (2)) * 200n)) : 0)) / 2 : ((floor((2) / 2.0) * ((((400n) - 200n) + 400n) * ((2*W) / (2)))) + ((((2) / 2) - floor((2) / 2) != 0) ? (((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n)) * ((2*W) / (2))) : 0)) / 2 \
ps=(((2*W) / (2)) < 599.5n) ? (((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : (((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) + (floor(((2) - 1) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) == 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
pd=(((2*W) / (2)) < 599.5n) ? ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + 2u)) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((200n > (((400n) - 200n) + 400n)) ? 200n : (((400n) - 200n) + 400n))) + 1.6u) : 0)) / 2 : ((floor((2) / 2.0) * ((2 * (((400n) - 200n) + 400n)) + (2 * ((2*W) / (2))))) + ((((2) / 2) - floor((2) / 2) != 0) ? ((2 * ((400n > (((400n) - 200n) + 400n)) ? 400n : (((400n) - 200n) + 400n))) + (2 * ((2*W) / (2)))) : 0)) / 2 \
m=(1)*(2)
E0 (vim net03 vip net03) vcvs gain=-1.0
V1 (vip net03) vsource mag=1 type=sine ampl=1m freq=1K
I5 (vdd net5) isource dc=I type=dc
V3 (net03 0) vsource dc=900.0m type=dc
V0 (vdd 0) vsource dc=1.8 type=dc
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf
dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
dcOpInfo info what=oppoint where=rawfile
ac ac start=10 stop=100G annotate=status
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
saveOptions options save=allpub
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?