Stefan Schippers
10/23/2021, 9:20 PM.subckt
lines.
Ngspice gives the following warning about it:
Warning: m=xx on .subckt line will override multiplier m hierarchy!
That means if I instantiate a subcircuit with m=10
and the .subckt
has m=1
specified it will override instance multiplicity. In general the '`m`' parameter is somewhat special and need not be declared in .subckt
.
Following netlist behaves as if a 1k resistor is instantiated, although a m=10 is used on instance line.
Removing m=1 on .subckt fixes the issue.
** test m multiplicator factor **
.subckt sub1 pp mm m=1
r1 pp mm 1k m=1
.ends
vvcc vcc 0 1
x1 vcc 0 sub1 m=10
.control
op
print vvcc#branch
listing
listing expand
quit
.endc
.end
As far as i have been able to inspect the following subcircuits have the unnecessary m=1 parameter:
sky130_fd_pr__nfet_20v0_iso
sky130_fd_pr__nfet_20v0_nvt_iso
sky130_fd_pr__nfet_20v0_nvt
sky130_fd_pr__nfet_20v0_reverse_iso
sky130_fd_pr__nfet_20v0
sky130_fd_pr__nfet_20v0_zvt
sky130_fd_pr__nfet_g5v0d16v0
sky130_fd_pr__pfet_20v0
sky130_fd_pr__pfet_g5v0d16v0
sky130_fd_pr__nfet_20v0_zvt
sky130_fd_pr__nfet_20v0
sky130_fd_pr__nfet_20v0_nvt
sky130_fd_pr__nfet_20v0_reverse_iso
sky130_fd_pr__pfet_20v0
sky130_fd_pr__pfet_g5v0d16v0
sky130_fd_pr__nfet_20v0_iso
sky130_fd_pr__nfet_20v0_nvt_iso
sky130_fd_pr__nfet_g5v0d16v0
Tim Edwards
10/23/2021, 9:23 PMStefan Schippers
10/24/2021, 7:36 AM