Product Documentation
Virtuoso Fluid Guard Ring Developer Guide
Product Version IC23.1, June 2023

6


Write Customized Fluid Editing Commands

A fluid shape of a fluid guard ring (FGR) device can be visually edited by a design editing tool or layout editor. In Layout L, a fluid shape is selectable from the top level. Therefore, it supports editing features like any other level 0 shape.

The different editing features are implemented through SKILL functions declared and defined in the VFO infrastructure. These functions provide the layout editor with the information required to know about and be able to edit a fluid shape. Therefore, when you edit a fluid shape, the corresponding set of SKILL updater functions are called and you can see editing on the layout canvas alongside your actions.

As a PDK developer, you have the flexibility to customize fluid editing commands. These commands are defined and controlled by a user-specified protocol class derived from the base protocol class. The following methods are available for you to specify the supported edit operations for an FGR (that is, enable or disable an edit command) and to redefine the behavior of edit operations.

Methods for Enabling or Disabling an Edit Command

Methods for Defining the Behavior of an Edit Command

vfoSupportsChop?

vfoChopInstance

vfoSupportsMerge?

vfoMergeInstances

vfoSupportsCreateObstruction?

vfoCreateObstruction

vfoSupportsDeleteObstruction?

vfoDeleteObstruction

vfoSupportsConvertToPolygon?

vfoConvertToPolygon

vfoSupportsAbut?

vfoAbut

vfoSupportsUpdateModelShape?

vfoUpdateModelShape

For syntactical details about these methods, refer to the section describing vfoAdvAlgClass in Chapter 2, “Fluid Guard Ring Infrastructure.” In case you are implementing fluid guard ring without pitch support, refer to the section describing vfoAbstractClass class in Chapter 2, “Fluid Guard Ring Infrastructure.”

Defining Fluid Editing Commands

To write customized fluid editing commands, do the following:

For more related details, refer to the Creating Fluid SKILL Pcells application note available on the Cadence Online Support website.

Pitch Handling Support for Editing Commands

Stretch Command

For the Stretch command, pitch handling support is available only for orthogonal shapes, rectangle, path, and polygon, of shapeType "path".

Pitch handling is supported if the following options are selected in the Stretch form:

During the Stretch command, when you drag the mouse, the fluid shape snaps to the nearest available grid, as shown in the figure below.

Merge Command

The pitch handling support is available for the Merge command only if all of the following conditions are true:

You can use the vfoGRCompareParams SKILL API to check other parameters, as shown in the example below:

defmethod(vfoGRCompareParams ((obj userGuardRingClass) inst1 inst2)
    if(vfoGetParam(inst1 “userParam”) == vfoGetParam(inst2 “userParam”) t nil)
    )

The results of the Merge command are illustrated below:

For cases where no global or local grids are available in the layout canvas, there is no common snapping reference for different fluid guard ring instances. In such cases, the fin grids and poly lines of different FGR instances do not align with each other while placing the instances. When such instances are merged, the resulting fluid guard ring segment lengths are not pitch correct and result in alignment and DRC errors. In such cases, the VFO infrastructure automatically performs post-edit pitch correction, as shown in the figure below:

However, the minimum segment length requirements and inner corner spacing, which result in DRC errors, are not taken care during the post-edit pitch correction. You should use the Stretch command to correct the segment lengths.

You need to set the environment variable fgrPostEditPitchCorrection so that the VFO infrastructure post-processes the merged fluid guard ring instance to ensure that fluid shape data follows the pitch parameters.

Pitch Parameter Support in Edit Properties Form

The four pitch parameters, horizontalPitch, verticalPitch, horizontalSegWidth and verticalSegWidth, can be updated through the Edit Properties form. When you update these parameters, the shape data is also updated for the FGR instance.

The change in the pitch parameters through the Edit Properties form or vfoSetParam function does not guarantee that the instance will snap to pitches.

Return to top
 ⠀
X