API reference - Class LEFDEFReaderConfiguration

Notation used in Ruby API documentation

Description: Detailed LEF/DEF reader options

This class is a aggregate belonging to the LoadLayoutOptions class. It provides options for the LEF/DEF reader. These options have been placed into a separate class to account for their complexity.

Public constructors

new LEFDEFReaderConfiguration ptrnewCreates a new object of this class

Public methods

void_createEnsures the C++ object is created
void_destroyExplicitly destroys the object
[const]bool_destroyed?Returns a value indicating whether the object was already destroyed
[const]bool_is_const_object?Returns a value indicating whether the reference is a const reference
void_manageMarks the object as managed by the script side.
void_unmanageMarks the object as no longer owned by the script side.
voidassign(const LEFDEFReaderConfiguration other)Assigns another object to self
[const]intblockages_datatypeGets the blockage marker layer datatype value.
voidblockages_datatype=(int datatype)Sets the blockage marker layer datatype value.
[const]stringblockages_suffixGets the blockage marker layer name suffix.
voidblockages_suffix=(string suffix)Sets the blockage marker layer name suffix.
[const]stringcell_outline_layerGets the layer on which to produce the cell outline.
voidcell_outline_layer=(string spec)Sets the layer on which to produce the cell outline.
[const]boolcreate_other_layersGets a value indicating whether layers not mapped in the layer map shall be created too
voidcreate_other_layers=(bool arg1)Sets a value indicating whether layers not mapped in the layer map shall be created too
[const]doubledbuGets the database unit to use for producing the layout.
voiddbu=(double dbu)Sets the database unit to use for producing the layout.
[const]new LEFDEFReaderConfiguration ptrdupCreates a copy of self
[const]intlabels_datatypeGets the labels layer datatype value.
voidlabels_datatype=(int datatype)Sets the labels layer datatype value.
[const]stringlabels_suffixGets the label layer name suffix.
voidlabels_suffix=(string suffix)Sets the label layer name suffix.
LayerMaplayer_mapGets the layer map to be used for the LEF/DEF reader
voidlayer_map=(const LayerMap arg1)Sets the layer map to be used for the LEF/DEF reader
[const]string[]lef_filesGets the list technology LEF files to additionally import
voidlef_files=(string[] arg1)Sets the list technology LEF files to additionally import
[const]variantnet_property_nameGets a value indicating whether and how to produce net names as properties.
voidnet_property_name=(variant name)Sets a value indicating whether and how to produce net names as properties.
[const]intobstructions_datatypeGets the obstruction marker layer datatype value.
voidobstructions_datatype=(int datatype)Sets the obstruction marker layer datatype value.
[const]stringobstructions_suffixGets the obstruction marker layer name suffix.
voidobstructions_suffix=(string suffix)Sets the obstruction marker layer name suffix.
[const]intpins_datatypeGets the pin geometry layer datatype value.
voidpins_datatype=(int datatype)Sets the pin geometry layer datatype value.
[const]stringpins_suffixGets the pin geometry layer name suffix.
voidpins_suffix=(string suffix)Sets the pin geometry layer name suffix.
[const]stringplacement_blockage_layerGets the layer on which to produce the placement blockage.
voidplacement_blockage_layer=(string arg1)Sets the layer on which to produce the placement blockage.
[const]boolproduce_blockagesGets a value indicating whether routing blockage markers shall be produced.
voidproduce_blockages=(bool produce)Sets a value indicating whether routing blockage markers shall be produced.
[const]boolproduce_cell_outlinesGets a value indicating whether to produce cell outlines.
voidproduce_cell_outlines=(bool produce)Sets a value indicating whether to produce cell outlines.
[const]boolproduce_labelsGets a value indicating whether labels shall be produced.
voidproduce_labels=(bool produce)Sets a value indicating whether labels shall be produced.
[const]boolproduce_obstructionsGets a value indicating whether obstruction markers shall be produced.
voidproduce_obstructions=(bool produce)Sets a value indicating whether obstruction markers shall be produced.
[const]boolproduce_pinsGets a value indicating whether pin geometries shall be produced.
voidproduce_pins=(bool produce)Sets a value indicating whether pin geometries shall be produced.
[const]boolproduce_placement_blockagesGets a value indicating whether to produce placement blockage regions.
voidproduce_placement_blockages=(bool produce)Sets a value indicating whether to produce placement blockage regions.
[const]boolproduce_routingGets a value indicating whether routing geometry shall be produced.
voidproduce_routing=(bool produce)Sets a value indicating whether routing geometry shall be produced.
[const]boolproduce_via_geometrySets a value indicating whether via geometries shall be produced.
voidproduce_via_geometry=(bool produce)Sets a value indicating whether via geometries shall be produced.
[const]introuting_datatypeGets the routing layer datatype value.
voidrouting_datatype=(int datatype)Sets the routing layer datatype value.
[const]stringrouting_suffixGets the routing layer name suffix.
voidrouting_suffix=(string suffix)Sets the routing layer name suffix.
[const]intvia_geometry_datatypeGets the via geometry layer datatype value.
voidvia_geometry_datatype=(int datatype)Sets the via geometry layer datatype value.
[const]stringvia_geometry_suffixGets the via geometry layer name suffix.
voidvia_geometry_suffix=(string suffix)Sets the via geometry layer name suffix.

