origen_testers 0.5.7 → 0.6.0

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.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/config/shared_commands.rb +6 -0
  3. data/config/version.rb +2 -2
  4. data/lib/commands/run.rb +44 -0
  5. data/lib/origen_testers.rb +19 -1
  6. data/lib/origen_testers/flow.rb +382 -0
  7. data/lib/origen_testers/generator.rb +32 -29
  8. data/lib/origen_testers/igxl_based_tester/base/ac_specsets.rb +79 -0
  9. data/lib/origen_testers/igxl_based_tester/base/dc_specsets.rb +98 -0
  10. data/lib/origen_testers/igxl_based_tester/base/edge.rb +60 -0
  11. data/lib/origen_testers/igxl_based_tester/base/edges.rb +24 -0
  12. data/lib/origen_testers/igxl_based_tester/base/edgeset.rb +39 -0
  13. data/lib/origen_testers/igxl_based_tester/base/edgesets.rb +97 -0
  14. data/lib/origen_testers/igxl_based_tester/base/flow.rb +390 -115
  15. data/lib/origen_testers/igxl_based_tester/base/flow_line.rb +4 -54
  16. data/lib/origen_testers/igxl_based_tester/base/generator.rb +257 -11
  17. data/lib/origen_testers/igxl_based_tester/base/level_io_se.rb +59 -0
  18. data/lib/origen_testers/igxl_based_tester/base/level_supply.rb +39 -0
  19. data/lib/origen_testers/igxl_based_tester/base/levels.rb +31 -0
  20. data/lib/origen_testers/igxl_based_tester/base/levelset.rb +109 -0
  21. data/lib/origen_testers/igxl_based_tester/base/pinmap.rb +93 -0
  22. data/lib/origen_testers/igxl_based_tester/base/test_instance.rb +33 -1
  23. data/lib/origen_testers/igxl_based_tester/base/timeset.rb +37 -0
  24. data/lib/origen_testers/igxl_based_tester/base/timesets.rb +47 -0
  25. data/lib/origen_testers/igxl_based_tester/j750/templates/flow.txt.erb +2 -2
  26. data/lib/origen_testers/igxl_based_tester/ultraflex/ac_specsets.rb +10 -0
  27. data/lib/origen_testers/igxl_based_tester/ultraflex/custom_test_instance.rb +4 -0
  28. data/lib/origen_testers/igxl_based_tester/ultraflex/dc_specsets.rb +10 -0
  29. data/lib/origen_testers/igxl_based_tester/ultraflex/edge.rb +9 -0
  30. data/lib/origen_testers/igxl_based_tester/ultraflex/edges.rb +9 -0
  31. data/lib/origen_testers/igxl_based_tester/ultraflex/edgeset.rb +9 -0
  32. data/lib/origen_testers/igxl_based_tester/ultraflex/edgesets.rb +10 -0
  33. data/lib/origen_testers/igxl_based_tester/ultraflex/flow.rb +137 -0
  34. data/lib/origen_testers/igxl_based_tester/ultraflex/level_io_se.rb +9 -0
  35. data/lib/origen_testers/igxl_based_tester/ultraflex/level_supply.rb +9 -0
  36. data/lib/origen_testers/igxl_based_tester/ultraflex/levels.rb +9 -0
  37. data/lib/origen_testers/igxl_based_tester/ultraflex/levelset.rb +10 -0
  38. data/lib/origen_testers/igxl_based_tester/ultraflex/pinmap.rb +10 -0
  39. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/ac_specsets.txt.erb +58 -0
  40. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/dc_specsets.txt.erb +58 -0
  41. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/edgesets.txt.erb +95 -0
  42. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/flow.txt.erb +2 -2
  43. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/levelset.txt.erb +121 -0
  44. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/pinmap.txt.erb +24 -0
  45. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/timesets.txt.erb +137 -0
  46. data/lib/origen_testers/igxl_based_tester/ultraflex/test_instance.rb +4 -0
  47. data/lib/origen_testers/igxl_based_tester/ultraflex/timeset.rb +9 -0
  48. data/lib/origen_testers/igxl_based_tester/ultraflex/timesets.rb +10 -0
  49. data/lib/origen_testers/interface.rb +41 -6
  50. data/lib/origen_testers/no_interface.rb +7 -0
  51. data/lib/origen_testers/origen_ext/application/runner.rb +25 -0
  52. data/lib/origen_testers/origen_ext/generator.rb +37 -0
  53. data/lib/origen_testers/origen_ext/generator/flow.rb +70 -0
  54. data/lib/origen_testers/origen_ext/generator/resources.rb +21 -0
  55. data/lib/origen_testers/program_generators.rb +0 -1
  56. data/lib/origen_testers/smartest_based_tester/base/flow.rb +158 -134
  57. data/lib/origen_testers/smartest_based_tester/base/generator.rb +2 -3
  58. data/lib/origen_testers/smartest_based_tester/base/test_suite.rb +4 -0
  59. data/lib/origen_testers/smartest_based_tester/v93k/templates/template.flow.erb +5 -6
  60. data/lib/origen_testers/test/dut.rb +5 -0
  61. data/lib/origen_testers/test/j750_base_interface.rb +0 -3
  62. data/lib/origen_testers/test/ultraflex_interface.rb +230 -4
  63. data/lib/origen_testers/test/v93k_interface.rb +5 -23
  64. data/program/components/_temp.rb +6 -0
  65. data/program/flow_control.rb +190 -62
  66. data/program/prb1.rb +13 -50
  67. data/program/prb2.rb +0 -16
  68. data/program/test.rb +12 -3
  69. data/program/uflex_resources.rb +159 -0
  70. metadata +66 -16
  71. data/lib/origen_testers/doc.rb +0 -224
  72. data/lib/origen_testers/doc/generator.rb +0 -124
  73. data/lib/origen_testers/doc/generator/flow.rb +0 -69
  74. data/lib/origen_testers/doc/generator/flow_line.rb +0 -201
  75. data/lib/origen_testers/doc/generator/test.rb +0 -66
  76. data/lib/origen_testers/doc/generator/test_group.rb +0 -64
  77. data/lib/origen_testers/doc/generator/tests.rb +0 -45
  78. data/lib/origen_testers/doc/model.rb +0 -160
  79. data/lib/origen_testers/generator/flow_control_api.rb +0 -611
  80. data/lib/origen_testers/smartest_based_tester/base/flow_node.rb +0 -476
  81. data/lib/origen_testers/smartest_based_tester/v93k/flow_node.rb +0 -9
