Product Documentation
Virtuoso Studio Known Problems and Solutions
Product Version IC23.1, November 2023

Known Problems and Solutions in Virtuoso Parasitic Aware Design

This document describes the known issues with Virtuoso® Parasitic Aware Design and suggests the workarounds for these issues. Each issue is identified by a Cadence Change Request (CCR) number.

Unless otherwise stated, the issues described in this document were identified in IC23.1 or an earlier release. For a list of the issues that were fixed in this release, check the README file at downloads.cadence.com.

Related Topics

Parasitic Aware Design in Virtuoso ADE Explorer, Virtuoso ADE Assembler, and Virtuoso Schematics L/XL

Virtuoso Parasitic Aware Design SKILL Functions

CCR 2874709: Parasitic Comparison is not working in IC23.1 ISR2

Description: When you choose the Parasitics/LDE – Compare command after running a post-layout simulation, the comparison report is not displayed and the CIW shows the following error:

*Error* putprop: first arg must be either symbol, list, defstruct or user type - nil. 

Solution: This issue has been documented for your information only. There is currently no workaround available in the IC23.1 ISR2 release. It is fixed in the IC23.1 ISR3 release.

CCR 2832012: Annotation of DC operating points to the schematic fails when simulation is run using an extracted or Smart View

Description: Consider that you run a simulation where the design is bound to an extracted or Smart View.

When you run a simulation with the design bound to the schematic, you can annotate the DC operating points, but when you bind the design to the extracted or Smart View, you cannot annotate the DC operating points on the schematic and an error is reported.

On checking the contents of each view, you observe that the schematic has resistors R0, R1 and R2, but these resistors are not present in the layout or the extracted view.

sch->instances~>name
("M0" "PIN1" "PIN0" "R2" "R1"
"R0" "PIN2" "PIN3" "M1"
)
lay->instances~>name ("M1" "M0") ev->instances~>name ("M0" "M0_7__rcx" "M0_6__rcx" "M0_5__rcx" "M0_4__rcx"    "M0_3__rcx" "M0_2__rcx" "M0_1__rcx" "M1" "M1_7__rcx"
"M1_6__rcx" "M1_5__rcx" "M1_4__rcx" "M1_3__rcx" "M1_2__rcx"
"M1_1__rcx" "D16_unmatched" "C1" "C2" "C3"
"C4" "C5" "C6" "C7" "C8"
"Rh3" "Rh4" "Rh5"
"Rh6" "Rh7" "Rh8" "Rh9" "Rh10"
"Rh11" "Rh12" "Rh1" "Rh2" "Ri1"
"Ri2" "Ri3" "Ri4" "Ri5" "Ri6"
"Ri7" "Ri8" "Ri25" "Ri26" "Ri27"
)

Solution: Annotation of DC operating points on the schematic might fail if you do not have the same device in the layout as the schematic.

To annotate the DC operating points, add a small metal resistor to the layout.

CCR 2569502: The DSPF file generated after Smart View extraction does not contain the .SUBCKT statement of the blackbox cell

Description: Performing a DSPF extraction on a block that contains a blackbox cell creates a DSPF file with an additional .SUBCKT statement for the blackbox cell. However, if Smart View extraction is done on the same block, the generated DSPF file may not contain the additional .SUBCKT statement. The simulation runs even without any circuit in the blackbox cell.

Solution: The .ccl file used to generate the Smart View contains an option, -suppress_empty_subckts. If this option is set to true, the .SUBCKT statement is not printed. To resolve this issue and extract the Smart View successfully, comment out this command or set it to false in the .ccl file.

CCR 2460528: Simulation fails with errors during Smart View netlisting when Print Comments is enabled

Description: When running simulation with a Smart View, the simulation fails with the following error:

