pyibis-ami 7.2.1__py3-none-any.whl → 7.2.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,20 +1,20 @@
1
- (@model_name
2
-
3
- (Description "@description")
4
-
5
- @{
6
- import sys
7
- from pyibisami.ami import config as ac
8
-
9
- for (sec_name, sec_key) in [('Reserved_Parameters', 'reserved'), ('Model_Specific', 'model')]:
10
- print(" (%s" % sec_name)
11
- for param_name in ami_params[sec_key]:
12
- param = ami_params[sec_key][param_name]
13
- try:
14
- ac.print_param(" ", param_name, param)
15
- except Exception as e:
16
- e.args += (param_name,)
17
- raise
18
- print(" )")
19
- }
20
- )
1
+ (@model_name
2
+
3
+ (Description "@description")
4
+
5
+ @{
6
+ import sys
7
+ from pyibisami.ami import config as ac
8
+
9
+ for (sec_name, sec_key) in [('Reserved_Parameters', 'reserved'), ('Model_Specific', 'model')]:
10
+ print(" (%s" % sec_name)
11
+ for param_name in ami_params[sec_key]:
12
+ param = ami_params[sec_key][param_name]
13
+ try:
14
+ ac.print_param(" ", param_name, param)
15
+ except Exception as e:
16
+ e.args += (param_name,)
17
+ raise
18
+ print(" )")
19
+ }
20
+ )
@@ -1,139 +1,139 @@
1
- @{
2
- from numpy import array
3
-
4
- version = ibis_params['version']
5
- file_name = ibis_params['file_name']
6
- file_rev = ibis_params['file_rev']
7
- copyright = ibis_params['copyright']
8
- source = ibis_params['source']
9
- component = ibis_params['component']
10
- manufacturer = ibis_params['manufacturer']
11
- r_pkg = ibis_params['r_pkg']
12
- l_pkg = ibis_params['l_pkg']
13
- c_pkg = ibis_params['c_pkg']
14
- model_name = ibis_params['model_name']
15
- model_type = ibis_params['model_type']
16
- c_comp = ibis_params['c_comp']
17
- c_ref = ibis_params['c_ref']
18
- v_ref = ibis_params['v_ref']
19
- v_meas = ibis_params['v_meas']
20
- r_ref = ibis_params['r_ref']
21
- temperature_range = ibis_params['temperature_range']
22
- voltage_range = ibis_params['voltage_range']
23
- impedance = ibis_params['impedance']
24
- slew_rate = ibis_params['slew_rate']
25
- }
26
-
27
- [IBIS Ver] @(version)
28
- [File Name] @(file_name)
29
- [File Rev] @(file_rev)
30
-
31
- [Date] @(date)
32
-
33
- [Source] @(source)
34
-
35
- [Disclaimer]
36
- THIS MODEL IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
37
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
38
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
40
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
41
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
42
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
43
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45
- OF THIS MODEL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46
-
47
- [Notes]
48
- This IBIS file was generated using the template file: "generic.ibs.em".
49
-
50
- [Copyright] @(copyright)
51
- [Component] @(component)
52
- [Manufacturer] @(manufacturer)
53
-
54
- [Package]
55
-
56
- @{
57
- print("R_pkg %5.2f %5.2f %5.2f" % (r_pkg[0], r_pkg[1], r_pkg[2]))
58
- print("L_pkg %5.2fn %5.2fn %5.2fn" % (l_pkg[0] * 1.e9, l_pkg[1] * 1.e9, l_pkg[2] * 1.e9))
59
- print("C_pkg %5.2fp %5.2fp %5.2fp" % (c_pkg[0] * 1.e12, c_pkg[1] * 1.e12, c_pkg[2] * 1.e12))
60
- }
61
-
62
- [Pin] signal_name model_name R_pin L_pin C_pin
63
- 1p Tx_1_P @(model_name)
64
- 1n Tx_1_N @(model_name)
65
- 2p Tx_2_P @(model_name)
66
- 2n Tx_2_N @(model_name)
67
- 3p Tx_3_P @(model_name)
68
- 3n Tx_3_N @(model_name)
69
-
70
- [Diff_Pin] inv_pin vdiff tdelay_typ tdelay_min tdelay_max
71
- 1p 1n 0.1V NA NA NA
72
- 2p 2n 0.1V NA NA NA
73
- 3p 3n 0.1V NA NA NA
74
-
75
- [Model] @(model_name)
76
- Model_type @(model_type)
77
-
78
- @{
79
- print("C_comp %5.2fp %5.2fp %5.2fp" % (c_comp[0] * 1.e12, c_comp[1] * 1.e12, c_comp[2] * 1.e12))
80
- if(model_type == 'Output'):
81
- print("Cref = {}".format(c_ref))
82
- print("Vref = {}".format(v_ref))
83
- print("Vmeas = {}".format(v_meas))
84
- print("Rref = {}".format(r_ref))
85
- else:
86
- print("Vinl = {}".format(voltage_range[0] / 2. - 0.025))
87
- print("Vinh = {}".format(voltage_range[0] / 2. + 0.025))
88
- }
89
-
90
- [Algorithmic Model]
91
- Executable linux_gcc4.1.2_32 @(model_name)_x86.so @(model_name).ami
92
- Executable linux_gcc4.1.2_64 @(model_name)_x86_amd64.so @(model_name).ami
93
- Executable Windows_VisualStudio_32 @(model_name)_x86.dll @(model_name).ami
94
- Executable Windows_VisualStudio_64 @(model_name)_x86_amd64.dll @(model_name).ami
95
- [End Algorithmic Model]
96
-
97
- @{
98
- print("[Temperature_Range] %5.1f %5.1f %5.1f" % (temperature_range[0], temperature_range[1], temperature_range[2]))
99
- print("[Voltage_Range] %5.2f %5.2f %5.2f" % (voltage_range[0], voltage_range[1], voltage_range[2]))
100
- }
101
-
102
- @{
103
- if(model_type == 'Output'):
104
- print("[Pulldown]")
105
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], -10., -10., -10.))
106
- for v in [k * voltage_range[0] for k in range(2)]:
107
- i = v / array(impedance)
108
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, i[0], i[1], i[2]))
109
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (2. * voltage_range[0], 10., 10., 10.))
110
-
111
- print("[Pullup]")
112
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], 10., 10., 10.))
113
- for v in [k * voltage_range[0] for k in range(2)]:
114
- i = -1. * v / array(impedance)
115
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, i[0], i[1], i[2]))
116
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (2. * voltage_range[0], -10., -10., -10.))
117
-
118
- print("[Ramp]")
119
- dv = 0.6 * array([v * 50. / (50. + z) for (v, z) in zip(voltage_range, impedance)])
120
- dt = 1.e12 * dv / array(slew_rate)
121
- print("dV/dt_r %5.3f/%5.2fp %5.3f/%5.2fp %5.3f/%5.2fp" % (dv[0], dt[0], dv[1], dt[1], dv[2], dt[2]))
122
- print("dV/dt_f %5.3f/%5.2fp %5.3f/%5.2fp %5.3f/%5.2fp" % (dv[0], dt[0], dv[1], dt[1], dv[2], dt[2]))
123
- print("")
124
- else:
125
- print("[GND Clamp]")
126
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], -10., -10., -10.))
127
- for v in [k * voltage_range[0] for k in range(3)]:
128
- i = v / array(impedance) / 2
129
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, i[0], i[1], i[2]))
130
- print("")
131
- print("[Power Clamp]")
132
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], 10., 10., 10.))
133
- for v in [k * voltage_range[0] for k in range(3)]:
134
- i = v / array(impedance) / 2
135
- print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, -i[0], -i[1], -i[2]))
136
- print("")
137
- }
138
-
139
- [END]
1
+ @{
2
+ from numpy import array
3
+
4
+ version = ibis_params['version']
5
+ file_name = ibis_params['file_name']
6
+ file_rev = ibis_params['file_rev']
7
+ copyright = ibis_params['copyright']
8
+ source = ibis_params['source']
9
+ component = ibis_params['component']
10
+ manufacturer = ibis_params['manufacturer']
11
+ r_pkg = ibis_params['r_pkg']
12
+ l_pkg = ibis_params['l_pkg']
13
+ c_pkg = ibis_params['c_pkg']
14
+ model_name = ibis_params['model_name']
15
+ model_type = ibis_params['model_type']
16
+ c_comp = ibis_params['c_comp']
17
+ c_ref = ibis_params['c_ref']
18
+ v_ref = ibis_params['v_ref']
19
+ v_meas = ibis_params['v_meas']
20
+ r_ref = ibis_params['r_ref']
21
+ temperature_range = ibis_params['temperature_range']
22
+ voltage_range = ibis_params['voltage_range']
23
+ impedance = ibis_params['impedance']
24
+ slew_rate = ibis_params['slew_rate']
25
+ }
26
+
27
+ [IBIS Ver] @(version)
28
+ [File Name] @(file_name)
29
+ [File Rev] @(file_rev)
30
+
31
+ [Date] @(date)
32
+
33
+ [Source] @(source)
34
+
35
+ [Disclaimer]
36
+ THIS MODEL IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
37
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
38
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
40
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
41
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
42
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
43
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45
+ OF THIS MODEL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46
+
47
+ [Notes]
48
+ This IBIS file was generated using the template file: "generic.ibs.em".
49
+
50
+ [Copyright] @(copyright)
51
+ [Component] @(component)
52
+ [Manufacturer] @(manufacturer)
53
+
54
+ [Package]
55
+
56
+ @{
57
+ print("R_pkg %5.2f %5.2f %5.2f" % (r_pkg[0], r_pkg[1], r_pkg[2]))
58
+ print("L_pkg %5.2fn %5.2fn %5.2fn" % (l_pkg[0] * 1.e9, l_pkg[1] * 1.e9, l_pkg[2] * 1.e9))
59
+ print("C_pkg %5.2fp %5.2fp %5.2fp" % (c_pkg[0] * 1.e12, c_pkg[1] * 1.e12, c_pkg[2] * 1.e12))
60
+ }
61
+
62
+ [Pin] signal_name model_name R_pin L_pin C_pin
63
+ 1p Tx_1_P @(model_name)
64
+ 1n Tx_1_N @(model_name)
65
+ 2p Tx_2_P @(model_name)
66
+ 2n Tx_2_N @(model_name)
67
+ 3p Tx_3_P @(model_name)
68
+ 3n Tx_3_N @(model_name)
69
+
70
+ [Diff_Pin] inv_pin vdiff tdelay_typ tdelay_min tdelay_max
71
+ 1p 1n 0.1V NA NA NA
72
+ 2p 2n 0.1V NA NA NA
73
+ 3p 3n 0.1V NA NA NA
74
+
75
+ [Model] @(model_name)
76
+ Model_type @(model_type)
77
+
78
+ @{
79
+ print("C_comp %5.2fp %5.2fp %5.2fp" % (c_comp[0] * 1.e12, c_comp[1] * 1.e12, c_comp[2] * 1.e12))
80
+ if(model_type == 'Output'):
81
+ print("Cref = {}".format(c_ref))
82
+ print("Vref = {}".format(v_ref))
83
+ print("Vmeas = {}".format(v_meas))
84
+ print("Rref = {}".format(r_ref))
85
+ else:
86
+ print("Vinl = {}".format(voltage_range[0] / 2. - 0.025))
87
+ print("Vinh = {}".format(voltage_range[0] / 2. + 0.025))
88
+ }
89
+
90
+ [Algorithmic Model]
91
+ Executable linux_gcc4.1.2_32 @(model_name)_x86.so @(model_name).ami
92
+ Executable linux_gcc4.1.2_64 @(model_name)_x86_amd64.so @(model_name).ami
93
+ Executable Windows_VisualStudio_32 @(model_name)_x86.dll @(model_name).ami
94
+ Executable Windows_VisualStudio_64 @(model_name)_x86_amd64.dll @(model_name).ami
95
+ [End Algorithmic Model]
96
+
97
+ @{
98
+ print("[Temperature_Range] %5.1f %5.1f %5.1f" % (temperature_range[0], temperature_range[1], temperature_range[2]))
99
+ print("[Voltage_Range] %5.2f %5.2f %5.2f" % (voltage_range[0], voltage_range[1], voltage_range[2]))
100
+ }
101
+
102
+ @{
103
+ if(model_type == 'Output'):
104
+ print("[Pulldown]")
105
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], -10., -10., -10.))
106
+ for v in [k * voltage_range[0] for k in range(2)]:
107
+ i = v / array(impedance)
108
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, i[0], i[1], i[2]))
109
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (2. * voltage_range[0], 10., 10., 10.))
110
+
111
+ print("[Pullup]")
112
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], 10., 10., 10.))
113
+ for v in [k * voltage_range[0] for k in range(2)]:
114
+ i = -1. * v / array(impedance)
115
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, i[0], i[1], i[2]))
116
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (2. * voltage_range[0], -10., -10., -10.))
117
+
118
+ print("[Ramp]")
119
+ dv = 0.6 * array([v * 50. / (50. + z) for (v, z) in zip(voltage_range, impedance)])
120
+ dt = 1.e12 * dv / array(slew_rate)
121
+ print("dV/dt_r %5.3f/%5.2fp %5.3f/%5.2fp %5.3f/%5.2fp" % (dv[0], dt[0], dv[1], dt[1], dv[2], dt[2]))
122
+ print("dV/dt_f %5.3f/%5.2fp %5.3f/%5.2fp %5.3f/%5.2fp" % (dv[0], dt[0], dv[1], dt[1], dv[2], dt[2]))
123
+ print("")
124
+ else:
125
+ print("[GND Clamp]")
126
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], -10., -10., -10.))
127
+ for v in [k * voltage_range[0] for k in range(3)]:
128
+ i = v / array(impedance) / 2
129
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, i[0], i[1], i[2]))
130
+ print("")
131
+ print("[Power Clamp]")
132
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (-1. * voltage_range[0], 10., 10., 10.))
133
+ for v in [k * voltage_range[0] for k in range(3)]:
134
+ i = v / array(impedance) / 2
135
+ print("%-5.2f %-10.3e %-10.3e %-10.3e" % (v, -i[0], -i[1], -i[2]))
136
+ print("")
137
+ }
138
+
139
+ [END]