Notation used in Ruby API documentation
Module: db
Description: An opaque layout heap for the deep region processor
This class is used for keeping intermediate, hierarchical data for the deep region processor. It is used in conjunction with the region constructor to create a deep (hierarchical) region.
layout = ... # a layout layer = ... # a layer cell = ... # a cell (initial cell for the deep region) dss = RBA::DeepShapeStore::new region = RBA::Region::new(cell.begin(layer), dss)
The DeepShapeStore object also supplies some configuration options for the operations acting on the deep regions. See for example threads=.
This class has been introduced in version 0.26.
new DeepShapeStore ptr | new | Creates a new object of this class |
[const] | DeepShapeStore ptr | _const_cast | Returns a non-const reference to self. | |
void | _create | Ensures the C++ object is created | ||
void | _destroy | Explicitly 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 | _manage | Marks the object as managed by the script side. | ||
void | _unmanage | Marks the object as no longer owned by the script side. | ||
void | add_breakout_cell | (unsigned int layout_index, unsigned int[] cell_index) | Adds a cell indexe to the breakout cell list for the given layout inside the store | |
void | add_breakout_cells | (unsigned int layout_index, unsigned int[] cells) | Adds cell indexes to the breakout cell list for the given layout inside the store | |
void | add_breakout_cells | (unsigned int layout_index, string pattern) | Adds cells (given by a cell name pattern) to the breakout cell list for the given layout inside the store | |
void | add_breakout_cells | (string pattern) | Adds cells (given by a cell name pattern) to the breakout cell list to all layouts inside the store | |
void | clear_breakout_cells | (unsigned int layout_index) | Clears the breakout cells | |
void | clear_breakout_cells | Clears the breakout cells | ||
[const] | bool | is_singular? | Gets a value indicating whether there is a single layout variant | |
[const] | double | max_area_ratio | Gets the max. area ratio. | |
void | max_area_ratio= | (double ratio) | Sets the max. area ratio for bounding box vs. polygon area | |
[const] | unsigned long | max_vertex_count | Gets the maximum vertex count. | |
void | max_vertex_count= | (unsigned long count) | Sets the maximum vertex count default value | |
void | pop_state | Restores the store's state on the state state | ||
void | push_state | Pushes the store's state on the state state | ||
[const] | bool | reject_odd_polygons | Gets a flag indicating whether to reject odd polygons. | |
void | reject_odd_polygons= | (bool count) | Sets a flag indicating whether to reject odd polygons | |
void | set_breakout_cells | (unsigned int layout_index, unsigned int[] cells) | Sets the breakout cell list (as cell indexes) for the given layout inside the store | |
void | set_breakout_cells | (unsigned int layout_index, string pattern) | Sets the breakout cell list (as cell name pattern) for the given layout inside the store | |
void | set_breakout_cells | (string pattern) | Sets the breakout cell list (as cell name pattern) for the all layouts inside the store | |
[const] | bool | subcircuit_hierarchy_for_nets | Gets a value indicating whether to build a subcircuit hierarchy per net | |
void | subcircuit_hierarchy_for_nets= | (bool value) | Sets a value indicating whether to build a subcircuit hierarchy per net | |
[const] | int | text_enlargement | Gets the text enlargement value. | |
void | text_enlargement= | (int value) | Sets the text enlargement value | |
[const] | variant | text_property_name | Gets the text property name. | |
void | text_property_name= | (variant name) | Sets the text property name. | |
[const] | int | threads | Gets the number of threads. | |
void | threads= | (int n) | Sets the number of threads to allocate for the hierarchical processor | |
[const] | bool | wants_all_cells | Gets a flag wether to copy the full hierarchy for the working layouts | |
void | wants_all_cells= | (bool flag) | Sets a flag wether to copy the full hierarchy for the working layouts |
void | create | Use of this method is deprecated. Use _create instead | ||
void | destroy | Use of this method is deprecated. Use _destroy instead | ||
[const] | bool | destroyed? | Use of this method is deprecated. Use _destroyed? instead | |
[const] | bool | is_const_object? | Use of this method is deprecated. Use _is_const_object? instead |
_const_cast | Signature: [const] DeepShapeStore ptr _const_cast Description: Returns a non-const reference to self. Basically, this method allows turning a const object reference to a non-const one. This method is provided as last resort to remove the constness from an object. Usually there is a good reason for a const object reference, so using this method may have undesired side effects. This method has been introduced in version 0.29.6. |
_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. |
add_breakout_cell | Signature: void add_breakout_cell (unsigned int layout_index, unsigned int[] cell_index) Description: Adds a cell indexe to the breakout cell list for the given layout inside the store See clear_breakout_cells for an explanation of breakout cells. This method has been added in version 0.26.1 |
add_breakout_cells | (1) Signature: void add_breakout_cells (unsigned int layout_index, unsigned int[] cells) Description: Adds cell indexes to the breakout cell list for the given layout inside the store See clear_breakout_cells for an explanation of breakout cells. This method has been added in version 0.26.1 |
(2) Signature: void add_breakout_cells (unsigned int layout_index, string pattern) Description: Adds cells (given by a cell name pattern) to the breakout cell list for the given layout inside the store See clear_breakout_cells for an explanation of breakout cells. This method has been added in version 0.26.1 | |
(3) Signature: void add_breakout_cells (string pattern) Description: Adds cells (given by a cell name pattern) to the breakout cell list to all layouts inside the store See clear_breakout_cells for an explanation of breakout cells. This method has been added in version 0.26.1 | |
clear_breakout_cells | (1) Signature: void clear_breakout_cells (unsigned int layout_index) Description: Clears the breakout cells Breakout cells are a feature by which hierarchy handling can be disabled for specific cells. If cells are specified as breakout cells, they don't interact with neighbor or parent cells, hence are virtually isolated. Breakout cells are useful to shortcut hierarchy evaluation for cells which are otherwise difficult to handle. An example are memory array cells with overlaps to their neighbors: a precise handling of such cells would generate variants and the boundary of the array. Although precise, this behavior leads to partial flattening and propagation of shapes. In consequence, this will also result in wrong device detection in LVS applications. In such cases, these array cells can be declared 'breakout cells' which makes them isolated entities and variant generation does not happen. See also set_breakout_cells and add_breakout_cells. This method has been added in version 0.26.1 |
(2) Signature: void clear_breakout_cells Description: Clears the breakout cells See the other variant of clear_breakout_cells for details. This method has been added in version 0.26.1 | |
create | Signature: void create Description: Ensures the C++ object is created Use of this method is deprecated. Use _create instead 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 Use of this method is deprecated. Use _destroy instead 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 Use of this method is deprecated. Use _destroyed? instead 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 Use of this method is deprecated. Use _is_const_object? instead This method returns true, if self is a const reference. In that case, only const methods may be called on self. |
is_singular? | Signature: [const] bool is_singular? Description: Gets a value indicating whether there is a single layout variant Specifically for network extraction, singular DSS objects are required. Multiple layouts may be present if different sources of layouts have been used. Such DSS objects are not usable for network extraction. |
max_area_ratio | Signature: [const] double max_area_ratio Description: Gets the max. area ratio. Python specific notes: |
max_area_ratio= | Signature: void max_area_ratio= (double ratio) Description: Sets the max. area ratio for bounding box vs. polygon area This parameter is used to simplify complex polygons. It is used by create_polygon_layer with the default parameters. It's also used by boolean operations when they deliver their output. Python specific notes: |
max_vertex_count | Signature: [const] unsigned long max_vertex_count Description: Gets the maximum vertex count. Python specific notes: |
max_vertex_count= | Signature: void max_vertex_count= (unsigned long count) Description: Sets the maximum vertex count default value This parameter is used to simplify complex polygons. It is used by create_polygon_layer with the default parameters. It's also used by boolean operations when they deliver their output. Python specific notes: |
new | Signature: [static] new DeepShapeStore ptr new Description: Creates a new object of this class Python specific notes: |
pop_state | Signature: void pop_state Description: Restores the store's state on the state state This will restore the state pushed by push_state. This method has been added in version 0.26.1 |
push_state | Signature: void push_state Description: Pushes the store's state on the state state This will save the stores state (threads, max_vertex_count, max_area_ratio, breakout cells ...) on the state stack. pop_state can be used to restore the state. This method has been added in version 0.26.1 |
reject_odd_polygons | Signature: [const] bool reject_odd_polygons Description: Gets a flag indicating whether to reject odd polygons. This attribute has been introduced in version 0.27. Python specific notes: |
reject_odd_polygons= | Signature: void reject_odd_polygons= (bool count) Description: Sets a flag indicating whether to reject odd polygons Some kind of 'odd' (e.g. non-orientable) polygons may spoil the functionality because they cannot be handled properly. By using this flag, the shape store we reject these kind of polygons. The default is 'accept' (without warning). This attribute has been introduced in version 0.27. Python specific notes: |
set_breakout_cells | (1) Signature: void set_breakout_cells (unsigned int layout_index, unsigned int[] cells) Description: Sets the breakout cell list (as cell indexes) for the given layout inside the store See clear_breakout_cells for an explanation of breakout cells. This method has been added in version 0.26.1 |
(2) Signature: void set_breakout_cells (unsigned int layout_index, string pattern) Description: Sets the breakout cell list (as cell name pattern) for the given layout inside the store See clear_breakout_cells for an explanation of breakout cells. This method has been added in version 0.26.1 | |
(3) Signature: void set_breakout_cells (string pattern) Description: Sets the breakout cell list (as cell name pattern) for the all layouts inside the store See clear_breakout_cells for an explanation of breakout cells. This method has been added in version 0.26.1 | |
subcircuit_hierarchy_for_nets | Signature: [const] bool subcircuit_hierarchy_for_nets Description: Gets a value indicating whether to build a subcircuit hierarchy per net See subcircuit_hierarchy_for_nets= for details. This attribute has been introduced in version 0.28.4 Python specific notes: |
subcircuit_hierarchy_for_nets= | Signature: void subcircuit_hierarchy_for_nets= (bool value) Description: Sets a value indicating whether to build a subcircuit hierarchy per net This flag is used to determine the way, net subcircuit hierarchies are built: when true, subcells are created for subcircuits on a net. Otherwise the net shapes are produced flat inside the cell they appear on. This attribute has been introduced in version 0.28.4 Python specific notes: |
text_enlargement | Signature: [const] int text_enlargement Description: Gets the text enlargement value. Python specific notes: |
text_enlargement= | Signature: void text_enlargement= (int value) Description: Sets the text enlargement value If set to a non-negative value, text objects are converted to boxes with the given enlargement (width = 2 * enlargement). The box centers are identical to the original location of the text. If this value is negative (the default), texts are ignored. Python specific notes: |
text_property_name | Signature: [const] variant text_property_name Description: Gets the text property name. Python specific notes: |
text_property_name= | Signature: void text_property_name= (variant name) Description: Sets the text property name. If set to a non-null variant, text strings are attached to the generated boxes as properties with this particular name. This option has an effect only if the text_enlargement property is not negative. By default, the name is empty. Python specific notes: |
threads | Signature: [const] int threads Description: Gets the number of threads. Python specific notes: |
threads= | Signature: void threads= (int n) Description: Sets the number of threads to allocate for the hierarchical processor Python specific notes: |
wants_all_cells | Signature: [const] bool wants_all_cells Description: Gets a flag wether to copy the full hierarchy for the working layouts This attribute has been introduced in version 0.28.10. Python specific notes: |
wants_all_cells= | Signature: void wants_all_cells= (bool flag) Description: Sets a flag wether to copy the full hierarchy for the working layouts The DeepShapeStore object keeps a copy of the original hierarchy internally for the working layouts. By default, this hierarchy is mapping only non-empty cells. While the operations proceed, more cells may need to be added. This conservative approach saves some memory, but the update operations may reduce overall performance. Setting this flag to 'true' switches to a mode where the full hierarchy is copied always. This will take more memory but may save CPU time. This attribute has been introduced in version 0.28.10. Python specific notes: |