ERROR (SFE-23): The instance `//' is referencing an undefined model or subcircuit, `Instance'. Either include the file containing the definition of `Instance', or define `Instance' before running the simulation.

This is because the netlist contains comments to indicate the name mapping, as shown in the following example:

// Library name: Two_Stage_Opamp
// Cell name: OpAmp
// View name: schematic
// terminal mapping: AVDD = AVDD
// AVSS = AVSS
// Ibias = Ibias
// inm = inm
// inp = inp
// out = out
subckt OpAmp AVDD AVSS Ibias inm inp out
// pmos1v Instance M4 = spectre device M4
M4 (net10 net6 AVDD AVDD) g45p1svt w=(33u) l=700n nf=6 as=8.58p \
ad=6.6p ps=47.12u pd=35.4u nrd=6.06061m nrs=7.87879m sa=380n \
sb=380n sd=400n sca=4.00000 scb=0.00130 scc=0.00000 m=(1)

These comments have been added because the NameMapping check box in the Print Comments group box of the Environment Options form is selected.

Solution: To resolve this issue, deselect the NameMapping check box in the Print Comments group box of the Environment Options form.

CCR 1940921: An extra space added before the closing parenthesis in subcircuit port list in DSPF causes an error for simulations run using a Smart View

Description: Netlisting procedures in some process design kits (PDKs) add an extra space at the end of the port list before the closing parenthesis.

The following example of a subcircuit port list shows an extra space between ABC and the closing parenthesis:

XI1|I0|IN|R2 (I1\|OUT12\(5\) I0\|I2\|ABC ) rm1w l=1e-06 + w=2.4e-07 multi=(1)

For simulations run using the Smart View, this extra space results into an error, as shown below:

ERROR (SFE-46): ` XI1|I0|IN|R2 ': An instance of 'rm1w' can have at most 2 terminals (but has 3).

Solution: To resolve this issue, use the nlIsSmartExtractedView SKILL API inside the custom netlist procedure, as shown in the example given below.

