Hfss#
- class pyedb.grpc.database.hfss.Hfss(p_edb)#
Bases:
objectManages EDB methods for HFSS setup configuration.
Provides access to HFSS-specific operations including: - Excitation and port creation - Source and probe management - Simulation setup configuration - Boundary condition creation - Layout manipulation for simulation
Accessed via Edb.hfss property.
Overview#
Retrieve trace widths for traces with ports. |
|
Create circuit port between two pins (deprecated). |
|
Create voltage source between two pins (deprecated). |
|
Create current source between two pins (deprecated). |
|
Create resistor between two pins (deprecated). |
|
Create circuit port on net (deprecated). |
|
Create voltage source on net (deprecated). |
|
Create current source on net (deprecated). |
|
Create coaxial port on component (deprecated). |
|
Create differential wave port (deprecated). |
|
Create bundle wave port (deprecated). |
|
Create HFSS port on padstack (deprecated). |
|
Create edge port on polygon (deprecated). |
|
Create wave port (deprecated). |
|
Create vertical edge port (deprecated). |
|
Create horizontal edge port (deprecated). |
|
Create lumped port on net (deprecated). |
|
Create vertical circuit port on clipped traces (deprecated). |
|
Calculate layout bounding box. |
|
Configure HFSS extent box (deprecated). |
|
Configure HFSS analysis setup (deprecated). |
|
Trim component reference size (deprecated). |
|
Set coaxial port attributes (deprecated). |
|
Get number of excitation ports. |
|
Defeature layout polygons (deprecated). |
|
Create RLC boundary on pins (deprecated). |
|
Add HFSS analysis setup. |
HFSS extent information. |
|
All excitation definitions in the layout. |
|
All source definitions in the layout. |
|
All probe definitions in the layout. |
Import detail#
from pyedb.grpc.database.hfss import Hfss
Property detail#
- property Hfss.hfss_extent_info: pyedb.grpc.database.utility.hfss_extent_info.HfssExtentInfo#
HFSS extent information.
- Returns:
HfssExtentInfoObject containing HFSS extent configuration data.
Method detail#
- Hfss.get_trace_width_for_traces_with_ports()#
Retrieve trace widths for traces with ports.
- Returns:
dictDictionary mapping net names to smallest trace widths.
Examples
>>> widths = edb.hfss.get_trace_width_for_traces_with_ports() >>> for net_name, width in widths.items(): ... print(f"Net '{net_name}': Smallest width = {width}")
- Hfss.create_circuit_port_on_pin(pos_pin, neg_pin, impedance=50, port_name=None)#
Create circuit port between two pins (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_circuit_port_on_pin()instead.
- Hfss.create_voltage_source_on_pin(pos_pin, neg_pin, voltage_value=3.3, phase_value=0, source_name='')#
Create voltage source between two pins (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_voltage_source_on_pin()instead.
- Hfss.create_current_source_on_pin(pos_pin, neg_pin, current_value=0.1, phase_value=0, source_name='')#
Create current source between two pins (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_current_source_on_pin()instead.
- Hfss.create_resistor_on_pin(pos_pin, neg_pin, rvalue=1, resistor_name='')#
Create resistor between two pins (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_resistor_on_pin()instead.
- Hfss.create_circuit_port_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name='GND', impedance_value=50, port_name='')#
Create circuit port on net (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_circuit_port_on_net()instead.- Parameters:
- Returns:
strPort name.
- Hfss.create_voltage_source_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name='GND', voltage_value=3.3, phase_value=0, source_name='')#
Create voltage source on net (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_voltage_source_on_net()instead.- Parameters:
- positive_component_name
str Positive component name.
- positive_net_name
str Positive net name.
- negative_component_name
str,optional Negative component name.
- negative_net_name
str,optional Negative net name.
- voltage_value
float,optional Voltage value.
- phase_value
float,optional Phase value.
- source_name
str,optional Source name.
- positive_component_name
- Returns:
strSource name.
- Hfss.create_current_source_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name='GND', current_value=0.1, phase_value=0, source_name='')#
Create current source on net (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_current_source_on_net()instead.- Parameters:
- positive_component_name
str Positive component name.
- positive_net_name
str Positive net name.
- negative_component_name
str,optional Negative component name.
- negative_net_name
str,optional Negative net name.
- current_value
float,optional Current value.
- phase_value
float,optional Phase value.
- source_name
str,optional Source name.
- positive_component_name
- Returns:
strSource name.
- Hfss.create_coax_port_on_component(ref_des_list, net_list, delete_existing_terminal=False)#
Create coaxial port on component (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_coax_port_on_component()instead.
- Hfss.create_differential_wave_port(positive_primitive_id, positive_points_on_edge, negative_primitive_id, negative_points_on_edge, port_name=None, horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#
Create differential wave port (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_differential_wave_port()instead.- Parameters:
- positive_primitive_id
int,EDBPrimitives Positive primitive ID.
- positive_points_on_edge
list Point coordinates on positive edge.
- negative_primitive_id
int,EDBPrimitives Negative primitive ID.
- negative_points_on_edge
list Point coordinates on negative edge.
- port_name
str,optional Port name.
- horizontal_extent_factor
int,float,optional Horizontal extent factor.
- vertical_extent_factor
int,float,optional Vertical extent factor.
- pec_launch_width
str,optional PEC launch width.
- positive_primitive_id
- Returns:
tuple(Port name, ExcitationDifferential) tuple.
- Hfss.create_bundle_wave_port(primitives_id, points_on_edge, port_name=None, horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#
Create bundle wave port (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_bundle_wave_port()instead.- Parameters:
- Returns:
tuple(Port name, ExcitationDifferential) tuple.
- Hfss.create_hfss_ports_on_padstack(pinpos, portname=None)#
Create HFSS port on padstack (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_hfss_ports_on_padstack()instead.
- Hfss.create_edge_port_on_polygon(polygon=None, reference_polygon=None, terminal_point=None, reference_point=None, reference_layer=None, port_name=None, port_impedance=50.0, force_circuit_port=False)#
Create edge port on polygon (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_edge_port_on_polygon()instead.- Parameters:
- polygon
Edb.Cell.Primitive.Polygon,optional Port polygon.
- reference_polygon
Edb.Cell.Primitive.Polygon,optional Reference polygon.
- terminal_point
list,optional Terminal point coordinates.
- reference_point
list,optional Reference point coordinates.
- reference_layer
str,optional Reference layer name.
- port_name
str,optional Port name.
- port_impedance
float,optional Port impedance.
- force_circuit_portbool,
optional Force circuit port creation.
- polygon
- Returns:
- bool
True if successful, False otherwise.
- Hfss.create_wave_port(prim_id, point_on_edge, port_name=None, impedance=50, horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#
Create wave port (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_wave_port()instead.- Parameters:
- prim_id
int,Primitive Primitive ID.
- point_on_edge
list Point coordinates on edge.
- port_name
str,optional Port name.
- impedance
int,float,optional Port impedance.
- horizontal_extent_factor
int,float,optional Horizontal extent factor.
- vertical_extent_factor
int,float,optional Vertical extent factor.
- pec_launch_width
str,optional PEC launch width.
- prim_id
- Returns:
tuple(Port name, Excitation) tuple.
- Hfss.create_edge_port_vertical(prim_id, point_on_edge, port_name=None, impedance=50, reference_layer=None, hfss_type='Gap', horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#
Create vertical edge port (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_edge_port_vertical()instead.- Parameters:
- prim_id
int Primitive ID.
- point_on_edge
list Point coordinates on edge.
- port_name
str,optional Port name.
- impedance
int,float,optional Port impedance.
- reference_layer
str,optional Reference layer name.
- hfss_type
str,optional Port type (“Gap” or “Wave”).
- horizontal_extent_factor
int,float,optional Horizontal extent factor.
- vertical_extent_factor
int,float,optional Vertical extent factor.
- pec_launch_width
str,optional PEC launch width.
- prim_id
- Returns:
strPort name.
- Hfss.create_edge_port_horizontal(prim_id, point_on_edge, ref_prim_id=None, point_on_ref_edge=None, port_name=None, impedance=50, layer_alignment='Upper')#
Create horizontal edge port (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_edge_port_horizontal()instead.- Parameters:
- prim_id
int Primitive ID.
- point_on_edge
list Point coordinates on edge.
- ref_prim_id
int,optional Reference primitive ID.
- point_on_ref_edge
list,optional Point coordinates on reference edge.
- port_name
str,optional Port name.
- impedance
int,float,optional Port impedance.
- layer_alignment
str,optional Layer alignment (“Upper” or “Lower”).
- prim_id
- Returns:
strPort name.
- Hfss.create_lumped_port_on_net(nets, reference_layer, return_points_only, digit_resolution, at_bounding_box)#
Create lumped port on net (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_lumped_port_on_net()instead.- Parameters:
- Returns:
- bool
True if successful, False otherwise.
- Hfss.create_vertical_circuit_port_on_clipped_traces(nets=None, reference_net=None, user_defined_extent=None)#
Create vertical circuit port on clipped traces (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_vertical_circuit_port_on_clipped_traces()instead.
- Hfss.get_layout_bounding_box(layout=None, digit_resolution=6)#
Calculate layout bounding box.
- Parameters:
- layout
Edb.Cell.Layout,optional Layout object (uses active layout if None).
- digit_resolution
int,optional Coordinate rounding precision.
- layout
- Returns:
list[min_x, min_y, max_x, max_y] coordinates.
Examples
>>> bbox = edb.hfss.get_layout_bounding_box() >>> print(f"Layout Bounding Box: {bbox}") >>> >>> # With custom parameters >>> custom_layout = edb.layouts["MyLayout"] >>> bbox = edb.hfss.get_layout_bounding_box(custom_layout, 5)
- Hfss.configure_hfss_extents(simulation_setup=None)#
Configure HFSS extent box (deprecated).
Deprecated since version 0.28.0: Use :func: pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.configure_hfss_extents instead.
- Parameters:
- simulation_setup
HfssSimulationSetup,optional Simulation setup object.
- simulation_setup
- Returns:
- bool
True if successful, False otherwise.
- Hfss.configure_hfss_analysis_setup(simulation_setup=None)#
Configure HFSS analysis setup (deprecated).
Deprecated since version 0.28.0: Use :func: pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.configure_hfss_analysis_setup instead.
- Parameters:
- simulation_setup
HfssSimulationSetup,optional Simulation setup object.
- simulation_setup
- Returns:
- bool
True if successful, False otherwise.
- Hfss.trim_component_reference_size(simulation_setup=None, trim_to_terminals=False)#
Trim component reference size (deprecated).
Deprecated since version 0.28.0: Use :func: pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.trim_component_reference_size instead.
- Parameters:
- simulation_setup
HfssSimulationSetup,optional Simulation setup object.
- trim_to_terminalsbool,
optional Trim to active terminals only.
- simulation_setup
- Hfss.set_coax_port_attributes(simulation_setup=None)#
Set coaxial port attributes (deprecated).
Deprecated since version 0.28.0: Use :func: pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.set_coax_port_attributes instead.
- Parameters:
- simulation_setup
HfssSimulationSetup,optional Simulation setup object.
- simulation_setup
- Hfss.get_ports_number()#
Get number of excitation ports.
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitation.get_ports_number()instead.- Returns:
intNumber of ports.
- Hfss.layout_defeaturing(simulation_setup=None)#
Defeature layout polygons (deprecated).
Deprecated since version 0.28.0: Use :func: pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.layout_defeaturing instead.
- Parameters:
- simulation_setup
HfssSimulationSetup,optional Simulation setup object.
- simulation_setup
- Returns:
- bool
True if successful, False otherwise.
- Hfss.create_rlc_boundary_on_pins(positive_pin=None, negative_pin=None, rvalue=0.0, lvalue=0.0, cvalue=0.0)#
Create RLC boundary on pins (deprecated).
Deprecated since version 0.28.0: Use
pyedb.grpc.core.excitations.create_rlc_boundary_on_pins()instead.- Parameters:
- Returns:
- bool
True if successful, False otherwise.
- Hfss.add_setup(name=None, distribution='linear', start_freq=0, stop_freq=20000000000.0, step_freq=1000000.0, discrete_sweep=False) pyedb.grpc.database.simulation_setup.hfss_simulation_setup.HfssSimulationSetup#
Add HFSS analysis setup.
- Parameters:
- name
str,optional Setup name (auto-generated if None).
- distribution
str,optional Sweep distribution type (“linear”, “linear_count”, “decade_count”, “octave_count”, “exponential”).
- start_freq
float,str,optional Starting frequency (Hz).
- stop_freq
float,str,optional Stopping frequency (Hz).
- step_freq
float,str,int,optional Frequency step (Hz) or count depending on distribution.
- discrete_sweepbool,
optional Use discrete sweep.
- name
- Returns:
HfssSimulationSetupCreated setup object.
Examples
>>> hfss_setup = edb.hfss.add_setup( ... name="MySetup", ... distribution="linear_count", ... start_freq=1e9, ... stop_freq=10e9, ... step_freq=100, ... )