Deprecated methods (protected, public, static, non-static and constructors)

voidcreateUse of this method is deprecated. Use _create instead
voiddestroyUse of this method is deprecated. Use _destroy instead
[const]booldestroyed?Use of this method is deprecated. Use _destroyed? instead
[const]boolis_const_object?Use of this method is deprecated. Use _is_const_object? instead

Detailed description

_create

Signature: void _create

Description: Ensures the C++ object is created

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

_destroy

Signature: void _destroy

Description: Explicitly destroys the object

Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing.

_destroyed?

Signature: [const] bool _destroyed?

Description: Returns a value indicating whether the object was already destroyed

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

_is_const_object?

Signature: [const] bool _is_const_object?

Description: Returns a value indicating whether the reference is a const reference

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

_manage

Signature: void _manage

Description: Marks the object as managed by the script side.

After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required.

Usually it's not required to call this method. It has been introduced in version 0.24.

_unmanage

Signature: void _unmanage

Description: Marks the object as no longer owned by the script side.

Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur.

Usually it's not required to call this method. It has been introduced in version 0.24.

assign

Signature: void assign (const LEFDEFReaderConfiguration other)

Description: Assigns another object to self

blockages_datatype

Signature: [const] int blockages_datatype

Description: Gets the blockage marker layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'blockages_datatype'. This is the getter.

blockages_datatype=

Signature: void blockages_datatype= (int datatype)

Description: Sets the blockage marker layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'blockages_datatype'. This is the setter.

blockages_suffix

Signature: [const] string blockages_suffix

Description: Gets the blockage marker layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'blockages_suffix'. This is the getter.

blockages_suffix=

Signature: void blockages_suffix= (string suffix)

Description: Sets the blockage marker layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'blockages_suffix'. This is the setter.

cell_outline_layer

Signature: [const] string cell_outline_layer

Description: Gets the layer on which to produce the cell outline.

This attribute is a string correspondig to the string representation of LayerInfo. This string can be either a layer number, a layer/datatype pair, a name or a combination of both. See LayerInfo for details. The setter for this attribute is cell_outline_layer=. See also produce_cell_outlines.

Python specific notes:
The object exposes a readable attribute 'cell_outline_layer'. This is the getter.

cell_outline_layer=

Signature: void cell_outline_layer= (string spec)

Description: Sets the layer on which to produce the cell outline.

See cell_outline_layer for details.

Python specific notes:
The object exposes a writable attribute 'cell_outline_layer'. This is the setter.

create

Signature: void create

Description: Ensures the C++ object is created

Use of this method is deprecated. Use _create instead

create_other_layers

Signature: [const] bool create_other_layers

Description: Gets a value indicating whether layers not mapped in the layer map shall be created too

See layer_map for details.

Python specific notes:
The object exposes a readable attribute 'create_other_layers'. This is the getter.

create_other_layers=

Signature: void create_other_layers= (bool arg1)

Description: Sets a value indicating whether layers not mapped in the layer map shall be created too

