EdbSiwave#
- class pyedb.dotnet.database.siwave.EdbSiwave(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. |
|
Create a current source. |
|
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. |
|
Configure Siwave analysis setup. |
|
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 a voltage regulator module. |
|
Create Siwave crosstalk scan object |
|
Get all excitations. |
|
Get all sources. |
|
Get all probes. |
|
Get all voltage regulator modules |
|
All Layout Pin groups. |
|
Icepak default setting. If “True”, only resistor are active in Icepak simulation. |
|
Icepak component file path. |
Import detail#
from pyedb.dotnet.database.siwave import EdbSiwave
Property detail#
- property EdbSiwave.excitations#
Get all excitations.
- property EdbSiwave.sources#
Get all sources.
- property EdbSiwave.probes#
Get all probes.
- property EdbSiwave.voltage_regulator_modules#
Get all voltage regulator modules
- property EdbSiwave.icepak_use_minimal_comp_defaults#
Icepak default setting. If “True”, only resistor are active in Icepak simulation. The power dissipation of the resistors are calculated from DC results.
- property EdbSiwave.icepak_component_file#
Icepak component file path.
Method detail#
- EdbSiwave.create_circuit_port_on_pin(pos_pin, neg_pin, impedance=50, port_name=None)#
Create a circuit port on a pin.
- Parameters:
- Returns:
strPort Name.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> pins = edbapp.components.get_pin_from_component("U2A5") >>> edbapp.siwave.create_circuit_port_on_pin(pins[0], pins[1], 50, "port_name")
- EdbSiwave.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.
- Parameters:
- Returns:
PadstackInstanceTerminalCreated terminal.
- EdbSiwave.create_voltage_source_on_pin(pos_pin, neg_pin, voltage_value=3.3, phase_value=0, source_name='')#
Create a voltage source.
- Parameters:
- Returns:
strSource Name.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> pins = edbapp.components.get_pin_from_component("U2A5") >>> edbapp.siwave.create_voltage_source_on_pin(pins[0], pins[1], 50, "source_name")
- EdbSiwave.create_current_source_on_pin(pos_pin, neg_pin, current_value=0.1, phase_value=0, source_name='')#
Create a current source.
- Parameters:
- Returns:
strSource Name.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> pins = edbapp.components.get_pin_from_component("U2A5") >>> edbapp.siwave.create_current_source_on_pin(pins[0], pins[1], 50, "source_name")
- EdbSiwave.create_resistor_on_pin(pos_pin, neg_pin, rvalue=1, resistor_name='')#
Create a Resistor boundary between two given pins..
- Parameters:
- Returns:
strName of the resistor.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> pins = edbapp.components.get_pin_from_component("U2A5") >>> edbapp.siwave.create_resistor_on_pin(pins[0], pins[1], 50, "res_name")
- EdbSiwave.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.
It groups all pins belonging to the specified net and then 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. The default is
None, in which case the name of the positive net is assigned.- negative_net_name
str,optional Name of the negative net name. The default is
Nonewhich will look for GND Nets.- impedance_value
float,optional Port impedance value. The default is
50.- port_name
str,optional Name of the port. The default is
"".
- positive_component_name
- Returns:
strThe name of the port.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> edbapp.siwave.create_circuit_port_on_net("U2A5", "V1P5_S3", "U2A5", "GND", 50, "port_name")
- EdbSiwave.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.
- 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. The default is
None, in which case the name of the positive net is assigned.- negative_net_name
str,optional Name of the negative net name. The default is
Nonewhich will look for GND Nets.- voltage_value
float,optional Value for the voltage. The default is
3.3.- phase_value
optional Value for the phase. The default is
0.- source_name
str,optional Name of the source. The default is
"".
- positive_component_name
- Returns:
strThe name of the source.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> edb.siwave.create_voltage_source_on_net("U2A5", "V1P5_S3", "U2A5", "GND", 3.3, 0, "source_name")
- EdbSiwave.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.
- 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. The default is
None, in which case the name of the positive net is assigned.- negative_net_name
str,optional Name of the negative net name. The default is
Nonewhich will look for GND Nets.- current_value
float,optional Value for the current. The default is
0.1.- phase_value
optional Value for the phase. The default is
0.- source_name
str,optional Name of the source. The default is
"".
- positive_component_name
- Returns:
strThe name of the source.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> edb.siwave.create_current_source_on_net("U2A5", "V1P5_S3", "U2A5", "GND", 0.1, 0, "source_name")
- EdbSiwave.create_dc_terminal(component_name, net_name, source_name='')#
Create a dc terminal.
- Parameters:
- Returns:
strThe name of the source.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> edb.siwave.create_dc_terminal("U2A5", "V1P5_S3", "source_name")
- EdbSiwave.create_exec_file(add_dc=False, add_ac=False, add_syz=False, export_touchstone=False, touchstone_file_path='')#
Create an executable file.
- Parameters:
- add_dcbool,
optional Whether to add the DC option in the EXE file. The default is
False.- add_acbool,
optional Whether to add the AC option in the EXE file. The default is
False.- add_syzbool,
optional Whether to add the SYZ option in the EXE file
- export_touchstonebool,
optional Add the Touchstone file export option in the EXE file. The default is
False.- touchstone_file_path
str,optional File path for the Touchstone file. The default is
"". When no path is specified andexport_touchstone=True, the path for the project is used.
- add_dcbool,
- EdbSiwave.add_siwave_syz_analysis(name=None, accuracy_level=1, decade_count=10, sweeptype=1, start_freq=1, stop_freq=1000000000.0, step_freq=1000000.0, discrete_sweep=False)#
Add a SIwave AC analysis to EDB.
- Parameters:
- name
stroptional Setup name.
- accuracy_level
int,optional Level of accuracy of SI slider. The default is
1.- decade_count
int The default is
10. The value for this parameter is used for these sweep types: linear count and decade count. This parameter is alternative tostep_freq, which is used for a linear scale sweep.- sweeptype
int,optional Type of the sweep. The default is
1. Options are:0: linear count1: linear scale2: loc scale
- start_freq
float,optional Starting frequency. The default is
1.- stop_freq
float,optional Stopping frequency. The default is
1e9.- step_freq
float,optional Frequency size of the step. The default is
1e6.- discrete_sweepbool,
optional Whether the sweep is discrete. The default is
False.
- name
- Returns:
pyedb.dotnet.database.edb_data.siwave_simulation_setup_data.SiwaveSYZSimulationSetupSetup object class.
- EdbSiwave.add_siwave_dc_analysis(name=None)#
Add a Siwave DC analysis in EDB.
If a setup is present, it is deleted and replaced with actual settings.
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")
- EdbSiwave.create_pin_group_terminal(source)#
Create a pin group terminal.
- Parameters:
- source
VoltageSource,CircuitPort,CurrentSource,DCTerminalorResistorSource Name of the source.
- source
- EdbSiwave.configure_siw_analysis_setup(simulation_setup=None, delete_existing_setup=True)#
Configure Siwave analysis setup.
- Parameters:
- simulation_setup
Edb_DATA.SimulationConfiguration object.
- Returns:
- bool
Truewhen successful,Falsewhen failed.
- EdbSiwave.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.
- Parameters:
- Returns:
- class:pyedb.dotnet.database.components.Components
Created EDB component.
- EdbSiwave.create_pin_group(reference_designator, pin_numbers, group_name=None)#
Create pin group on the component.
- EdbSiwave.create_pin_group_on_net(reference_designator, net_name, group_name=None)#
Create pin group on component by net name.
- EdbSiwave.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.
- EdbSiwave.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.
- EdbSiwave.create_voltage_probe_on_pin_group(probe_name, pos_pin_group_name, neg_pin_group_name, impedance=1000000)#
Create voltage probe between two pin groups.
- EdbSiwave.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.
- EdbSiwave.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.
- Parameters:
- namestr,
Name of the probe.
- positive_net_name
str Name of the positive net.
- positive_location
list Location of the positive terminal.
- positive_layerstr,
Layer of the positive terminal.
- negative_net_namestr,
Name of the negative net.
- negative_location
list Location of the negative terminal.
- negative_layer
str Layer of the negative terminal.
- EdbSiwave.create_vrm_module(name=None, is_active=True, voltage='3V', positive_sensor_pin=None, negative_sensor_pin=None, load_regulation_current='1A', load_regulation_percent=0.1)#
Create a voltage regulator module.
- Parameters:
- name
str Name of the voltage regulator.
- is_activebool
optional Set the voltage regulator active or not. Default value is
True.- voltage ; str, float
Set the voltage value.
- positive_sensor_pin
int,classpyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance defining the positive sensor pin.
- negative_sensor_pin
int,classpyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance defining the negative sensor pin.
- load_regulation_current
strorfloat definition the load regulation current value.
- load_regulation_percent
float definition the load regulation percent value.
- name
- EdbSiwave.create_impedance_crosstalk_scan(scan_type='impedance')#
Create Siwave crosstalk scan object
- Parameters:
- scan_type
str Scan type to be analyzed. 3 options are available,
impedancefor frequency impedance scan,frequency_xtalkfor frequency domain crosstalk andtime_xtalkfor time domain crosstalk. Default value isfrequency.
- scan_type
- EdbSiwave.add_cpa_analysis(name=None, siwave_cpa_setup_class=None)#