Product Documentation
Virtuoso IPVS User Guide
Product Version 20.11, March 2021

2


Virtuoso IPVS Toolbar

VIPVS gives you the ability to customize default graphical interface, such as toolbar itself as well as its default run behavior. This chapter goes over each topic in great details.

The content of this chapter is organized as following:

Overview

VIPVS is an interactive DRC utility available in Virtuoso. It can:

Thus, for a quick DRC during layout editing, VIPVS is more effective than the traditional batch DRC for in design verification solution.

VIPVS allows you to:

Following figure shows the VIPVS toolbar:

Figure 2-1 VIPVS Toolbar Icons

You can set VIPVS toolbar availability through Window > Toolbars > VIPVS. If VIPVS is not part of Toolbars selection, this is the indication that you did not point to the proper PVS installation.

Figure 2-2 Setting VIPVS toolbar visibility

You can also set the visibility of VIPVS toolbar by setting ipvsSettings.hideToolbar=t | n in .cdsinit.

Toolbar Icons

You can customize the toolbar. Following figure shows different ways of customizing the default VIPVS toolbar.

Figure 2-3 VIPVS Toolbar Customization

Verify-Design

Verify-Design is an area specific check. Therefore, you can set the default area check to any of following through Virtuoso_IPVS_initArea:

For details of Virtuoso_IPVS_initArea setup, refer to the Virtuoso CDS Environmental Variables section.

Following example sets area of checking based on current visible area.

Figure 2-4 Default Area check to "Visible Area"

Default Active Snapshot

By default, items in the snapshot combo field are sorted alphabetically. The first item on the sorted list will be set as an active snapshot and displayed in the combo field. If you prefer to customize a default active snapshot other than tool's selection, you can define it through VirtuosoIPVS_initSnapshot.

Once it is set, VIPVS first searches for the existence of this snapshot and displays it as an active snapshot after VIPVS toolbar initialization. If your preferred snapshot is not found, VIPVS will resolve to its default behavior.

Following example shows VIPVS' default behavior on determining the active snapshot by setting the first item from the alphabetical sorted list. To override this behavior, Virtuoso_IPVS_initSnapshot is set to FinBound prior to launching Virtuoso. Once the layout is opened, FinBound is displayed in the snapshot combo field.

Figure 2-5 Set active snapshot

Run Option

You can query the snapshot header information through a snapshot info inquiry utility. It is part of the Run Option icon drop-down list. By default, this utility is not enabled. VirtuosoIPVS_Info controls the visibility of this feature.

Figure 2-6 Enable Snapshot Info Inquiry

For details of snapshot info inquiry, refer to Snapshots Inquiry.

Error Browsing Utility

VIPVS allows you to view violations through following options:

PVS RV is the default error browser. To customize the default browser, you can specify the setting through Virtuoso_IPVS_markerBrowser.

Figure 2-7 Customize default Error Browser

If Phys_Ver_Sys_Results_Viewer license is not available, PVS RV option is not visible and DRCDE is the default error browser.

Virtuoso IPVS Run Options

The Virtuoso IPVS Run Options form contains three tabs: Verify Design, SignOff Fill and Density Analysis.

Figure 2-8 Virtuoso IPVS Run form

Run Settings for Verify Design

Following outlines the topics described in this section:

To interactively change current VIPVS behavior, you can invoke the Virtuoso IPVS Run Options form by clicking on the VIPVS Run Options icon on the toolbar.

All options described in this section are applicable to entire Virtuoso session only, and are not window specific. If new layout is opened within the Virtuoso session, it will inherit settings set in the Virtuoso IPVS Run Options form. Once Virtuoso session is closed, the options interactively set by you are not retained.

Figure 2-9 Default Option Form

Dynamic Rule Filtering (DRF)

Virtuoso IPVS has a built-in intelligence to select rules based on the layer visibility. In other words, you can ask VIPVS to select checks based on current visible layers displayed in the Palette. To effectively use this feature, this dynamic rule filtering capability should be paired up with Virtuoso valid LPP utility. Then, VIPVS further performs rule selection based on current visible layers display status in the Palette. Essentially, it becomes a What-You-See-Is-What-You-Check utility when they are paired up. Tool makes the assumption that for any visible layer displayed in the Palette that matters to you, you only want to ensure editing does not introduce any unforeseen DRC violations which are avoidable during layout editing and planning.

In Virtuoso IPVS Run Options, you can enable the Use layer visibility option located in the Rules for Visible Layers field. Once it is enabled, rules are selected based on visible layers to its adjacent layers, which may or may not be visible in the Palette. For example, if Metal1 is visible in the Palette, rules for Metal1 itself checks, Metal1-Vias checks as well as Metal1-Metal2 checks will be selected.