See layer_map for details.

Python specific notes:
The object exposes a writable attribute 'create_other_layers'. This is the setter.

dbu

Signature: [const] double dbu

Description: Gets the database unit to use for producing the layout.

This value specifies the database to be used for the layout that is read. When a DEF file is specified with a different database unit, the layout is translated into this database unit.

Python specific notes:
The object exposes a readable attribute 'dbu'. This is the getter.

dbu=

Signature: void dbu= (double dbu)

Description: Sets the database unit to use for producing the layout.

See dbu for details.

Python specific notes:
The object exposes a writable attribute 'dbu'. This is the setter.

destroy

Signature: void destroy

Description: Explicitly destroys the object

Use of this method is deprecated. Use _destroy instead

destroyed?

Signature: [const] bool destroyed?

Description: Returns a value indicating whether the object was already destroyed

Use of this method is deprecated. Use _destroyed? instead

dup

Signature: [const] new LEFDEFReaderConfiguration ptr dup

Description: Creates a copy of self

is_const_object?

Signature: [const] bool is_const_object?

Description: Returns a value indicating whether the reference is a const reference

Use of this method is deprecated. Use _is_const_object? instead

labels_datatype

Signature: [const] int labels_datatype

Description: Gets the labels layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'labels_datatype'. This is the getter.

labels_datatype=

Signature: void labels_datatype= (int datatype)

Description: Sets the labels layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'labels_datatype'. This is the setter.

labels_suffix

Signature: [const] string labels_suffix

Description: Gets the label layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'labels_suffix'. This is the getter.

labels_suffix=

Signature: void labels_suffix= (string suffix)

Description: Sets the label layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'labels_suffix'. This is the setter.

layer_map

Signature: LayerMap layer_map

Description: Gets the layer map to be used for the LEF/DEF reader

Returns:A reference to the layer map

Because LEF/DEF layer mapping is substantially different than for normal layout files, the LEF/DEF reader employs a separate layer mapping table. The LEF/DEF specific layer mapping is stored within the LEF/DEF reader's configuration and can be accessed with this attribute. The layer mapping table of LoadLayoutOptions will be ignored for the LEF/DEF reader.

The setter is layer_map=. create_other_layers= is available to control whether layers not specified in the layer mapping table shall be created automatically.

Python specific notes:
The object exposes a readable attribute 'layer_map'. This is the getter.

layer_map=

Signature: void layer_map= (const LayerMap arg1)

Description: Sets the layer map to be used for the LEF/DEF reader

See layer_map for details.

Python specific notes:
The object exposes a writable attribute 'layer_map'. This is the setter.

lef_files

Signature: [const] string[] lef_files

Description: Gets the list technology LEF files to additionally import

Returns a list of path names for technology LEF files to read in addition to the primary file. Relative paths are resolved relative to the file to read.

The setter for this property is lef_files=.

Python specific notes:
The object exposes a readable attribute 'lef_files'. This is the getter.

lef_files=

Signature: void lef_files= (string[] arg1)

Description: Sets the list technology LEF files to additionally import

See lef_files for details.

Python specific notes:
The object exposes a writable attribute 'lef_files'. This is the setter.

net_property_name

Signature: [const] variant net_property_name

Description: Gets a value indicating whether and how to produce net names as properties.

If set to a value not nil, net names will be attached to the shapes and instances generated as user properties. This attribute then specifies the user property name to be used for attaching the net names. If set to nil, no net names will be produced.

The corresponding setter is net_property_name=.

Python specific notes:
The object exposes a readable attribute 'net_property_name'. This is the getter.

net_property_name=

Signature: void net_property_name= (variant name)

Description: Sets a value indicating whether and how to produce net names as properties.

See net_property_name for details.

Python specific notes:
The object exposes a writable attribute 'net_property_name'. This is the setter.

new

Signature: [static] new LEFDEFReaderConfiguration ptr new

Description: Creates a new object of this class

Python specific notes:
This method is the default initializer of the object

obstructions_datatype

Signature: [const] int obstructions_datatype

Description: Gets the obstruction marker layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'obstructions_datatype'. This is the getter.

