AnsweredAssumed Answered

Calibre LVS: Debugging cross-coupled errors

Question asked by horror-vacui on Nov 10, 2018
Latest reply on Nov 12, 2018 by horror-vacui

Hi Everyone,


I have a strange LVS error, what I am debugging for about 4 hours at least and it makes no sense to me. I am running out of ideas. This makes me believe that there is a better debug procedure than the one I am following.


I have a "cross-connect error" where the drains of two transistors are swapped on my top layout according to Calibre. The cell where the devices and all the interconnection in question reside is LVS clean. The nets in question are not connecting to any pins. I have four such cells on my top cell, but I got the error only for one of the placed instances. On the schematic, I used vector format, so I am sure that only the input and outputs are different. I checked my top layout and there is no metal on the higher hierarchy level which could cause any disturbance in net recognition. I have looked at the layout, highlighted and followed the wiring of questionable nets, searching for any possible interaction with other metals, but I have found none. The error and the number of violations are the same if I run flat instead of a hierarchical check. I turned an all LVS report options, but it only let me know, that I should swap the two outputs.


If you have any idea how could I debug it better, please let me know!





PS: I am using Calibre for 10+ years, but I never had such a stubborn violation.


Excerpt from the LVS report:

2Net 248                                               XBUF<2>/XAMP/g_buf
   --- 5 Connections On This Net ---                     --- 5 Connections On This Net ---
   --------------------------                            --------------------------


   --- Incorrect Devices On This Net ---


   M7876(61.087,-344.008) (SL)  ME(egslvtnfet)           XBUF<2>/XAMP/XN2/MN0  ME(egslvtnfet)
     d: 248                                                ** XBUF<2>/XAMP/g_buf **
     ** 235 **                                             d: XBUF<2>/XAMP/pgb


   M7850(58.227,-344.008) (SL)  ME(egslvtnfet)           XBUF<2>/XAMP/XN3/MN0  ME(egslvtnfet)
     d: 235                                                ** XBUF<2>/XAMP/pgb **
     ** 248 **                                             d: XBUF<2>/XAMP/g_buf