1 Reply Latest reply on Sep 20, 2012 11:43 AM by rick_sedlak

    Issue with Calibre View when running in the Cadence environment

    mugofgold

      Hello All,

       

      I am having an issue when running Calibre xRC in the Cadence environment. I have two instances of resistors "rppolywo_m", R0 (seg length=8.52u, segments=1) and R12 (seg length=8.52u, segments=5, SERIES connection)

       

      Spectre netlist (seems fine..)

      ************************************************************************************

      R0 (D B net3 ) rppolywo_m lr=8.52u wr=1u m=1 mf=(1) mismatchflag=0

       

      //Series configuration of R12

      R12_1__dmy0  (C R12_1__dmy0 net3 ) rppolywo_m lr=8.52u wr=1u m=1 mf=(1) mismatchflag=0

      R12_2__dmy0  (R12_1__dmy0 R12_2__dmy0 net3 ) rppolywo_m lr=8.52u wr=1u m=1 mf=(1) mismatchflag=0

      R12_3__dmy0  (R12_2__dmy0 R12_3__dmy0 net3 ) rppolywo_m lr=8.52u wr=1u m=1 mf=(1) mismatchflag=0

      R12_4__dmy0  (R12_3__dmy0 R12_4__dmy0 net3 ) rppolywo_m lr=8.52u wr=1u m=1 mf=(1) mismatchflag=0

      R12_5__dmy0  (R12_4__dmy0 A net3 ) rppolywo_m lr=8.52u wr=1u m=1 mf=(1)  mismatchflag=0

      //End of R12

      ************************************************************************************

       

      The extracted PEX netlist (ignoring the parasitic R, C) has no issues, as shown below

      ************************************************************************************

      mgc_rve_cell_start "test_rppolyPak" "A" "C" "B" "D"

      mr_pi "RPPOLYWO_M" "R12" `( "R12_PLUS" "R12_MINUS" "net3") `( ("lr" 8.52e-06) ("wr" 1e-06)) `(-14.91 1.405)

      mr_pi "RPPOLYWO_M" "R12@5" `( "R12@5_PLUS" "R12@5_MINUS" "net3") `( ("lr" 8.52e-06) ("wr" 1e-06)) `(-14.91 2.655)

      mr_pi "RPPOLYWO_M" "R12@4" `( "R12@4_PLUS" "R12@4_MINUS" "net3") `( ("lr" 8.52e-06) ("wr" 1e-06)) `(-14.91 3.905)

      mr_pi "RPPOLYWO_M" "R12@3" `( "R12@3_PLUS" "R12@3_MINUS" "net3") `( ("lr" 8.52e-06) ("wr" 1e-06)) `(-14.91 5.155)

      mr_pi "RPPOLYWO_M" "R12@2" `( "R12@2_PLUS" "R12@2_MINUS" "net3") `( ("lr" 8.52e-06) ("wr" 1e-06)) `(-14.91 6.405)

      mr_pi "RPPOLYWO_M" "R0" `( "R0_PLUS" "R0_MINUS" "net3") `( ("lr" 8.52e-06) ("wr" 1e-06)) `(-3.63 1.27)

      ************************************************************************************

       

      With default settings in the Calibre View setup, then open calibre view file and generate the netlist gives me erroneous results, as shown below.

      ************************************************************************************

      // View name: calibre

      R0 (B D net3 ) rppolywo_m lr=8.52u wr=1u m=1 mf=1 mismatchflag=0

       

      R12\@2 (noxref_3 C net3 ) rppolywo_m lr=42.6u wr=1u m=1 mf=1 mismatchflag=0

      R12\@3 (noxref_3 noxref_10 net3 ) rppolywo_m lr=42.6u wr=1u m=1 mf=1 mismatchflag=0

      R12\@4 (noxref_2 noxref_10 net3 ) rppolywo_m lr=42.6u wr=1u m=1 mf=1 mismatchflag=0

      R12\@5 (noxref_2 noxref_9 net3 ) rppolywo_m lr=42.6u wr=1u m=1 mf=1 mismatchflag=0

      R12 (A noxref_9 net3 ) rppolywo_m lr=42.6u wr=1u m=1 mf=1 mismatchflag=0

      ************************************************************************************

       

      Any help/support will be greatly appreciated.

       

      Regards,

      Naveen

        • 1. Re: Issue with Calibre View when running in the Cadence environment
          rick_sedlak

          Naveen,

           

          From your description it appears that: (correct me if I’m not interpreting these fragments correctly)

              The top netlist fragment is directly from Calibre xRC in Spectre format

             The middle netlist fragment is directly from Calibre xRC in CALIBREVIEW format

             The bottom netlist fragment is in spectre format derived from the calibre view in virtuoso

           

          Some observations:

           

          [1]  If you are not using the latest Calibre version of product, you need to try Calibre v2012.3 before many cycles are spent trying to find a cause for the behavior you cite, while all the time it may already be a found and fixed issue with the solution available in the latest Calibre product release.

           

          [2] The lr=42.6u values you cite in bold are clearly different from the expected lr=8.52u values.


                  I assume this is your primary concern?

           

                  Here it appears that in the construction of the calibre view in Virtuoso possibly callbacks to the schematic library could be turned on, thus pulling in values different from those in the xRC CALIBREVIEW netlist for the “lr” property.  The default is off for “Execute Callbacks” on the Calibre View Setup panel, but you should check it anyway.  If this is not at issue here, then . . .

           

          Secondly, you should check on the cellmap file entry for this device model to see if anything in that entry could be influencing this device property.  Perhaps you could share here the cellmap entry for this device.

           

          [3] The noxref items in the netlist derived from the calibre view


             
              It seems odd that you would get noxref items in the spectre netlist derived from the calibre view in virtuoso if they do not also appear in the extracted PEX netlist directly from Calibre xRC in CALIBREVIEW format.  The noxref items must come from somewhere, and the only place they could originate from is the extracted PEX netlist directly from xRC in CALIBREVIEW format.  So something does not follow here.

           

          You can eliminate the noxref items if in Calibre Interactive PEX:  Outputs > Netlist > Use Names From: you choose either SOURCEBASED or SCHEMATICONLY.

           

          For more info on this:
          Consult TechNote MG543224
          Eliminating noxref items from Calibre xRC netlists for backannotation flows

           

          [4] If the above suggestions do not resolve the issue, and to proceed to debug this further, I recommend opening a service request on this issue on supportnet.mentor.com