obstructions_datatype=

Signature: void obstructions_datatype= (int datatype)

Description: Sets the obstruction marker layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'obstructions_datatype'. This is the setter.

obstructions_suffix

Signature: [const] string obstructions_suffix

Description: Gets the obstruction marker layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'obstructions_suffix'. This is the getter.

obstructions_suffix=

Signature: void obstructions_suffix= (string suffix)

Description: Sets the obstruction marker layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'obstructions_suffix'. This is the setter.

pins_datatype

Signature: [const] int pins_datatype

Description: Gets the pin geometry layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'pins_datatype'. This is the getter.

pins_datatype=

Signature: void pins_datatype= (int datatype)

Description: Sets the pin geometry layer datatype value.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'pins_datatype'. This is the setter.

pins_suffix

Signature: [const] string pins_suffix

Description: Gets the pin geometry layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'pins_suffix'. This is the getter.

pins_suffix=

Signature: void pins_suffix= (string suffix)

Description: Sets the pin geometry layer name suffix.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'pins_suffix'. This is the setter.

placement_blockage_layer

Signature: [const] string placement_blockage_layer

Description: Gets the layer on which to produce the placement blockage.

This attribute is a string correspondig to the string representation of LayerInfo. This string can be either a layer number, a layer/datatype pair, a name or a combination of both. See LayerInfo for details.The setter for this attribute is placement_blockage_layer=. See also produce_placement_blockages.

Python specific notes:
The object exposes a readable attribute 'placement_blockage_layer'. This is the getter.

placement_blockage_layer=

Signature: void placement_blockage_layer= (string arg1)

Description: Sets the layer on which to produce the placement blockage.

See placement_blockage_layer for details.

Python specific notes:
The object exposes a writable attribute 'placement_blockage_layer'. This is the setter.

produce_blockages

Signature: [const] bool produce_blockages

Description: Gets a value indicating whether routing blockage markers shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'produce_blockages'. This is the getter.

produce_blockages=

Signature: void produce_blockages= (bool produce)

Description: Sets a value indicating whether routing blockage markers shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'produce_blockages'. This is the setter.

produce_cell_outlines

Signature: [const] bool produce_cell_outlines

Description: Gets a value indicating whether to produce cell outlines.

If set to true, cell outlines will be produced on the layer given by cell_outline_layer.

Python specific notes:
The object exposes a readable attribute 'produce_cell_outlines'. This is the getter.

produce_cell_outlines=

Signature: void produce_cell_outlines= (bool produce)

Description: Sets a value indicating whether to produce cell outlines.

See produce_cell_outlines for details.

Python specific notes:
The object exposes a writable attribute 'produce_cell_outlines'. This is the setter.

produce_labels

Signature: [const] bool produce_labels

Description: Gets a value indicating whether labels shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'produce_labels'. This is the getter.

produce_labels=

Signature: void produce_labels= (bool produce)

Description: Sets a value indicating whether labels shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'produce_labels'. This is the setter.

produce_obstructions

Signature: [const] bool produce_obstructions

Description: Gets a value indicating whether obstruction markers shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'produce_obstructions'. This is the getter.

produce_obstructions=

Signature: void produce_obstructions= (bool produce)

Description: Sets a value indicating whether obstruction markers shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'produce_obstructions'. This is the setter.

produce_pins

Signature: [const] bool produce_pins

Description: Gets a value indicating whether pin geometries shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'produce_pins'. This is the getter.

produce_pins=

Signature: void produce_pins= (bool produce)

Description: Sets a value indicating whether pin geometries shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'produce_pins'. This is the setter.

produce_placement_blockages

Signature: [const] bool produce_placement_blockages

Description: Gets a value indicating whether to produce placement blockage regions.

If set to true, polygons will be produced representing the placement blockage region on the layer given by placement_blockage_layer.

Python specific notes:
The object exposes a readable attribute 'produce_placement_blockages'. This is the getter.

produce_placement_blockages=

Signature: void produce_placement_blockages= (bool produce)

Description: Sets a value indicating whether to produce placement blockage regions.

See produce_placement_blockages for details.