data/program/prb1.rb CHANGED
@@ -101,10 +101,8 @@ Flow.create do
101
101
  func :erase_all
102
102
  end
103
103
 
104
- unless_enable 'no_extra_erase', :or => true do
105
- func :erase_all
106
- func :erase_all
107
- end
104
+ func :erase_all
105
+ func :erase_all
108
106
 
109
107
  log 'Test if_passed'
110
108
  func :erase_all, :id => 'erase_passed_1'
@@ -160,51 +158,6 @@ Flow.create do
160
158
  func :margin_read1_all1
161
159
  end
162
160
 
163
- log 'Test if_all_passed'
164
- func :erase_all, :id => 'erase_all_passed_1'
165
- func :erase_all, :id => 'erase_all_passed_2'
166
-
167
- func :margin_read1_all1, :if_all_passed => 'erase_all_passed_1'
168
- if_all_passed 'erase_all_passed_2' do
169
- func :margin_read1_all1
170
- end
171
-
172
- log 'Test unless_any_failed'
173
- func :erase_all, :id => 'erase_all_passed_3'
174
- func :erase_all, :id => 'erase_all_passed_4'
175
-
176
- func :margin_read1_all1, :unless_any_failed => 'erase_all_passed_3'
177
- unless_any_failed 'erase_all_passed_4' do
178
- func :margin_read1_all1
179
- end
180
-
181
- log 'Test if_any_passed'
182
- func :erase_all, :id => 'erase_any_passed_1'
183
- func :erase_all, :id => 'erase_any_passed_2'
184
-
185
- func :margin_read1_all1, :if_any_passed => 'erase_any_passed_1'
186
- if_any_passed 'erase_any_passed_2' do
187
- func :margin_read1_all1
188
- end
189
-
190
- log 'Test if_all_failed'
191
- func :erase_all, :id => 'erase_all_failed_1'
192
- func :erase_all, :id => 'erase_all_failed_2'
193
-
194
- func :margin_read1_all1, :if_all_failed => 'erase_all_failed_1'
195
- if_all_failed 'erase_all_failed_2' do
196
- func :margin_read1_all1
197
- end
198
-
199
- log 'Test if_any_failed'
200
- func :erase_all, :id => 'erase_any_failed_1'
201
- func :erase_all, :id => 'erase_any_failed_2'
202
-
203
- func :margin_read1_all1, :if_any_failed => 'erase_any_failed_1'
204
- if_any_failed 'erase_any_failed_2' do
205
- func :margin_read1_all1
206
- end
207
-
208
161
  log 'Verify that job context wraps import'
