Product Documentation
Virtuoso Layout Suite SKILL Reference
Product Version IC23.1, November 2023

Defining the SKILL Extension

The value returned by the SKILL extension is a string. The following syntax is used for defining a SKILL extension:

procedure(customSKILLEXTName(dbId @optional hierPath)
...
)

where:

customSKILLEXTName

The name of the SKILL extension you define. You pass this name as an argument to an appropriate odcReg* SKILL function.

dbId

Database ID

hierPath

This is an optional argument. It specifies the following hierarchical information as a list:

(dbInstId memInst row column)

where, dbInstId: The instance ID in the hierarchical path.
   memInst:   The iteration number for instances. This is 0 as it is not applicable in layout.
   row: The row position in a mosaic instance. This is 0 as Info Balloon is not applicable for a mosaic instance.
   column: The column position in a mosaic instance. This is 0 as Info Balloon is not applicable for a mosaic instance.

The following is a sample of a user-defined SKILL extension. The input for the SKILL extension should be a single dbId and an optional string for hierarchical path. The output to the CIW is the dbId.

procedure(rectCustomFunc(dbId @optional hierPath)
let((hierStr)
if(hierPath then
hierStr = “)”
foreach(instInfo hierPath
inst = car(instInfo)
hierStr = strcat(hierStr “/” inst~>name)
)
      hierStr = strcat(hierStr “)”)
else
hierStr = “()”
; need to return a SKILL string
hierStr
); let
)

Return to top
 ⠀
X