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,38 +1,38 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class Base
4
- class Patgroups
5
- include ::OrigenTesters::Generator
6
-
7
- OUTPUT_POSTFIX = 'patgroups'
8
-
9
- def add(name, options = {})
10
- p = platform::Patgroup.new(name, options)
11
- collection << p
12
- p
13
- end
14
-
15
- def finalize(options = {})
16
- uniq!
17
- sort!
18
- end
19
-
20
- # Present the patgroups in the final sheet in alphabetical order
21
- def sort!
22
- collection.sort_by!(&:name)
23
- end
24
-
25
- # Removes all duplicate patgroups
26
- def uniq!
27
- uniques = []
28
- collection.each do |patgroup|
29
- unless uniques.any? { |p| p == patgroup }
30
- uniques << patgroup
31
- end
32
- end
33
- self.collection = uniques
34
- end
35
- end
36
- end
37
- end
38
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class Base
4
+ class Patgroups
5
+ include ::OrigenTesters::Generator
6
+
7
+ OUTPUT_POSTFIX = 'patgroups'
8
+
9
+ def add(name, options = {})
10
+ p = platform::Patgroup.new(name, options)
11
+ collection << p
12
+ p
13
+ end
14
+
15
+ def finalize(options = {})
16
+ uniq!
17
+ sort!
18
+ end
19
+
20
+ # Present the patgroups in the final sheet in alphabetical order
21
+ def sort!
22
+ collection.sort_by!(&:name)
23
+ end
24
+
25
+ # Removes all duplicate patgroups
26
+ def uniq!
27
+ uniques = []
28
+ collection.each do |patgroup|
29
+ unless uniques.any? { |p| p == patgroup }
30
+ uniques << patgroup
31
+ end
32
+ end
33
+ self.collection = uniques
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,68 +1,68 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class Base
4
- class Patset
5
- attr_accessor :index
6
-
7
- # Specify multiple patterns by passing an array of attributes
8
- # as the 2nd argument:
9
- #
10
- # Patset.new("mrd1_pset", :pattern => "nvm_mrd1.PAT")
11
- #
12
- # Patset.new("mrd1_pset", [{:pattern => "nvm_mrd1.PAT"},
13
- # {:pattern => "nvm_global_subs.PAT, :start_label => "subr"}
14
- # ])
15
- def initialize(name, attrs = {})
16
- attrs = [attrs] unless attrs.is_a? Array
17
- attrs.each do |pattrs|
18
- if pattrs[:pattern]
19
- pat = Pathname.new(pattrs[:pattern].gsub('\\', '/')).basename('.*').to_s
20
- Origen.interface.referenced_patterns << pat
21
- end
22
- lines << platform::PatsetPattern.new(name, pattrs)
23
- end
24
- self.name = name
25
- end
26
-
27
- def ==(other_patset)
28
- self.class == other_patset.class &&
29
- name.to_s == other_patset.name.to_s &&
30
- sorted_pattern_files == other_patset.sorted_pattern_files
31
- end
32
-
33
- def name
34
- @name
35
- end
36
-
37
- def name=(n)
38
- @name = n
39
- lines.each { |l| l.pattern_set = n }
40
- n
41
- end
42
-
43
- # Returns all lines in the pattern set
44
- def lines
45
- @lines ||= []
46
- end
47
-
48
- # Returns all pattern files in the pattern set in alphabetical order
49
- def sorted_pattern_files
50
- @lines.map(&:file_name).sort
51
- end
52
-
53
- # Returns the fully formatted pattern set for insertion into a patset sheet
54
- def to_s
55
- l = ''
56
- lines.each do |line|
57
- l += "#{line}\r\n"
58
- end
59
- l.chomp
60
- end
61
-
62
- def platform
63
- Origen.interface.platform
64
- end
65
- end
66
- end
67
- end
68
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class Base
4
+ class Patset
5
+ attr_accessor :index
6
+
7
+ # Specify multiple patterns by passing an array of attributes
8
+ # as the 2nd argument:
9
+ #
10
+ # Patset.new("mrd1_pset", :pattern => "nvm_mrd1.PAT")
11
+ #
12
+ # Patset.new("mrd1_pset", [{:pattern => "nvm_mrd1.PAT"},
13
+ # {:pattern => "nvm_global_subs.PAT, :start_label => "subr"}
14
+ # ])
15
+ def initialize(name, attrs = {})
16
+ attrs = [attrs] unless attrs.is_a? Array
17
+ attrs.each do |pattrs|
18
+ if pattrs[:pattern]
19
+ pat = Pathname.new(pattrs[:pattern].gsub('\\', '/')).basename('.*').to_s
20
+ Origen.interface.referenced_patterns << pat
21
+ end
22
+ lines << platform::PatsetPattern.new(name, pattrs)
23
+ end
24
+ self.name = name
25
+ end
26
+
27
+ def ==(other_patset)
28
+ self.class == other_patset.class &&
29
+ name.to_s == other_patset.name.to_s &&
30
+ sorted_pattern_files == other_patset.sorted_pattern_files
31
+ end
32
+
33
+ def name
34
+ @name
35
+ end
36
+
37
+ def name=(n)
38
+ @name = n
39
+ lines.each { |l| l.pattern_set = n }
40
+ n
41
+ end
42
+
43
+ # Returns all lines in the pattern set
44
+ def lines
45
+ @lines ||= []
46
+ end
47
+
48
+ # Returns all pattern files in the pattern set in alphabetical order
49
+ def sorted_pattern_files
50
+ @lines.map(&:file_name).sort
51
+ end
52
+
53
+ # Returns the fully formatted pattern set for insertion into a patset sheet
54
+ def to_s
55
+ l = ''
56
+ lines.each do |line|
57
+ l += "#{line}\r\n"
58
+ end
59
+ l.chomp
60
+ end
61
+
62
+ def platform
63
+ Origen.interface.platform
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -1,56 +1,56 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class Base
4
- class PatsetPattern
5
- ALIASES = {
6
- pattern: :file_name
7
- }
8
-
9
- def self.define
10
- # Generate accessors for all attributes and their aliases
11
- self::PATSET_ATTRS.each do |attr|
12
- writer = "#{attr}=".to_sym
13
- reader = attr.to_sym
14
- attr_reader attr.to_sym unless method_defined? reader
15
- attr_writer attr.to_sym unless method_defined? writer
16
- end
17
-
18
- ALIASES.each do |_alias, val|
19
- writer = "#{_alias}=".to_sym
20
- reader = _alias.to_sym
21
- unless method_defined? writer
22
- define_method("#{_alias}=") do |v|
23
- send("#{val}=", v)
24
- end
25
- end
26
- unless method_defined? reader
27
- define_method("#{_alias}") do
28
- send(val)
29
- end
30
- end
31
- end
32
- end
33
-
34
- def initialize(patset, attrs = {})
35
- # Set the defaults
36
- self.class::PATSET_DEFAULTS.each do |k, v|
37
- send("#{k}=", v)
38
- end
39
- # Then the values that have been supplied
40
- self.pattern_set = patset
41
- attrs.each do |k, v|
42
- send("#{k}=", v)
43
- end
44
- end
45
-
46
- def to_s
47
- l = "\t"
48
- self.class::PATSET_ATTRS.each do |attr|
49
- l += "#{send(attr)}\t"
50
- end
51
- "#{l}"
52
- end
53
- end
54
- end
55
- end
56
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class Base
4
+ class PatsetPattern
5
+ ALIASES = {
6
+ pattern: :file_name
7
+ }
8
+
9
+ def self.define
10
+ # Generate accessors for all attributes and their aliases
11
+ self::PATSET_ATTRS.each do |attr|
12
+ writer = "#{attr}=".to_sym
13
+ reader = attr.to_sym
14
+ attr_reader attr.to_sym unless method_defined? reader
15
+ attr_writer attr.to_sym unless method_defined? writer
16
+ end
17
+
18
+ ALIASES.each do |_alias, val|
19
+ writer = "#{_alias}=".to_sym
20
+ reader = _alias.to_sym
21
+ unless method_defined? writer
22
+ define_method("#{_alias}=") do |v|
23
+ send("#{val}=", v)
24
+ end
25
+ end
26
+ unless method_defined? reader
27
+ define_method("#{_alias}") do
28
+ send(val)
29
+ end
30
+ end
31
+ end
32
+ end
33
+
34
+ def initialize(patset, attrs = {})
35
+ # Set the defaults
36
+ self.class::PATSET_DEFAULTS.each do |k, v|
37
+ send("#{k}=", v)
38
+ end
39
+ # Then the values that have been supplied
40
+ self.pattern_set = patset
41
+ attrs.each do |k, v|
42
+ send("#{k}=", v)
43
+ end
44
+ end
45
+
46
+ def to_s
47
+ l = "\t"
48
+ self.class::PATSET_ATTRS.each do |attr|
49
+ l += "#{send(attr)}\t"
50
+ end
51
+ "#{l}"
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -1,38 +1,38 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class Base
4
- class Patsets
5
- include ::OrigenTesters::Generator
6
-
7
- OUTPUT_POSTFIX = 'patsets'
8
-
9
- def add(name, options = {})
10
- p = platform::Patset.new(name, options)
11
- collection << p
12
- p
13
- end
14
-
15
- def finalize(options = {})
16
- uniq!
17
- sort!
18
- end
19
-
20
- # Present the patsets in the final sheet in alphabetical order
21
- def sort!
22
- collection.sort_by!(&:name)
23
- end
24
-
25
- # Removes all duplicate patsets
26
- def uniq!
27
- uniques = []
28
- collection.each do |patset|
29
- unless uniques.any? { |p| p == patset }
30
- uniques << patset
31
- end
32
- end
33
- self.collection = uniques
34
- end
35
- end
36
- end
37
- end
38
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class Base
4
+ class Patsets
5
+ include ::OrigenTesters::Generator
6
+
7
+ OUTPUT_POSTFIX = 'patsets'
8
+
9
+ def add(name, options = {})
10
+ p = platform::Patset.new(name, options)
11
+ collection << p
12
+ p
13
+ end
14
+
15
+ def finalize(options = {})
16
+ uniq!
17
+ sort!
18
+ end
19
+
20
+ # Present the patsets in the final sheet in alphabetical order
21
+ def sort!
22
+ collection.sort_by!(&:name)
23
+ end
24
+
25
+ # Removes all duplicate patsets
26
+ def uniq!
27
+ uniques = []
28
+ collection.each do |patset|
29
+ unless uniques.any? { |p| p == patset }
30
+ uniques << patset
31
+ end
32
+ end
33
+ self.collection = uniques
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,68 +1,68 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class Base
4
- class Patsubr
5
- attr_accessor :index
6
-
7
- # Specify multiple patterns by passing an array of attributes
8
- # as the 2nd argument:
9
- #
10
- # Patset.new("mrd1_pset", :pattern => "nvm_mrd1.PAT")
11
- #
12
- # Patset.new("mrd1_pset", [{:pattern => "nvm_mrd1.PAT"},
13
- # {:pattern => "nvm_global_subs.PAT, :start_label => "subr"}
14
- # ])
15
- def initialize(name, attrs = {})
16
- attrs = [attrs] unless attrs.is_a? Array
17
- attrs.each do |pattrs|
18
- if pattrs[:pattern]
19
- pat = Pathname.new(pattrs[:pattern].gsub('\\', '/')).basename('.*').to_s
20
- Origen.interface.referenced_patterns << pat
21
- end
22
- lines << platform::PatsubrPattern.new(name, pattrs)
23
- end
24
- self.name = name
25
- end
26
-
27
- def ==(other_patset)
28
- self.class == other_patset.class &&
29
- name.to_s == other_patset.name.to_s &&
30
- sorted_pattern_files == other_patset.sorted_pattern_files
31
- end
32
-
33
- def name
34
- @name
35
- end
36
-
37
- def name=(n)
38
- @name = n
39
- lines.each { |l| l.pattern_set = n }
40
- n
41
- end
42
-
43
- # Returns all lines in the pattern set
44
- def lines
45
- @lines ||= []
46
- end
47
-
48
- # Returns all pattern files in the pattern set in alphabetical order
49
- def sorted_pattern_files
50
- @lines.map(&:file_name).sort
51
- end
52
-
53
- # Returns the fully formatted pattern set for insertion into a patset sheet
54
- def to_s
55
- l = ''
56
- lines.each do |line|
57
- l += "#{line}\r\n"
58
- end
59
- l.chomp
60
- end
61
-
62
- def platform
63
- Origen.interface.platform
64
- end
65
- end
66
- end
67
- end
68
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class Base
4
+ class Patsubr
5
+ attr_accessor :index
6
+
7
+ # Specify multiple patterns by passing an array of attributes
8
+ # as the 2nd argument:
9
+ #
10
+ # Patset.new("mrd1_pset", :pattern => "nvm_mrd1.PAT")
11
+ #
12
+ # Patset.new("mrd1_pset", [{:pattern => "nvm_mrd1.PAT"},
13
+ # {:pattern => "nvm_global_subs.PAT, :start_label => "subr"}
14
+ # ])
15
+ def initialize(name, attrs = {})
16
+ attrs = [attrs] unless attrs.is_a? Array
17
+ attrs.each do |pattrs|
18
+ if pattrs[:pattern]
19
+ pat = Pathname.new(pattrs[:pattern].gsub('\\', '/')).basename('.*').to_s
20
+ Origen.interface.referenced_patterns << pat
21
+ end
22
+ lines << platform::PatsubrPattern.new(name, pattrs)
23
+ end
24
+ self.name = name
25
+ end
26
+
27
+ def ==(other_patset)
28
+ self.class == other_patset.class &&
29
+ name.to_s == other_patset.name.to_s &&
30
+ sorted_pattern_files == other_patset.sorted_pattern_files
31
+ end
32
+
33
+ def name
34
+ @name
35
+ end
36
+
37
+ def name=(n)
38
+ @name = n
39
+ lines.each { |l| l.pattern_set = n }
40
+ n
41
+ end
42
+
43
+ # Returns all lines in the pattern set
44
+ def lines
45
+ @lines ||= []
46
+ end
47
+
48
+ # Returns all pattern files in the pattern set in alphabetical order
49
+ def sorted_pattern_files
50
+ @lines.map(&:file_name).sort
51
+ end
52
+
53
+ # Returns the fully formatted pattern set for insertion into a patset sheet
54
+ def to_s
55
+ l = ''
56
+ lines.each do |line|
57
+ l += "#{line}\r\n"
58
+ end
59
+ l.chomp
60
+ end
61
+
62
+ def platform
63
+ Origen.interface.platform
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end