209
162
  if_job :fr do
210
163
  import 'erase'
@@ -222,5 +175,15 @@ Flow.create do
222
175
  log 'Verify that MTO template works...'
223
176
  mto_memory :mto_read1_all1
224
177
 
225
- bin 1, description: "Good die!"
178
+ if tester.uflex?
179
+ log 'import statement'
180
+ import 'components/temp'
181
+
182
+ log 'direct call'
183
+
184
+ meas :bgap_voltage_meas, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45
185
+ meas :bgap_voltage_meas1
186
+ end
187
+
188
+ pass 1, description: "Good die!", softbin: 1
226
189
  end
data/program/prb2.rb CHANGED
@@ -16,25 +16,9 @@ Flow.create do
16
16
  func :erase_all, :duration => :dynamic
17
17
  func :margin_read1_all1, :id => 'erased_successfully'
18
18
 
19
- skip :if_all_passed => 'erased_successfully' do
20
- import 'components/prb2_main'
21
- end
22
-
23
19
  if_enable 'extra_tests' do
24
20
  import 'components/prb2_main'
25
21
  end
26
22
 
27
23
  func :margin_read1_all1
28
-
29
- log '"Check OOF passcodes in both locations"'
30
- func :pgm_vfy_oof_passcode_tst, tname: "TST_VFY_OOF_PASSCODE", tnum: 1300, continue: true, id: :oof_passcode1
31
- func :pgm_vfy_oof_passcode_redcols_utst, tname: "UTST_VFY_OOF_PASSCODE_REDCOLS", tnum: 1300, continue: true, id: :oof_passcode2
32
- nop
33
-
34
- # Will create a better API when implementing this on V93K
35
- if Origen.tester.is_a?(OrigenTesters::IGXLBasedTester::Base)
36
- or_ids id1: :oof_passcode1, id2: :oof_passcode2, id: :OR, condition: :fail
37
- func :testme, tname: "", if_failed: :OR
38
- end
39
-
40
24
  end
data/program/test.rb CHANGED
@@ -13,8 +13,17 @@ Flow.create do
13
13
  meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, lo_limit: 35
14
14
  meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45
15
15
  meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35
16
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35, units: "V"
17
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35, scale: "k", units: "V"
18
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35, scale: "k", units: "V", result: "None"
16
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35
17
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45.mV, lo_limit: 35.mV
18
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45.mV, lo_limit: 35.mV, continue: true
19
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 2000, lo_limit: 0.01, continue: true
20
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: "_some_spec", lo_limit: 0.01, continue: true
21
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: [1, 2]
22
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, lo_limit: [1.uA, 2.uA, 3.uA], hi_limit: [4.uA,5.uA], units: "A", defer_limits: true
19
23
 
24
+ if tester.uflex?
25
+ log "Test of ultraflex render API"
26
+ line = flow.ultraflex.use_limit
27
+ line.units = "Hz"
28
+ end
20
29
  end
