Notation used in Ruby API documentation
Module: db
Description: A generic framework for doing LVS (layout vs. schematic)
Class hierarchy: LayoutVsSchematic » LayoutToNetlist
This class extends the concept of the netlist extraction from a layout to LVS verification. It does so by adding these concepts to the LayoutToNetlist class:
The LVS object can be persisted to and from a file in a specific format, so it is sometimes referred to as the "LVS database".
LVS objects can be attached to layout views with LayoutView#add_lvsdb so they become available in the netlist database browser.
This class has been introduced in version 0.26.
new LayoutVsSchematic ptr | new | (const RecursiveShapeIterator iter) | Creates a new LVS object with the extractor connected to an original layout |
new LayoutVsSchematic ptr | new | Creates a new LVS object | |
new LayoutVsSchematic ptr | new | (DeepShapeStore ptr dss) | Creates a new LVS object with the extractor object reusing an existing DeepShapeStore object |
new LayoutVsSchematic ptr | new | (DeepShapeStore ptr dss, unsigned int layout_index) | Creates a new LVS object with the extractor object reusing an existing DeepShapeStore object |
new LayoutVsSchematic ptr | new | (string topcell_name, double dbu) | Creates a new LVS object with the extractor object taking a flat DSS |
[const] | LayoutVsSchematic 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. | ||
bool | compare | (NetlistComparer ptr comparer) | Compare the layout-extracted netlist against the reference netlist using the given netlist comparer. | |
void | read | (string path) | Reads the LVS object from the file. | |
void | read_l2n | (string path) | Reads the LayoutToNetlist part of the object from a file. | |
Netlist ptr | reference | Gets the reference netlist. | ||
void | reference= | (Netlist ptr reference_netlist) | Sets the reference netlist. | |
void | write | (string path, bool short_format = false) | Writes the LVS object to a file. | |
void | write_l2n | (string path, bool short_format = false) | Writes the LayoutToNetlist part of the object to a file. | |
NetlistCrossReference ptr | xref | Gets the cross-reference object |
_const_cast | Signature: [const] LayoutVsSchematic 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. |
compare | Signature: bool compare (NetlistComparer ptr comparer) Description: Compare the layout-extracted netlist against the reference netlist using the given netlist comparer. |
new | (1) Signature: [static] new LayoutVsSchematic ptr new (const RecursiveShapeIterator iter) Description: Creates a new LVS object with the extractor connected to an original layout This constructor will attach the extractor of the LVS object to an original layout through the shape iterator. Python specific notes: |
(2) Signature: [static] new LayoutVsSchematic ptr new Description: Creates a new LVS object The main objective for this constructor is to create an object suitable for reading and writing LVS database files. Python specific notes: | |
(3) Signature: [static] new LayoutVsSchematic ptr new (DeepShapeStore ptr dss) Description: Creates a new LVS object with the extractor object reusing an existing DeepShapeStore object See the corresponding constructor of the LayoutToNetlist object for more details. Python specific notes: | |
(4) Signature: [static] new LayoutVsSchematic ptr new (DeepShapeStore ptr dss, unsigned int layout_index) Description: Creates a new LVS object with the extractor object reusing an existing DeepShapeStore object See the corresponding constructor of the LayoutToNetlist object for more details. Python specific notes: | |
(5) Signature: [static] new LayoutVsSchematic ptr new (string topcell_name, double dbu) Description: Creates a new LVS object with the extractor object taking a flat DSS See the corresponding constructor of the LayoutToNetlist object for more details. Python specific notes: | |
read | Signature: void read (string path) Description: Reads the LVS object from the file. This method employs the native format of KLayout. |
read_l2n | Signature: void read_l2n (string path) Description: Reads the LayoutToNetlist part of the object from a file. This method employs the native format of KLayout. |
reference | Signature: Netlist ptr reference Description: Gets the reference netlist. Python specific notes: |
reference= | Signature: void reference= (Netlist ptr reference_netlist) Description: Sets the reference netlist. This will set the reference netlist used inside compare as the second netlist to compare against the layout-extracted netlist. The LVS object will take ownership over the netlist - i.e. if it goes out of scope, the reference netlist is deleted. Python specific notes: |
write | Signature: void write (string path, bool short_format = false) Description: Writes the LVS object to a file. This method employs the native format of KLayout. |
write_l2n | Signature: void write_l2n (string path, bool short_format = false) Description: Writes the LayoutToNetlist part of the object to a file. This method employs the native format of KLayout. |
xref | Signature: NetlistCrossReference ptr xref Description: Gets the cross-reference object The cross-reference object is created while comparing the layout-extracted netlist against the reference netlist - i.e. during compare. Before compare is called, this object is nil. It holds the results of the comparison - a cross-reference between the nets and other objects in the match case and a listing of non-matching nets and other objects for the non-matching cases. See NetlistCrossReference for more details. |