For CI 2406, when I LVS check locally through netg...
# lvs
t
For CI 2406, when I LVS check locally through netgen the Analog wrapper, netgen says that LVS passes but when I run the local precheck the precheck's LVS check fails. It appears that for the resistors in the design that xschem is dropping the _5p73 and LVS from the precheck is failing because of this. Besides that everything appears to be fine. I was wondering if I was failing to notice anything.
t
This probably has to do with the version of the PDK. In recent versions of the PDK, magic will automatically find the width of the poly resistor and extract the width-specific device model (such as
res_xhigh_po_5p73
). Xschem isn't dropping the
_5p73
, the suffix just isn't in the schematic, and when simulating from the schematic netlist, it is using the generic (non-width-specific) device model. If locally, you have an older version of the PDK, then magic will also extract the generic resistor model when extracting layout read from GDS. The best solution is probably to update the PDK on your local machine and change the schematic resistor instances to use the width-specific device name.
t
We ran the LVS precheck again. This time changing the config file
lvs_config.json
.We moved the xschem spice file path from
LVS_SPICE_FILES_TO_FIX
to be under
LVS_SPICE_FILES
. With this change the LVS check passes. what exactly is
LVS_SPICE_FILES_TO_FIX
doing in regards to the precheck? When looking further it appears that by putting the xschem spice file under this config the precheck is editing all non generic devices to generic ones. I got the repo from here https://github.com/efabless/caravel_user_project_analog/blob/main/lvs/user_analog_project_wrapper/lvs_config.json and I found this discussion which says
LVS_FILES_TO_FIX
is obsolete. https://web.open-source-silicon.dev/t/16918467/i-m-trying-to-pass-what-s-essentially-just-two-poly-resistor. From Mitch Bailey at 04/08/2024, 9:17 PM
🎉 1
m
LVS_SPICE_FILES_TO_FIX removes the width suffix from spice model names so that those models would match the extracted generic models. As @Tim Edwards stated, the current magic file tech files extracts device models with width suffices so the source spice will match without modification.
t
I guess I was asking, if this is the case, where magic extracts with the widths and in xschem we use the width specified devices, why is the analog github still configured for the previous version?
m
@Thomas Figura Good point! The analog template definitely needs work. The openlane interface is also broken. Do you want to create a pull-request?