@@ -0,0 +1,159 @@
1
+ Resources.create do
2
+
3
+ pinmap :pinmap_test
4
+
5
+ timing_sheet_pins = [:tclk, :tdi, :tdo, :tms]
6
+
7
+ # Define some edge options so we can define some Edge objects
8
+ default_options = {
9
+ d_src: 'PAT', # source of the channel drive data (e.g. pattern, drive_hi, drive_lo, etc.)
10
+ d_fmt: 'NR', # drive data format (NR, RL, RH, etc.)
11
+ d0_edge: 'd1_edge', # time at which the input drive is turned on
12
+ d1_edge: 'clkre + 0.25 * cycle', # time of the initial data drive edge
13
+ d2_edge: '', # time of the return format data drive edge
14
+ d3_edge: '', # time at which the input drive is turned off
15
+ c_mode: 'Edge', # output compare mode
16
+ c1_edge: 'clkre + 0.75 * cycle', # time of the initial output compare edge
17
+ c2_edge: '', # time of the final output compare edge (window compare)
18
+ t_res: 'Machine', # timing resolution (possibly ATE-specific)
19
+ clk_per: '' # clock period equation - for use with MCG
20
+ }
21
+ clock_options = {
22
+ d_src: 'PAT', # source of the channel drive data (e.g. pattern, drive_hi, drive_lo, etc.)
23
+ d_fmt: 'RL', # drive data format (NR, RL, RH, etc.)
24
+ d0_edge: 'd1_edge', # time at which the input drive is turned on
25
+ d1_edge: 'clkre', # time of the initial data drive edge
26
+ d2_edge: 'clkre + 0.5 * cycle', # time of the return format data drive edge
27
+ d3_edge: '', # time at which the input drive is turned off
28
+ c_mode: 'Off', # output compare mode
29
+ c1_edge: '', # time of the initial output compare edge
30
+ c2_edge: '', # time of the final output compare edge (window compare)
31
+ t_res: 'Machine', # timing resolution (possibly ATE-specific)
32
+ clk_per: 'mcg_cycle' # clock period equation - for use with MCG
33
+ }
34
+ input_options = {
35
+ d_src: 'PAT', # source of the channel drive data (e.g. pattern, drive_hi, drive_lo, etc.)
36
+ d_fmt: 'NR', # drive data format (NR, RL, RH, etc.)
37
+ d0_edge: 'd1_edge', # time at which the input drive is turned on
38
+ d1_edge: 'clkre - jtag_su', # time of the initial data drive edge
39
+ d2_edge: '', # time of the return format data drive edge
40
+ d3_edge: '', # time at which the input drive is turned off
41
+ c_mode: 'Off', # output compare mode
42
+ c1_edge: '', # time of the initial output compare edge
43
+ c2_edge: '', # time of the final output compare edge (window compare)
44
+ t_res: 'Machine', # timing resolution (possibly ATE-specific)
45
+ clk_per: '' # clock period equation - for use with MCG
46
+ }
47
+ output_options = {
48
+ d_src: 'PAT', # source of the channel drive data (e.g. pattern, drive_hi, drive_lo, etc.)
49
+ d_fmt: 'NR', # drive data format (NR, RL, RH, etc.)
50
+ d0_edge: 'd1_edge', # time at which the input drive is turned on
51
+ d1_edge: 'clkre', # time of the initial data drive edge
52
+ d2_edge: '', # time of the return format data drive edge
53
+ d3_edge: '', # time at which the input drive is turned off
54
+ c_mode: 'Edge', # output compare mode
55
+ c1_edge: 'clkre + jtag_ov', # time of the initial output compare edge
56
+ c2_edge: '', # time of the final output compare edge (window compare)
57
+ t_res: 'Machine', # timing resolution (possibly ATE-specific)
58
+ clk_per: '' # clock period equation - for use with MCG
59
+ }
60
+
61
+ # Define the Edge objects that you want to use later to construct edgesets/timesets
62
+ # * the interface puts these in 'edge_collection'
63
+ # FORMAT: edge <timing category>, <pin_name/type>, <edge options>
64
+ edge :default, :default, default_options
65
+ edge :clock, :clk, clock_options
66
+ edge :input, :default, input_options
67
+ edge :output, :default, output_options
68
+
69
+ # Assign edges to the pins for edgeset sheet ':func'
70
+ # * assign all pins some default timing for starters...
71
+ # * importing edgesets will automatically populate ac_specset variables contained within the equations
72
+ # FORMAT: edgeset <edgeset sheet name>, edgeset: <edgeset>, pin: <pin_name>, edge: <edge_object>, es_sheet_pins: <array of pins>, spec_sheet: <AC specsheet name>
73
+ edgeset :func, edgeset: :default, pin: :tclk, edge: edge_collection.edges[:default][:default], spec_sheet: :func, es_sheet_pins: timing_sheet_pins
74
+ edgeset :func, edgeset: :default, pin: :tms, edge: edge_collection.edges[:default][:default], spec_sheet: :func
75
+ edgeset :func, edgeset: :default, pin: :tdi, edge: edge_collection.edges[:default][:default], spec_sheet: :func
76
+ edgeset :func, edgeset: :default, pin: :tdo, edge: edge_collection.edges[:default][:default], spec_sheet: :func
77
+ # * now assign pins some more meaningful timing for JTAG operation...
78
+ edgeset :func, edgeset: :es_jtag, pin: :tclk, edge: edge_collection.edges[:clock][:clk], spec_sheet: :func, es_sheet_pins: timing_sheet_pins
79
+ edgeset :func, edgeset: :es_jtag, pin: :tms, edge: edge_collection.edges[:input][:default], spec_sheet: :func
80
+ edgeset :func, edgeset: :es_jtag, pin: :tdi, edge: edge_collection.edges[:input][:default], spec_sheet: :func
81
+ edgeset :func, edgeset: :es_jtag, pin: :tdo, edge: edge_collection.edges[:output][:default], spec_sheet: :func
82
+
83
+ # Assign edges to the pins for timeset sheet ':func'
84
+ # * first a :default timeset
85
+ # FORMAT: timeset <timset sheet name>, timeset: <timeset>, pin: <pin_name>, eset: <edgeset name>, ts_sheet_pins: <array of pins>
86
+ timeset :func, timeset: :default, pin: :tclk, eset: :default, ts_sheet_pins: timing_sheet_pins
87
+ timeset :func, timeset: :default, pin: :tms, eset: :default
88
+ timeset :func, timeset: :default, pin: :tdi, eset: :default
89
+ timeset :func, timeset: :default, pin: :tdo, eset: :default
90
+ # * now a :jtag timeset
91
+ timeset :func, timeset: :jtag, pin: :tclk, eset: :es_jtag, ts_sheet_pins: timing_sheet_pins
92
+ timeset :func, timeset: :jtag, pin: :tms, eset: :es_jtag
93
+ timeset :func, timeset: :jtag, pin: :tdi, eset: :es_jtag
94
+ timeset :func, timeset: :jtag, pin: :tdo, eset: :es_jtag
95
+
96
+ # * now define a few more AC specs and values
97
+ ac_specset :func, 'cycle', specset: :func_100MHz, nom: { min: '9*ns', typ: '10*ns', max: '11*ns' }
98
+ ac_specset :func, 'cycle', specset: :func_125MHz, nom: { min: '7*ns', typ: '8*ns', max: '9*ns' }
99
+ ac_specset :func, 'new_var1', specset: :func_100MHz, nom: { min: '1*ns', typ: '2*ns', max: '3*ns' }
100
+ ac_specset :func, 'new_var2', specset: :func_125MHz, nom: { min: '4*ns', typ: '5*ns', max: '6*ns' }
101
+
102
+ level_sheet_pins = [:vdd1, :vdd2, :tclk, :tdi, :tdo, :tms]
103
+
104
+ # Define some level options so we can define some Level objects
105
+ pwr_options = {
106
+ vmain: 'vdd_main_val', # Main supply voltage
107
+ valt: 'vdd_alt_val', # Alternate supply voltage
108
+ ifold: 'fold_val', # Supply clamp current
109
+ delay: 'delay_val' # Supply power-up delay
110
+ }
111
+ se_pin_options1 = {
112
+ vil: 'pin_supply * 0.25', # Input drive low
113
+ vih: 'pin_supply * 0.75', # Input drive high
114
+ vol: 'pin_supply * 0.45', # Output compare low
115
+ voh: 'pin_supply * 0.55', # Output compare high
116
+ vcl: 'vclamp_low', # Voltage clamp low
117
+ vch: 'vclamp_low', # Voltage clamp high
118
+ vt: 'pin_supply * 0.50', # Termination voltage
119
+ voutlotyp: '0', #
120
+ vouthityp: '0', #
121
+ dmode: 'Largeswing-VT' # Driver mode (possibly ATE-specific)
122
+ }
123
+ se_pin_options2 = {
124
+ vil: 'pin_supply * 0.10', # Input drive low
125
+ vih: 'pin_supply * 0.90', # Input drive high
126
+ vol: 'pin_supply * 0.50', # Output compare low
127
+ voh: 'pin_supply * 0.50', # Output compare high
128
+ vcl: 'vclamp_low', # Voltage clamp low
129
+ vch: 'vclamp_low', # Voltage clamp high
130
+ vt: 'pin_supply * 0.50', # Termination voltage
131
+ voutlotyp: '0', #
132
+ vouthityp: '0', #
133
+ dmode: 'Largeswing-VT' # Driver mode (possibly ATE-specific)
134
+ }
135
+
136
+ # Define the Level objects that you want to use later to construct edgesets/timesets
137
+ # * the interface puts these in 'level_collection'
138
+ # FORMAT: level <level category>, <level options>
139
+ pwr_level :pwr, pwr_options
140
+ pin_level_se :pin_type1, se_pin_options1
141
+ pin_level_se :pin_type2, se_pin_options2
142
+
143
+ # Assign levels to the pins for levelset sheet ':func'
144
+ # * assign all pins some default levels for starters...
145
+ # * importing levelsets will automatically populate dc_specset variables contained within the equations
146
+ # FORMAT: levelset <levelset sheet name>, pin: <pin_name>, level: <level_object>, es_sheet_pins: <array of pins>, spec_sheet: <AC specsheet name>
147
+ levelset :func, pin: :vdd1, level: level_collection.pwr_group[:pwr], spec_sheet: :func, ls_sheet_pins: level_sheet_pins
148
+ levelset :func, pin: :vdd2, level: level_collection.pwr_group[:pwr], spec_sheet: :func
149
+ levelset :func, pin: :tclk, level: level_collection.pin_group[:pin_type1], spec_sheet: :func
150
+ levelset :func, pin: :tms, level: level_collection.pin_group[:pin_type2], spec_sheet: :func
151
+ levelset :func, pin: :tdi, level: level_collection.pin_group[:pin_type1], spec_sheet: :func
152
+ levelset :func, pin: :tdo, level: level_collection.pin_group[:pin_type2], spec_sheet: :func
153
+
154
+ # * now define a few more AC specs and values
155
+ dc_specset :func, 'vdd_main_val', specset: :power_down_levels, min: { min: '0.1*V' }, nom: { typ: '0.2*V' }, max: { max: '0.3*V' }
156
+ dc_specset :func, 'vdd_alt_val', specset: :power_down_levels, min: { min: '7*V' }, nom: { typ: '8*V' }, max: { max: '9*V' }
157
+ dc_specset :func, 'current1', specset: :power_up_levels, min: { min: '1*mA' }, nom: { typ: '2*mA' }, max: { max: '3*mA' }
158
+ dc_specset :func, 'voltage1', specset: :power_up_levels, min: { min: '4*mV' }, nom: { typ: '5*mV' }, max: { max: '6*mV' }
159
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origen_testers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-08 00:00:00.000000000 Z
11
+ date: 2016-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.4.0
19
+ version: 0.7.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.4.0
26
+ version: 0.7.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: require_all
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +38,26 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: atp
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.4'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.4.1
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '0.4'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.4.1
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: origen_arm_debug
43
63
  requirement: !ruby/object:Gem::Requirement
