DesignHierarchy

class keysight.ads.de.DesignHierarchy
__init__(unused: InvalidCall, *args, **kwargs) None

Return an error about attempts to initialize objects that don’t support initialization.

property depth: int
property design: Design
property is_at_root: bool
is_primitive_instance(inst: Instance) bool
parent_designs() Iterable[Design]
parent_instance_names() Iterable[str]
pop() DesignHierarchy
push_instance_for_reading(inst: Instance) DesignHierarchy

Push into the instance in read-only mode.

Modifications of a read-only design may only be saved to a new cellview.

push_instance_for_writing(inst: Instance) DesignHierarchy

Push into the instance in edit mode.

property root_design: Design
traverse_instances(include_implicit: bool = False, include_pin_insts: bool = True, limit_box: BoxF | None = None, allow_box_intersect: bool = True) Iterable[tuple[Instance, DesignHierarchy]]

Iterate through design hierarchically.

Parameters:
  • include_implicit (bool) – Defaults to false and will include implicit shapes individually when set. For example bus nets will show up as one when set to false, but will be enumerated individually when set to True.

  • include_pin_insts (bool) – Defaults to True and will include PinInst objects during the traversal.

  • limit_box (BoxF) – Default to None and when set will limit the traversal to the specified region in user units.

  • allow_box_intersect (bool) – Defaults to True and when set includes instances that intersect the specified box to be part of the traversal, otherwise only instances wholly inside the box are returned.

Example

>>> for x, _ in topdsn.get_hierarchy_for_netlist().traverse_instances(include_implicit = True):
...     print(f"Inst = {x}")
On this page