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,54 +1,54 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class V93K
4
- class Builder
5
- # Responsible for modelling/building the contents of a V93K pattern master file
6
- class PatternMaster
7
- attr_reader :file, :paths
8
-
9
- def initialize(file = nil)
10
- @file = file
11
- @paths = {}
12
- parse_file if file
13
- end
14
-
15
- def add_sub_file(pm)
16
- pm.paths.each do |path, files|
17
- if paths[path]
18
- paths[path] += files
19
- paths[path].uniq!
20
- else
21
- paths[path] = files
22
- end
23
- end
24
- end
25
-
26
- private
27
-
28
- def parse_file
29
- File.open(file) do |f|
30
- capture = nil
31
- current_path = nil
32
- f.each_line do |line|
33
- line = line.strip
34
- if line =~ /^\s*path:\s*$/
35
- capture = :path
36
- elsif capture == :path
37
- paths[line] ||= []
38
- current_path = paths[line]
39
- capture = nil
40
- elsif line =~ /^\s*files:\s*$/
41
- capture = :file
42
- elsif capture == :file
43
- unless line.empty?
44
- current_path << line
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class V93K
4
+ class Builder
5
+ # Responsible for modelling/building the contents of a V93K pattern master file
6
+ class PatternMaster
7
+ attr_reader :file, :paths
8
+
9
+ def initialize(file = nil)
10
+ @file = file
11
+ @paths = {}
12
+ parse_file if file
13
+ end
14
+
15
+ def add_sub_file(pm)
16
+ pm.paths.each do |path, files|
17
+ if paths[path]
18
+ paths[path] += files
19
+ paths[path].uniq!
20
+ else
21
+ paths[path] = files
22
+ end
23
+ end
24
+ end
25
+
26
+ private
27
+
28
+ def parse_file
29
+ File.open(file) do |f|
30
+ capture = nil
31
+ current_path = nil
32
+ f.each_line do |line|
33
+ line = line.strip
34
+ if line =~ /^\s*path:\s*$/
35
+ capture = :path
36
+ elsif capture == :path
37
+ paths[line] ||= []
38
+ current_path = paths[line]
39
+ capture = nil
40
+ elsif line =~ /^\s*files:\s*$/
41
+ capture = :file
42
+ elsif capture == :file
43
+ unless line.empty?
44
+ current_path << line
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,10 +1,10 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class V93K
4
- require 'origen_testers/smartest_based_tester/base/flow'
5
- class Flow < Base::Flow
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb"
7
- end
8
- end
9
- end
10
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class V93K
4
+ require 'origen_testers/smartest_based_tester/base/flow'
5
+ class Flow < Base::Flow
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb"
7
+ end
8
+ end
9
+ end
10
+ end
@@ -1,19 +1,19 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class V93K
4
- # Include this module in an interface class to make it a V93K interface and to give
5
- # access to the V93K program generator API
6
- module Generator
7
- extend ActiveSupport::Concern
8
-
9
- require_all "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k"
10
- require 'origen_testers/smartest_based_tester/base/generator'
11
-
12
- included do
13
- include Base::Generator
14
- PLATFORM = V93K
15
- end
16
- end
17
- end
18
- end
19
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class V93K
4
+ # Include this module in an interface class to make it a V93K interface and to give
5
+ # access to the V93K program generator API
6
+ module Generator
7
+ extend ActiveSupport::Concern
8
+
9
+ require_all "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k"
10
+ require 'origen_testers/smartest_based_tester/base/generator'
11
+
12
+ included do
13
+ include Base::Generator
14
+ PLATFORM = V93K
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,10 +1,10 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class V93K
4
- require 'origen_testers/smartest_based_tester/base/pattern_compiler'
5
- class PatternCompiler < Base::PatternCompiler
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb"
7
- end
8
- end
9
- end
10
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class V93K
4
+ require 'origen_testers/smartest_based_tester/base/pattern_compiler'
5
+ class PatternCompiler < Base::PatternCompiler
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb"
7
+ end
8
+ end
9
+ end
10
+ end
@@ -1,10 +1,10 @@
1
- module OrigenTesters
2
- module SmartestBasedTester
3
- class V93K
4
- require 'origen_testers/smartest_based_tester/base/pattern_master'
5
- class PatternMaster < Base::PatternMaster
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb"
7
- end
8
- end
9
- end
10
- end
1
+ module OrigenTesters
2
+ module SmartestBasedTester
3
+ class V93K
4
+ require 'origen_testers/smartest_based_tester/base/pattern_master'
5
+ class PatternMaster < Base::PatternMaster
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb"
7
+ end
8
+ end
9
+ end
10
+ end
@@ -1,17 +1,17 @@
1
- AI_DIR_FILE
2
- tmp_dir ./tmp
3
- tmf_dir ./
4
- vbc_dir ./
5
- avc_dir ./AVC/
6
- pinconfig_file ./<%= $dut.name.to_s.upcase %>.cfg
7
- single_binary_pattern_dir ./BINL/
8
-
9
- AI_V2B_OPTIONS -ALT -c <%= $dut.name.to_s.upcase %>.vbc -k -z PS800
10
-
11
- PATTERNS name tmf_file v2b_options
12
- % subroutines.each do |pattern|
13
- <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf -s
14
- % end
15
- % patterns.each do |pattern|
16
- <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf
17
- % end
1
+ AI_DIR_FILE
2
+ tmp_dir ./tmp
3
+ tmf_dir ./
4
+ vbc_dir ./
5
+ avc_dir ./AVC/
6
+ pinconfig_file ./<%= $dut.name.to_s.upcase %>.cfg
7
+ single_binary_pattern_dir ./BINL/
8
+
9
+ AI_V2B_OPTIONS -ALT -c <%= $dut.name.to_s.upcase %>.vbc -k -z PS800
10
+
11
+ PATTERNS name tmf_file v2b_options
12
+ % subroutines.each do |pattern|
13
+ <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf -s
14
+ % end
15
+ % patterns.each do |pattern|
16
+ <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf
17
+ % end
@@ -1,13 +1,13 @@
1
- hp93000,pattern_master_file,0.1
2
-
3
- % p = options[:program] ? options[:program].paths : paths
4
- % p.each do |path, patterns|
5
- path:
6
- <%= path %>
7
-
8
- files:
9
- % patterns.sort.each do |pattern|
10
- <%= pattern %>
11
- % end
12
-
13
- % end
1
+ hp93000,pattern_master_file,0.1
2
+
3
+ % p = options[:program] ? options[:program].paths : paths
4
+ % p.each do |path, patterns|
5
+ path:
6
+ <%= path %>
7
+
8
+ files:
9
+ % patterns.sort.each do |pattern|
10
+ <%= pattern %>
11
+ % end
12
+
13
+ % end
@@ -1,214 +1,236 @@
1
- hp93000,testflow,0.1
2
- language_revision = 1;
3
-
4
- information
5
-
6
- % program = options[:program]
7
- % if program
8
- % program.information.each do |key, val|
9
- % unless key == "test_revision"
10
- <%= key %> = <%= val %>
11
- % end
12
- % end
13
- % else
14
- %# Disabled for now, SMT master file doesn't like it
15
- %#-- STOPDIFF
16
- %#test_revision = "<%= Origen.app.version %>";
17
- %#-- STARTDIFF
18
- % end
19
-
20
- end
21
- %#--------------------------------------------------
22
- %#declarations
23
- %#
24
- %#% if program
25
- %#% program.declarations.each do |key, val|
26
- %#<%= key %> = <%= val %>
27
- %#% end
28
- %#% else
29
- %#% flow_control_variables.each do |var|
30
- %#% if var.is_a?(Array)
31
- %#@<%= var[0].to_s.upcase %> = <%= var[1].is_a?(String) || var[1].is_a?(Symbol) ? "\"#{var[1]}\"" : var[1] %>;
32
- %#% else
33
- %#@<%= var.to_s.upcase %> = -1;
34
- %#% end
35
- %#% end
36
- %#% runtime_control_variables.each do |var|
37
- %#% if var.is_a?(Array)
38
- %#@<%= var[0].to_s.upcase %> = <%= var[1].is_a?(String) || var[1].is_a?(Symbol) ? "\"#{var[1]}\"" : var[1] %>;
39
- %#% else
40
- %#@<%= var.to_s.upcase %> = -1;
41
- %#% end
42
- %#% end
43
- %#% end
44
- %#end
45
- --------------------------------------------------
46
- implicit_declarations
47
-
48
- end
49
- -----------------------------------------------------------------
50
- %#flags
51
- %#
52
- %#% if program
53
- %#% program.flags.each do |key, val|
54
- %#<%= key %> = <%= val %>
55
- %#% end
56
- %#% else
57
- %#datalog_formatter = 0;
58
- %#datalog_sample_size = 1;
59
- %#graphic_result_displa = 1;
60
- %#state_display = 0;
61
- %#print_wafermap = 0;
62
- %#ink_wafer = 0;
63
- %#max_reprobes = 1;
64
- %#temp_monitor = 1;
65
- %#calib_age_monitor = 1;
66
- %#diag_monitor = 1;
67
- %#current_monitor = 1;
68
- %#log_events_enable = 1;
69
- %#set_pass_level = 0;
70
- %#set_fail_level = 0;
71
- %#set_bypass_level = 0;
72
- %#hold_on_fail = 0;
73
- %#global_hold = 0;
74
- %#debug_mode = 0;
75
- %#debug_analog = 0;
76
- %#parallel_mode = 1;
77
- %#site_match_mode = 2;
78
- %#global_overon = 0;
79
- %#limits_enable = 0;
80
- %#test_number_enable = 1;
81
- %#test_number_inc = 1;
82
- %#log_cycles_before = 0;
83
- %#log_cycles_after = 0;
84
- %#unburst_mode = 0;
85
- %#sqst_mode = 0;
86
- %#warn_as_fail = 1;
87
- %#use_hw_dsp = 0;
88
- %#dsp_file_enable = 0;
89
- %#buffer_testflow_log = 0;
90
- %#check_testmethod_api = 0;
91
- %#stdf_generation = 1;
92
- %#tm_crash_as_fatal = 1;
93
- %#hidden_datalog_mode = 0;
94
- %#multibin_mode = 0;
95
- %#% end
96
- %#end
97
- %#-----------------------------------------------------------------
98
- testmethodparameters
99
- % if program
100
- % program.testmethodparameters.each do |id, parameters|
101
- % if parameters
102
- <%= id %>:
103
- % parameters.each do |key, val|
104
- <%= key %> = <%= val %>
105
- % end
106
- % end
107
- % end
108
- % else
109
- % test_methods.collection.each do |method|
110
- % unless method.parameters.empty?
111
- <%= method.id %>:
112
- % method.parameters.each do |name, type|
113
- "<%= name.is_a?(String) ? name : name.to_s[0] == '_' ? name.to_s.camelize(:upper) : name.to_s.camelize(:lower) %>" = "<%= method.format(name) %>";
114
- % end
115
- % end
116
- % end
117
- % end
118
- end
119
- --------------------------------------------------
120
- testmethodlimits
121
- % if program
122
- % program.testmethodlimits.each do |id, parameters|
123
- <%= id %>:
124
- % parameters.each do |key, val|
125
- <%= key %> = <%= val %>
126
- % end
127
- % end
128
- % else
129
- % test_methods.collection.each do |method|
130
- % if method.respond_to?(:limits) && method.limits
131
- <%= method.id %>:
132
- <%= method.limits %>;
133
- % end
134
- % end
135
- % end
136
- end
137
- --------------------------------------------------
138
- testmethods
139
- % if program
140
- % program.testmethods.each do |id, parameters|
141
- <%= id %>:
142
- % parameters.each do |key, val|
143
- <%= key %> = <%= val %>
144
- % end
145
- % end
146
- % else
147
- % test_methods.collection.each do |method|
148
- <%= method.id %>:
149
- testmethod_class = "<%= method.klass %>";
150
- % end
151
- % end
152
- end
153
- --------------------------------------------------
154
- test_suites
155
- % if program
156
- % program.test_suites.each do |id, parameters|
157
- <%= id %>:
158
- % parameters.each do |key, val|
159
- <%= key %> = <%= val %>
160
- % end
161
- % end
162
- % else
163
- % test_suites.collection.each do |suite|
164
- <%= suite.name %>:
165
- % suite.lines.each do |line|
166
- <%= line %>
167
- % end
168
- % end
169
- % end
170
- end
171
- --------------------------------------------------
172
- test_flow
173
- % if program
174
- % program.test_flow.each do |line|
175
- <%= line %>
176
- % end
177
- % else
178
- % flow_header.each do |line|
179
- <%= line %>
180
- % end
181
- % lines.each do |line|
182
- <%= line %>
183
- % end
184
- % flow_footer.each do |line|
185
- <%= line %>
186
- % end
187
- % end
188
- end
189
- -------------------------------------------------
190
- binning
191
- % if program
192
- % program.binning.each do |line|
193
- <%= line %>
194
- % end
195
- % else
196
- otherwise bin = "db", "", , bad, noreprobe, red, , not_over_on;
197
- % end
198
- end
199
- -------------------------------------------------
200
- context
201
-
202
- end
203
- --------------------------------------------------
204
- hardware_bin_descriptions
205
- % if program
206
- % program.hardware_bin_descriptions.each do |key, val|
207
- <%= key %> = <%= val %>
208
- % end
209
- % else
210
- % hardware_bin_descriptions.each do |bin, desc|
211
- <%= bin %> = "<%= desc %>";
212
- % end
213
- % end
214
- end
1
+ hp93000,testflow,0.1
2
+ language_revision = 1;
3
+
4
+ % program = options[:program]
5
+ % if program
6
+ information
7
+
8
+ % program.information.each do |key, val|
9
+ % unless key == "test_revision"
10
+ <%= key %> = <%= val %>
11
+ % end
12
+ % end
13
+
14
+ end
15
+ % else
16
+ %# Disabled for now, SMT master file doesn't like it
17
+ %#-- STOPDIFF
18
+ %#test_revision = "<%= Origen.app.version %>";
19
+ %#-- STARTDIFF
20
+ % end
21
+ %#--------------------------------------------------
22
+ %#declarations
23
+ %#
24
+ %#% if program
25
+ %#% program.declarations.each do |key, val|
26
+ %#<%= key %> = <%= val %>
27
+ %#% end
28
+ %#% else
29
+ %#% flow_control_variables.each do |var|
30
+ %#% if var.is_a?(Array)
31
+ %#@<%= var[0].to_s.upcase %> = <%= var[1].is_a?(String) || var[1].is_a?(Symbol) ? "\"#{var[1]}\"" : var[1] %>;
32
+ %#% else
33
+ %#@<%= var.to_s.upcase %> = -1;
34
+ %#% end
35
+ %#% end
36
+ %#% runtime_control_variables.each do |var|
37
+ %#% if var.is_a?(Array)
38
+ %#@<%= var[0].to_s.upcase %> = <%= var[1].is_a?(String) || var[1].is_a?(Symbol) ? "\"#{var[1]}\"" : var[1] %>;
39
+ %#% else
40
+ %#@<%= var.to_s.upcase %> = -1;
41
+ %#% end
42
+ %#% end
43
+ %#% end
44
+ %#end
45
+ %#-----------------------------------------------------------------
46
+ %#implicit_declarations
47
+ %#
48
+ %#end
49
+ %#-----------------------------------------------------------------
50
+ %#flags
51
+ %#
52
+ %#% if program
53
+ %#% program.flags.each do |key, val|
54
+ %#<%= key %> = <%= val %>
55
+ %#% end
56
+ %#% else
57
+ %#datalog_formatter = 0;
58
+ %#datalog_sample_size = 1;
59
+ %#graphic_result_displa = 1;
60
+ %#state_display = 0;
61
+ %#print_wafermap = 0;
62
+ %#ink_wafer = 0;
63
+ %#max_reprobes = 1;
64
+ %#temp_monitor = 1;
65
+ %#calib_age_monitor = 1;
66
+ %#diag_monitor = 1;
67
+ %#current_monitor = 1;
68
+ %#log_events_enable = 1;
69
+ %#set_pass_level = 0;
70
+ %#set_fail_level = 0;
71
+ %#set_bypass_level = 0;
72
+ %#hold_on_fail = 0;
73
+ %#global_hold = 0;
74
+ %#debug_mode = 0;
75
+ %#debug_analog = 0;
76
+ %#parallel_mode = 1;
77
+ %#site_match_mode = 2;
78
+ %#global_overon = 0;
79
+ %#limits_enable = 0;
80
+ %#test_number_enable = 1;
81
+ %#test_number_inc = 1;
82
+ %#log_cycles_before = 0;
83
+ %#log_cycles_after = 0;
84
+ %#unburst_mode = 0;
85
+ %#sqst_mode = 0;
86
+ %#warn_as_fail = 1;
87
+ %#use_hw_dsp = 0;
88
+ %#dsp_file_enable = 0;
89
+ %#buffer_testflow_log = 0;
90
+ %#check_testmethod_api = 0;
91
+ %#stdf_generation = 1;
92
+ %#tm_crash_as_fatal = 1;
93
+ %#hidden_datalog_mode = 0;
94
+ %#multibin_mode = 0;
95
+ %#% end
96
+ %#end
97
+ %#-----------------------------------------------------------------
98
+ testmethodparameters
99
+ % if program
100
+ % program.testmethodparameters.each do |id, parameters|
101
+ % if parameters
102
+ <%= id %>:
103
+ % parameters.each do |key, val|
104
+ <%= key %> = <%= val %>
105
+ % end
106
+ % end
107
+ % end
108
+ % else
109
+ % unless test_methods.collection.empty?
110
+
111
+ % test_methods.sorted_collection.each do |method|
112
+ % unless method.parameters.empty?
113
+ <%= method.id %>:
114
+ % method.sorted_parameters.each do |param|
115
+ % name = param[0]
116
+ "<%= name.is_a?(String) ? name : name.to_s[0] == '_' ? name.to_s.camelize(:upper) : name.to_s.camelize(:lower) %>" = "<%= method.format(name) %>";
117
+ % end
118
+ % end
119
+ % end
120
+
121
+ % end
122
+ % end
123
+ end
124
+ -----------------------------------------------------------------
125
+ testmethodlimits
126
+
127
+ % if program
128
+ % program.testmethodlimits.each do |id, parameters|
129
+ <%= id %>:
130
+ % parameters.each do |key, val|
131
+ <%= key %> = <%= val %>
132
+ % end
133
+ % end
134
+ % else
135
+ % test_methods.sorted_collection.each do |method|
136
+ % if method.respond_to?(:limits) && method.limits
137
+ <%= method.id %>:
138
+ <%= method.limits %>;
139
+ % end
140
+ % end
141
+ % end
142
+
143
+ end
144
+ -----------------------------------------------------------------
145
+ testmethods
146
+
147
+ % if program
148
+ % program.testmethods.each do |id, parameters|
149
+ <%= id %>:
150
+ % parameters.each do |key, val|
151
+ <%= key %> = <%= val %>
152
+ % end
153
+ % end
154
+ % else
155
+ % test_methods.sorted_collection.each do |method|
156
+ <%= method.id %>:
157
+ testmethod_class = "<%= method.klass %>";
158
+ % end
159
+ % end
160
+
161
+ end
162
+ -----------------------------------------------------------------
163
+ test_suites
164
+
165
+ % if program
166
+ % program.test_suites.each do |id, parameters|
167
+ <%= id %>:
168
+ % parameters.each do |key, val|
169
+ <%= key %> = <%= val %>
170
+ % end
171
+ % end
172
+ % else
173
+ % test_suites.sorted_collection.each do |suite|
174
+ <%= suite.name %>:
175
+ % suite.lines.each do |line|
176
+ <%= line %>
177
+ % end
178
+ % end
179
+ % end
180
+
181
+ end
182
+ -----------------------------------------------------------------
183
+ test_flow
184
+
185
+ % if program
186
+ % program.test_flow.each do |line|
187
+ <%= line %>
188
+ % end
189
+ % else
190
+ % flow_header.each do |line|
191
+ <%= line %>
192
+ % end
193
+ % lines.each do |line|
194
+ <%= line %>
195
+ % end
196
+ % flow_footer.each do |line|
197
+ <%= line %>
198
+ % end
199
+ % end
200
+
201
+ end
202
+ -----------------------------------------------------------------
203
+ binning
204
+ % if program
205
+ % program.binning.each do |line|
206
+ <%= line %>
207
+ % end
208
+ % else
209
+ %#otherwise bin = "db", "", , bad, noreprobe, red, , not_over_on;
210
+ % end
211
+ end
212
+ -----------------------------------------------------------------
213
+ oocrule
214
+
215
+
216
+ end
217
+ -----------------------------------------------------------------
218
+ context
219
+
220
+
221
+ end
222
+ -----------------------------------------------------------------
223
+ hardware_bin_descriptions
224
+
225
+ % if program
226
+ % program.hardware_bin_descriptions.each do |key, val|
227
+ <%= key %> = <%= val %>
228
+ % end
229
+ % else
230
+ % hardware_bin_descriptions.each do |bin, desc|
231
+ <%= bin %> = "<%= desc %>";
232
+ % end
233
+ % end
234
+
235
+ end
236
+ -----------------------------------------------------------------