@@ -108,30 +128,33 @@ files:
108
128
  - config/users.rb
109
129
  - config/version.rb
110
130
  - lib/commands/build.rb
131
+ - lib/commands/run.rb
111
132
  - lib/origen_testers.rb
112
133
  - lib/origen_testers/api.rb
113
134
  - lib/origen_testers/basic_test_setups.rb
114
135
  - lib/origen_testers/callback_handlers.rb
115
136
  - lib/origen_testers/command_based_tester.rb
116
- - lib/origen_testers/doc.rb
117
- - lib/origen_testers/doc/generator.rb
118
- - lib/origen_testers/doc/generator/flow.rb
119
- - lib/origen_testers/doc/generator/flow_line.rb
120
- - lib/origen_testers/doc/generator/test.rb
121
- - lib/origen_testers/doc/generator/test_group.rb
122
- - lib/origen_testers/doc/generator/tests.rb
123
- - lib/origen_testers/doc/model.rb
137
+ - lib/origen_testers/flow.rb
124
138
  - lib/origen_testers/generator.rb
125
- - lib/origen_testers/generator/flow_control_api.rb
126
139
  - lib/origen_testers/generator/identity_map.rb
127
140
  - lib/origen_testers/generator/placeholder.rb
128
141
  - lib/origen_testers/generator/test_numberer.rb
