3 Replies Latest reply on Nov 17, 2011 7:36 PM by samantha_lizak

    SourceBased vs SourceNames vs SchematicOnly

    lfc

      Hey everyone,

       

      I searched the forums and didn't find this posted.

       

      Can someone explain to me the differences between these 3. I've been reading TechNotes and the SVRF manual on what these mean but I still haven't pinpointed exactly how the differences are.

       

      One thing I do know is that SchematicOnly requires a file.

       

      The flow I use is:

      1) I run LVS to generate a PHDB. Then from the PHDB, I generate a PEX SIMPLE netlist. Consequently, this is a Layout based SPICE netlist.

      2) I run xRC transistor level extraction on the design. Then I use the formatter to generate a DSPF parasitic netlist.

      3) Then I use Magma's Finesim to back-annotate the DSPF netlist onto the PEX SIMPLE netlist generated in Step 1.

       

      Using "SourceBased", back-annotation yields 67% matching. Using "SourceNames", back-annotation is yielding nearly 97%.

       

      Obviously it looks like "SourceNames" is working but I'm not quite sure why. Just want to understand.

        • 1. Re: SourceBased vs SourceNames vs SchematicOnly
          samantha_lizak

          Hi LFC-

           

          I hope you got an answer from customer support and haven't been waiting since Tuesday!  I see something is wrong with the SupportNet search on the documentation -- I know where your answer is (the "Getting Started" chapters of the Calibre xRC User's Manual) but even with a narrowed search the first hit for it was to a very old version of the manual.

           

          Now, to answer your questions in brief:

           

          Source-based structures the database of intentional effects/drawn shapes (the PHDB) according to the source (likely a schematic) instead of the layout.

          Source-name based structures the database of intentional effects using the layout, but the PEX output uses schematic/input netlist names.

          Schematic only is pretty much the same as source-based: the PHDB is from the source and the output uses the source names.

          Layout-based is something of a default mode that doesn't require an LVS license.  The database is built using the layout only -- any schematic or input netlist is ignored. The output can be hard to read unless you attached net names with labels carefully.

           

          Based on your flow, you are using source names -- a layout flow doesn't use LVS. It may also be source-based. This is not necessarily a bad thing -- layout-based netlists can't be used for backannotation.

           

          Incidentally, you can do the backannotation without step 3. See the section "Backannotating Parasitics to a Source Netlist" in the Calibre xRC User's Manual.  My suspicion is that you need to change PEX NETLIST in your SVRF file to "SOURCEBASED". There is no need to generate a separate simple netlist -- one pass does it all.

           

          Regards-

           

          Sam.

          • 2. Re: SourceBased vs SourceNames vs SchematicOnly
            lfc

            Sam,

             

            Thank you so much for the reply. As a matter of fact, I have been waiting for awhile for a reply =/

             

            In any case, I tried your back-annotation step and generated a HSPICE netlist. My rules file command was:

             

            PEX NETLIST (filename.sp) HSPICE 1 SOURCEBASED GROUND "vgnd"

             

            Does that look correct? I want to generate a SPICE netlist that I can just feed into the simulator then since you're saying I can skip step 3 by letting Calibre do the back-annotating instead of the simulator tool.

             

            Also, is there a way to generate a back-annotation report in Calibre to show what percent parasitics have been back-annotated?

             

            Thanks again Sam.

             

            -Chris

            • 3. Re: SourceBased vs SourceNames vs SchematicOnly
              samantha_lizak

              Hi Chris-

               

              Without being sure of which Calibre version you are using, the statement looks sufficient.  (I checked the manuals for 2011.1.)  The switch from PEX Netlist Distributed/PEX Netlist Lumped to the new unified syntax happened after I'd moved to RET.  But what you show is valid per the SVRF manual and meets all the requirements in the backannotation procedure.  However, in the first note in this thread you were using DSPF; this shows HSPICE. The statement would be much the same with just that keyword change.

               

              Not sure what you mean by showing what percent parasitics have been backannotated.  My impression is that all the parasitics present in the output are backannotated, though I suppose nothing stops you from starting with a partially annotated source netlist.  If you mean the other direction -- how many of the parasitics that were extracted made it into the output -- that depends on the switch you use for the formatting step.  No particular switch or -all would cause all parasitics to get backannotated, although anything that the formatter could not match is added as a "_noxref" rather than with a net name.  "-c", of course, would mean only capacitance got added, and resistance (and any inductance, should you have calculated that) did not get added.  But couldn't tell you percentage.

               

              If you think you might be missing some values, another thing to check is whether you have any PEX Reduce statements.  Most of those recombine low-value parasitics so that the netlists are smaller (and faster to simulate) without reducing the parasitic effect.  Potential exceptions are PEX Reduce Mincap REMOVE and PEX Threshold. (PEX Threshold went obsolete back in 2008 or 2009, but I don't know what version you are using.) Those are both pretty uncommon, though.

               

              I was checking SupportNet for some tech notes that might talk more about backannotation (there used to be a good one explaining what was going on, from back when the procedure still required environment variables) and I think I may have found why you were asking about the percentage that got backannotated -- are you getting messages about "schematic instance <netpath>/<device>_noxref not found"?  Then you need this:

                   http://supportnet.mentor.com/reference/technotes/public/technote.cfm?tn=mg543224

               

              Hope this helps; Rick Sedlak in customer support can provide even better answers if this is not quite what you are looking for  -- Rick taught me everything I know about backannotation and he didn't move to a different area of Calibre like I did.

               

              Good luck-

               

              Sam.