Karla Julieth Camacho Mercado
03/06/2023, 11:55 PMAmro Tork
03/07/2023, 6:22 AMAmro Tork
03/07/2023, 6:22 AMAmro Tork
03/07/2023, 6:23 AMIF TEMP is specified THEN
instance_temperature = TEMP
ELSE
instance_temperature = circuit_temperature + DTEMP
END IF
Stefan Schippers
03/07/2023, 9:23 AMdtemp=...
parameter can not be applied to subcircuit instances.
You probably need to add this to individual MOS transistors, but since MOS transistors in sky130 are represented as subcircuits you have to make this change in the model files.
TL;DR: I have not found an easy way to set part of a circuit to a different temperature.
May be @Tim Edwards has some trick for this?Stefan Schippers
03/07/2023, 9:25 AMAmro Tork
03/07/2023, 9:34 AMdtemp=
doesn't work for subcircuit. You might need to build a parameterized cell for that.Karla Julieth Camacho Mercado
03/07/2023, 4:26 PMKarla Julieth Camacho Mercado
03/07/2023, 4:40 PMAmro Tork
03/07/2023, 5:53 PMAmro Tork
03/07/2023, 5:53 PMStefan Schippers
03/07/2023, 11:20 PM.temp 0
will set the whole circuit at 0C.
About parametrized cells, you might notice if you open a sky130 spice netlist that even a single nfet transistor is described as a subcircuit. The nfet subcircuit is parametric as it takes various parameters, most important ones are W, L, nf, mult.
xschem generates a subcircuit instance line for a mos transistor:
XM18 G2 G2 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=4 W=2 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)'
+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1
The sky130_fd_pr__nfet_01v8_lvt
is the name of the nfet subcircuit, and it is followed by all transistor parameters (width, length, number of fingers, calculated drain/source areas/perimeters, and so on).
The definition of this subcircuit is inside the sky130 pdk and looks somewhat like this:
.subckt sky130_fd_pr__nfet_01v8_lvt d g s b
.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1
msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd}
...
... << nfet model definition
...
...
.ends
the parameters declared here are just default values that are to be replaced by the instance call.
Adding a temp=... or dtemp=... requires to modify the pdk file above, and even if doing so it seems BSIM MOS models don't use this temperature information, so yes, the task looks complicated.Karla Julieth Camacho Mercado
03/08/2023, 3:03 PMKarla Julieth Camacho Mercado
03/08/2023, 3:06 PMAmro Tork
03/08/2023, 4:46 PMAmro Tork
03/08/2023, 9:07 PMKarla Julieth Camacho Mercado
03/09/2023, 3:19 PMLinen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by