129
142
  - lib/origen_testers/igxl_based_tester.rb
130
143
  - lib/origen_testers/igxl_based_tester/base.rb
144
+ - lib/origen_testers/igxl_based_tester/base/ac_specsets.rb
131
145
  - lib/origen_testers/igxl_based_tester/base/custom_test_instance.rb
146
+ - lib/origen_testers/igxl_based_tester/base/dc_specsets.rb
147
+ - lib/origen_testers/igxl_based_tester/base/edge.rb
148
+ - lib/origen_testers/igxl_based_tester/base/edges.rb
149
+ - lib/origen_testers/igxl_based_tester/base/edgeset.rb
150
+ - lib/origen_testers/igxl_based_tester/base/edgesets.rb
132
151
  - lib/origen_testers/igxl_based_tester/base/flow.rb
133
152
  - lib/origen_testers/igxl_based_tester/base/flow_line.rb
134
153
  - lib/origen_testers/igxl_based_tester/base/generator.rb
154
+ - lib/origen_testers/igxl_based_tester/base/level_io_se.rb
155
+ - lib/origen_testers/igxl_based_tester/base/level_supply.rb
156
+ - lib/origen_testers/igxl_based_tester/base/levels.rb
157
+ - lib/origen_testers/igxl_based_tester/base/levelset.rb
135
158
  - lib/origen_testers/igxl_based_tester/base/patgroup.rb
