Siwave#
- class pyedb.grpc.database.siwave.Siwave(p_edb)#
Bases:
objectManages EDB methods related to Siwave Setup accessible from Edb.siwave property.
- Parameters:
- edb_class
pyedb.edb.Edb Inherited parent object.
- edb_class
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> edb_siwave = edbapp.siwave
Overview#
Create a circuit port on a pin. |
|
Create circuit port between pin and a reference layer. |
|
Create a voltage source. |
|
Create a current source. |
|
Create a resistor boundary between two given pins. |
|
Create a circuit port on a net. |
|
Create a voltage source on a net. |
|
Create a current source on a net. |
|
Create a DC terminal. |
|
Create an executable file. |
|
Add a SIwave AC analysis to EDB. |
|
Add a Siwave DC analysis in EDB. |
|
Create a pin group terminal. |
|
Create physical RLC component. |
|
Create pin group on the component. |
|
Create pin group on component by net name. |
|
Create current source between two pin groups. |
|
Create voltage source between two pin groups. |
|
Create voltage probe between two pin groups. |
|
Create a port between two pin groups. |
|
Place a voltage probe between two points. |
|
Create Siwave crosstalk scan object. |
Excitation sources in the layout. |
|
All sources in the layout. |
|
All probes in the layout. |
|
All layout pin groups. |
|
Icepak default setting. |
|
Icepak component file path. |
Import detail#
from pyedb.grpc.database.siwave import Siwave
Property detail#
- property Siwave.excitations: Dict[str, Any]#
Excitation sources in the layout.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> excitations = edbapp.siwave.excitations
- property Siwave.sources: Dict[str, Any]#
All sources in the layout.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> sources = edbapp.siwave.sources
- property Siwave.probes: Dict[str, Any]#
All probes in the layout.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> probes = edbapp.siwave.probes
- property Siwave.pin_groups: Dict[str, Any]#
All layout pin groups.
- Returns:
dictDictionary of pin groups with names as keys and pin group objects as values.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> pin_groups = edbapp.siwave.pin_groups >>> for name, group in pin_groups.items(): ... print(f"Pin group {name} has {len(group.pins)} pins")
Method detail#
- Siwave.create_circuit_port_on_pin(pos_pin, neg_pin, impedance=50, port_name=None)#
Create a circuit port on a pin.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_circuit_port_on_pin()instead.
- Siwave.create_port_between_pin_and_layer(component_name=None, pins_name=None, layer_name=None, reference_net=None, impedance=50.0)#
Create circuit port between pin and a reference layer.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_port_between_pin_and_layer()instead.
- Siwave.create_voltage_source_on_pin(pos_pin, neg_pin, voltage_value=3.3, phase_value=0, source_name='')#
Create a voltage source.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_voltage_source_on_pin()instead.
- Siwave.create_current_source_on_pin(pos_pin, neg_pin, current_value=0.1, phase_value=0, source_name='')#
Create a current source.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_current_source_on_pin()instead.
- Siwave.create_resistor_on_pin(pos_pin, neg_pin, rvalue=1, resistor_name='')#
Create a resistor boundary between two given pins.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_resistor_on_pin()instead.
- Siwave.create_circuit_port_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name=None, impedance_value=50, port_name='')#
Create a circuit port on a net.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_circuit_port_on_net()instead.Groups all pins belonging to the specified net and applies the port on PinGroups.
- Parameters:
- positive_component_name
str Name of the positive component.
- positive_net_name
str Name of the positive net.
- negative_component_name
str,optional Name of the negative component. Default is
None.- negative_net_name
str,optional Name of the negative net name. Default is
None(searches for GND nets).- impedance_value
float,optional Port impedance value. Default is
50.- port_name
str,optional Name of the port. Default is
"".
- positive_component_name
- Returns:
strThe name of the port.
- Siwave.create_voltage_source_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name=None, voltage_value=3.3, phase_value=0, source_name='')#
Create a voltage source on a net.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_voltage_source_on_net()instead.- Parameters:
- positive_component_name
str Name of the positive component.
- positive_net_name
str Name of the positive net.
- negative_component_name
str,optional Name of the negative component. Default is
None.- negative_net_name
str,optional Name of the negative net name. Default is
None(searches for GND nets).- voltage_value
float,optional Value for the voltage. Default is
3.3.- phase_value
optional Value for the phase. Default is
0.- source_name
str,optional Name of the source. Default is
"".
- positive_component_name
- Returns:
strThe name of the source.
- Siwave.create_current_source_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name=None, current_value=0.1, phase_value=0, source_name='')#
Create a current source on a net.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_current_source_on_net()instead.- Parameters:
- positive_component_name
str Name of the positive component.
- positive_net_name
str Name of the positive net.
- negative_component_name
str,optional Name of the negative component. Default is
None.- negative_net_name
str,optional Name of the negative net name. Default is
None(searches for GND nets).- current_value
float,optional Value for the current. Default is
0.1.- phase_value
optional Value for the phase. Default is
0.- source_name
str,optional Name of the source. Default is
"".
- positive_component_name
- Returns:
strThe name of the source.
- Siwave.create_dc_terminal(component_name, net_name, source_name='')#
Create a DC terminal.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_dc_terminal()instead.
- Siwave.create_exec_file(add_dc: bool = False, add_ac: bool = False, add_syz: bool = False, export_touchstone: bool = False, touchstone_file_path: str = '') bool#
Create an executable file.
- Parameters:
- add_dcbool,
optional Whether to add the DC option in the EXE file. Default is
False.- add_acbool,
optional Whether to add the AC option in the EXE file. Default is
False.- add_syzbool,
optional Whether to add the SYZ option in the EXE file. Default is
False.- export_touchstonebool,
optional Add the Touchstone file export option in the EXE file. Default is
False.- touchstone_file_path
str,optional File path for the Touchstone file. Default is
"". When no path is specified andexport_touchstone=True, the project path is used.
- add_dcbool,
- Returns:
- bool
Trueif file was created,Falseotherwise.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> # Create exec file with AC and SYZ options >>> success = edbapp.siwave.create_exec_file(add_ac=True, add_syz=True) >>> # Create exec file with Touchstone export >>> success = edbapp.siwave.create_exec_file( ... add_ac=True, export_touchstone=True, touchstone_file_path="C:/temp/my_touchstone.s2p" ... )
- Siwave.add_cpa_analysis(name=None, siwave_cpa_setup_class=None)#
- Siwave.add_siwave_syz_analysis(accuracy_level: int = 1, distribution: str = 'linear', start_freq: str | float = 1, stop_freq: str | float = 1000000000.0, step_freq: str | float | int = 1000000.0, discrete_sweep: bool = False) Any#
Add a SIwave AC analysis to EDB.
- Parameters:
- accuracy_level
int,optional Level of accuracy of SI slider. Default is
1.- distribution
str,optional Type of the sweep. Default is
"linear". Options are: -"linear"-"linear_count"-"decade_count"-"octave_count"-"exponential"- start_freq
str,float,optional Starting frequency. Default is
1.- stop_freq
str,float,optional Stopping frequency. Default is
1e9.- step_freq
str,float,int,optional Frequency step. Default is
1e6. Used for"decade_count","linear_count","octave_count"distribution. Must be integer in that case.- discrete_sweepbool,
optional Whether the sweep is discrete. Default is
False.
- accuracy_level
- Returns:
pyedb.dotnet.database.edb_data.siwave_simulation_setup_data.SiwaveSYZSimulationSetupSetup object class.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> # Add SYZ analysis with linear sweep from 1kHz to 10GHz >>> setup = edbapp.siwave.add_siwave_syz_analysis(start_freq=1e3, stop_freq=10e9, distribution="linear") >>> # Add SYZ analysis with decade sweep >>> setup = edbapp.siwave.add_siwave_syz_analysis( ... start_freq=1e3, ... stop_freq=10e9, ... distribution="decade_count", ... step_freq=10, # 10 points per decade ... )
- Siwave.add_siwave_dc_analysis(name: str | None = None) Any#
Add a Siwave DC analysis in EDB.
Note
Source Reference to Ground settings works only from 2021.2
- Parameters:
- name
str,optional Setup name.
- name
- Returns:
pyedb.dotnet.database.edb_data.siwave_simulation_setup_data.SiwaveDCSimulationSetupSetup object class.
Examples
>>> from pyedb import Edb >>> edb = Edb("pathtoaedb", edbversion="2021.2") >>> edb.siwave.add_siwave_ac_analysis() >>> edb.siwave.add_siwave_dc_analysis2("my_setup")
- Siwave.create_pin_group_terminal(source)#
Create a pin group terminal.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_pin_group_terminal()instead.- Parameters:
- source
VoltageSource,CircuitPort,CurrentSource,DCTerminalorResistorSource Name of the source.
- source
- Siwave.create_rlc_component(pins, component_name='', r_value=1.0, c_value=1e-09, l_value=1e-09, is_parallel=False)#
Create physical RLC component.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.components.create_rlc_component()instead.- Parameters:
- Returns:
pyedb.dotnet.database.components.ComponentsCreated EDB component.
- Siwave.create_pin_group(reference_designator, pin_numbers, group_name=None)#
Create pin group on the component.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.components.create_pin_group()instead.
- Siwave.create_pin_group_on_net(reference_designator, net_name, group_name=None)#
Create pin group on component by net name.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.components.create_pin_group_on_net()instead.
- Siwave.create_current_source_on_pin_group(pos_pin_group_name, neg_pin_group_name, magnitude=1, phase=0, name=None)#
Create current source between two pin groups.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_current_source_on_pin_group()instead.- Parameters:
- Returns:
- bool
Truewhen successful,Falseotherwise.
- Siwave.create_voltage_source_on_pin_group(pos_pin_group_name, neg_pin_group_name, magnitude=1, phase=0, name=None, impedance=0.001)#
Create voltage source between two pin groups.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_voltage_source_on_pin_group()instead.- Parameters:
- pos_pin_group_name
str Name of the positive pin group.
- neg_pin_group_name
str Name of the negative pin group.
- magnitude
int,float,optional Magnitude of the source. Default is
1.- phase
int,float,optional Phase of the source. Default is
0.- name
str,optional Source name.
- impedance
float,optional Source impedance. Default is
0.001.
- pos_pin_group_name
- Returns:
- bool
Truewhen successful,Falseotherwise.
- Siwave.create_voltage_probe_on_pin_group(probe_name, pos_pin_group_name, neg_pin_group_name, impedance=1000000.0)#
Create voltage probe between two pin groups.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_voltage_probe_on_pin_group()instead.
- Siwave.create_circuit_port_on_pin_group(pos_pin_group_name, neg_pin_group_name, impedance=50, name=None)#
Create a port between two pin groups.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.create_circuit_port_on_pin_group()instead.
- Siwave.place_voltage_probe(name, positive_net_name, positive_location, positive_layer, negative_net_name, negative_location, negative_layer)#
Place a voltage probe between two points.
Deprecated since version pyedb: 0.28.0 Use
pyedb.grpc.core.excitations.place_voltage_probe()instead.- Parameters:
- name
str Name of the probe.
- positive_net_name
str Name of the positive net.
- positive_location
list Location of the positive terminal.
- positive_layer
str Layer of the positive terminal.
- negative_net_name
str Name of the negative net.
- negative_location
list Location of the negative terminal.
- negative_layer
str Layer of the negative terminal.
- name
- Siwave.create_impedance_crosstalk_scan(scan_type: str = 'impedance') pyedb.misc.siw_feature_config.xtalk_scan.scan_config.SiwaveScanConfig#
Create Siwave crosstalk scan object.
- Parameters:
- scan_type
str,optional Scan type to be analyzed. Options are: -
"impedance"for frequency impedance scan -"frequency_xtalk"for frequency domain crosstalk -"time_xtalk"for time domain crosstalk Default is"impedance".
- scan_type
- Returns:
SiwaveScanConfigScan configuration object.