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

pcUserGenerateShape

pcUserGenerateShape( 
d_shape 
p_port 
) 
=> t / nil

Description

A user-defined procedure called by the compiler before it processes any shapes in the master Pcell. The procedure is normally used to suppress shape generation or to modify shapes.

Arguments

d_shape

Database ID of shape.

p_port

Port to which the output code is generated.

Value Returned

t

Compiler does not generate the code to reproduce the shape.

nil

Compiler generates the code to reproduce the shape as if the procedure were not called.

Examples

procedure( pcUserGenerateShape( shape port )
if( cond = shape~>userSpecialProp then
; generate conditional code
fprintf(port "if( %L then\n" cond)
)
; always generate code for this shape
nil
)

Looks for the property userSpecialProp for the shape. If the property exists, the compiler generates SKILL code to test the results of evaluating the property value when an instance is placed. The code to reproduce the shape is generated by the compiler within a conditional block, so the shape is reproduced in the submaster Pcell only if the condition evaluates to a nil value.

You need to close the condition properly (generating closing parentheses) in the call to pcUserPostProcessObject.


Return to top
 ⠀
X