136
159
  - lib/origen_testers/igxl_based_tester/base/patgroups.rb
137
160
  - lib/origen_testers/igxl_based_tester/base/patset.rb
@@ -140,10 +163,13 @@ files:
140
163
  - lib/origen_testers/igxl_based_tester/base/patsubr.rb
141
164
  - lib/origen_testers/igxl_based_tester/base/patsubr_pattern.rb
142
165
  - lib/origen_testers/igxl_based_tester/base/patsubrs.rb
166
+ - lib/origen_testers/igxl_based_tester/base/pinmap.rb
143
167
  - lib/origen_testers/igxl_based_tester/base/test_instance.rb
144
168
  - lib/origen_testers/igxl_based_tester/base/test_instance_group.rb
145
169
  - lib/origen_testers/igxl_based_tester/base/test_instances.rb
146
170
  - lib/origen_testers/igxl_based_tester/base/test_instances/custom_til.rb
171
+ - lib/origen_testers/igxl_based_tester/base/timeset.rb
172
+ - lib/origen_testers/igxl_based_tester/base/timesets.rb
147
173
  - lib/origen_testers/igxl_based_tester/files.rb
148
174
  - lib/origen_testers/igxl_based_tester/j750.rb
149
175
  - lib/origen_testers/igxl_based_tester/j750/custom_test_instance.rb
@@ -198,11 +224,21 @@ files:
198
224
  - lib/origen_testers/igxl_based_tester/parser/timeset.rb
199
225
  - lib/origen_testers/igxl_based_tester/parser/timesets.rb
200
226
  - lib/origen_testers/igxl_based_tester/ultraflex.rb
227
+ - lib/origen_testers/igxl_based_tester/ultraflex/ac_specsets.rb
201
228
  - lib/origen_testers/igxl_based_tester/ultraflex/ate_hardware.rb
202
229
  - lib/origen_testers/igxl_based_tester/ultraflex/custom_test_instance.rb
230
+ - lib/origen_testers/igxl_based_tester/ultraflex/dc_specsets.rb
231
+ - lib/origen_testers/igxl_based_tester/ultraflex/edge.rb
232
+ - lib/origen_testers/igxl_based_tester/ultraflex/edges.rb
233
+ - lib/origen_testers/igxl_based_tester/ultraflex/edgeset.rb
234
+ - lib/origen_testers/igxl_based_tester/ultraflex/edgesets.rb
203
235
  - lib/origen_testers/igxl_based_tester/ultraflex/flow.rb
204
236
  - lib/origen_testers/igxl_based_tester/ultraflex/flow_line.rb
205
237
  - lib/origen_testers/igxl_based_tester/ultraflex/generator.rb
238
+ - lib/origen_testers/igxl_based_tester/ultraflex/level_io_se.rb
239
+ - lib/origen_testers/igxl_based_tester/ultraflex/level_supply.rb
240
+ - lib/origen_testers/igxl_based_tester/ultraflex/levels.rb
241
+ - lib/origen_testers/igxl_based_tester/ultraflex/levelset.rb
206
242
  - lib/origen_testers/igxl_based_tester/ultraflex/patgroup.rb
207
243
  - lib/origen_testers/igxl_based_tester/ultraflex/patgroups.rb
208
244
  - lib/origen_testers/igxl_based_tester/ultraflex/patset.rb
@@ -211,15 +247,29 @@ files:
211
247
  - lib/origen_testers/igxl_based_tester/ultraflex/patsubr.rb
212
248
  - lib/origen_testers/igxl_based_tester/ultraflex/patsubr_pattern.rb
213
249
  - lib/origen_testers/igxl_based_tester/ultraflex/patsubrs.rb
