7 Replies Latest reply on Aug 10, 2009 2:55 PM by chris_balcom

    Calibre LVS device recognition


      I have a strange thing . Some devices in a netlist are being recognized as generic MOS rather than their correct type . I can't see any difference in the netlist between godd and bad devices.

      Here is the relevant part of the report . You can see that the 'extra' M type devices correspond to the missing mn devices in the layout.

      What should I look for ?


                                     INFORMATION AND WARNINGS


                        Matched    Matched    Unmatched    Unmatched    Component
                         Layout     Source       Layout       Source    Type
                        -------    -------    ---------    ---------    ---------
         Ports:              53         53            0            0


         Nets:             4367       4367            0            0


         Instances:           0          0            0            1    M(cnch)
                              0          0            0            9    M(cnch3_nd)
                              0          0            1            0    mn(cnch)
                              0          0            9            0    mn(cnch3_nd)
                              4          4            0            0    mn(nanch)
                              1          1            0            0    mn(nanch3)
                           4189       4189            0            0    mn(nch)
                             27         27            0            0    mn(nch3_nd)
                              7          7            0            0    mn(nch_nd)
                           4086       4086            0            0    mp(pch)
                              9          9            0            0    mp(pch3)
                              9          9            0            0    r(rnodrpo)
                              1          1            0            0    r(rnwsti)
                             63         63            0            0    r(rppo1rpo)
                              2          2            0            0    r(rppolywo)
                             18         18            0            0    d(pdio_3)
                        -------    -------    ---------    ---------
         Total Inst:       8416       8416           10           10



        • 1. Re: Calibre LVS device recognition

          Hi Mike,


          Is this possibly a flat LVS job using a graphical layout as input?


          Since the layout shows an MN(cnch) I suspect there is a DEVICE description in the rulefile that uses MN(cnch).


          In the source netlist though, I suspect the related lines may read something like this:


          M0 net1 net2 net3 net4 cnch ...


          When Calibre sees that in a netlist, it knows to treat the device as some kind of MOS (becasue the first letter of the line is M) but it doesn't know if it's an MN or MP because the first letter of the model isn't N or P. This is a spice limitation that has caused a bit of confusion in cases like this over the years.


          If you ran a hierarchical job, then a spice netlist would end up being used for the layout side as well and then the same limitation/behavior would appear on both sides and you might have a clean LVS. Since the devices would be M(cnch) though, you might not really get all the special processing you might expect if you really wanted them to be treated as MN devices (such as forming the pulldowns in logic gates if that was something you wanted)


          Here's a link to a TechNote that describes some more details about this behavior and some other options you have in these cases. Devices reported as M device instead MN device

          • 2. Re: Calibre LVS device recognition

            Thats very interesting. I see the problem. I'm not sure why this has suddenly occured , I was told this has run before so there must be a workaround. Unfortunately I couldn't access your technical note link.

            The LVS deck was written by the fab so strange that they would do this.


            • 3. Re: Calibre LVS device recognition

              I agree, the practice can lead to unexpected surprises when the job is run under different circumstances such as from netlist or layout, hierarchical or flat. In the final analysis I have always found there to  be a concise explanation for the various behaviors under various conditions but that's only small consolation after valuable time has been spent on the confusing results in the first place.


              The rule of thumb to avoid this issue completely is that the first letter of the model name (or device subtype if you prefer that term) must be consistent with the second letter of the element name (or device type if you prefer that term). Here are details for the 2 major players:


              MN - first letter of the model/subtype should be "N".


              MP - first letter of the model/subtype should be P.


              If that rule of thumb isn't followed the inconsistency won't always be apparent under all modes of running and combinations of input but using the above rule of thumb should avoid this confusion for all modes and all combinations of input.


              If anybody else has seen this behavior and worked through it or found other ways to deal with it I'd be interested to hear about it.

              • 4. Re: Calibre LVS device recognition

                I'd really like to avoid messing with the Fab supplied LVS deck and also the schematic symbol or post processing the netlist . Can we define it with the instance name - such as MN123 ?


                • 5. Re: Calibre LVS device recognition

                  Can you run this hierarchically? If you want to avoid making changes to the rulefile or schematics then that may be your easiest workaround. I suspect it will result in both the layout and source being understood as M devices with subtypes that begin with C.

                  • 6. Re: Calibre LVS device recognition

                    I tried and it complained that the netlist was not Spice format. I believe it was extracted as spice for simulation but then one of the engineers changed it to CDL . I'm not sure why or what the difference is or how Calibre knows the difference.


                    • 7. Re: Calibre LVS device recognition

                      The hierarchical run should have exhibited the same behavior from the source netlist as the flat run. The only thing I expected to change would be that the graphical layout would have been converted by Calibre to a layout netlist and then that netlist would have been used as input for the LVS comparison.


                      Is this something you could open a Service Reqeust for? Should be pretty straightforward to work through. Sounds like there's just some nuisance level issue that may be getting overlooked.