Furthermore, you can exclude density or connectivity checks by enabling Exclude Checks: density or Exclude Checks: connectivity options.

Figure 2-10 Dynamic Rule Filtering Options (IC6.1.7ISR2 or ICADV12.2ISR2 or newer)

Figure 2-11 Dynamic Rule Filtering Options (IC6.1.7ISR1 or ICADV12.2ISR1 or older)

This option needs to be paired up with Virtuoso valid LPP utility. It can be set interactively through Layout Editor Options GUI. It is one of options under the Editor Controls field.

Figure 2-12 Setting Valid LPP utility

Its default option can also be set by using validLppFilterOn CDS environmental variable as following:

envSetVal("layout" "validLppFilterOn" 'boolean 't)

Furthermore, you can exclude density or connectivity checks:

Similarly, DRF default behavior can be controlled using drdPVSFunctionalPresets CDS environmental variable as following:

Environment variable settings depend on Virtuoso version.

Figure 2-13 Customize default DRD setting (IC6.1.7ISR1 or ICADV12.2ISR1 or older)

Figure 2-14 Customize default DRD setting (IC6.1.7ISR2 or ICADV12.2ISR2 or newer)

Run Options

Four elements are grouped under general run option field:

These elements are described in following sections:

Marker Limit

For a given run regardless of operate modes, you can set a limit on the total violation counts in the Total Marker Limit text box. Once total count of markers exceeds this threshold, only maximum amounts of markers are generated and displayed in the layout. Furthermore, you can define maximum marker counts per rule interactively in the Marker Limit Per Rule text box.

In addition to the interactive setting of these marker limits, you can set the default values through following CDS environment variables:

Exclude Cells

You can also choose to exclude certain cells from a given run. There are two ways of declaring excluded cell:

By selecting the From Form option, you can either fill cell information explicitly in the Library, Cell and View text boxes or through the Library Browser form. Latter automatically fills in the Library, Cell and View text boxes once you finalize selection in the library browser.

Figure 2-16 Set Cellview information through Library Browser

Also, if you would like to select a set of cells have similar naming convention, you can issue wildcard on any entry in Library, Cell and View fields.

Two types of wildcards are supported:

For example, you would like VIPVS to exclude all of cell has name starts with NANDFO in any library found, you can fill Library, Cell and View fields as following:

Figure 2-17 Exclude Cell based on searching criteria

Commit the selection by clicking the plus sign (+) button. If the Information is insufficient, a warning message is issued in CIW. Following example shows entered cellview information is insufficient for VIPVS to process.

Figure 2-18 Cellview validity check

In general, VIPVS checks cellview information against libraries declared in cds.lib. If it is not in cds.lib, it is considered not accessible by VIPVS.  

You can also declare a list of excluded cells in the file and then load the content through From File option. By clicking the "…" button. The Select Exclude cell File form is available for you to select the file interactively.

Figure 2-19 Select file contains cell information

Once the file is selected, its path will be populated under File text box. To commit the cell selection via file, click Load. During the loading, VIPVS checks:

If any insufficient information is detected, warning messages are displayed in CIW.

Correct syntax for cell declaration in the file should be in the order of library, cell and view and they are delimited by space between declarations. Also, you can declare wildcard, either ? or *, to conduct batch cell selection. Following example shows correct syntax declared in cell.list. Complete cell information is loaded into exclude cell table after clicking Load.

Figure 2-20 Load cell.list content

You can sort column alphabetically in the Exclude Cells table by clicking the column header: Library, Cell or View.

To remove one or multiple cells from the Exclude Cells table, select one or more rows by clicking the minus sign (-) button.

Figure 2-21 Remove cell from Exclude Cells table

You can declare default exclude cells file path through Virtuoso_IPVS_excludeCellFile.

Bloat Override Control

Virtuoso IPVS allows you to check DRC on certain area of the cellview. Basically the final area of checking is determined by the maximum bloat value found between the value stored in the snapshot or defined through drdPVSMinPostEditBloat CDS environmental variable.

However, you can override bloat value for current Virtuoso IPVS session without re-generating of snapshot using Override snapshot bloat option of the Virtuoso IPVS Run Option form:

Figure 2-22 Override snapshot bloat option of Virtuoso IPVS Run Option form

By default, Override snapshot bloat is disabled. Once you enable it you can enter any positive float value including "0". If you enter "0" bloat value, it would mean that you want to check area "as-it-is".

If you specified override snapshot bloat value, then following message will be printed to Virtuoso CIW window prior VIPVS DRC run:

VIPVS: Bloat value for current snapshot (3.00) is now set to 5.00 (inspect Run Options form)

