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

dbOpenCellViewByType

dbOpenCellViewByType( 
{ gt_lib | nil }
t_cellName 
lt_viewName 
[ t_viewTypeName 
[ t_mode 
[ d_contextCellView ] ] ] 
) 
=> d_cellView / nil

Description

Opens a cellview.

The cellview can be opened for read, append, write,or scratch mode. If you open the cellview for the read mode, the cellview must exist. if you open the cellview for other modes, the cellview is created if it does not exist.

Arguments

gt_lib | nil

Specifies the ddId of a library, the name of a library t_lib, or nil. If it is nil, then a search is made for the library of context cellview d_contextCellView. If the name of a library is given, the library must exist in the libList.

t_cellName

Specifies the cell name.

lt_viewName

Specifies one or more view names in one of the following two forms:

  • In the l_viewName form It is a SKILL list that has t_viewNames, such as list("viewA" "viewB").
  • In the t_viewName form It is a string containing one or more view names separated by spaces, such as "viewA viewB".

Cellviews of cell t_cellName are searched for a name matching one from the list. If a match is found, that cellview is opened.

t_viewTypeName

Specifies the view type. If it is omitted or entered as nil or "*.cdb", the cellview must exist.

This argument supports different types of cellviews, some of which are specific to certain flows. Some of the commonly used cellViewTypes are: "maskLayout", "schematic", "schematicSymbol", and "netlist".

Schematics use cellViewType "schematic"and schematic symbols use cellViewType "schematicSymbol".

You need to specify a cellViewType to create a new cellview. An error occurs if you try to create a cellview with an unsupported type.

t_mode

Specifies the access mode to the cellview. The mode can be one of the following values:

  • r Opens the cellview in read mode. The cellview must already exist.
  • a Opens the existing cellview in append mode. If the cellview does not exist, it is created.
  • w Opens the cellview in write mode. If the cellview does not exist, it is created. If the cellview already exists, its contents are removed from the virtual memory.

  • s Opens the cellview in scratch mode. If the cellview does not exist, this mode is the same as "w" mode , which means that the cellview will have the same state and content as a cellview opened in 'w' mode. However, the cellview cannot be saved to disk.

  • wc Same as "w", except that the cellview is not created as the master. This mode creates the cellview even if there is already a master under the cell and view. This option is useful in scenarios where users create cellviews that do not have Virtuoso database files as the master for the new cellviews. For example, consider that a user creates a cellview using a DFII-based simulator and the cellview has a text-based netlist file as its master. To create a Virtuoso representation of this cellview, you might want to create a database file in the same cellview directory but leave the netlist as the master or source of the cellview data. In this scenario, the user can initially create the cellview with the simulator and then later, create the same cellview in Virtuoso to represent the netlist.

  • wd Same as "wc", except that the context cellview must be specified. LibName is ignored if specified. The library is derived from the context cellview.

  • ac Same as "a" if the cellview already exists. If the cellview does not exist, this mode is the same as "wc" mode.
  • ad Same as "a" if the cellview already exists. If the cellview does not exist, this mode is the same as "wd" mode.

  • sc Same as "s" if the cellview already exists. If the cellview does not exist, this mode is the same is "wc" mode, which means that the cellview is in the same state and with the same contents. However, the cellview cannot be saved to disk.

  • sd Same as "s" if the cellview already exists. If the cellview does not exist, this mode is the same as "wd" mode, except the cellview cannot be saved to disk.

d_contextCellView

Specifies the context cellview. The context cellview specification is preserved for compatibility with earlier versions of the software.

The specified libraries are searched for the cellview, according to the following search rules

Values Returned

d_cellView

The dbObject of the cellview opened.

nil

Any error is detected.

Examples

If cell "cellA" with view "layout" exists in library "test" open the cellview for read.

cellview = dbOpenCellViewByType("test" "cellA" "layout")

Open cell "cellA" with view "layout" in library "test" for "append" mode. Create the cellview if it does not exist.

cellview = dbOpenCellViewByType("test" "cellA" "layout" "maskLayout" "a")

Open cell "cellA" with view "layout" in library "test" for "append" mode only if the cellview already exists.

cellview = dbOpenCellViewByType("test" "cellA" "layout" "" "a")

Open cell "cellA" with view "layout" in library "test" for "scratch" mode. Create the cellview if it does not exist.

cellview = dbOpenCellViewByType("test" "cellA" "layout" "maskLayout" "s")

Return to top
 ⠀
X