Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

dbOpenScratchDesign

dbOpenScratchDesign(
t_libraryName
t_cellViewType
) 
=> d_cellViewID

Description

Opens a scratch design of the specified cellview type scoped to the specified library.

The function allows you to create an in-memory design or a scratch-pad area that does not require any directories or files to exist on the disk, does not require locking, and is guaranteed to be unique. It can be used as a scratch-pad in which you can do perform what-if experiments without committing anything to disk.

You can used the scratch design as a regular design, but it has the following restrictions:

Arguments

t_libraryName

Name of the library to which the scratch design is scoped.

t_cellViewType

Cellview type of the scratch design. For example, "maskLayout" or "schematic".

Value Returned

d_cellViewID

Cellview ID of a unique scratch design.

Examples

Opens a layout cellview and a scratch layout design and creates an instance of the layout cellview in the scratch layout design.

\i layoutDB = dbOpenCellViewByType("testlib" "cell0" "layout" "maskLayout" "r")
\t db:0x2990e59b
\i scratchDB = dbOpenScratchDesign("testlib" "maskLayout")
\t db:0x2790e61a
\i dbCreateInst(scratchDB layoutDB "I0" 0:0 "R0")
\t db:0x2720de1

The scratch design does not exist in the library.

\i ddGetObj("testlib" scratchDB~>cellName)
\t nil

The scratch design cannot be saved.

\i dbSave(scratchDB)
\w *WARNING* (DB-270000): dbSave: Attempt to save a scratch-mode design.
\t nil

Return to top
 ⠀
X