Tech
Classes
- class keysight.ads.de.tech.DerivedLayer
Represents a derived layer.
A derived layer is a (virtual) layer that is formed by operations on shapes from one or more other layers. Derived layers typically don’t have any shapes.
- __init__(unused: InvalidCall, *args, **kwargs) None
Return an error about attempts to initialize objects that don’t support initialization.
- static create_sizing_layer(tech: Tech, layer_name: str, layer_num: int, operation: LayerOp | str, layer1: Layer | str, distance: int) DerivedLayer
Create a derived layer from a single source layer, a sizing operation, and a distance parameter.
The derived layer contains all the shapes that result by performing the sizing operation on all the shapes from the source layer. The sizing operation uses the distance parameter to change the size of each shape from the source layer.
- static create_boolean_layer(tech: Tech, layer_name: str, layer_num: int, operation: LayerOp | str, layer1: Layer | str, layer2: Layer | str) DerivedLayer
Create a derived layer from two source layers and boolean operation.
The derived layer contains all the shapes that result by performing the boolean operation on all the shapes from the two source layers.
- property layer1: int
- property layer2: int
- property layer1_num: int
- property layer2_num: int
- property operation_name: str
Returns the name of the derived layer operation.
- property operation: LayerOp
Returns the derived layer operation.
NOTE: If this is a user defined operation (USER_DEFINED), you must use operation_name to get the name of the operation.
- get_distance_param() int
Return the distance parameter from this derived layer.
This only works for derived layers that use a sizing operation. If you call this function on a derived layer that does not have a distance parameter, it will raise an exception.
- property abbreviation: str
- static is_derived(layer: Layer) TypeGuard[DerivedLayer]
- static is_physical(layer: Layer) TypeGuard[PhysicalLayer]
- property layer_binding: str
- property name: str
- property number: int
- property process_role: ProcessRole
- class keysight.ads.de.tech.Layer
Base class for Layer objects in Tech.
Layer objects become invalid when the technology is modified. So the Python objects should have a short lifetime.
- __init__(unused: InvalidCall, *args, **kwargs) None
Return an error about attempts to initialize objects that don’t support initialization.
- static is_derived(layer: Layer) TypeGuard[DerivedLayer]
- static is_physical(layer: Layer) TypeGuard[PhysicalLayer]
- property number: int
- property name: str
- property abbreviation: str
- property process_role: ProcessRole
- property layer_binding: str
- class keysight.ads.de.tech.LayerSlice
Represents a single slice of a LineStrip.
Identifies the layer for this slice and its enclosure.
- __init__() None
- classmethod create_from_names(library: Library, layer_name: str, purpose_name: str, enclosure_width: float) LayerSlice
- classmethod create_from_layer_id(library: Library, layer_id: LayerId, enclosure_width: float) LayerSlice
- property layer_name: str
- property purpose_name: str
- property enclosure_width_uu: float
Return the difference in width (in user units) between this slice and the default width of the strip.
- class keysight.ads.de.tech.LineClearance
- __init__(layer_name: str | None = None, clearance: float | None = None) None
- property layer_name: str
- property clearance: float
- class keysight.ads.de.tech.LineCorner
Defines the corners used by Line Types.
- __init__(corner_type: LineCornerType | None = None) None
- property type: LineCornerType
- property mitered_cutoff: int
Mitered cutoff ration % - used only for Mitered corners.
- property curve_radius_uu: float
Radius of the curve - used only for Curved corners.
- class keysight.ads.de.tech.LineItem
Defines transmission line types.
A LineItem must be saved in a library in order to be used by layout designs.
- __init__(name: str | None = None) None
Create a new LineItem object.
- LineItem():
Creates a new LineItem object with no name.
- LineItem(name):
Creates a new LineItem object the given name.
To be used by designs or other technology objects, a LineItem must be named and saved in a library (see Tech.save_line_types).
- property name: str
Name of this line type definition.
References to line items by layout objects use this name.
- property type: str
Legacy type - not really used now.
- property description: str
Description of this line type definition used by tooltips.
- property substrate: str
Name of the substrate used by this Line type definition.
- property begin_end_type: LineEndType
The type of ending (and beginning) of lines defined by this line item.
- property corner: LineCorner
Defines the corners (bends) of lines defined by this line item.
- property strip_items: ListRefAbc[LineStripItem]
The collection of line strips in this LineItem.
- property plane_layer_names: ListRefAbc[str]
The collection of plane layer names used by this line item.
- property simulation_model: LineTypeSimulationModel
- property single_strip_line: LineStripItem
The only strip item if this line is single-strip.
Will raise an exception if this line is not single-strip.
- property is_single_strip_line: bool
- property clearances: ListRefAbc[LineClearance]
The collection of line clearances in this LineItem.
- get_calculated_type_deprecated() str
- add_clearance(clearance: LineClearance) None
- class keysight.ads.de.tech.LineStripItem
Represents a single strip of a line type.
- __init__(library: Library | None = None, layer_name: str | None = None, purpose_name: str | None = None, layer_id: LayerId | None = None) None
- property strip_id: str
- property default_width: float
The default width (in user units) of the layer slices.
- property strip_spacing_type: LineStripSpacingType
Returns the type of spacing required between this strip and the next strip.
- property strip_spacing_value: float
Returns the spacing required between this strip and the next strip.
- property layer_slices: ListRefAbc[LayerSlice]
Return the collection of layer slices in this LineStripItem.
- property has_multiple_slices: bool
- class keysight.ads.de.tech.LineTypeSimulationModel
Describes how to simulate a line type.
- __init__(model_set: str = '', substrate_instance_name: str = '') None
- property model_set: str
- property use_single_tline_element_to_model_a_trace: bool
- property autogenerate_substrate: bool
- property substrate_instance_name: str
- class keysight.ads.de.tech.PhysicalLayer
Represents a physical layer (one that contains shapes and figures).
- __init__(unused: InvalidCall, *args, **kwargs) None
Return an error about attempts to initialize objects that don’t support initialization.
- static create(tech: Tech, layer_name: str, layer_num: int) PhysicalLayer
- property mask_number: int
- property mfg_grid: int
- property material: OAMaterial
- property abbreviation: str
- static is_derived(layer: Layer) TypeGuard[DerivedLayer]
- static is_physical(layer: Layer) TypeGuard[PhysicalLayer]
- property layer_binding: str
- property name: str
- property number: int
- property process_role: ProcessRole
- class keysight.ads.de.tech.Purpose
- __init__(unused: InvalidCall, *args, **kwargs) None
Return an error about attempts to initialize objects that don’t support initialization.
- property number: int
- property name: str
- property abbreviation: str
- property purpose_type: str
- property is_reserved: bool
- class keysight.ads.de.tech.SmartMountSettings
Holds the settings used to configure a SmartMount pcell or the default settings for a library.
- property apply_to_all_designs: bool
True if the settings are the applied automatically to all designs in the library.
- property subtype: SmartMountSubtype | None
The SmartMount subtype of the SmartMount pcell.
- property mapping_option: SmartMountMappingOption
Specify mapping and alignment for the SmartMount pcell.
- property alignment_type: SmartMountAlignmentType
The alignment type of the SmartMount pcell.
This is only applicable if the mapping_option is set to SmartMountMappingOption.NO_MAPPING.
- property ael_function: str
The AEL function used to customize the SmartMount pcell.
- property ael_parameters: str
The AEL arguments to pass to the AEL function used to customize the SmartMount pcell.
- property scale_factor: float | None
Optional scale factor applied to the SmartMount pcell or to all designs in the library.
- class keysight.ads.de.tech.Tech
Represents a technology database for a library.
This Tech can reference (i.e. inherit) the technology from other libraries.
- __init__(unused: InvalidCall, *args, **kwargs) None
Return an error about attempts to initialize objects that don’t support initialization.
- property referenced_lib_names: list[str]
The names of the libraries directly referenced by this Tech.
- property is_modified: bool
- property dbu_per_uu: int | None
The ratio of database units to user units in layout views.
- property dbu_per_uu_sch: int | None
The ratio of database units to user units in schematic and symbol views.
- property user_units: str | None
The name of the user units used in layout views.
- property user_units_sch: str | None
The name of the user units used in schematic and symbol views.
- property default_manufacturing_grid: int | None
- get_default_manufacturing_grid(local: bool = False) int
- property multi_tech_scale_factor: float | None
The optional scale factor for multi-technology designs.
- create_layer(layer_name: str, layer_num: int) PhysicalLayer
Create a physical layer with the given name and number.
create_layer is deprecated, and will be removed in the 2025 Update 2 release. Use create_physical_layer() or PhysicalLayer.create().
- create_physical_layer(layer_name: str, layer_num: int) PhysicalLayer
- create_derived_layer_sizing(layer_name: str, layer_num: int, operation: LayerOp | str, layer1: Layer | str, distance: int) DerivedLayer
Create a derived layer from a single source layer, a sizing operation, and a distance parameter.
The derived layer contains all the shapes that result by performing the sizing operation on all the shapes from the source layer. The sizing operation uses the distance parameter to change the size of each shape from the source layer.
- create_derived_layer_boolean(layer_name: str, layer_num: int, operation: LayerOp | str, layer1: Layer | str, layer2: Layer | str) DerivedLayer
Create a derived layer from two source layers and boolean operation.
The derived layer contains all the shapes that result by performing the boolean operation on all the shapes from the two source layers.
- delete_all_layers() None
- layer_numbers(local: bool = False) list[int]
Get the numbers of all the physical layers.
- layer_names(local: bool = False) list[str]
Get the names of all the physical layers.
- property layers: _ReadOnlyNamedNumberedCollectionAbc[Layer]
Return the collection of layers in this Tech database.
The collection only includes Layers defined in this tech.
- property all_layers: _ReadOnlyNamedNumberedCollectionAbc[Layer]
Return the complete collection of layers in this Tech database.
The collection also includes Layers from referenced technology.
- purpose_numbers(local: bool = False) list[int]
Get the numbers of all the purposes.
- purpose_names(local: bool = False) list[str]
Get the names of all the purposes.
- property purposes: _ReadOnlyNamedNumberedCollectionAbc[Purpose]
Return the collection of Purposes in this Tech database.
The collection only includes Purposes defined in this tech.
- property all_purposes: _ReadOnlyNamedNumberedCollectionAbc[Purpose]
Return the complete collection of Purposes in this Tech database.
The collection also includes Purposes from referenced technology.
- property padstacks: NamedMutableCollectionAbc[Padstack]
Return the collection of padstacks in this Tech database.
The collection only includes padstacks defined in this tech.
- static get_padstack_from_lib(lib_padstack_name: str) Padstack
Return the specified Padstack.
The name must be of the form ‘lib:padstack’. Both the library and the Padstack must exist.
- delete_padstack(padstack: Padstack) None
Delete the padstack.
The padstack must be defined in this Tech. The padstack object will be invalid after it has been deleted.
delete_padstack is deprecated, and will be removed in the 2025 Update 2 release. del(padstacks[name]).
- save_padstacks() None
Save the Padstack definitions to this Tech’s library.
- property via_rules: NamedMutableCollectionAbc[ViaRule]
Return the collection of via rules in this Tech database.
The collection only includes via rules defined in this tech.
- property stacked_via_rules: NamedMutableCollectionAbc[StackedViaRule]
Return the collection of stacked via rules in this Tech database.
The collection only includes stacked via rules defined in this tech.
- property teardrop_rules: NamedMutableCollectionAbc[TeardropRule]
Return the collection of teardrop rules in this Tech database.
The collection only includes teardrop rules defined in this tech.
- property clearance_rules: NamedMutableCollectionAbc[ClearanceRule]
Return the collection of clearance rules in this Tech database.
The collection only includes clearance rules defined in this tech.
- property line_types: NamedMutableCollectionAbc[LineItem]
Return the collection of line types in this Tech database.
The collection only includes line types defined in this tech.
- property layer_maps: NamedListRefAbc[LayerMap]
Return the collection of layer maps in this Tech database.
- save_rules() None
Save the design rules to this Tech’s library.
- save_line_types() None
Save the line types to this Tech’s library.
- save_layer_maps() None
Save the layer maps to this Tech’s library.
- save() None
Enumerated Types
- class keysight.ads.de.tech.LayerOp
Defines the type of a derived layer operation.
Members:
AND : Boolean operation
OR : Boolean operation
NOT : Boolean operation
XOR : Boolean operation
TOUCHING
BUTTONLY
USER_DEFINED : Don’t use this for a derived layer operation - use the name instead.
INSIDE
OUTSIDE
OVERLAPPING
STRADDLING
AVOIDING
BUTTING
COINCIDENT
COINCIDENT_ONLY
BUTTING_OR_COINCIDENT
BUTTING_OR_OVERLAPPING
AREA
GROW : Sizing operation
SHRINK : Sizing operation
GROW_VERTICAL : Sizing operation
GROW_HORIZONTAL : Sizing operation
SHRINK_VERTICAL : Sizing operation
SHRINK_HORIZONTAL : Sizing operation
SELECT
- AND = <LayerOp.AND: 0>
- AREA = <LayerOp.AREA: 18>
- AVOIDING = <LayerOp.AVOIDING: 11>
- BUTTING = <LayerOp.BUTTING: 12>
- BUTTING_OR_COINCIDENT = <LayerOp.BUTTING_OR_COINCIDENT: 16>
- BUTTING_OR_OVERLAPPING = <LayerOp.BUTTING_OR_OVERLAPPING: 17>
- BUTTONLY = <LayerOp.BUTTONLY: 5>
- COINCIDENT = <LayerOp.COINCIDENT: 13>
- COINCIDENT_ONLY = <LayerOp.COINCIDENT_ONLY: 14>
- GROW = <LayerOp.GROW: 19>
- GROW_HORIZONTAL = <LayerOp.GROW_HORIZONTAL: 22>
- GROW_VERTICAL = <LayerOp.GROW_VERTICAL: 21>
- INSIDE = <LayerOp.INSIDE: 7>
- NOT = <LayerOp.NOT: 2>
- OR = <LayerOp.OR: 1>
- OUTSIDE = <LayerOp.OUTSIDE: 8>
- OVERLAPPING = <LayerOp.OVERLAPPING: 9>
- SELECT = <LayerOp.SELECT: 25>
- SHRINK = <LayerOp.SHRINK: 20>
- SHRINK_HORIZONTAL = <LayerOp.SHRINK_HORIZONTAL: 24>
- SHRINK_VERTICAL = <LayerOp.SHRINK_VERTICAL: 23>
- STRADDLING = <LayerOp.STRADDLING: 10>
- TOUCHING = <LayerOp.TOUCHING: 4>
- USER_DEFINED = <LayerOp.USER_DEFINED: 6>
- XOR = <LayerOp.XOR: 3>
- __init__(self: keysight.ads.de._pde.tech.LayerOp, value: int) None
- __new__(**kwargs)
- property name
- property str
Return the string used as the operation name.
- property value
- class keysight.ads.de.tech.LineEndType
Defines the type of ending used by a LineItem.
Members:
TRUNCATED : ‘Truncated’: The line ends are truncated.
EXTENDED : ‘Extended’: The line ends are extended.
CHAMFERED : ‘Chamfered’: The line ends are chamfered.
ROUNDED : ‘Rounded’: The line ends are rounded.
- CHAMFERED = <LineEndType.CHAMFERED: 2>
- EXTENDED = <LineEndType.EXTENDED: 1>
- ROUNDED = <LineEndType.ROUNDED: 3>
- TRUNCATED = <LineEndType.TRUNCATED: 0>
- __init__(self: keysight.ads.de._pde.tech.LineEndType, value: int) None
- __new__(**kwargs)
- property name
- property str
Return the string representation of the LineEndType.
- property value
- class keysight.ads.de.tech.LineCornerType
Defines the type of corner used by LineTypeInfo.
Members:
SQUARE : ‘Square’: The line has square corners.
MITERED : ‘Mitered’: The line has mitered corners - prefer ADAPTIVE_MITERED.
ADAPTIVE_MITERED : ‘AdaptiveMitered’: The line has mitered corners with consistent cut length.
CURVED : ‘Curved’: The line has curved corners with a specified radius.
ROUND : ‘Round’: The line has rounded corners.
- ADAPTIVE_MITERED = <LineCornerType.ADAPTIVE_MITERED: 2>
- CURVED = <LineCornerType.CURVED: 3>
- MITERED = <LineCornerType.MITERED: 1>
- ROUND = <LineCornerType.ROUND: 4>
- SQUARE = <LineCornerType.SQUARE: 0>
- __init__(self: keysight.ads.de._pde.tech.LineCornerType, value: int) None
- __new__(**kwargs)
- property name
- property str
Return the string representation of the Line Corner Type.
- property value
- class keysight.ads.de.tech.LineStripSpacingType
Defines the type of spacing between line strips.
Members:
NO_SPACING : ‘NoSpacing’: The line strip items have no spacing.
EDGE_TO_EDGE : ‘EdgeToEdge’: The line strips use edge-to-edge spacing.
CENTER_LINE : ‘CenterLine’: The line strips use center-line-to-center-line spacing.
- CENTER_LINE = <LineStripSpacingType.CENTER_LINE: 2>
- EDGE_TO_EDGE = <LineStripSpacingType.EDGE_TO_EDGE: 1>
- NO_SPACING = <LineStripSpacingType.NO_SPACING: 0>
- __init__(self: keysight.ads.de._pde.tech.LineStripSpacingType, value: int) None
- __new__(**kwargs)
- property name
- property str
Return the string representation of the LineEndType.
- property value
- class keysight.ads.de.tech.OAMaterial
Members:
OTHER
N_WELL
P_WELL
N_DIFF
P_DIFF
N_IMPLANT
P_IMPLANT
POLY
CUT
METAL
CONTACTLESS_METAL
DIFF
RECOGNITION
PASSIVATION_CUT
- CONTACTLESS_METAL = <OAMaterial.CONTACTLESS_METAL: 10>
- CUT = <OAMaterial.CUT: 8>
- DIFF = <OAMaterial.DIFF: 11>
- METAL = <OAMaterial.METAL: 9>
- N_DIFF = <OAMaterial.N_DIFF: 3>
- N_IMPLANT = <OAMaterial.N_IMPLANT: 5>
- N_WELL = <OAMaterial.N_WELL: 1>
- OTHER = <OAMaterial.OTHER: 0>
- PASSIVATION_CUT = <OAMaterial.PASSIVATION_CUT: 13>
- POLY = <OAMaterial.POLY: 7>
- P_DIFF = <OAMaterial.P_DIFF: 4>
- P_IMPLANT = <OAMaterial.P_IMPLANT: 6>
- P_WELL = <OAMaterial.P_WELL: 2>
- RECOGNITION = <OAMaterial.RECOGNITION: 12>
- __init__(self: keysight.ads.de._pde.tech.OAMaterial, value: int) None
- __new__(**kwargs)
- property name
- property str
- property value
- class keysight.ads.de.tech.ProcessRole
- NOT_DEFINED = <ProcessRole.NOT_DEFINED: 0>
- NONE = <ProcessRole.NOT_DEFINED: 0>
- CONDUCTOR = <ProcessRole.CONDUCTOR: 1>
- SEMICONDUCTOR = <ProcessRole.SEMICONDUCTOR: 2>
- DIELECTRIC = <ProcessRole.DIELECTRIC: 3>
- CONDUCTOR_VIA = <ProcessRole.CONDUCTOR_VIA: 4>
- SEMICONDUCTOR_VIA = <ProcessRole.SEMICONDUCTOR_VIA: 5>
- DIELECTRIC_VIA = <ProcessRole.DIELECTRIC_VIA: 6>
- CONDUCTOR_SLOT = <ProcessRole.CONDUCTOR_SLOT: 7>
- SEMICONDUCTOR_SLOT = <ProcessRole.SEMICONDUCTOR_SLOT: 8>
- DIELECTRIC_SLOT = <ProcessRole.DIELECTRIC_SLOT: 9>
- DRC = <ProcessRole.DRC: 10>
- BOUNDARY = <ProcessRole.BOUNDARY: 11>
- HEAT_SOURCE = <ProcessRole.HEAT_SOURCE: 12>
- COMPONENT_BODY = <ProcessRole.COMPONENT_BODY: 13>
- ANNOT_INSTANCE_NAME = <ProcessRole.ANNOT_INSTANCE_NAME: 15>
- ANNOT_COMPONENT_NAME = <ProcessRole.ANNOT_COMPONENT_NAME: 16>
- ANNOT_OTHER = <ProcessRole.ANNOT_OTHER: 17>
- SOLDER_MASK = <ProcessRole.SOLDER_MASK: 18>
- SOLDER_PASTE = <ProcessRole.SOLDER_PASTE: 19>
- SILK_SCREEN = <ProcessRole.SILK_SCREEN: 20>
- SCRATCH = <ProcessRole.SCRATCH: 21>
- OTHER = <ProcessRole.OTHER: 22>
- property str: str
Return the string displayed in the UI.
- class keysight.ads.de.tech.SmartMountSubtype
Defines the subtype of a SmartMount PCell.
Members:
NONE : ‘None’: No subtype.
BOTTOM_MOUNT : ‘BottomMount’: The bottom metal layers of the chip are mapped to the mount layer on the module.
FLIP_CHIP : ‘FlipChip’: The top metal layers of the chip are mapped to the mount layer on the module.
CUSTOM : ‘Custom’: The mapped layers are determined by a custom function.
MULTI_MOUNT : ‘MultiMount’: The chip has multiple mount layers.
- BOTTOM_MOUNT = <SmartMountSubtype.BOTTOM_MOUNT: 1>
- CUSTOM = <SmartMountSubtype.CUSTOM: 3>
- FLIP_CHIP = <SmartMountSubtype.FLIP_CHIP: 2>
- MULTI_MOUNT = <SmartMountSubtype.MULTI_MOUNT: 4>
- NONE = <SmartMountSubtype.NONE: 0>
- __init__(self: keysight.ads.de._pde.tech.SmartMountSubtype, value: int) None
- __new__(**kwargs)
- property name
- property str
- property value