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,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