(nlIsSmartExtractedView ((nlGetCurrentCellView (nlGetNetlister inst)))
=> t/nil

Here, inst is an instance handle passed as an argument to the netlist procedure.

This function identifies the cellview of the specified instance as Smart View and allows updating the netlist procedure to avoid printing parenthesis surrounding the instance port connections.

CCR 1521824: Out of context probing with iterated instances in the extracted view

Description: When an extracted view is created, the drain and source pins may get swapped resulting in errors while creating a netlist using an extracted view.

Solution: Specify the permute rule in the cdf:auLvs property for MOS devices. To do so:

  1. Open the Edit CDF form and select the required library and cell.
  2. Click the Simulation Information tab.
  3. Select the By Simulator radio button and select auLvs from the drop-down.
  4. Set the permuteRule field as (p D S).
  5. Click OK to save the setting.

CCR 1130709: Parasitic Compare does not work with custom parasitic models

Description: The parasitic compare function cannot compare nets that contain custom parasitic models.

Solution: This issue has been documented for your information only. There is currently no workaround available.

CCR 1130604: Parasitic reporting does not work with custom parasitic models

Description: When using custom parasitic models in a design, the Parasitic Report Assistant does not show the values of the parasitics on the nets. Also, the values are annotated on the schematic as r=NA.

Solution: This issue has been documented for your information only. There is currently no workaround available.

CCR 726299: Term-to-term probing fails for a net between two instances of the same cell

Description: In Parasitic Reporting, when doing Terminal-to-Terminal probing on a net between two instances of the same sub-block, if you perform the terminal selection at the lower level in schematic tabs open on each of the two instances, the probing will fail and you get error messages in the CIW.

Solution: To do term-to-term probing on a net between two instances of the same sub-block, select the terminals at the higher level in which the two instance of the sub-block are instantiated.

CCR 691686: Only a complete parasitic estimate can be overridden

Description: The entire parasitic estimate will get disabled when overriding a parasitic on a member-by-member basis.

Solution: The entire parasitic estimate will be disabled when a parasitic estimate in a higher-level cellview tries to override any of its members, even though it may not override all its members. Overriding of individual members in parasitic estimates is not supported.

CCR 671880: RL estimate that is overridden by the Move to current cell command becomes a R estimate

Description: If there is an existing RL estimate set on a net in a subcell and a Move to current cell is run on that estimate, the overriding estimate becomes a R estimate.

Solution: Either remove the RL estimate in the subcell and recreate a new one in the current cell, or complete the R estimate override with an L estimate, after the Move to current cell command is run.

CCR 663420: Decoupled C estimate created with global or inherited net is flagged as out-of-context

Description: When the global or inherited net used for the definition of a decoupled C estimate does not exist in the current cellview, the net is being flagged as out-of-context.

Solution: It is currently recommended that you only use local net names for decoupled C estimate.

CCR 658718: A parasitic K estimate created between 2 RL estimates is not removed when stitching the RL from the extracted view

Description: K estimates created manually between RL estimates are not relevant when replacing the RL estimate with stitched RL. The K estimate should be removed automatically after stitching, but that is not currently happening.

Solution: The K estimate must be removed manually when stitching the respective RL. Note however, that is not essential that the K estimate be removed, as VPAD will ignore it.

CCR 525844: Net expressions with same default can conflict in estimated view

Description: A current limitation of net expressions is that multiple expressions, in the same cellview, cannot have the same global net. This can cause problems when net expressions from two different schematic views have the same default, but different property names, and are copied to the estimated view. If this occurs, a warning will be issued and the net expressions will be combined under a single name. The result of this is that they will both keep the same default, but will not be overridden separately.

Solution: Currently, a workaround is not available.

CCR 502541: Estimated parasitics report does not match Parasitic Estimates assistant

Description: Generating reports on estimated parasitics (by selecting Parasitics – Estimated – Report Parasitics) will give incorrect results if the estimates have been modified in the Parasitic Estimates assistant but the estimated view has not been rebuilt.

Solution: The reports are generated from the estimated view, not from the estimates in the Parasitic Estimates assistant. To obtain correct results you should rebuild the estimated view after making edits in the assistant. To ensure ~R values are correct, re-run the DC oppoint simulations and choose the new simulation results in the Setup Parasitic Estimates form.

CCR 495534: Parasitic Sweep drop-down operates on individual parameter options

Description: The Parasitic Sweeps option operates by modifying individual parameter settings in the PSC assistant. This has two consequences:

  1. When parameters are disabled globally (using the Parameters option in the Data View assistant or the Point Sweep option in the Run Summary assistant), the Parasitic Sweeps option will also be disabled because modification of parameter options are not possible.
  2. When switching the parasitic sweep mode, all device and/or parasitic parameter check boxes are updated without regard to their status when the mode was previously selected. That is, if individual parameters are disabled while in a particular mode, those settings are lost as soon as the mode is switched to another, and they will not be restored on returning to the original mode. This is contrary to the global Parameters and Point Sweep options, which preserve the enabled/disabled state of individual parameters so that they are restored when parameters are globally re-enabled.

Solution: Currently, a workaround is not available.

CCR 464828: Parasitic browser content is read-only and disappears when made editable

Description: When opening or descending into a LCV, where the cell has been bound to a different view in an ADE Assembler test, the parasitic filter and estimate browsers may open in read-only mode. On changing the browser mode to Editable, browser content may become invisible.

Solution: Closing and re-opening the browser assistant will bring back the content.

Also, using parasitic modes to update test configs rather than rebinding them manually will help avoid the problem, since it is the bindings at the tool startup that matter (parasitic modes leave the config pointing to the schematic during startup).

CCR 276565: Crash when reporting on net that does not exist in associated extracted view

Description: If you choose Parasitics – Report Parasitics, then select a net from an incorrect schematic view (that is, the selected net does not exist in the associated extracted view), a crash can occur.

Solution: You should change the schematic view in the extracted view setup form (Parasitics – Setup) to match the top-level schematic where the selection is to be made.


Return to top
 ⠀
X