After VIPVS DRC run regardless operate modes, run complete message includes the bloat value used during the run. Example:

*INFO* VIPVS 
Cellview Name: top
Snapshot: Default
Bloat Value: 5
Summary: 12 markers created

Also, enabling of Override snapshot bloat triggers the Verify Design and Post-Edit icons update in the VIPVS toolbar for all of opened layout window:

In addition, the bloat value is shown as tooltip of toolbar icon:

Figure 2-23 Bloat Value tooltip

Run Termination Control

By default, VIPVS terminates the run if it detects following errors:

This default behavior can be altered through the Abort on Layout Error option.

Figure 2-24 Default VIPVS run termination setting

To continue DRC despite of outcome of layout validity, deselect the check box. In this case, errors found during layout validity check will be treated as soft errors and run proceeds as it-is.

Licensing Control

As described in Licenses Requirements and Behaviors, VIPVS checks out licenses and holds them until termination condition is met. Within a Virtuoso session, you can release the license anytime through the Release License button. It terminates any existing VIPVS session. Only license(s) documented in snapshot header is released. License pertaining to DRCDE is controlled by its own activity process.

Figure 2-25 Release License Trigger

Marker Browser

This field allows you to switch between three different types of browsers. If there are any existing OA markers created by VIPVS or error highlighted on the layout, they are erased when you switch from DRCDE or PVS Results Viewer to Annotation Browsers or vice versa.

Since VIPVS retains last run result in an ascii format, you can reload this data any time by invoking DRCDE or PVS Results Viewer through the toolbar. On the contrary, you cannot view last run results via Annotation Browser on demand. For example, VIPVS’ latest run generates OA markers on the layout. You would like to first view results in DRCDE or PVS Results Viewer and then use Annotation Browser for DRC fixing afterward. In this case, error highlights are generated on the layout and errors are automatically reported in DRCDE or PVS Results Viewer when you toggle from Annotation Browser to DRCDE or PVS Results Viewer. However, OA markers are not restored once you toggle back to Annotation Browser from DRCDE or PVS Results Viewer.

Figure 2-26 Default Browser setting

For details on interactive setting browser preference and for details on each browser behavior and customization, refer to Error Viewing.

Snapshots

The content of snapshot setting field can be customized. The intent of this use model is to give CAD administrator control on the snapshot accessibility to target users. CAD administrator determines whether snapshot should be generated or maintained either globally or locally. Based on this decision, snapshot field content display can be controlled through following shell environmental variables:

Condition One: Global Snapshot Control by CAD Only

In this case, CAD wants a full control of snapshot creation and maintenance. Since users are not allowed to create local snapshot, snapshot creation trigger can be hidden through Virtuoso_IPVS_enableSNPCreation. Depending on the number of snapshot directories, CAD can decide whether to disable or enable Snapshots management field through Virtuoso_IPVS_enableSNPManagement.

Following example shows the complete removal of the Snapshots field by setting both shell environment variables to no.

Figure 2-27 Disable Snapshots Field

If there are more than one snapshot directories maintained by CAD and end user can access them, the CAD can enable snapshot management utility as following:

Figure 2-28 Snapshot management utility

For details of snapshot management, refer to Manage Snapshots.

Scenario Two: Local Snapshot Control by User Only

CAD only maintains technology setup and user is responsible of creating and maintaining local snapshots. Snapshot management utility needs to be available for you to upgrade any out of sync snapshots detected by VIPVS. This utility can be enabled through Virtuoso_IPVS_maintenance.

Figure 2-29 Enable Snapshot management

For details of creating snapshot, refer to Quick Start: Create Snapshot.

For details of upgrading snapshot, refer to Snapshots Upgrade.

Scenario Three: Global and Local Snapshot Control by User

For this use model, CAD provides a set of generic global snapshots and user can create custom snapshots that are derived from these global snapshots.

Figure 2-30 Complete Snapshots field

Run Settings for SignOff Fill

Click the SignOff Fill tab to define run settings for SignOff Fill.

Figure 2-31 SignOff Fill tab

Input

Figure 2-32 Input Section

Output

Figure 2-33 Output Section

Run Options

Figure 2-34 Run Options Section

Run Settings for Density Analysis

Density analysis generates density results from VIPVS toolbar for layers of interest. Rule deck is not required. Results are shown in PVS Results Viewer as heatmap and histograms.

Figure 2-35 Density Analysis Tab

Layer Visibility

Figure 2-36 Layer Visibility Section

Density

Figure 2-37 Density Section

Viewer

Figure 2-38 Viewer Section

Coloring

Figure 2-39 Coloring Section

Buttons at the Bottom of the Form


Return to top