origen_testers 0.13.1 → 0.13.2

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 (258) hide show
  1. checksums.yaml +4 -4
  2. data/config/application.rb +151 -151
  3. data/config/boot.rb +13 -13
  4. data/config/commands.rb +85 -86
  5. data/config/users.rb +18 -18
  6. data/config/version.rb +8 -8
  7. data/lib/commands/build.rb +69 -69
  8. data/lib/commands/run.rb +48 -48
  9. data/lib/origen_testers.rb +47 -47
  10. data/lib/origen_testers/api.rb +381 -381
  11. data/lib/origen_testers/basic_test_setups.rb +105 -105
  12. data/lib/origen_testers/callback_handlers.rb +59 -59
  13. data/lib/origen_testers/command_based_tester.rb +45 -45
  14. data/lib/origen_testers/flow.rb +382 -382
  15. data/lib/origen_testers/generator.rb +283 -283
  16. data/lib/origen_testers/generator/identity_map.rb +23 -23
  17. data/lib/origen_testers/generator/placeholder.rb +11 -11
  18. data/lib/origen_testers/generator/test_numberer.rb +23 -23
  19. data/lib/origen_testers/igxl_based_tester.rb +12 -12
  20. data/lib/origen_testers/igxl_based_tester/base.rb +1100 -1099
  21. data/lib/origen_testers/igxl_based_tester/base/ac_specsets.rb +79 -79
  22. data/lib/origen_testers/igxl_based_tester/base/custom_test_instance.rb +169 -169
  23. data/lib/origen_testers/igxl_based_tester/base/dc_specsets.rb +98 -98
  24. data/lib/origen_testers/igxl_based_tester/base/edge.rb +60 -60
  25. data/lib/origen_testers/igxl_based_tester/base/edges.rb +24 -24
  26. data/lib/origen_testers/igxl_based_tester/base/edgeset.rb +39 -39
  27. data/lib/origen_testers/igxl_based_tester/base/edgesets.rb +130 -130
  28. data/lib/origen_testers/igxl_based_tester/base/flow.rb +460 -460
  29. data/lib/origen_testers/igxl_based_tester/base/flow_line.rb +276 -276
  30. data/lib/origen_testers/igxl_based_tester/base/generator.rb +607 -607
  31. data/lib/origen_testers/igxl_based_tester/base/global_specs.rb +83 -83
  32. data/lib/origen_testers/igxl_based_tester/base/job.rb +75 -75
  33. data/lib/origen_testers/igxl_based_tester/base/jobs.rb +44 -44
  34. data/lib/origen_testers/igxl_based_tester/base/level_io_se.rb +59 -59
  35. data/lib/origen_testers/igxl_based_tester/base/level_supply.rb +39 -39
  36. data/lib/origen_testers/igxl_based_tester/base/levels.rb +31 -31
  37. data/lib/origen_testers/igxl_based_tester/base/levelset.rb +110 -110
  38. data/lib/origen_testers/igxl_based_tester/base/patgroup.rb +109 -109
  39. data/lib/origen_testers/igxl_based_tester/base/patgroups.rb +38 -38
  40. data/lib/origen_testers/igxl_based_tester/base/patset.rb +68 -68
  41. data/lib/origen_testers/igxl_based_tester/base/patset_pattern.rb +56 -56
  42. data/lib/origen_testers/igxl_based_tester/base/patsets.rb +38 -38
  43. data/lib/origen_testers/igxl_based_tester/base/patsubr.rb +68 -68
  44. data/lib/origen_testers/igxl_based_tester/base/patsubr_pattern.rb +56 -56
  45. data/lib/origen_testers/igxl_based_tester/base/patsubrs.rb +38 -38
  46. data/lib/origen_testers/igxl_based_tester/base/pinmap.rb +93 -93
  47. data/lib/origen_testers/igxl_based_tester/base/references.rb +25 -25
  48. data/lib/origen_testers/igxl_based_tester/base/test_instance.rb +322 -322
  49. data/lib/origen_testers/igxl_based_tester/base/test_instance_group.rb +66 -66
  50. data/lib/origen_testers/igxl_based_tester/base/test_instances.rb +212 -212
  51. data/lib/origen_testers/igxl_based_tester/base/test_instances/custom_til.rb +37 -37
  52. data/lib/origen_testers/igxl_based_tester/base/timeset.rb +37 -37
  53. data/lib/origen_testers/igxl_based_tester/base/timesets.rb +49 -49
  54. data/lib/origen_testers/igxl_based_tester/base/timesets_basic.rb +49 -49
  55. data/lib/origen_testers/igxl_based_tester/files.rb +43 -43
  56. data/lib/origen_testers/igxl_based_tester/j750.rb +269 -269
  57. data/lib/origen_testers/igxl_based_tester/j750/custom_test_instance.rb +32 -32
  58. data/lib/origen_testers/igxl_based_tester/j750/flow.rb +10 -10
  59. data/lib/origen_testers/igxl_based_tester/j750/flow_line.rb +19 -19
  60. data/lib/origen_testers/igxl_based_tester/j750/generator.rb +19 -19
  61. data/lib/origen_testers/igxl_based_tester/j750/patgroup.rb +9 -9
  62. data/lib/origen_testers/igxl_based_tester/j750/patgroups.rb +10 -10
  63. data/lib/origen_testers/igxl_based_tester/j750/patset.rb +9 -9
  64. data/lib/origen_testers/igxl_based_tester/j750/patset_pattern.rb +18 -18
  65. data/lib/origen_testers/igxl_based_tester/j750/patsets.rb +10 -10
  66. data/lib/origen_testers/igxl_based_tester/j750/patsubr.rb +9 -9
  67. data/lib/origen_testers/igxl_based_tester/j750/patsubr_pattern.rb +18 -18
  68. data/lib/origen_testers/igxl_based_tester/j750/patsubrs.rb +10 -10
  69. data/lib/origen_testers/igxl_based_tester/j750/test_instance.rb +746 -746
  70. data/lib/origen_testers/igxl_based_tester/j750/test_instance_group.rb +9 -9
  71. data/lib/origen_testers/igxl_based_tester/j750/test_instances.rb +10 -10
  72. data/lib/origen_testers/igxl_based_tester/j750_hpt.rb +34 -34
  73. data/lib/origen_testers/igxl_based_tester/j750_hpt/custom_test_instance.rb +32 -32
  74. data/lib/origen_testers/igxl_based_tester/j750_hpt/flow.rb +9 -9
  75. data/lib/origen_testers/igxl_based_tester/j750_hpt/flow_line.rb +9 -9
  76. data/lib/origen_testers/igxl_based_tester/j750_hpt/generator.rb +19 -19
  77. data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroup.rb +9 -9
  78. data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroups.rb +9 -9
  79. data/lib/origen_testers/igxl_based_tester/j750_hpt/patset.rb +9 -9
  80. data/lib/origen_testers/igxl_based_tester/j750_hpt/patset_pattern.rb +9 -9
  81. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsets.rb +9 -9
  82. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr.rb +9 -9
  83. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr_pattern.rb +9 -9
  84. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubrs.rb +9 -9
  85. data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance.rb +599 -599
  86. data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance_group.rb +9 -9
  87. data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instances.rb +9 -9
  88. data/lib/origen_testers/igxl_based_tester/parser.rb +102 -102
  89. data/lib/origen_testers/igxl_based_tester/parser/ac_spec.rb +9 -9
  90. data/lib/origen_testers/igxl_based_tester/parser/dc_spec.rb +33 -33
  91. data/lib/origen_testers/igxl_based_tester/parser/dc_specs.rb +48 -48
  92. data/lib/origen_testers/igxl_based_tester/parser/descriptions.rb +339 -339
  93. data/lib/origen_testers/igxl_based_tester/parser/flow.rb +109 -109
  94. data/lib/origen_testers/igxl_based_tester/parser/flow_line.rb +203 -203
  95. data/lib/origen_testers/igxl_based_tester/parser/flows.rb +21 -21
  96. data/lib/origen_testers/igxl_based_tester/parser/pattern_set.rb +92 -92
  97. data/lib/origen_testers/igxl_based_tester/parser/pattern_sets.rb +31 -31
  98. data/lib/origen_testers/igxl_based_tester/parser/test_instance.rb +420 -420
  99. data/lib/origen_testers/igxl_based_tester/parser/test_instances.rb +24 -24
  100. data/lib/origen_testers/igxl_based_tester/parser/timeset.rb +13 -13
  101. data/lib/origen_testers/igxl_based_tester/ultraflex.rb +798 -798
  102. data/lib/origen_testers/igxl_based_tester/ultraflex/ac_specsets.rb +10 -10
  103. data/lib/origen_testers/igxl_based_tester/ultraflex/ate_hardware.rb +949 -949
  104. data/lib/origen_testers/igxl_based_tester/ultraflex/custom_test_instance.rb +36 -36
  105. data/lib/origen_testers/igxl_based_tester/ultraflex/dc_specsets.rb +10 -10
  106. data/lib/origen_testers/igxl_based_tester/ultraflex/edge.rb +9 -9
  107. data/lib/origen_testers/igxl_based_tester/ultraflex/edges.rb +9 -9
  108. data/lib/origen_testers/igxl_based_tester/ultraflex/edgeset.rb +9 -9
  109. data/lib/origen_testers/igxl_based_tester/ultraflex/edgesets.rb +10 -10
  110. data/lib/origen_testers/igxl_based_tester/ultraflex/flow.rb +158 -158
  111. data/lib/origen_testers/igxl_based_tester/ultraflex/flow_line.rb +19 -19
  112. data/lib/origen_testers/igxl_based_tester/ultraflex/generator.rb +19 -19
  113. data/lib/origen_testers/igxl_based_tester/ultraflex/global_specs.rb +10 -10
  114. data/lib/origen_testers/igxl_based_tester/ultraflex/job.rb +9 -9
  115. data/lib/origen_testers/igxl_based_tester/ultraflex/jobs.rb +10 -10
  116. data/lib/origen_testers/igxl_based_tester/ultraflex/level_io_se.rb +9 -9
  117. data/lib/origen_testers/igxl_based_tester/ultraflex/level_supply.rb +9 -9
  118. data/lib/origen_testers/igxl_based_tester/ultraflex/levels.rb +9 -9
  119. data/lib/origen_testers/igxl_based_tester/ultraflex/levelset.rb +10 -10
  120. data/lib/origen_testers/igxl_based_tester/ultraflex/patgroup.rb +9 -9
  121. data/lib/origen_testers/igxl_based_tester/ultraflex/patgroups.rb +10 -10
  122. data/lib/origen_testers/igxl_based_tester/ultraflex/patset.rb +9 -9
  123. data/lib/origen_testers/igxl_based_tester/ultraflex/patset_pattern.rb +18 -18
  124. data/lib/origen_testers/igxl_based_tester/ultraflex/patsets.rb +10 -10
  125. data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr.rb +9 -9
  126. data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr_pattern.rb +18 -18
  127. data/lib/origen_testers/igxl_based_tester/ultraflex/patsubrs.rb +10 -10
  128. data/lib/origen_testers/igxl_based_tester/ultraflex/pinmap.rb +10 -10
  129. data/lib/origen_testers/igxl_based_tester/ultraflex/references.rb +10 -10
  130. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/ac_specsets.txt.erb +0 -0
  131. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/dc_specsets.txt.erb +0 -0
  132. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/edgesets.txt.erb +0 -0
  133. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/global_specs.txt.erb +0 -0
  134. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/jobs.txt.erb +0 -0
  135. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/levelset.txt.erb +0 -0
  136. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/pinmap.txt.erb +0 -0
  137. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/references.txt.erb +0 -0
  138. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/timesets.txt.erb +0 -0
  139. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/timesets_basic.txt.erb +0 -0
  140. data/lib/origen_testers/igxl_based_tester/ultraflex/test_instance.rb +315 -315
  141. data/lib/origen_testers/igxl_based_tester/ultraflex/test_instance_group.rb +9 -9
  142. data/lib/origen_testers/igxl_based_tester/ultraflex/test_instances.rb +10 -10
  143. data/lib/origen_testers/igxl_based_tester/ultraflex/timeset.rb +9 -9
  144. data/lib/origen_testers/igxl_based_tester/ultraflex/timesets.rb +10 -10
  145. data/lib/origen_testers/igxl_based_tester/ultraflex/timesets_basic.rb +10 -10
  146. data/lib/origen_testers/interface.rb +345 -324
  147. data/lib/origen_testers/memory_style.rb +77 -77
  148. data/lib/origen_testers/no_interface.rb +7 -7
  149. data/lib/origen_testers/origen_ext/application/runner.rb +25 -25
  150. data/lib/origen_testers/origen_ext/generator.rb +54 -54
  151. data/lib/origen_testers/origen_ext/generator/flow.rb +91 -77
  152. data/lib/origen_testers/origen_ext/generator/resources.rb +21 -21
  153. data/lib/origen_testers/origen_ext/pins/pin.rb +78 -78
  154. data/lib/origen_testers/origen_ext/pins/pin_collection.rb +84 -84
  155. data/lib/origen_testers/parser.rb +22 -22
  156. data/lib/origen_testers/parser/description_lookup.rb +62 -62
  157. data/lib/origen_testers/parser/searchable_array.rb +30 -30
  158. data/lib/origen_testers/parser/searchable_hash.rb +30 -30
  159. data/lib/origen_testers/pattern_compilers.rb +116 -116
  160. data/lib/origen_testers/pattern_compilers/assembler.rb +88 -88
  161. data/lib/origen_testers/pattern_compilers/job.rb +96 -96
  162. data/lib/origen_testers/pattern_compilers/ultraflex_pattern_compiler.rb +599 -599
  163. data/lib/origen_testers/program_generators.rb +62 -62
  164. data/lib/origen_testers/smartest_based_tester.rb +8 -8
  165. data/lib/origen_testers/smartest_based_tester/base.rb +576 -567
  166. data/lib/origen_testers/smartest_based_tester/base/flow.rb +296 -291
  167. data/lib/origen_testers/smartest_based_tester/base/generator.rb +207 -194
  168. data/lib/origen_testers/smartest_based_tester/base/pattern_compiler.rb +32 -32
  169. data/lib/origen_testers/smartest_based_tester/base/pattern_master.rb +69 -69
  170. data/lib/origen_testers/smartest_based_tester/base/processors.rb +16 -16
  171. data/lib/origen_testers/smartest_based_tester/base/processors/adjacent_if_combiner.rb +106 -106
  172. data/lib/origen_testers/smartest_based_tester/base/processors/continue_implementer.rb +39 -39
  173. data/lib/origen_testers/smartest_based_tester/base/processors/empty_branch_cleaner.rb +21 -21
  174. data/lib/origen_testers/smartest_based_tester/base/processors/extract_run_flag_table.rb +33 -33
  175. data/lib/origen_testers/smartest_based_tester/base/processors/extract_set_variables.rb +22 -22
  176. data/lib/origen_testers/smartest_based_tester/base/processors/flag_optimizer.rb +188 -188
  177. data/lib/origen_testers/smartest_based_tester/base/processors/if_ran_cleaner.rb +34 -34
  178. data/lib/origen_testers/smartest_based_tester/base/test_method.rb +178 -164
  179. data/lib/origen_testers/smartest_based_tester/base/test_methods.rb +77 -73
  180. data/lib/origen_testers/smartest_based_tester/base/test_methods/ac_tml.rb +33 -33
  181. data/lib/origen_testers/smartest_based_tester/base/test_methods/base_tml.rb +38 -38
  182. data/lib/origen_testers/smartest_based_tester/base/test_methods/custom_tml.rb +19 -19
  183. data/lib/origen_testers/smartest_based_tester/base/test_methods/dc_tml.rb +147 -147
  184. data/lib/origen_testers/smartest_based_tester/base/test_methods/limits.rb +65 -65
  185. data/lib/origen_testers/smartest_based_tester/base/test_suite.rb +208 -193
  186. data/lib/origen_testers/smartest_based_tester/base/test_suites.rb +58 -54
  187. data/lib/origen_testers/smartest_based_tester/base/variables_file.rb +38 -38
  188. data/lib/origen_testers/smartest_based_tester/v93k.rb +8 -8
  189. data/lib/origen_testers/smartest_based_tester/v93k/builder.rb +89 -89
  190. data/lib/origen_testers/smartest_based_tester/v93k/builder/flow.rb +181 -181
  191. data/lib/origen_testers/smartest_based_tester/v93k/builder/pattern_master.rb +54 -54
  192. data/lib/origen_testers/smartest_based_tester/v93k/flow.rb +10 -10
  193. data/lib/origen_testers/smartest_based_tester/v93k/generator.rb +19 -19
  194. data/lib/origen_testers/smartest_based_tester/v93k/pattern_compiler.rb +10 -10
  195. data/lib/origen_testers/smartest_based_tester/v93k/pattern_master.rb +10 -10
  196. data/lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb +17 -17
  197. data/lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb +13 -13
  198. data/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb +236 -214
  199. data/lib/origen_testers/smartest_based_tester/v93k/templates/vars.tf.erb +48 -48
  200. data/lib/origen_testers/smartest_based_tester/v93k/test_method.rb +9 -9
  201. data/lib/origen_testers/smartest_based_tester/v93k/test_methods.rb +9 -9
  202. data/lib/origen_testers/smartest_based_tester/v93k/test_suite.rb +9 -9
  203. data/lib/origen_testers/smartest_based_tester/v93k/test_suites.rb +9 -9
  204. data/lib/origen_testers/smartest_based_tester/v93k/variables_file.rb +10 -10
  205. data/lib/origen_testers/test/basic_interface.rb +17 -17
  206. data/lib/origen_testers/test/block.rb +21 -21
  207. data/lib/origen_testers/test/custom_test_interface.rb +111 -111
  208. data/lib/origen_testers/test/dut.rb +295 -295
  209. data/lib/origen_testers/test/dut2.rb +76 -76
  210. data/lib/origen_testers/test/dut3.rb +244 -244
  211. data/lib/origen_testers/test/interface.rb +503 -503
  212. data/lib/origen_testers/test/nvm.rb +94 -94
  213. data/lib/origen_testers/timing.rb +368 -368
  214. data/lib/origen_testers/vector.rb +207 -207
  215. data/lib/origen_testers/vector_based_tester.rb +41 -41
  216. data/lib/origen_testers/vector_generator.rb +655 -655
  217. data/lib/origen_testers/vector_pipeline.rb +302 -302
  218. data/pattern/bitmap.rb +7 -7
  219. data/pattern/dc_instr.rb +7 -7
  220. data/pattern/delay.rb +7 -7
  221. data/pattern/freq_counter.rb +6 -6
  222. data/pattern/mem_test.rb +8 -8
  223. data/pattern/multi_vector.rb +122 -122
  224. data/pattern/multi_vector_plus1.rb +125 -125
  225. data/pattern/nvm/j750/add_late_pins.rb +3 -3
  226. data/pattern/nvm/j750/iterator_postfix_test_x_bx.rb +8 -8
  227. data/pattern/nvm/j750/iterator_test_x_bx.rb +8 -8
  228. data/pattern/nvm/j750/j750_halt.rb +159 -159
  229. data/pattern/nvm/j750/j750_workout.rb +209 -209
  230. data/pattern/nvm/j750/timing.rb +73 -73
  231. data/pattern/read_write_reg.rb +61 -61
  232. data/pattern/reset.rb +4 -4
  233. data/pattern/subroutines.rb +69 -69
  234. data/pattern/tester_overlay.rb +61 -52
  235. data/pattern/tester_store.rb +28 -28
  236. data/program/_additional_erase.rb +7 -7
  237. data/program/_efa_resources.rb +7 -7
  238. data/program/_erase.rb +25 -25
  239. data/program/_erase_vfy.rb +5 -5
  240. data/program/_iv_resources.rb +10 -10
  241. data/program/basic_interface.rb +5 -5
  242. data/program/components/_prb1_main.rb +222 -222
  243. data/program/components/_temp.rb +6 -6
  244. data/program/custom_tests.rb +10 -10
  245. data/program/flow_control.rb +422 -422
  246. data/program/prb1.rb +11 -11
  247. data/program/prb1_resources.rb +28 -28
  248. data/program/prb2.rb +27 -27
  249. data/program/test.rb +29 -29
  250. data/program/uflex_resources.rb +199 -199
  251. data/templates/example.txt.erb +53 -53
  252. data/templates/j750/program_sheet.txt.erb +9 -9
  253. data/templates/manifest/v93k.yaml.erb +22 -22
  254. data/templates/web/index.md.erb +51 -51
  255. data/templates/web/layouts/_basic.html.erb +15 -15
  256. data/templates/web/partials/_navbar.html.erb +22 -22
  257. data/templates/web/release_notes.md.erb +5 -5
  258. metadata +2 -2
