origen_testers 0.13.1 → 0.13.2

Sign up to get free protection for your applications and to get access to all the features.
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,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750
4
- require 'origen_testers/igxl_based_tester/base/test_instance_group'
5
- class TestInstanceGroup < Base::TestInstanceGroup
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750
4
+ require 'origen_testers/igxl_based_tester/base/test_instance_group'
5
+ class TestInstanceGroup < Base::TestInstanceGroup
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,10 +1,10 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750
4
- require 'origen_testers/igxl_based_tester/base/test_instances'
5
- class TestInstances < Base::TestInstances
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/j750/templates/instances.txt.erb"
7
- end
8
- end
9
- end
10
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750
4
+ require 'origen_testers/igxl_based_tester/base/test_instances'
5
+ class TestInstances < Base::TestInstances
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/j750/templates/instances.txt.erb"
7
+ end
8
+ end
9
+ end
10
+ end
@@ -1,34 +1,34 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- # Tester model to generate .atp patterns for the Teradyne J750 in HPT mode
4
- #
5
- # == Basic Usage
6
- # $tester = J750_HPT.new
7
- # $tester.cycle # Generate a vector
8
- #
9
- # Many more methods exist to generate J750 specific micro-code, see J750
10
- # parent class definition for details.
11
- #
12
- # *Also note that this class inherits from the base Tester class and so all methods
13
- # described there are also available*
14
- class J750_HPT < J750
15
- require 'origen_testers/igxl_based_tester/j750_hpt/generator.rb'
16
-
17
- def initialize
18
- super
19
- @@hpt_mode = true
20
- @drive_hi_state = '.1'
21
- @drive_lo_state = '.0'
22
- @expect_hi_state = '.H'
23
- @expect_lo_state = '.L'
24
- @dont_care_state = '.X'
25
- @overlay_state = '.V'
26
- @drive_very_hi_state = '.2'
27
- @drive_mem_state = '.D'
28
- @expect_mem_state = '.E'
29
- @name = 'j750_hpt'
30
- end
31
- end
32
- end
33
- J750_HPT = IGXLBasedTester::J750_HPT
34
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ # Tester model to generate .atp patterns for the Teradyne J750 in HPT mode
4
+ #
5
+ # == Basic Usage
6
+ # $tester = J750_HPT.new
7
+ # $tester.cycle # Generate a vector
8
+ #
9
+ # Many more methods exist to generate J750 specific micro-code, see J750
10
+ # parent class definition for details.
11
+ #
12
+ # *Also note that this class inherits from the base Tester class and so all methods
13
+ # described there are also available*
14
+ class J750_HPT < J750
15
+ require 'origen_testers/igxl_based_tester/j750_hpt/generator.rb'
16
+
17
+ def initialize
18
+ super
19
+ @@hpt_mode = true
20
+ @drive_hi_state = '.1'
21
+ @drive_lo_state = '.0'
22
+ @expect_hi_state = '.H'
23
+ @expect_lo_state = '.L'
24
+ @dont_care_state = '.X'
25
+ @overlay_state = '.V'
26
+ @drive_very_hi_state = '.2'
27
+ @drive_mem_state = '.D'
28
+ @expect_mem_state = '.E'
29
+ @name = 'j750_hpt'
30
+ end
31
+ end
32
+ end
33
+ J750_HPT = IGXLBasedTester::J750_HPT
34
+ end
@@ -1,32 +1,32 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/base/custom_test_instance'
5
- class CustomTestInstance < Base::CustomTestInstance
6
- # Attributes for each test instance line, first few are named directly
7
- TEST_INSTANCE_ATTRS = %w(
8
- test_name proc_type proc_name proc_called_as dc_category
9
- dc_selector ac_category ac_selector
10
- time_sets edge_sets pin_levels overlay
11
- )
12
-
13
- # Attributes for additional test instance arguments beyond those described above
14
- TEST_INSTANCE_EXTRA_ARGS = 80
15
-
16
- TEST_INSTANCE_DEFAULTS = {
17
- proc_type: 'Other',
18
- proc_called_as: 'VB DLL'
19
- }
20
-
21
- TEST_INSTANCE_ALIASES = {
22
- name: :test_name,
23
- time_set: :time_sets,
24
- timeset: :time_sets,
25
- timesets: :time_sets
26
- }
27
-
28
- define
29
- end
30
- end
31
- end
32
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/base/custom_test_instance'
5
+ class CustomTestInstance < Base::CustomTestInstance
6
+ # Attributes for each test instance line, first few are named directly
7
+ TEST_INSTANCE_ATTRS = %w(
8
+ test_name proc_type proc_name proc_called_as dc_category
9
+ dc_selector ac_category ac_selector
10
+ time_sets edge_sets pin_levels overlay
11
+ )
12
+
13
+ # Attributes for additional test instance arguments beyond those described above
14
+ TEST_INSTANCE_EXTRA_ARGS = 80
15
+
16
+ TEST_INSTANCE_DEFAULTS = {
17
+ proc_type: 'Other',
18
+ proc_called_as: 'VB DLL'
19
+ }
20
+
21
+ TEST_INSTANCE_ALIASES = {
22
+ name: :test_name,
23
+ time_set: :time_sets,
24
+ timeset: :time_sets,
25
+ timesets: :time_sets
26
+ }
27
+
28
+ define
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/flow'
5
- class Flow < J750::Flow
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/flow'
5
+ class Flow < J750::Flow
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/flow_line'
5
- class FlowLine < J750::FlowLine
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/flow_line'
5
+ class FlowLine < J750::FlowLine
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,19 +1,19 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- # Include this module in an interface class to make it a J750 HPT interface and to give
5
- # access to the J750 HPT program generator API
6
- module Generator
7
- extend ActiveSupport::Concern
8
-
9
- require_all "#{Origen.root!}/lib/origen_testers/igxl_based_tester/j750_hpt"
10
- require 'origen_testers/igxl_based_tester/base/generator'
11
-
12
- included do
13
- include Base::Generator
14
- PLATFORM = J750_HPT
15
- end
16
- end
17
- end
18
- end
19
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ # Include this module in an interface class to make it a J750 HPT interface and to give
5
+ # access to the J750 HPT program generator API
6
+ module Generator
7
+ extend ActiveSupport::Concern
8
+
9
+ require_all "#{Origen.root!}/lib/origen_testers/igxl_based_tester/j750_hpt"
10
+ require 'origen_testers/igxl_based_tester/base/generator'
11
+
12
+ included do
13
+ include Base::Generator
14
+ PLATFORM = J750_HPT
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patgroup'
5
- class Patgroup < J750::Patgroup
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patgroup'
5
+ class Patgroup < J750::Patgroup
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patgroups'
5
- class Patgroups < J750::Patgroups
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patgroups'
5
+ class Patgroups < J750::Patgroups
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patset'
5
- class Patset < J750::Patset
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patset'
5
+ class Patset < J750::Patset
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patset_pattern'
5
- class PatsetPattern < J750::PatsetPattern
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patset_pattern'
5
+ class PatsetPattern < J750::PatsetPattern
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patsets'
5
- class Patsets < J750::Patsets
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patsets'
5
+ class Patsets < J750::Patsets
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patsubr'
5
- class Patsubr < J750::Patsubr
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patsubr'
5
+ class Patsubr < J750::Patsubr
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patsubr_pattern'
5
- class PatsubrPattern < J750::PatsubrPattern
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patsubr_pattern'
5
+ class PatsubrPattern < J750::PatsubrPattern
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/j750/patsubrs'
5
- class Patsubrs < J750::Patsubrs
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/j750/patsubrs'
5
+ class Patsubrs < J750::Patsubrs
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,599 +1,599 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class J750_HPT
4
- require 'origen_testers/igxl_based_tester/base/test_instance'
5
- class TestInstance < Base::TestInstance
6
- # Attributes for each test instance line, first few are named directly
7
- TEST_INSTANCE_ATTRS = %w(
8
- test_name proc_type proc_name proc_called_as dc_category
9
- dc_selector ac_category ac_selector
10
- time_sets edge_sets pin_levels overlay
11
- )
12
-
13
- # Attributes for additional test instance arguments beyond those described above
14
- TEST_INSTANCE_EXTRA_ARGS = 80
15
-
16
- TEST_INSTANCE_ALIASES = {
17
- name: :test_name,
18
- time_set: :time_sets,
19
- timeset: :time_sets,
20
- timesets: :time_sets,
21
-
22
- other: {
23
- },
24
-
25
- empty: {
26
- start_func: :arg0,
27
- start_of_body_f: :arg0,
28
- pre_pat_func: :arg1,
29
- pre_pat_f: :arg1,
30
- pre_test_func: :arg2,
31
- pre_test_f: :arg2,
32
- post_test_func: :arg3,
33
- post_test_f: :arg3,
34
- post_pat_func: :arg4,
35
- post_pat_f: :arg4,
36
- end_func: :arg5,
37
- end_of_body_f: :arg5,
38
- start_func_args: :arg6,
39
- start_of_body_f_args: :arg6,
40
- pre_pat_func_args: :arg7,
41
- pre_pat_f_args: :arg7,
42
- pre_test_func_args: :arg8,
43
- pre_test_f_args: :arg8,
44
- post_test_func_args: :arg9,
45
- post_test_f_args: :arg9,
46
- post_pat_func_args: :arg10,
47
- post_pat_f_args: :arg10,
48
- end_func_args: :arg11,
49
- end_of_body_f_args: :arg11,
50
- utility_pins_1: :arg12,
51
- utility_pins_0: :arg13,
52
- init_lo: :arg14,
53
- start_lo: :arg14,
54
- init_hi: :arg15,
55
- start_hi: :arg15,
56
- init_hiz: :arg16,
57
- start_hiz: :arg16,
58
- float_pins: :arg17
59
- },
60
-
61
- # Functional test instances
62
- functional: {
63
- pattern: :arg0,
64
- patterns: :arg0,
65
- start_func: :arg1,
66
- start_of_body_f: :arg1,
67
- pre_pat_func: :arg2,
68
- pre_pat_f: :arg2,
69
- pre_test_func: :arg3,
70
- pre_test_f: :arg3,
71
- post_test_func: :arg4,
72
- post_test_f: :arg4,
73
- post_pat_func: :arg5,
74
- post_pat_f: :arg5,
75
- end_func: :arg6,
76
- end_of_body_f: :arg6,
77
- set_pass_fail: :arg7,
78
- init_lo: :arg8,
79
- start_lo: :arg8,
80
- init_hi: :arg9,
81
- start_hi: :arg9,
82
- init_hiz: :arg10,
83
- start_hiz: :arg10,
84
- float_pins: :arg11,
85
- start_func_args: :arg13,
86
- start_of_body_f_args: :arg13,
87
- pre_pat_func_args: :arg14,
88
- pre_pat_f_args: :arg14,
89
- pre_test_func_args: :arg15,
90
- pre_test_f_args: :arg15,
91
- post_test_func_args: :arg16,
92
- post_test_f_args: :arg16,
93
- post_pat_func_args: :arg17,
94
- post_pat_f_args: :arg17,
95
- end_func_args: :arg18,
96
- end_of_body_f_args: :arg18,
97
- wait_flags: :arg21,
98
- wait_time: :arg22,
99
- pattern_timeout: :arg22,
100
- pat_flag_func: :arg23,
101
- pat_flag_f: :arg23,
102
- PatFlagF: :arg23,
103
- pat_flag_func_args: :arg24,
104
- pat_flag_f_args: :arg24,
105
- relay_mode: :arg25,
106
- threading: :arg26,
107
- match_all_sites: :arg27,
108
- capture_mode: :arg30,
109
- capture_what: :arg31,
110
- capture_memory: :arg32,
111
- capture_size: :arg33,
112
- datalog_mode: :arg34,
113
- data_type: :arg35
114
- },
115
-
116
- board_pmu: {
117
- hsp_start: :arg0,
118
- start_func: :arg1,
119
- start_of_body_f: :arg1,
120
- pre_pat_func: :arg2,
121
- pre_pat_f: :arg2,
122
- pre_test_func: :arg3,
123
- pre_test_f: :arg3,
124
- post_test_func: :arg4,
125
- post_test_f: :arg4,
126
- post_pat_func: :arg5,
127
- post_pat_f: :arg5,
128
- end_func: :arg6,
129
- end_of_body_f: :arg6,
130
- precond_pat: :arg7,
131
- hold_state_pat: :arg8,
132
- holdstate_pat: :arg8,
133
- pattern: :arg8,
134
- pcp_stop: :arg9,
135
- wait_flags: :arg10,
136
- start_lo: :arg11,
137
- init_lo: :arg11,
138
- start_hi: :arg12,
139
- init_hi: :arg12,
140
- start_hiz: :arg13,
141
- init_hiz: :arg13,
142
- float_pins: :arg14,
143
- pinlist: :arg15,
144
- pin: :arg15,
145
- pin_list: :arg15,
146
- measure_mode: :arg16,
147
- irange: :arg17,
148
- clamp: :arg18,
149
- vrange: :arg19,
150
- sampling_time: :arg20,
151
- samples: :arg21,
152
- settling_time: :arg22,
153
- hi_lo_lim_valid: :arg23,
154
- hi_lo_limit_valid: :arg23,
155
- hi_limit: :arg24,
156
- lo_limit: :arg25,
157
- force_cond_1: :arg26,
158
- force_cond: :arg26,
159
- force_condition: :arg26,
160
- force_cond_2: :arg27,
161
- gang_pins_tested: :arg28,
162
- relay_mode: :arg29,
163
- wait_time_out: :arg30,
164
- start_func_args: :arg31,
165
- start_of_body_f_args: :arg31,
166
- pre_pat_func_args: :arg32,
167
- pre_pat_f_args: :arg32,
168
- pre_test_func_args: :arg33,
169
- pre_test_f_args: :arg33,
170
- post_test_func_args: :arg34,
171
- post_test_f_args: :arg34,
172
- post_pat_func_args: :arg35,
173
- post_pat_f_args: :arg35,
174
- end_func_args: :arg36,
175
- end_of_body_f_args: :arg36,
176
- pcp_start: :arg37,
177
- pcp_check_pg: :arg38,
178
- hsp_stop: :arg39,
179
- hsp_check_pg: :arg40,
180
- resume_pat: :arg41,
181
- utility_pins_1: :arg42,
182
- utility_pins_0: :arg43,
183
- pre_charge_enable: :arg44,
184
- pre_charge: :arg45,
185
- threading: :arg46
186
- },
187
-
188
- pin_pmu: {
189
- hsp_start: :arg0,
190
- start_func: :arg1,
191
- start_of_body_f: :arg1,
192
- pre_pat_func: :arg2,
193
- pre_pat_f: :arg2,
194
- pre_test_func: :arg3,
195
- pre_test_f: :arg3,
196
- post_test_func: :arg4,
197
- post_test_f: :arg4,
198
- post_pat_func: :arg5,
199
- post_pat_f: :arg5,
200
- end_func: :arg6,
201
- end_of_body_f: :arg6,
202
- precond_pat: :arg7,
203
- hold_state_pat: :arg8,
204
- holdstate_pat: :arg8,
205
- pattern: :arg8,
206
- pcp_stop: :arg9,
207
- wait_flags: :arg10,
208
- start_lo: :arg11,
209
- init_lo: :arg11,
210
- start_hi: :arg12,
211
- init_hi: :arg12,
212
- start_hiz: :arg13,
213
- init_hiz: :arg13,
214
- float_pins: :arg14,
215
- pinlist: :arg15,
216
- pin: :arg15,
217
- pin_list: :arg15,
218
- measure_mode: :arg16,
219
- irange: :arg17,
220
- settling_time: :arg18,
221
- hi_lo_lim_valid: :arg19,
222
- hi_lo_limit_valid: :arg19,
223
- hi_limit: :arg20,
224
- lo_limit: :arg21,
225
- force_cond_1: :arg22,
226
- force_cond: :arg22,
227
- force_condition: :arg22,
228
- force_cond_2: :arg23,
229
- fload: :arg24,
230
- relay_mode: :arg25,
231
- wait_time_out: :arg26,
232
- start_func_args: :arg27,
233
- start_of_body_f_args: :arg27,
234
- pre_pat_func_args: :arg28,
235
- pre_pat_f_args: :arg28,
236
- pre_test_func_args: :arg29,
237
- pre_test_f_args: :arg29,
238
- post_test_func_args: :arg30,
239
- post_test_f_args: :arg30,
240
- post_pat_func_args: :arg31,
241
- post_pat_f_args: :arg31,
242
- end_func_args: :arg32,
243
- end_of_body_f_args: :arg32,
244
- pcp_start: :arg33,
245
- pcp_check_pg: :arg34,
246
- hsp_stop: :arg35,
247
- hsp_check_pg: :arg36,
248
- sampling_time: :arg37,
249
- samples: :arg38,
250
- resume_pat: :arg39,
251
- vcl: :arg40,
252
- vch: :arg41,
253
- utility_pins_1: :arg42,
254
- utility_pins_0: :arg43,
255
- pre_charge_enable: :arg44,
256
- pre_charge: :arg45,
257
- threading: :arg46
258
- },
259
-
260
- apmu_powersupply: {
261
- precond_pat: :arg0,
262
- pre_cond_pat: :arg0,
263
- start_func: :arg1,
264
- start_of_body_f: :arg1,
265
- pre_pat_func: :arg2,
266
- pre_pat_f: :arg2,
267
- pre_test_func: :arg3,
268
- pre_test_f: :arg3,
269
- post_test_func: :arg4,
270
- post_test_f: :arg4,
271
- post_pat_func: :arg5,
272
- post_pat_f: :arg5,
273
- end_func: :arg6,
274
- end_of_body_f: :arg6,
275
- pattern: :arg7,
276
- hold_state_pat: :arg7,
277
- holdstate_pat: :arg7,
278
- wait_flags: :arg8,
279
- wait_time_out: :arg9,
280
- start_lo: :arg10,
281
- start_init_lo: :arg10,
282
- init_lo: :arg10,
283
- start_hi: :arg11,
284
- start_init_hi: :arg11,
285
- init_hi: :arg11,
286
- start_hiz: :arg12,
287
- start_init_hiz: :arg12,
288
- init_hiz: :arg12,
289
- float_pins: :arg13,
290
- irange: :arg14,
291
- sampling_time: :arg15,
292
- samples: :arg16,
293
- settling_time: :arg17,
294
- hi_lo_lim_valid: :arg18,
295
- hi_lo_limit_valid: :arg18,
296
- hi_limit: :arg19,
297
- lo_limit: :arg20,
298
- force_cond_1: :arg21,
299
- force_cond: :arg21,
300
- force_condition: :arg21,
301
- force_condition_1: :arg21,
302
- force_cond_2: :arg22,
303
- force_condition_2: :arg22,
304
- power_pins: :arg23,
305
- pins: :arg23,
306
- pin: :arg23,
307
- force_source: :arg24,
308
- pcp_start: :arg25,
309
- pcp_stop: :arg26,
310
- start_func_args: :arg27,
311
- start_of_body_f_args: :arg27,
312
- pre_pat_func_args: :arg28,
313
- pre_pat_f_args: :arg28,
314
- pre_test_func_args: :arg29,
315
- pre_test_f_args: :arg29,
316
- post_test_func_args: :arg30,
317
- post_test_f_args: :arg30,
318
- post_pat_func_args: :arg31,
319
- post_pat_f_args: :arg31,
320
- end_func_args: :arg32,
321
- end_of_body_f_args: :arg32,
322
- hsp_start: :arg33,
323
- hsp_stop: :arg34,
324
- pcp_check_pg: :arg35,
325
- clamp: :arg36,
326
- hsp_check_pg: :arg37,
327
- resume_pat: :arg38,
328
- relay_mode: :arg39,
329
- utility_pins_1: :arg40,
330
- utility_pins_0: :arg41,
331
- test_control: :arg42,
332
- serialize_meas: :arg43,
333
- serialize_meas_func: :arg44,
334
- serialize_meas_f: :arg44,
335
- serialize_meas_func_args: :arg45,
336
- serialize_meas_f_args: :arg45
337
- },
338
-
339
- powersupply: {
340
- precond_pat: :arg0,
341
- pre_cond_pat: :arg0,
342
- start_func: :arg1,
343
- start_of_body_f: :arg1,
344
- pre_pat_func: :arg2,
345
- pre_pat_f: :arg2,
346
- pre_test_func: :arg3,
347
- pre_test_f: :arg3,
348
- post_test_func: :arg4,
349
- post_test_f: :arg4,
350
- post_pat_func: :arg5,
351
- post_pat_f: :arg5,
352
- end_func: :arg6,
353
- end_of_body_f: :arg6,
354
- pattern: :arg7,
355
- hold_state_pat: :arg7,
356
- holdstate_pat: :arg7,
357
- wait_flags: :arg8,
358
- wait_time_out: :arg9,
359
- start_lo: :arg10,
360
- start_init_lo: :arg10,
361
- init_lo: :arg10,
362
- start_hi: :arg11,
363
- start_init_hi: :arg11,
364
- init_hi: :arg11,
365
- start_hiz: :arg12,
366
- start_init_hiz: :arg12,
367
- init_hiz: :arg12,
368
- float_pins: :arg13,
369
- irange: :arg14,
370
- sampling_time: :arg15,
371
- samples: :arg16,
372
- settling_time: :arg17,
373
- hi_lo_lim_valid: :arg18,
374
- hi_lo_limit_valid: :arg18,
375
- hi_limit: :arg19,
376
- lo_limit: :arg20,
377
- force_cond_1: :arg21,
378
- force_cond: :arg21,
379
- force_condition: :arg21,
380
- force_condition_1: :arg21,
381
- force_cond_2: :arg22,
382
- force_condition_2: :arg22,
383
- power_pins: :arg23,
384
- pins: :arg23,
385
- pin: :arg23,
386
- force_source: :arg24,
387
- pcp_start: :arg25,
388
- pcp_stop: :arg26,
389
- start_func_args: :arg27,
390
- start_of_body_f_args: :arg27,
391
- pre_pat_func_args: :arg28,
392
- pre_pat_f_args: :arg28,
393
- pre_test_func_args: :arg29,
394
- pre_test_f_args: :arg29,
395
- post_test_func_args: :arg30,
396
- post_test_f_args: :arg30,
397
- post_pat_func_args: :arg31,
398
- post_pat_f_args: :arg31,
399
- end_func_args: :arg32,
400
- end_of_body_f_args: :arg32,
401
- hsp_start: :arg33,
402
- hsp_stop: :arg34,
403
- pcp_check_pg: :arg35,
404
- clamp: :arg36,
405
- hsp_check_pg: :arg37,
406
- resume_pat: :arg38,
407
- relay_mode: :arg39,
408
- utility_pins_1: :arg40,
409
- utility_pins_0: :arg41,
410
- test_control: :arg42,
411
- serialize_meas: :arg43,
412
- serialize_meas_func: :arg44,
413
- serialize_meas_f: :arg44,
414
- serialize_meas_func_args: :arg45,
415
- serialize_meas_f_args: :arg45,
416
- precond_pat_clam: :arg46,
417
- threading: :arg47
418
- },
419
-
420
- mto_memory: {
421
- patterns: :arg0,
422
- pattern: :arg0,
423
- start_func: :arg1,
424
- start_of_body_f: :arg1,
425
- pre_pat_func: :arg2,
426
- pre_pat_f: :arg2,
427
- pre_test_func: :arg3,
428
- pre_test_f: :arg3,
429
- post_test_func: :arg4,
430
- post_test_f: :arg4,
431
- post_pat_func: :arg5,
432
- post_pat_f: :arg5,
433
- end_of_body_func: :arg6,
434
- end_of_body_f: :arg6,
435
- set_pass_fail: :arg7,
436
- init_lo: :arg8,
437
- start_lo: :arg8,
438
- init_hi: :arg9,
439
- start_hi: :arg9,
440
- init_hiz: :arg10,
441
- start_hiz: :arg10,
442
- float_pins: :arg11,
443
- start_of_body_func_args: :arg12,
444
- start_of_body_f_args: :arg12,
445
- pre_pat_func_args: :arg13,
446
- pre_pat_f_args: :arg13,
447
- pre_test_func_args: :arg14,
448
- pre_test_f_args: :arg14,
449
- post_test_func_args: :arg15,
450
- post_test_f_args: :arg15,
451
- post_pat_f_args: :arg16,
452
- end_of_body_func_args: :arg17,
453
- end_of_body_f_args: :arg17,
454
- utility_pins_1: :arg18,
455
- utility_pins_0: :arg19,
456
- wait_flags: :arg20,
457
- wait_time_out: :arg21,
458
- PatFlagF: :arg22,
459
- pat_flag_f: :arg22,
460
- pat_flag_func_args: :arg23,
461
- pat_flag_f_args: :arg23,
462
- relay_mode: :arg24,
463
- x_enable_mask: :arg29,
464
- x_shift_direction: :arg30,
465
- x_shift_input: :arg31,
466
- y_enable_mask: :arg36,
467
- y_shift_direction: :arg37,
468
- y_shift_input: :arg38,
469
- dga: :arg39,
470
- dgb: :arg40,
471
- dgc: :arg41,
472
- dgd: :arg42,
473
- dg_enable_mask: :arg43,
474
- dg_shift_direction: :arg44,
475
- dg_shift_input: :arg45,
476
- x_coincidence_enable_mask: :arg46,
477
- y_coincidence_enable_mask: :arg47,
478
- two_bit_dg_setup: :arg48,
479
- x_scramble_algorithm: :arg49,
480
- y_scramble_algorithm: :arg50,
481
- topo_inversion_algorithm: :arg51,
482
- utility_counter_a: :arg52,
483
- utility_counter_b: :arg53,
484
- utility_counter_c: :arg54,
485
- dut_data_source: :arg55,
486
- scramble_addr: :arg56,
487
- speed_mode: :arg57,
488
- resource_map: :arg58,
489
- receive_data: :arg59,
490
- data_to_capture: :arg60,
491
- capture_marker: :arg61,
492
- enable_wrapping: :arg62,
493
- capture_scrambled_address: :arg63,
494
- mapmem_0_input_set: :arg64,
495
- mapmem_1_input_set: :arg65,
496
- threading: :arg69,
497
- match_all_sites: :arg70
498
- }
499
- }
500
-
501
- TEST_INSTANCE_DEFAULTS = {
502
- empty: {
503
- proc_type: 'Template',
504
- proc_name: 'HPT.xla!HPT_Empty_T',
505
- proc_called_as: 'Excel Macro'
506
- },
507
- other: {
508
- proc_type: 'Other',
509
- proc_called_as: 'Excel Macro'
510
- },
511
- functional: {
512
- proc_type: 'Template',
513
- proc_name: 'HPT.xla!HPT_Functional_T',
514
- proc_called_as: 'VB DLL',
515
- set_pass_fail: 1,
516
- wait_flags: 'XXXX',
517
- wait_time: 30,
518
- relay_mode: 1,
519
- threading: 0,
520
- match_all_sites: 0,
521
- capture_mode: 0,
522
- capture_what: 0,
523
- capture_memory: 0,
524
- capture_size: 256,
525
- datalog_mode: 0,
526
- data_type: 0
527
- },
528
- board_pmu: {
529
- proc_type: 'Template',
530
- proc_name: 'HPT.xla!HPT_BoardPmu_T',
531
- proc_called_as: 'VB DLL',
532
- wait_flags: 'XXXX',
533
- measure_mode: 1,
534
- irange: 5,
535
- vrange: 3,
536
- settling_time: 0,
537
- hi_lo_lim_valid: 3,
538
- gang_pins_tested: 0,
539
- relay_mode: 0,
540
- wait_time_out: 30,
541
- pcp_check_pg: 1,
542
- hsp_check_pg: 1,
543
- resume_pat: 0,
544
- threading: 0
545
- },
546
- pin_pmu: {
547
- proc_type: 'Template',
548
- proc_name: 'HPT.xla!HPT_PinPmu_T',
549
- proc_called_as: 'VB DLL',
550
- wait_flags: 'XXXX',
551
- measure_mode: 1,
552
- irange: 2,
553
- settling_time: 0,
554
- hi_lo_lim_valid: 3,
555
- fload: 0,
556
- relay_mode: 0,
557
- wait_time_out: 30,
558
- pcp_check_pg: 1,
559
- hsp_check_pg: 1,
560
- resume_pat: 0,
561
- threading: 0
562
- },
563
- apmu_powersupply: {
564
- proc_type: 'Template',
565
- proc_name: 'HPT.xla!HPT_ApmuPowerSupply_T',
566
- proc_called_as: 'VB DLL',
567
- wait_flags: 'XXXX',
568
- irange: 1,
569
- settling_time: 0,
570
- hi_lo_lim_valid: 3,
571
- relay_mode: 0,
572
- wait_time_out: 30,
573
- pcp_check_pg: 1,
574
- hsp_check_pg: 1,
575
- resume_pat: 0,
576
- test_control: 0
577
- },
578
- mto_memory: {},
579
- powersupply: {}
580
- }
581
-
582
- # Generate the instance method definitions based on the above
583
- define
584
-
585
- # Set the cpu wait flags for the given test instance
586
- # instance.set_wait_flags(:a)
587
- # instance.set_wait_flags(:a, :c)
588
- def set_wait_flags(*flags)
589
- a = (flags.include?(:a) || flags.include?(:a)) ? '1' : 'X'
590
- b = (flags.include?(:b) || flags.include?(:b)) ? '1' : 'X'
591
- c = (flags.include?(:c) || flags.include?(:c)) ? '1' : 'X'
592
- d = (flags.include?(:d) || flags.include?(:d)) ? '1' : 'X'
593
- self.wait_flags = d + c + b + a
594
- self
595
- end
596
- end
597
- end
598
- end
599
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class J750_HPT
4
+ require 'origen_testers/igxl_based_tester/base/test_instance'
5
+ class TestInstance < Base::TestInstance
6
+ # Attributes for each test instance line, first few are named directly
7
+ TEST_INSTANCE_ATTRS = %w(
8
+ test_name proc_type proc_name proc_called_as dc_category
9
+ dc_selector ac_category ac_selector
10
+ time_sets edge_sets pin_levels overlay
11
+ )
12
+
13
+ # Attributes for additional test instance arguments beyond those described above
14
+ TEST_INSTANCE_EXTRA_ARGS = 80
15
+
16
+ TEST_INSTANCE_ALIASES = {
17
+ name: :test_name,
18
+ time_set: :time_sets,
19
+ timeset: :time_sets,
20
+ timesets: :time_sets,
21
+
22
+ other: {
23
+ },
24
+
25
+ empty: {
26
+ start_func: :arg0,
27
+ start_of_body_f: :arg0,
28
+ pre_pat_func: :arg1,
29
+ pre_pat_f: :arg1,
30
+ pre_test_func: :arg2,
31
+ pre_test_f: :arg2,
32
+ post_test_func: :arg3,
33
+ post_test_f: :arg3,
34
+ post_pat_func: :arg4,
35
+ post_pat_f: :arg4,
36
+ end_func: :arg5,
37
+ end_of_body_f: :arg5,
38
+ start_func_args: :arg6,
39
+ start_of_body_f_args: :arg6,
40
+ pre_pat_func_args: :arg7,
41
+ pre_pat_f_args: :arg7,
42
+ pre_test_func_args: :arg8,
43
+ pre_test_f_args: :arg8,
44
+ post_test_func_args: :arg9,
45
+ post_test_f_args: :arg9,
46
+ post_pat_func_args: :arg10,
47
+ post_pat_f_args: :arg10,
48
+ end_func_args: :arg11,
49
+ end_of_body_f_args: :arg11,
50
+ utility_pins_1: :arg12,
51
+ utility_pins_0: :arg13,
52
+ init_lo: :arg14,
53
+ start_lo: :arg14,
54
+ init_hi: :arg15,
55
+ start_hi: :arg15,
56
+ init_hiz: :arg16,
57
+ start_hiz: :arg16,
58
+ float_pins: :arg17
59
+ },
60
+
61
+ # Functional test instances
62
+ functional: {
63
+ pattern: :arg0,
64
+ patterns: :arg0,
65
+ start_func: :arg1,
66
+ start_of_body_f: :arg1,
67
+ pre_pat_func: :arg2,
68
+ pre_pat_f: :arg2,
69
+ pre_test_func: :arg3,
70
+ pre_test_f: :arg3,
71
+ post_test_func: :arg4,
72
+ post_test_f: :arg4,
73
+ post_pat_func: :arg5,
74
+ post_pat_f: :arg5,
75
+ end_func: :arg6,
76
+ end_of_body_f: :arg6,
77
+ set_pass_fail: :arg7,
78
+ init_lo: :arg8,
79
+ start_lo: :arg8,
80
+ init_hi: :arg9,
81
+ start_hi: :arg9,
82
+ init_hiz: :arg10,
83
+ start_hiz: :arg10,
84
+ float_pins: :arg11,
85
+ start_func_args: :arg13,
86
+ start_of_body_f_args: :arg13,
87
+ pre_pat_func_args: :arg14,
88
+ pre_pat_f_args: :arg14,
89
+ pre_test_func_args: :arg15,
90
+ pre_test_f_args: :arg15,
91
+ post_test_func_args: :arg16,
92
+ post_test_f_args: :arg16,
93
+ post_pat_func_args: :arg17,
94
+ post_pat_f_args: :arg17,
95
+ end_func_args: :arg18,
96
+ end_of_body_f_args: :arg18,
97
+ wait_flags: :arg21,
98
+ wait_time: :arg22,
99
+ pattern_timeout: :arg22,
100
+ pat_flag_func: :arg23,
101
+ pat_flag_f: :arg23,
102
+ PatFlagF: :arg23,
103
+ pat_flag_func_args: :arg24,
104
+ pat_flag_f_args: :arg24,
105
+ relay_mode: :arg25,
106
+ threading: :arg26,
107
+ match_all_sites: :arg27,
108
+ capture_mode: :arg30,
109
+ capture_what: :arg31,
110
+ capture_memory: :arg32,
111
+ capture_size: :arg33,
112
+ datalog_mode: :arg34,
113
+ data_type: :arg35
114
+ },
115
+
116
+ board_pmu: {
117
+ hsp_start: :arg0,
118
+ start_func: :arg1,
119
+ start_of_body_f: :arg1,
120
+ pre_pat_func: :arg2,
121
+ pre_pat_f: :arg2,
122
+ pre_test_func: :arg3,
123
+ pre_test_f: :arg3,
124
+ post_test_func: :arg4,
125
+ post_test_f: :arg4,
126
+ post_pat_func: :arg5,
127
+ post_pat_f: :arg5,
128
+ end_func: :arg6,
129
+ end_of_body_f: :arg6,
130
+ precond_pat: :arg7,
131
+ hold_state_pat: :arg8,
132
+ holdstate_pat: :arg8,
133
+ pattern: :arg8,
134
+ pcp_stop: :arg9,
135
+ wait_flags: :arg10,
136
+ start_lo: :arg11,
137
+ init_lo: :arg11,
138
+ start_hi: :arg12,
139
+ init_hi: :arg12,
140
+ start_hiz: :arg13,
141
+ init_hiz: :arg13,
142
+ float_pins: :arg14,
143
+ pinlist: :arg15,
144
+ pin: :arg15,
145
+ pin_list: :arg15,
146
+ measure_mode: :arg16,
147
+ irange: :arg17,
148
+ clamp: :arg18,
149
+ vrange: :arg19,
150
+ sampling_time: :arg20,
151
+ samples: :arg21,
152
+ settling_time: :arg22,
153
+ hi_lo_lim_valid: :arg23,
154
+ hi_lo_limit_valid: :arg23,
155
+ hi_limit: :arg24,
156
+ lo_limit: :arg25,
157
+ force_cond_1: :arg26,
158
+ force_cond: :arg26,
159
+ force_condition: :arg26,
160
+ force_cond_2: :arg27,
161
+ gang_pins_tested: :arg28,
162
+ relay_mode: :arg29,
163
+ wait_time_out: :arg30,
164
+ start_func_args: :arg31,
165
+ start_of_body_f_args: :arg31,
166
+ pre_pat_func_args: :arg32,
167
+ pre_pat_f_args: :arg32,
168
+ pre_test_func_args: :arg33,
169
+ pre_test_f_args: :arg33,
170
+ post_test_func_args: :arg34,
171
+ post_test_f_args: :arg34,
172
+ post_pat_func_args: :arg35,
173
+ post_pat_f_args: :arg35,
174
+ end_func_args: :arg36,
175
+ end_of_body_f_args: :arg36,
176
+ pcp_start: :arg37,
177
+ pcp_check_pg: :arg38,
178
+ hsp_stop: :arg39,
179
+ hsp_check_pg: :arg40,
180
+ resume_pat: :arg41,
181
+ utility_pins_1: :arg42,
182
+ utility_pins_0: :arg43,
183
+ pre_charge_enable: :arg44,
184
+ pre_charge: :arg45,
185
+ threading: :arg46
186
+ },
187
+
188
+ pin_pmu: {
189
+ hsp_start: :arg0,
190
+ start_func: :arg1,
191
+ start_of_body_f: :arg1,
192
+ pre_pat_func: :arg2,
193
+ pre_pat_f: :arg2,
194
+ pre_test_func: :arg3,
195
+ pre_test_f: :arg3,
196
+ post_test_func: :arg4,
197
+ post_test_f: :arg4,
198
+ post_pat_func: :arg5,
199
+ post_pat_f: :arg5,
200
+ end_func: :arg6,
201
+ end_of_body_f: :arg6,
202
+ precond_pat: :arg7,
203
+ hold_state_pat: :arg8,
204
+ holdstate_pat: :arg8,
205
+ pattern: :arg8,
206
+ pcp_stop: :arg9,
207
+ wait_flags: :arg10,
208
+ start_lo: :arg11,
209
+ init_lo: :arg11,
210
+ start_hi: :arg12,
211
+ init_hi: :arg12,
212
+ start_hiz: :arg13,
213
+ init_hiz: :arg13,
214
+ float_pins: :arg14,
215
+ pinlist: :arg15,
216
+ pin: :arg15,
217
+ pin_list: :arg15,
218
+ measure_mode: :arg16,
219
+ irange: :arg17,
220
+ settling_time: :arg18,
221
+ hi_lo_lim_valid: :arg19,
222
+ hi_lo_limit_valid: :arg19,
223
+ hi_limit: :arg20,
224
+ lo_limit: :arg21,
225
+ force_cond_1: :arg22,
226
+ force_cond: :arg22,
227
+ force_condition: :arg22,
228
+ force_cond_2: :arg23,
229
+ fload: :arg24,
230
+ relay_mode: :arg25,
231
+ wait_time_out: :arg26,
232
+ start_func_args: :arg27,
233
+ start_of_body_f_args: :arg27,
234
+ pre_pat_func_args: :arg28,
235
+ pre_pat_f_args: :arg28,
236
+ pre_test_func_args: :arg29,
237
+ pre_test_f_args: :arg29,
238
+ post_test_func_args: :arg30,
239
+ post_test_f_args: :arg30,
240
+ post_pat_func_args: :arg31,
241
+ post_pat_f_args: :arg31,
242
+ end_func_args: :arg32,
243
+ end_of_body_f_args: :arg32,
244
+ pcp_start: :arg33,
245
+ pcp_check_pg: :arg34,
246
+ hsp_stop: :arg35,
247
+ hsp_check_pg: :arg36,
248
+ sampling_time: :arg37,
249
+ samples: :arg38,
250
+ resume_pat: :arg39,
251
+ vcl: :arg40,
252
+ vch: :arg41,
253
+ utility_pins_1: :arg42,
254
+ utility_pins_0: :arg43,
255
+ pre_charge_enable: :arg44,
256
+ pre_charge: :arg45,
257
+ threading: :arg46
258
+ },
259
+
260
+ apmu_powersupply: {
261
+ precond_pat: :arg0,
262
+ pre_cond_pat: :arg0,
263
+ start_func: :arg1,
264
+ start_of_body_f: :arg1,
265
+ pre_pat_func: :arg2,
266
+ pre_pat_f: :arg2,
267
+ pre_test_func: :arg3,
268
+ pre_test_f: :arg3,
269
+ post_test_func: :arg4,
270
+ post_test_f: :arg4,
271
+ post_pat_func: :arg5,
272
+ post_pat_f: :arg5,
273
+ end_func: :arg6,
274
+ end_of_body_f: :arg6,
275
+ pattern: :arg7,
276
+ hold_state_pat: :arg7,
277
+ holdstate_pat: :arg7,
278
+ wait_flags: :arg8,
279
+ wait_time_out: :arg9,
280
+ start_lo: :arg10,
281
+ start_init_lo: :arg10,
282
+ init_lo: :arg10,
283
+ start_hi: :arg11,
284
+ start_init_hi: :arg11,
285
+ init_hi: :arg11,
286
+ start_hiz: :arg12,
287
+ start_init_hiz: :arg12,
288
+ init_hiz: :arg12,
289
+ float_pins: :arg13,
290
+ irange: :arg14,
291
+ sampling_time: :arg15,
292
+ samples: :arg16,
293
+ settling_time: :arg17,
294
+ hi_lo_lim_valid: :arg18,
295
+ hi_lo_limit_valid: :arg18,
296
+ hi_limit: :arg19,
297
+ lo_limit: :arg20,
298
+ force_cond_1: :arg21,
299
+ force_cond: :arg21,
300
+ force_condition: :arg21,
301
+ force_condition_1: :arg21,
302
+ force_cond_2: :arg22,
303
+ force_condition_2: :arg22,
304
+ power_pins: :arg23,
305
+ pins: :arg23,
306
+ pin: :arg23,
307
+ force_source: :arg24,
308
+ pcp_start: :arg25,
309
+ pcp_stop: :arg26,
310
+ start_func_args: :arg27,
311
+ start_of_body_f_args: :arg27,
312
+ pre_pat_func_args: :arg28,
313
+ pre_pat_f_args: :arg28,
314
+ pre_test_func_args: :arg29,
315
+ pre_test_f_args: :arg29,
316
+ post_test_func_args: :arg30,
317
+ post_test_f_args: :arg30,
318
+ post_pat_func_args: :arg31,
319
+ post_pat_f_args: :arg31,
320
+ end_func_args: :arg32,
321
+ end_of_body_f_args: :arg32,
322
+ hsp_start: :arg33,
323
+ hsp_stop: :arg34,
324
+ pcp_check_pg: :arg35,
325
+ clamp: :arg36,
326
+ hsp_check_pg: :arg37,
327
+ resume_pat: :arg38,
328
+ relay_mode: :arg39,
329
+ utility_pins_1: :arg40,
330
+ utility_pins_0: :arg41,
331
+ test_control: :arg42,
332
+ serialize_meas: :arg43,
333
+ serialize_meas_func: :arg44,
334
+ serialize_meas_f: :arg44,
335
+ serialize_meas_func_args: :arg45,
336
+ serialize_meas_f_args: :arg45
337
+ },
338
+
339
+ powersupply: {
340
+ precond_pat: :arg0,
341
+ pre_cond_pat: :arg0,
342
+ start_func: :arg1,
343
+ start_of_body_f: :arg1,
344
+ pre_pat_func: :arg2,
345
+ pre_pat_f: :arg2,
346
+ pre_test_func: :arg3,
347
+ pre_test_f: :arg3,
348
+ post_test_func: :arg4,
349
+ post_test_f: :arg4,
350
+ post_pat_func: :arg5,
351
+ post_pat_f: :arg5,
352
+ end_func: :arg6,
353
+ end_of_body_f: :arg6,
354
+ pattern: :arg7,
355
+ hold_state_pat: :arg7,
356
+ holdstate_pat: :arg7,
357
+ wait_flags: :arg8,
358
+ wait_time_out: :arg9,
359
+ start_lo: :arg10,
360
+ start_init_lo: :arg10,
361
+ init_lo: :arg10,
362
+ start_hi: :arg11,
363
+ start_init_hi: :arg11,
364
+ init_hi: :arg11,
365
+ start_hiz: :arg12,
366
+ start_init_hiz: :arg12,
367
+ init_hiz: :arg12,
368
+ float_pins: :arg13,
369
+ irange: :arg14,
370
+ sampling_time: :arg15,
371
+ samples: :arg16,
372
+ settling_time: :arg17,
373
+ hi_lo_lim_valid: :arg18,
374
+ hi_lo_limit_valid: :arg18,
375
+ hi_limit: :arg19,
376
+ lo_limit: :arg20,
377
+ force_cond_1: :arg21,
378
+ force_cond: :arg21,
379
+ force_condition: :arg21,
380
+ force_condition_1: :arg21,
381
+ force_cond_2: :arg22,
382
+ force_condition_2: :arg22,
383
+ power_pins: :arg23,
384
+ pins: :arg23,
385
+ pin: :arg23,
386
+ force_source: :arg24,
387
+ pcp_start: :arg25,
388
+ pcp_stop: :arg26,
389
+ start_func_args: :arg27,
390
+ start_of_body_f_args: :arg27,
391
+ pre_pat_func_args: :arg28,
392
+ pre_pat_f_args: :arg28,
393
+ pre_test_func_args: :arg29,
394
+ pre_test_f_args: :arg29,
395
+ post_test_func_args: :arg30,
396
+ post_test_f_args: :arg30,
397
+ post_pat_func_args: :arg31,
398
+ post_pat_f_args: :arg31,
399
+ end_func_args: :arg32,
400
+ end_of_body_f_args: :arg32,
401
+ hsp_start: :arg33,
402
+ hsp_stop: :arg34,
403
+ pcp_check_pg: :arg35,
404
+ clamp: :arg36,
405
+ hsp_check_pg: :arg37,
406
+ resume_pat: :arg38,
407
+ relay_mode: :arg39,
408
+ utility_pins_1: :arg40,
409
+ utility_pins_0: :arg41,
410
+ test_control: :arg42,
411
+ serialize_meas: :arg43,
412
+ serialize_meas_func: :arg44,
413
+ serialize_meas_f: :arg44,
414
+ serialize_meas_func_args: :arg45,
415
+ serialize_meas_f_args: :arg45,
416
+ precond_pat_clam: :arg46,
417
+ threading: :arg47
418
+ },
419
+
420
+ mto_memory: {
421
+ patterns: :arg0,
422
+ pattern: :arg0,
423
+ start_func: :arg1,
424
+ start_of_body_f: :arg1,
425
+ pre_pat_func: :arg2,
426
+ pre_pat_f: :arg2,
427
+ pre_test_func: :arg3,
428
+ pre_test_f: :arg3,
429
+ post_test_func: :arg4,
430
+ post_test_f: :arg4,
431
+ post_pat_func: :arg5,
432
+ post_pat_f: :arg5,
433
+ end_of_body_func: :arg6,
434
+ end_of_body_f: :arg6,
435
+ set_pass_fail: :arg7,
436
+ init_lo: :arg8,
437
+ start_lo: :arg8,
438
+ init_hi: :arg9,
439
+ start_hi: :arg9,
440
+ init_hiz: :arg10,
441
+ start_hiz: :arg10,
442
+ float_pins: :arg11,
443
+ start_of_body_func_args: :arg12,
444
+ start_of_body_f_args: :arg12,
445
+ pre_pat_func_args: :arg13,
446
+ pre_pat_f_args: :arg13,
447
+ pre_test_func_args: :arg14,
448
+ pre_test_f_args: :arg14,
449
+ post_test_func_args: :arg15,
450
+ post_test_f_args: :arg15,
451
+ post_pat_f_args: :arg16,
452
+ end_of_body_func_args: :arg17,
453
+ end_of_body_f_args: :arg17,
454
+ utility_pins_1: :arg18,
455
+ utility_pins_0: :arg19,
456
+ wait_flags: :arg20,
457
+ wait_time_out: :arg21,
458
+ PatFlagF: :arg22,
459
+ pat_flag_f: :arg22,
460
+ pat_flag_func_args: :arg23,
461
+ pat_flag_f_args: :arg23,
462
+ relay_mode: :arg24,
463
+ x_enable_mask: :arg29,
464
+ x_shift_direction: :arg30,
465
+ x_shift_input: :arg31,
466
+ y_enable_mask: :arg36,
467
+ y_shift_direction: :arg37,
468
+ y_shift_input: :arg38,
469
+ dga: :arg39,
470
+ dgb: :arg40,
471
+ dgc: :arg41,
472
+ dgd: :arg42,
473
+ dg_enable_mask: :arg43,
474
+ dg_shift_direction: :arg44,
475
+ dg_shift_input: :arg45,
476
+ x_coincidence_enable_mask: :arg46,
477
+ y_coincidence_enable_mask: :arg47,
478
+ two_bit_dg_setup: :arg48,
479
+ x_scramble_algorithm: :arg49,
480
+ y_scramble_algorithm: :arg50,
481
+ topo_inversion_algorithm: :arg51,
482
+ utility_counter_a: :arg52,
483
+ utility_counter_b: :arg53,
484
+ utility_counter_c: :arg54,
485
+ dut_data_source: :arg55,
486
+ scramble_addr: :arg56,
487
+ speed_mode: :arg57,
488
+ resource_map: :arg58,
489
+ receive_data: :arg59,
490
+ data_to_capture: :arg60,
491
+ capture_marker: :arg61,
492
+ enable_wrapping: :arg62,
493
+ capture_scrambled_address: :arg63,
494
+ mapmem_0_input_set: :arg64,
495
+ mapmem_1_input_set: :arg65,
496
+ threading: :arg69,
497
+ match_all_sites: :arg70
498
+ }
499
+ }
500
+
501
+ TEST_INSTANCE_DEFAULTS = {
502
+ empty: {
503
+ proc_type: 'Template',
504
+ proc_name: 'HPT.xla!HPT_Empty_T',
505
+ proc_called_as: 'Excel Macro'
506
+ },
507
+ other: {
508
+ proc_type: 'Other',
509
+ proc_called_as: 'Excel Macro'
510
+ },
511
+ functional: {
512
+ proc_type: 'Template',
513
+ proc_name: 'HPT.xla!HPT_Functional_T',
514
+ proc_called_as: 'VB DLL',
515
+ set_pass_fail: 1,
516
+ wait_flags: 'XXXX',
517
+ wait_time: 30,
518
+ relay_mode: 1,
519
+ threading: 0,
520
+ match_all_sites: 0,
521
+ capture_mode: 0,
522
+ capture_what: 0,
523
+ capture_memory: 0,
524
+ capture_size: 256,
525
+ datalog_mode: 0,
526
+ data_type: 0
527
+ },
528
+ board_pmu: {
529
+ proc_type: 'Template',
530
+ proc_name: 'HPT.xla!HPT_BoardPmu_T',
531
+ proc_called_as: 'VB DLL',
532
+ wait_flags: 'XXXX',
533
+ measure_mode: 1,
534
+ irange: 5,
535
+ vrange: 3,
536
+ settling_time: 0,
537
+ hi_lo_lim_valid: 3,
538
+ gang_pins_tested: 0,
539
+ relay_mode: 0,
540
+ wait_time_out: 30,
541
+ pcp_check_pg: 1,
542
+ hsp_check_pg: 1,
543
+ resume_pat: 0,
544
+ threading: 0
545
+ },
546
+ pin_pmu: {
547
+ proc_type: 'Template',
548
+ proc_name: 'HPT.xla!HPT_PinPmu_T',
549
+ proc_called_as: 'VB DLL',
550
+ wait_flags: 'XXXX',
551
+ measure_mode: 1,
552
+ irange: 2,
553
+ settling_time: 0,
554
+ hi_lo_lim_valid: 3,
555
+ fload: 0,
556
+ relay_mode: 0,
557
+ wait_time_out: 30,
558
+ pcp_check_pg: 1,
559
+ hsp_check_pg: 1,
560
+ resume_pat: 0,
561
+ threading: 0
562
+ },
563
+ apmu_powersupply: {
564
+ proc_type: 'Template',
565
+ proc_name: 'HPT.xla!HPT_ApmuPowerSupply_T',
566
+ proc_called_as: 'VB DLL',
567
+ wait_flags: 'XXXX',
568
+ irange: 1,
569
+ settling_time: 0,
570
+ hi_lo_lim_valid: 3,
571
+ relay_mode: 0,
572
+ wait_time_out: 30,
573
+ pcp_check_pg: 1,
574
+ hsp_check_pg: 1,
575
+ resume_pat: 0,
576
+ test_control: 0
577
+ },
578
+ mto_memory: {},
579
+ powersupply: {}
580
+ }
581
+
582
+ # Generate the instance method definitions based on the above
583
+ define
584
+
585
+ # Set the cpu wait flags for the given test instance
586
+ # instance.set_wait_flags(:a)
587
+ # instance.set_wait_flags(:a, :c)
588
+ def set_wait_flags(*flags)
589
+ a = (flags.include?(:a) || flags.include?(:a)) ? '1' : 'X'
590
+ b = (flags.include?(:b) || flags.include?(:b)) ? '1' : 'X'
591
+ c = (flags.include?(:c) || flags.include?(:c)) ? '1' : 'X'
592
+ d = (flags.include?(:d) || flags.include?(:d)) ? '1' : 'X'
593
+ self.wait_flags = d + c + b + a
594
+ self
595
+ end
596
+ end
597
+ end
598
+ end
599
+ end