Product Documentation
Virtuoso Parameterized Cell Reference
Product Version IC23.1, September 2023


Contents

1

Overview

What Is a Parameterized Cell?

Pcell Super and Submaster Cells
Advantages of Using Pcells
Components of Pcell

How can Pcell Source be Represented

Using SKILL
Using SKILL++
Using Graphical Entry

2

Safety Rules for Creating SKILL Pcells

SKILL Procedures Called in Pcells
Macros in Pcell SKILL Code
Physical Limits for Functions
Recommended and Supported SKILL Functions for Pcells
Using Print Functions in a Pcell
Enclosing the Body of Code in a let or prog for Local Variables
What to Avoid When Creating Pcells

3

How to Package a Pcell

Loading of Pcell Support Files
Delivery of a Pcell Library
Specifying Source Code for Stream In

4

Creating SKILL Parameterized Cells

The pcDefinePCell Function

Using the pcCellView Variable

Using the SKILL Operator ~> with Pcells

Defining Parameter Values

Building Geometries

Creating Instances within Pcells

Building Nets, Terminals, and Pins

Accessing Technology File Data

Example 1
Example 2
Example 3

Variable Scoping

Schematic Symbol Pcells

Advantages of ROD Functions in Pcell

Using a Variable Number of Terminals

5

Creating SKILL++ Parameterized Cells

Advantages of SKILL++ Pcells

Recommended and Supported SKILL++ Functions for Pcells

Steps to Create SKILL++ Pcell

SKILL++ Pcell Samples

6

Creating Graphical Parameterized Cells

Adding the Pcell Menu

Stretch Commands

Drawing Stretch Control Lines
Defining Stretch Parameters
Specifying Stretch Directions
Specifying a Reference Dimension
Setting Minimum and Maximum Values
Applying Default, Minimum, and Maximum Values
Stretching Paths
Using Stretch with Repetition
Using Stretch with Conditional Inclusion
Stretch Menu

Conditional Inclusion Commands

Including or Excluding Objects
Using Conditional Stretch Control Lines
Using Conditional Inclusion with Repetition
Conditional Inclusion Menu

Repetition Commands

Specifying the Direction in which Objects Repeat
Specifying the Number of Repeated Objects
Specifying the Stepping Distance
Specifying Parameter Definitions
Repeating Pins and Terminals
Using Repetition with Stretch
Using Repetition with Conditional Inclusion
Repetition Menu

Parameterized Shapes Commands

Creating Parameterized Shapes
Defining a Margin
Parameterized Shapes Menu

Repetition Along Shape Commands

Using Control Path Segments
Specifying Start and End Offsets
Repetition Along Shape Menu

Reference Point Commands

Using a Reference Point Defined by Path Endpoint
Using a Reference Point Defined by Parameter
Reference Point Menu

Inherited Parameters Commands

Creating a Pcell with Inherited Parameters
Inherited Parameters Menu

Parameterized Layer Commands

Assigning a Parameterized Layer to Objects
Parameterized Layer Menu

Parameterized Label Commands

Assigning Parameterized Labels
Parameterized Label Menu

Parameterized Property Commands

Using Parameterized Properties
Parameterized Property Menu

Parameters Commands

Using Parameter Commands
Parameters Menu

Compile Commands

Using Compile
Creating a Pcell from a Cellview
Creating a SKILL File from a Cellview
Recognizing Error Conditions
Compile Menu
Recompile Pcells

Make Ultra Pcell Command

What Are Ultra Pcells?
Ultra Pcell Example
Ultra Pcell Requirements
Make Ultra Pcell

Customizing the Pcell Compiler

Background
How Customization Works
Variables
Restrictions on SKILL Functions
Example
Pcell Compiler Customization SKILL Functions

Creating Complex Pcells

Using Technology File Information
Specifying Values from the Technology File
Using Technology File Functions
Using the Component Description Format
Using Callbacks
Example of Pcell with CDF

Converting Graphical Pcells to SKILL Code

Examples of Converting Pcells to SKILL Code

7

Debugging SKILL Pcells

Working with Pcell IDE
Open the Pcell IDE Window
Pcell IDE Window Toolbar
Description
Debugging Pcell Supermaster
Debugging CDF
Debugging Pcell Instances
Publish Command
Debug Hier Mode Command
Pcell Evaluation Message
Supported and Not Supported Pcell Instances
Viewing Pcell Connectivity Model
Checking Pcell Parameters
Correcting and Updating Pcell Source
Restarting a Debugging Process

Debugging Pcells Abutment

Debug Abutment Form
Debugging Pcell Abutment using Pcell IDE
Check Abutment Command
Bindkey Editor

8

Express Pcells

Overview of Express Pcells

Express Pcell Plug-In for Non-Virtuoso and Third Party Applications

Requirements for Using the Express Pcell Feature

Virtuoso Design Environment Application
Non-Virtuoso Cadence Application
Third Party Application

Use Model of Express Pcell Management

Inside the Virtuoso Design Environment
Outside the Virtuoso Design Environment

Managing the Express Pcell Cache

Using Environment Variables
Using the Express Pcell Manager GUI in a Virtuoso Session
Maintaining the PDK Version in the Express Pcell Cache
Enabling Express Pcells for Specific Libraries
Installing the Express Pcell Plug-In for Non-Virtuoso or Third Party Applications

Cache Merge Utility

Preventing Data Inconsistencies
xpcmerge Command Line Utility
Sample Log File Format
Environment Variable to Control Express Pcell Proliferation Message
Exclude Specified Pcells from the Express Pcell Save or Read Operation

A

Graphical Pcells Form Descriptions

Compile To Pcell Form

Compile To Skill Form

Conditional Inclusion Form

Define Parameterized Label Form

Define Parameterized Layer Form

Define Parameterized Path Form

Define Parameterized Polygon Form

Define Parameterized Rectangle Form

Define/Modify Inherited Parameters Form

Delete Conditional Inclusion Form

Delete Parameterized Layer Form

Delete Parameterized Path Form

Delete Parameterized Polygon Form

Delete Parameterized Property Form

Delete Parameterized Rectangle Form

Delete Reference Point Form

Delete Reference Point by Path Form

Edit Parameters Form

Modify Conditional Inclusion Form

Modify Parameterized Label Form

Modify Parameterized Layer Form

Modify Repeat in X Form

Modify Repeat in X and Y Form

Modify Repeat in Y Form

Modify Repetition Along Shape Form

Parameterized Property Form

Reference Point by Path Endpoint Form

Reference Point by Parameter Form

Repeat in X Form

Repeat in X and Y Form

Repeat in Y Form

Repetition Along Shape Form

Stretch in X Form

Stretch in Y Form

Ultra Pcell Form

B

Express Pcell Manager


Return to top
 ⠀
X