origen_testers 0.5.7 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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