Matt Venn
03/18/2024, 9:19 PMXM1 osc_a osc_b left_cap VSS sky130_fd_pr__nfet_01v8
for schematic and this XXM1 osc_a VSUBS osc_b left_cap sky130_fd_pr__nfet_01v8_L9BG78
for layout.Matt Venn
03/18/2024, 9:19 PMStefan Schippers
03/18/2024, 9:32 PM┌────┬─────┬─────┬────────┬────────┐
│Dev │D │G │S │B │
╞════╪═════╪═════╪════════╪════════╡
│XM1 │osc_a│osc_b│left_cap│VSS │
├────┼─────┼─────┼────────┼────────┤
│XXM1│osc_a│VSUBS│osc_b │left_cap│
└────┴─────┴─────┴────────┴────────┘
Looks there are some misconnections if these two transistors are supposed to match.
The second transistor body connection is not to VSS as it normally should.Tim Edwards
03/18/2024, 9:34 PMTim Edwards
03/18/2024, 9:38 PMXM1
with a parameterized cell XXM1
which is not a device but contains a device. There is no guarantee that sky130_fd_pr__nfet_01v8_L9BG78
has any specific order of pins. That's because the parameterized cell could have many FETs in it and have dozens or even hundreds of pins; so while it may seem like a parameterized cell for a single device ought to have the same pin order as the device inside it, there really isn't much point in doing so.Tim Edwards
03/18/2024, 9:39 PMMatt Venn
03/18/2024, 9:52 PMMatt Venn
03/18/2024, 9:52 PMMatt Venn
03/18/2024, 9:52 PMMatt Venn
03/18/2024, 9:53 PMMatt Venn
03/18/2024, 9:53 PMMatt Venn
03/18/2024, 9:54 PMMatt Venn
03/18/2024, 9:55 PMMatt Venn
03/18/2024, 9:55 PMMitch Bailey
03/19/2024, 12:10 AMVSUBS
net in the extracted layout. This is most likely the substrate connection. I there a ptap connected in your layout?
If you’re extracting from gds, you can use flatglob sky130_fd_pr__*[A-Z]*
to flatten any pcells before extraction. That might make the netlist easier to read. I use ext2spice merge conservative
to combine parallel devices too.Tim Edwards
03/19/2024, 1:00 AMMitch Bailey
03/19/2024, 1:17 AMI don’t think flattening parameterized cells is all that helpful, since they’re going to be flattened right away in netgen because they don’t match anything in the schematic.I agree that if the layout and schematic match, it (generally) makes no difference whether the parameterized cells are flattened or not. (I’ve seen cases where the parameterized cell doesn’t extract a pin which can cause problems). However, when the designs don’t match and I have to look at the extracted netlist, I find it much easier to see the connections of transistors directly than trying to remember what order they were extracted in for each parameterized cell (but that may be age related 😄).
Matt Venn
03/19/2024, 8:02 AMMatt Venn
03/19/2024, 8:02 AMMatt Venn
03/19/2024, 8:05 AMMatt Venn
03/19/2024, 8:05 AMMitch Bailey
03/19/2024, 10:46 AMflatglob
goes in the extract script before gds read
(note that this won’t work with gds readonly
).Matt Venn
03/19/2024, 4:19 PM