250
+ - lib/origen_testers/igxl_based_tester/ultraflex/pinmap.rb
251
+ - lib/origen_testers/igxl_based_tester/ultraflex/templates/ac_specsets.txt.erb
252
+ - lib/origen_testers/igxl_based_tester/ultraflex/templates/dc_specsets.txt.erb
253
+ - lib/origen_testers/igxl_based_tester/ultraflex/templates/edgesets.txt.erb
214
254
  - lib/origen_testers/igxl_based_tester/ultraflex/templates/flow.txt.erb
215
255
  - lib/origen_testers/igxl_based_tester/ultraflex/templates/instances.txt.erb
256
+ - lib/origen_testers/igxl_based_tester/ultraflex/templates/levelset.txt.erb
216
257
  - lib/origen_testers/igxl_based_tester/ultraflex/templates/patgroups.txt.erb
217
258
  - lib/origen_testers/igxl_based_tester/ultraflex/templates/patsets.txt.erb
218
259
  - lib/origen_testers/igxl_based_tester/ultraflex/templates/patsubrs.txt.erb
260
+ - lib/origen_testers/igxl_based_tester/ultraflex/templates/pinmap.txt.erb
261
+ - lib/origen_testers/igxl_based_tester/ultraflex/templates/timesets.txt.erb
219
262
  - lib/origen_testers/igxl_based_tester/ultraflex/test_instance.rb
220
263
  - lib/origen_testers/igxl_based_tester/ultraflex/test_instance_group.rb
221
264
  - lib/origen_testers/igxl_based_tester/ultraflex/test_instances.rb
265
+ - lib/origen_testers/igxl_based_tester/ultraflex/timeset.rb
266
+ - lib/origen_testers/igxl_based_tester/ultraflex/timesets.rb
222
267
  - lib/origen_testers/interface.rb
268
+ - lib/origen_testers/no_interface.rb
269
+ - lib/origen_testers/origen_ext/application/runner.rb
270
+ - lib/origen_testers/origen_ext/generator.rb
271
+ - lib/origen_testers/origen_ext/generator/flow.rb
272
+ - lib/origen_testers/origen_ext/generator/resources.rb
223
273
  - lib/origen_testers/origen_ext/pins/pin.rb
224
274
  - lib/origen_testers/origen_ext/pins/pin_collection.rb
225
275
  - lib/origen_testers/parser.rb
@@ -234,7 +284,6 @@ files:
234
284
  - lib/origen_testers/smartest_based_tester.rb
235
285
  - lib/origen_testers/smartest_based_tester/base.rb
236
286
  - lib/origen_testers/smartest_based_tester/base/flow.rb
237
- - lib/origen_testers/smartest_based_tester/base/flow_node.rb
238
287
  - lib/origen_testers/smartest_based_tester/base/generator.rb
239
288
  - lib/origen_testers/smartest_based_tester/base/pattern_compiler.rb
240
289
  - lib/origen_testers/smartest_based_tester/base/pattern_master.rb
@@ -252,7 +301,6 @@ files:
252
301
  - lib/origen_testers/smartest_based_tester/v93k/builder/flow.rb
253
302
  - lib/origen_testers/smartest_based_tester/v93k/builder/pattern_master.rb
254
303
  - lib/origen_testers/smartest_based_tester/v93k/flow.rb
255
- - lib/origen_testers/smartest_based_tester/v93k/flow_node.rb
256
304
  - lib/origen_testers/smartest_based_tester/v93k/generator.rb
257
305
  - lib/origen_testers/smartest_based_tester/v93k/pattern_compiler.rb
258
306
  - lib/origen_testers/smartest_based_tester/v93k/pattern_master.rb
@@ -301,12 +349,14 @@ files:
301
349
  - program/_iv_resources.rb
302
350
  - program/basic_interface.rb
303
351
  - program/components/_prb2_main.rb
352
+ - program/components/_temp.rb
304
353
  - program/custom_tests.rb
305
354
  - program/flow_control.rb
306
355
  - program/prb1.rb
307
356
  - program/prb1_resources.rb
308
357
  - program/prb2.rb
309
358
  - program/test.rb
359
+ - program/uflex_resources.rb
310
360
  - templates/example.txt.erb
311
361
  - templates/j750/_vt_flow.txt.erb
312
362
  - templates/j750/_vt_instances.txt.erb
@@ -335,7 +385,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
335
385
  version: 1.8.11
336
386
  requirements: []
337
387
  rubyforge_project:
338
- rubygems_version: 2.2.2
388
+ rubygems_version: 2.6.2
339
389
  signing_key:
340
390
  specification_version: 4
341
391
  summary: This plugin provides Origen tester models to drive ATE type testers like