The hfss_auto_configuration.py module#
Summary#
Solder ball configuration for component modeling. |
|
HFSS simulation setup parameters. |
|
Group of nets to be processed together in a batch simulation. |
|
Automatic HFSS simulation configuration from EDB designs. |
Factory function to create an HFSSAutoConfiguration instance with optional overrides. |
Description#
HFSS automatic configuration workflow for SI/PI analysis.
This module provides tools to automatically configure HFSS simulations from EDB designs, including net grouping, batch processing, cutout generation, port creation, and simulation setup.
Examples#
Basic workflow for automatic HFSS configuration:
>>> from pyedb import Edb
>>> from pyedb.workflows.sipi.hfss_auto_configuration import HFSSAutoConfiguration
>>> edb = Edb("design.aedb")
>>> config = HFSSAutoConfiguration(edb)
>>> config.source_edb_path = "design.aedb"
>>> config.target_edb_path = "design_hfss.aedb"
>>> config.auto_populate_batch_groups()
>>> config.create_projects()
Create configuration with specific net groups:
>>> config = HFSSAutoConfiguration()
>>> config.source_edb_path = "my_design.aedb"
>>> config.group_nets_by_prefix(["DDR", "PCIe", "USB"])
>>> config.add_solder_ball("U1", diameter="0.3mm", height="0.2mm")
>>> config.create_projects()
Module detail#
- hfss_auto_configuration.create_hfss_auto_configuration(edb: pyedb.Edb | None = None, ansys_version: str | None = None, grpc: bool | None = None, source_edb_path: str | None = None, target_edb_path: str | None = None, signal_nets: list | None = None, power_nets: list | None = None, reference_net: str | None = None, batch_size: int | None = None, batch_groups: list | None = None, components: list[str] | None = None, solder_balls: list | None = None, simulation_setup: SimulationSetup | None = None, extent_type: str | None = None, cutout_expansion: str | float | None = None, auto_mesh_seeding: bool | None = None, port_type: str | None = None, create_pin_group: bool | None = None) HFSSAutoConfiguration#
Factory function to create an HFSSAutoConfiguration instance with optional overrides.
This function creates a configuration object with all specified parameters, providing a convenient alternative to manual attribute assignment.
- Parameters:
- edb
EdborNone,optional Existing EDB object instance. The default is
None.- ansys_version
strorNone,optional ANSYS Electronics Desktop version. The default is
None.- grpcbool or
None,optional Whether to use gRPC API mode. The default is
None.- source_edb_path
strorNone,optional Path to the source EDB file. The default is
None.- target_edb_path
strorNone,optional Path where configured EDB will be saved. The default is
None.- signal_nets
listorNone,optional List of signal net names. The default is
None.- power_nets
listorNone,optional List of power net names. The default is
None.- reference_net
strorNone,optional Name of reference (ground) net. The default is
None.- batch_size
intorNone,optional Maximum nets per batch group. The default is
None.- batch_groups
listorNone,optional Pre-configured batch groups. The default is
None.- components
listofstrorNone,optional Component reference designators. The default is
None.- solder_balls
listorNone,optional Solder ball configurations. The default is
None.- simulation_setup
SimulationSetuporNone,optional Global simulation settings. The default is
None.- extent_type
strorNone,optional Cutout extent algorithm. The default is
None.- cutout_expansion
strorfloatorNone,optional Cutout expansion margin. The default is
None.- auto_mesh_seedingbool or
None,optional Enable automatic mesh seeding. The default is
None.- port_type
strorNone,optional Port type to create. The default is
None.- create_pin_groupbool or
None,optional Whether to create pin groups. The default is
None.
- edb
- Returns:
HFSSAutoConfigurationFully configured instance ready for use.
Examples
Create with basic settings:
>>> config = create_hfss_auto_configuration( ... source_edb_path="design.aedb", ... target_edb_path="design_hfss.aedb", ... signal_nets=["DDR4_DQ0", "DDR4_CLK"], ... reference_net="GND", ... ) >>> config.source_edb_path 'design.aedb'
Create with custom simulation setup:
>>> setup = SimulationSetup(stop_frequency="60GHz") >>> config = create_hfss_auto_configuration( ... source_edb_path="design.aedb", simulation_setup=setup, port_type="circuit_port" ... ) >>> config.simulation_setup.stop_frequency '60GHz'
- hfss_auto_configuration.ref_patterns = ['^GND\\d*$', '^GND_\\w+', '^GND$', '^VSS\\d*$', '^VSS\\w*', '^DGND$', '^AGND$', '^PGND$',...#
- hfss_auto_configuration.combined_ref#