Python specific notes:
The object exposes a writable attribute 'produce_placement_blockages'. This is the setter.

produce_routing

Signature: [const] bool produce_routing

Description: Gets a value indicating whether routing geometry shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a readable attribute 'produce_routing'. This is the getter.

produce_routing=

Signature: void produce_routing= (bool produce)

Description: Sets a value indicating whether routing geometry shall be produced.

See produce_via_geometry for details about the layer production rules.

Python specific notes:
The object exposes a writable attribute 'produce_routing'. This is the setter.

produce_via_geometry

Signature: [const] bool produce_via_geometry

Description: Sets a value indicating whether via geometries shall be produced.

If set to true, shapes will be produced for each via. The layer to be produced will be determined from the via layer's name using the suffix provided by via_geometry_suffix. If there is a specific mapping in the layer mapping table for the via layer including the suffix, the layer/datatype will be taken from the layer mapping table. If there is a mapping to the undecorated via layer, the datatype will be substituted with the via_geometry_datatype value. If no mapping is defined, a unique number will be assigned to the layer number and the datatype will be taken from the via_geometry_datatype value.

For example: the via layer is 'V1', via_geometry_suffix is 'GEO' and via_geometry_datatype is 1. Then:

    • If there is a mapping for 'V1.GEO', the layer and datatype will be taken from there.
      If there is a mapping for 'V1', the layer will be taken from there and the datatype will be taken from via_geometry_datatype. The name of the produced layer will be 'V1.GEO'.
      If there is no mapping for both, the layer number will be a unique value, the datatype will be taken from via_geometry_datatype and the layer name will be 'V1.GEO'.
  • Python specific notes:
    The object exposes a readable attribute 'produce_via_geometry'. This is the getter.

    produce_via_geometry=

    Signature: void produce_via_geometry= (bool produce)

    Description: Sets a value indicating whether via geometries shall be produced.

    See produce_via_geometry for details.

    Python specific notes:
    The object exposes a writable attribute 'produce_via_geometry'. This is the setter.

    routing_datatype

    Signature: [const] int routing_datatype

    Description: Gets the routing layer datatype value.

    See produce_via_geometry for details about the layer production rules.

    Python specific notes:
    The object exposes a readable attribute 'routing_datatype'. This is the getter.

    routing_datatype=

    Signature: void routing_datatype= (int datatype)

    Description: Sets the routing layer datatype value.

    See produce_via_geometry for details about the layer production rules.

    Python specific notes:
    The object exposes a writable attribute 'routing_datatype'. This is the setter.

    routing_suffix

    Signature: [const] string routing_suffix

    Description: Gets the routing layer name suffix.

    See produce_via_geometry for details about the layer production rules.

    Python specific notes:
    The object exposes a readable attribute 'routing_suffix'. This is the getter.

    routing_suffix=

    Signature: void routing_suffix= (string suffix)

    Description: Sets the routing layer name suffix.

    See produce_via_geometry for details about the layer production rules.

    Python specific notes:
    The object exposes a writable attribute 'routing_suffix'. This is the setter.

    via_geometry_datatype

    Signature: [const] int via_geometry_datatype

    Description: Gets the via geometry layer datatype value.

    See produce_via_geometry for details about this property.

    Python specific notes:
    The object exposes a readable attribute 'via_geometry_datatype'. This is the getter.

    via_geometry_datatype=

    Signature: void via_geometry_datatype= (int datatype)

    Description: Sets the via geometry layer datatype value.

    See produce_via_geometry for details about this property.

    Python specific notes:
    The object exposes a writable attribute 'via_geometry_datatype'. This is the setter.

    via_geometry_suffix

    Signature: [const] string via_geometry_suffix

    Description: Gets the via geometry layer name suffix.

    See produce_via_geometry for details about this property.

    Python specific notes:
    The object exposes a readable attribute 'via_geometry_suffix'. This is the getter.

    via_geometry_suffix=

    Signature: void via_geometry_suffix= (string suffix)

    Description: Sets the via geometry layer name suffix.

    See produce_via_geometry for details about this property.

    Python specific notes:
    The object exposes a writable attribute 'via_geometry_suffix'. This is the setter.