@@ -1,33 +1,33 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class Base
4
- class TestMethods
5
- class AcTml < BaseTml
6
- TEST_METHODS = {
7
- frequency_by_digital_capture: {
8
- class_name: 'Frequency_byDigitalCapture',
9
- vector_variable_name: [:string, ''],
10
- algorithm: [:string, 'FFT', %w(FFT LinearFit)],
11
- sample_period: [:time, 0],
12
- target_frequency: [:frequency, 0],
13
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)],
14
- test_name: [:string, 'passFrequency_MHz']
15
- },
16
- functional_test: {
17
- test_name: [:string, 'Functional'],
18
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
19
- }
20
- }
21
-
22
- def ac_test
23
- self
24
- end
25
-
26
- def klass
27
- 'ac_tml.AcTest'
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class Base
4
+ class TestMethods
5
+ class AcTml < BaseTml
6
+ TEST_METHODS = {
7
+ frequency_by_digital_capture: {
8
+ class_name: 'Frequency_byDigitalCapture',
9
+ vector_variable_name: [:string, ''],
10
+ algorithm: [:string, 'FFT', %w(FFT LinearFit)],
11
+ sample_period: [:time, 0],
12
+ target_frequency: [:frequency, 0],
13
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)],
14
+ test_name: [:string, 'passFrequency_MHz']
15
+ },
16
+ functional_test: {
17
+ test_name: [:string, 'Functional'],
18
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
19
+ }
20
+ }
21
+
22
+ def ac_test
23
+ self
24
+ end
25
+
26
+ def klass
27
+ 'ac_tml.AcTest'
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,38 +1,38 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class Base
4
- class TestMethods
5
- # Base class of all test method libraries
6
- class BaseTml
7
- # Returns the test_methods object for the current flow
8
- attr_reader :test_methods
9
-
10
- def initialize(test_methods)
11
- @test_methods = test_methods
12
- end
13
-
14
- def method_missing(method, *args, &block)
15
- if definitions[method]
16
- m = platform::TestMethod.new methods: definitions[method].dup,
17
- attrs: (args.first || {}),
18
- type: method,
19
- library: self
20
- test_methods.add(m)
21
- m
22
- else
23
- super
24
- end
25
- end
26
-
27
- def platform
28
- Origen.interface.platform
29
- end
30
-
31
- def definitions
32
- @definitions || self.class::TEST_METHODS
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class Base
4
+ class TestMethods
5
+ # Base class of all test method libraries
6
+ class BaseTml
7
+ # Returns the test_methods object for the current flow
8
+ attr_reader :test_methods
9
+
10
+ def initialize(test_methods)
11
+ @test_methods = test_methods
12
+ end
13
+
14
+ def method_missing(method, *args, &block)
15
+ if definitions[method]
16
+ m = platform::TestMethod.new methods: definitions[method].dup,
17
+ attrs: (args.first || {}),
18
+ type: method,
19
+ library: self
20
+ test_methods.add(m)
21
+ m
22
+ else
23
+ super
24
+ end
25
+ end
26
+
27
+ def platform
28
+ Origen.interface.platform
29
+ end
30
+
31
+ def definitions
32
+ @definitions || self.class::TEST_METHODS
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,19 +1,19 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class Base
4
- class TestMethods
5
- class CustomTml < BaseTml
6
- def initialize(test_methods, definitions)
7
- @definitions = definitions
8
- @klass = definitions[:class_name]
9
- super test_methods
10
- end
11
-
12
- def klass
13
- @klass || ''
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class Base
4
+ class TestMethods
5
+ class CustomTml < BaseTml
6
+ def initialize(test_methods, definitions)
7
+ @definitions = definitions
8
+ @klass = definitions[:class_name]
9
+ super test_methods
10
+ end
11
+
12
+ def klass
13
+ @klass || ''
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,147 +1,147 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class Base
4
- class TestMethods
5
- class DcTml < BaseTml
6
- TEST_METHODS = {
7
- continuity: {
8
- pinlist: [:string, '@'],
9
- test_current: [:current, 10.uA],
10
- settling_time: [:time, 1.ms],
11
- measurement_mode: [:string, 'PPMUpar', %w(PPMUpar ProgLoad)],
12
- polarity: [:string, 'SPOL', ['SPOL' 'BPOL']],
13
- precharge_to_zero_vol: [:string, 'ON', %w(ON OFF)],
14
- test_name: [:string, 'passVolt_mv'],
15
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
16
- },
17
- dps_connectivity: {
18
- dps_pins: [:string, '@'],
19
- test_name: [:string, 'DPS_ForceSense'],
20
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
21
- },
22
- dps_status: {
23
- dps_pins: [:string, '@'],
24
- constant_current: [:string, 'OFF', %w(ON OFF)],
25
- unregulated: [:string, 'OFF', %w(ON OFF)],
26
- over_voltage: [:string, 'OFF', %w(ON OFF)],
27
- over_power_temp: [:string, 'OFF', %w(ON OFF)],
28
- test_name: [:string, 'DPS_Status'],
29
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
30
- },
31
- dvm: {
32
- class_name: 'DVM',
33
- pinlist: [:string, '@'],
34
- settling_time: [:time, 0],
35
- measure_mode: [:string, 'PPMUpar', %w(PPMUpar ProgLoad)],
36
- test_name: [:string, 'passVoltageLimit_mV'],
37
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
38
- },
39
- general_pmu: {
40
- class_name: 'GeneralPMU',
41
- pinlist: [:string, '@'],
42
- force_mode: [:string, 'VOLT', %w(VOLT CURR)],
43
- force_value: [:force_mode, 3800.mV],
44
- spmu_clamp: [:force_modeb, 0],
45
- precharge: [:string, 'OFF', %w(ON OFF)],
46
- precharge_voltage: [:voltage, 0],
47
- settling_time: [:time, 0],
48
- tester_state: [:string, 'CONNECTED', %w(CONNECTED DISCONNECTED UNCHANGED)],
49
- termination: [:string, 'OFF', %w(ON OFF)],
50
- measure_mode: [:string, 'PPMUpar', %w(PPMUpar PPMUser SPMUser)],
51
- relay_switch_mode: [:string, 'DEFAULT(BBM)', ['DEFAULT(BBM)', 'BBM', 'MBB', 'PARALLEL']],
52
- ppmu_clamp_low: [:voltage, 0],
53
- ppmu_clamp_high: [:voltage, 0],
54
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)],
55
- test_name: [:string, 'passLimit_uA_mV']
56
- },
57
- high_z: {
58
- pinlist: [:string, '@'],
59
- force_voltage: [:voltage, 2500.mV],
60
- settling_time: [:time, 0],
61
- relay_switch_mode: [:string, 'DEFAULT(BBM)', ['DEFAULT(BBM)', 'BBM', 'MBB', 'PARALLEL']],
62
- test_name: [:string, 'passCurrent_uA'],
63
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
64
- },
65
- leakage: {
66
- pinlist: [:string, '@'],
67
- measure: [:string, 'BOTH', %w(BOTH LOW HIGH)],
68
- force_voltage_low: [:voltage, 400.mV],
69
- force_voltage_high: [:voltage, 3800.mV],
70
- spmu_clamp_current_low: [:current, 0],
71
- spmu_clamp_current_high: [:current, 0],
72
- ppmu_pre_charge: [:string, 'ON', %w(ON OFF)],
73
- precharge_voltage_low: [:voltage, 0],
74
- precharge_voltage_high: [:voltage, 0],
75
- settling_time_low: [:time, 0],
76
- settling_time_high: [:time, 0],
77
- pre_function: [:string, 'NO', %w(NO ALL ToStopVEC ToStopCYC)],
78
- control_test_num_off_functional: [:string, 'NO', %w(NO ALL ToStopVEC ToStopCYC)],
79
- stop_cyc_vec_low: [:integer, 0],
80
- stop_cyc_vec_high: [:integer, 0],
81
- measure_mode: [:string, 'PPMUpar', %w(PPMUpar PPMUser SPMUser)],
82
- relay_switch_mode: [:string, 'DEFAULT(BBM)', ['DEFAULT(BBM)', 'BBM', 'MBB', 'PARALLEL']],
83
- test_name: [:string, '(passCurrentLow_uA,passCurrentHigh_uA)'],
84
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
85
- },
86
- operating_current: {
87
- dps_pins: [:string, '@'],
88
- samples: [:integer, 4],
89
- delay_time: [:time, 0],
90
- termination: [:string, 'OFF', %w(ON OFF)],
91
- test_name: [:string, 'passCurrLimit_uA'],
92
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
93
- },
94
- output_dc: {
95
- class_name: 'OutputDC',
96
- pinlist: [:string, ''],
97
- mode: [:string, 'PROGRAMLOAD', %w(PROGRAMLOAD, PPMU SPMU PPMUTERM SPMUTERM)],
98
- measure_level: [:string, 'BOTH', %(BOTH LOW HIGH)],
99
- force_current_low: [:current, 0],
100
- force_current_high: [:current, 0],
101
- max_pass_low: [:voltage, 0],
102
- min_pass_low: [:voltage, 0],
103
- max_pass_high: [:voltage, 0],
104
- min_pass_high: [:voltage, 0],
105
- settling_time_low: [:time, 0],
106
- settling_time_high: [:time, 0],
107
- spmu_clamp_voltage_low: [:voltage, 0],
108
- spmu_clamp_voltage_high: [:voltage, 0],
109
- vector_range: [:string, ''],
110
- test_name: [:string, '(OutputDC_LowLevel[V],OutputDC_HighLevel[V])'],
111
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
112
- },
113
- production_iddq: {
114
- dps_pins: [:string, 'Vee'],
115
- disconnect_pins: [:string, ''],
116
- settling_time: [:time, 0],
117
- stop_mode: [:string, 'ToStopVEC', %w(ToStopVEC ToStopCYC)],
118
- str_stop_vec_cyc_num: [:string, ''],
119
- samples: [:integer, 16],
120
- check_functional: [:string, 'ON', %w(ON OFF)],
121
- control_test_num_of_functional: [:string, 'OFF', %w(ON OFF)],
122
- ganged_mode: [:string, 'OFF', %w(ON OFF)],
123
- test_name: [:string, 'passCurrLimit_uA'],
124
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
125
- },
126
- standby_current: {
127
- dps_pins: [:string, '@'],
128
- samples: [:integer, 16],
129
- termination: [:string, 'OFF', %w(ON OFF)],
130
- settling_time: [:time, 0],
131
- test_name: [:string, 'passCurrLimit_uA'],
132
- output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
133
- }
134
- }
135
-
136
- def dc_test
137
- self
138
- end
139
-
140
- def klass
141
- 'dc_tml.DcTest'
142
- end
143
- end
144
- end
145
- end
146
- end
147
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class Base
4
+ class TestMethods
5
+ class DcTml < BaseTml
6
+ TEST_METHODS = {
7
+ continuity: {
8
+ pinlist: [:string, '@'],
9
+ test_current: [:current, 10.uA],
10
+ settling_time: [:time, 1.ms],
11
+ measurement_mode: [:string, 'PPMUpar', %w(PPMUpar ProgLoad)],
12
+ polarity: [:string, 'SPOL', ['SPOL' 'BPOL']],
13
+ precharge_to_zero_vol: [:string, 'ON', %w(ON OFF)],
14
+ test_name: [:string, 'passVolt_mv'],
15
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
16
+ },
17
+ dps_connectivity: {
18
+ dps_pins: [:string, '@'],
19
+ test_name: [:string, 'DPS_ForceSense'],
20
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
21
+ },
22
+ dps_status: {
23
+ dps_pins: [:string, '@'],
24
+ constant_current: [:string, 'OFF', %w(ON OFF)],
25
+ unregulated: [:string, 'OFF', %w(ON OFF)],
26
+ over_voltage: [:string, 'OFF', %w(ON OFF)],
27
+ over_power_temp: [:string, 'OFF', %w(ON OFF)],
28
+ test_name: [:string, 'DPS_Status'],
29
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
30
+ },
31
+ dvm: {
32
+ class_name: 'DVM',
33
+ pinlist: [:string, '@'],
34
+ settling_time: [:time, 0],
35
+ measure_mode: [:string, 'PPMUpar', %w(PPMUpar ProgLoad)],
36
+ test_name: [:string, 'passVoltageLimit_mV'],
37
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
38
+ },
39
+ general_pmu: {
40
+ class_name: 'GeneralPMU',
41
+ pinlist: [:string, '@'],
42
+ force_mode: [:string, 'VOLT', %w(VOLT CURR)],
43
+ force_value: [:force_mode, 3800.mV],
44
+ spmu_clamp: [:force_modeb, 0],
45
+ precharge: [:string, 'OFF', %w(ON OFF)],
46
+ precharge_voltage: [:voltage, 0],
47
+ settling_time: [:time, 0],
48
+ tester_state: [:string, 'CONNECTED', %w(CONNECTED DISCONNECTED UNCHANGED)],
49
+ termination: [:string, 'OFF', %w(ON OFF)],
50
+ measure_mode: [:string, 'PPMUpar', %w(PPMUpar PPMUser SPMUser)],
51
+ relay_switch_mode: [:string, 'DEFAULT(BBM)', ['DEFAULT(BBM)', 'BBM', 'MBB', 'PARALLEL']],
52
+ ppmu_clamp_low: [:voltage, 0],
53
+ ppmu_clamp_high: [:voltage, 0],
54
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)],
55
+ test_name: [:string, 'passLimit_uA_mV']
56
+ },
57
+ high_z: {
58
+ pinlist: [:string, '@'],
59
+ force_voltage: [:voltage, 2500.mV],
60
+ settling_time: [:time, 0],
61
+ relay_switch_mode: [:string, 'DEFAULT(BBM)', ['DEFAULT(BBM)', 'BBM', 'MBB', 'PARALLEL']],
62
+ test_name: [:string, 'passCurrent_uA'],
63
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
64
+ },
65
+ leakage: {
66
+ pinlist: [:string, '@'],
67
+ measure: [:string, 'BOTH', %w(BOTH LOW HIGH)],
68
+ force_voltage_low: [:voltage, 400.mV],
69
+ force_voltage_high: [:voltage, 3800.mV],
70
+ spmu_clamp_current_low: [:current, 0],
71
+ spmu_clamp_current_high: [:current, 0],
72
+ ppmu_pre_charge: [:string, 'ON', %w(ON OFF)],
73
+ precharge_voltage_low: [:voltage, 0],
74
+ precharge_voltage_high: [:voltage, 0],
75
+ settling_time_low: [:time, 0],
76
+ settling_time_high: [:time, 0],
77
+ pre_function: [:string, 'NO', %w(NO ALL ToStopVEC ToStopCYC)],
78
+ control_test_num_off_functional: [:string, 'NO', %w(NO ALL ToStopVEC ToStopCYC)],
79
+ stop_cyc_vec_low: [:integer, 0],
80
+ stop_cyc_vec_high: [:integer, 0],
81
+ measure_mode: [:string, 'PPMUpar', %w(PPMUpar PPMUser SPMUser)],
82
+ relay_switch_mode: [:string, 'DEFAULT(BBM)', ['DEFAULT(BBM)', 'BBM', 'MBB', 'PARALLEL']],
83
+ test_name: [:string, '(passCurrentLow_uA,passCurrentHigh_uA)'],
84
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
85
+ },
86
+ operating_current: {
87
+ dps_pins: [:string, '@'],
88
+ samples: [:integer, 4],
89
+ delay_time: [:time, 0],
90
+ termination: [:string, 'OFF', %w(ON OFF)],
91
+ test_name: [:string, 'passCurrLimit_uA'],
92
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
93
+ },
94
+ output_dc: {
95
+ class_name: 'OutputDC',
96
+ pinlist: [:string, ''],
97
+ mode: [:string, 'PROGRAMLOAD', %w(PROGRAMLOAD, PPMU SPMU PPMUTERM SPMUTERM)],
98
+ measure_level: [:string, 'BOTH', %(BOTH LOW HIGH)],
99
+ force_current_low: [:current, 0],
100
+ force_current_high: [:current, 0],
101
+ max_pass_low: [:voltage, 0],
102
+ min_pass_low: [:voltage, 0],
103
+ max_pass_high: [:voltage, 0],
104
+ min_pass_high: [:voltage, 0],
105
+ settling_time_low: [:time, 0],
106
+ settling_time_high: [:time, 0],
107
+ spmu_clamp_voltage_low: [:voltage, 0],
108
+ spmu_clamp_voltage_high: [:voltage, 0],
109
+ vector_range: [:string, ''],
110
+ test_name: [:string, '(OutputDC_LowLevel[V],OutputDC_HighLevel[V])'],
111
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
112
+ },
113
+ production_iddq: {
114
+ dps_pins: [:string, 'Vee'],
115
+ disconnect_pins: [:string, ''],
116
+ settling_time: [:time, 0],
117
+ stop_mode: [:string, 'ToStopVEC', %w(ToStopVEC ToStopCYC)],
118
+ str_stop_vec_cyc_num: [:string, ''],
119
+ samples: [:integer, 16],
120
+ check_functional: [:string, 'ON', %w(ON OFF)],
121
+ control_test_num_of_functional: [:string, 'OFF', %w(ON OFF)],
122
+ ganged_mode: [:string, 'OFF', %w(ON OFF)],
123
+ test_name: [:string, 'passCurrLimit_uA'],
124
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
125
+ },
126
+ standby_current: {
127
+ dps_pins: [:string, '@'],
128
+ samples: [:integer, 16],
129
+ termination: [:string, 'OFF', %w(ON OFF)],
130
+ settling_time: [:time, 0],
131
+ test_name: [:string, 'passCurrLimit_uA'],
132
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
133
+ }
134
+ }
135
+
136
+ def dc_test
137
+ self
138
+ end
139
+
140
+ def klass
141
+ 'dc_tml.DcTest'
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end