aquiles viza
04/17/2024, 1:18 AMTop level cell failed pin matching
in which both top level devices classes are equivalent.
Maybe it's something easy to fix, but I have not figured where is the problem in the layout .
Subcircuit summary:
Circuit 1: SDC_clean |Circuit 2: SDC
-------------------------------------------|-------------------------------------------
ARRAY_RES_ISO (1) |ARRAY_RES_ISO (1)
INTERNAL_SDC (1) |INTERNAL_SDC (1)
ARRAY_RES_HIGH (1) |ARRAY_RES_HIGH (1)
Number of devices: 3 |Number of devices: 3
Number of nets: 7 **Mismatch** |Number of nets: 8 **Mismatch**
---------------------------------------------------------------------------------------
NET mismatches: Class fragments follow (with fanout counts):
Circuit 1: SDC_clean |Circuit 2: SDC
---------------------------------------------------------------------------------------
Net: VSS |Net: VSS
INTERNAL_SDC/VSS = 1 | INTERNAL_SDC/VSS = 1
INTERNAL_SDC/REF_IN = 1 |
ARRAY_RES_HIGH/IN = 1 |
|
(no matching net) |Net: REF_IN
| INTERNAL_SDC/REF_IN = 1
| ARRAY_RES_HIGH/IN = 1
---------------------------------------------------------------------------------------
Netlists do not match.
Subcircuit pins:
Circuit 1: SDC_clean |Circuit 2: SDC
-------------------------------------------|-------------------------------------------
N2_R |N2_R
VDD |VDD
DOUT |DOUT
VSS |(no matching pin)
(no matching pin) |VSS
VSS |(no matching pin)
---------------------------------------------------------------------------------------
Cell pin lists for SDC_clean and SDC altered to match.
Device classes SDC_clean and SDC are equivalent.
Final result: Top level cell failed pin matching.
Tim Edwards
04/17/2024, 1:21 AMMitch Bailey
04/17/2024, 1:40 AMaquiles viza
04/17/2024, 2:12 PMpoly.res(66/13)
remove poly(66/20)
connectivity. I assume that's correct because ARRAY_RES_HIGH passes LVS with two ports.
• Does magic have a tool similar to "Trace all nets"? Does pressing constantly "s" follow the connectivity between layers?
• The image shows SDC
connections, top module just have 4 (None of which is VSS), so the problem should be deeper on the hierarchy but all the underlying cells are lvs clean.
<connectivity>
<connection>poly,66/44,li</connection>
<connection>li,67/44,met1</connection>
<connection>met1,68/44,met2</connection>
<connection>met2,69/44,met3</connection>
<connection>met3,via3,met4</connection>
<connection>met4,via4,met5</connection>
<!--Should diff, taps be considered in connectivity?-->
<symbols>poly='66/20+66/5-66/13'</symbols> <!--Here I remove connectivity when poly.res is over poly-->
<symbols>li='67/20+67/5'</symbols> <!--Which layers should be considered? drawing, label. David indicates short.-->
<symbols>met1='68/20+68/5'</symbols>
<symbols>met2='69/20+69/5'</symbols>
<symbols>met3='70/20+70/5'</symbols>
<symbols>via3='70/44-89/44'</symbols>
<symbols>met4='71/20+71/5'</symbols>
<symbols>via4='71/44-97/44'</symbols>
<symbols>met5='72/20+72/5'</symbols>
</connectivity>
aquiles viza
04/17/2024, 2:20 PMTim Edwards
04/17/2024, 2:26 PMMitch Bailey
04/17/2024, 2:28 PMlicon
that may not be practical in klayout. If you add tap/diff, be sure to subtract poly.Tim Edwards
04/17/2024, 2:37 PMARRAY_RES_HIGH
has the resistors shorted to the substrate. That's fine for the dummy resistors on the sides, but the central resistor is connected to the tops of the dummy resistors, and from there to the substrate. If you disconnect the top of the middle resistor from the resistors on the side, it will no longer be shorted, although you need to bring in your ground connection from somewhere.aquiles viza
04/17/2024, 2:49 PMTim Edwards
04/17/2024, 2:51 PMaquiles viza
04/17/2024, 2:52 PMTim Edwards
04/17/2024, 2:53 PMTim Edwards
04/17/2024, 2:57 PMaquiles viza
04/17/2024, 3:20 PMTim Edwards
04/17/2024, 3:26 PMaquiles viza
04/17/2024, 4:02 PMCircuits match uniquely.
Thanks David and Tim.
In which file of magic are defined the connectivity rules?Tim Edwards
04/17/2024, 4:02 PMsky130A.tech
), section connect
.