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,36 +1,36 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class UltraFLEX
4
- require 'origen_testers/igxl_based_tester/base/custom_test_instance'
5
- class CustomTestInstance < Base::CustomTestInstance
6
- # Give all UltraFLEX test instances the ability to contain limits, these will
7
- # be rendered to Use-limit lines in the flow
8
- attr_accessor :lo_limit, :hi_limit, :scale, :units, :defer_limits, :lo, :hi
9
-
10
- # Attributes for each test instance line, first few are named directly
11
- TEST_INSTANCE_ATTRS = %w(
12
- test_name proc_type proc_name proc_called_as dc_category
13
- dc_selector ac_category ac_selector
14
- time_sets edge_sets pin_levels mixedsignal_timing overlay
15
- )
16
-
17
- # Attributes for additional test instance arguments beyond those described above
18
- TEST_INSTANCE_EXTRA_ARGS = 130
19
-
20
- TEST_INSTANCE_DEFAULTS = {
21
- proc_type: 'Other',
22
- proc_called_as: 'VB DLL'
23
- }
24
-
25
- TEST_INSTANCE_ALIASES = {
26
- name: :test_name,
27
- time_set: :time_sets,
28
- timeset: :time_sets,
29
- timesets: :time_sets
30
- }
31
-
32
- define
33
- end
34
- end
35
- end
36
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class UltraFLEX
4
+ require 'origen_testers/igxl_based_tester/base/custom_test_instance'
5
+ class CustomTestInstance < Base::CustomTestInstance
6
+ # Give all UltraFLEX test instances the ability to contain limits, these will
7
+ # be rendered to Use-limit lines in the flow
8
+ attr_accessor :lo_limit, :hi_limit, :scale, :units, :defer_limits, :lo, :hi
9
+
10
+ # Attributes for each test instance line, first few are named directly
11
+ TEST_INSTANCE_ATTRS = %w(
12
+ test_name proc_type proc_name proc_called_as dc_category
13
+ dc_selector ac_category ac_selector
14
+ time_sets edge_sets pin_levels mixedsignal_timing overlay
15
+ )
16
+
17
+ # Attributes for additional test instance arguments beyond those described above
18
+ TEST_INSTANCE_EXTRA_ARGS = 130
19
+
20
+ TEST_INSTANCE_DEFAULTS = {
21
+ proc_type: 'Other',
22
+ proc_called_as: 'VB DLL'
23
+ }
24
+
25
+ TEST_INSTANCE_ALIASES = {
26
+ name: :test_name,
27
+ time_set: :time_sets,
28
+ timeset: :time_sets,
29
+ timesets: :time_sets
30
+ }
31
+
32
+ define
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,10 +1,10 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class UltraFLEX
4
- require 'origen_testers/igxl_based_tester/base/dc_specsets'
5
- class DCSpecsets < Base::DCSpecsets
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/ultraflex/templates/dc_specsets.txt.erb"
7
- end
8
- end
9
- end
10
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class UltraFLEX
4
+ require 'origen_testers/igxl_based_tester/base/dc_specsets'
5
+ class DCSpecsets < Base::DCSpecsets
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/ultraflex/templates/dc_specsets.txt.erb"
7
+ end
8
+ end
9
+ end
10
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class UltraFLEX
4
- require 'origen_testers/igxl_based_tester/base/edge'
5
- class Edge < Base::Edge
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class UltraFLEX
4
+ require 'origen_testers/igxl_based_tester/base/edge'
5
+ class Edge < Base::Edge
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class UltraFLEX
4
- require 'origen_testers/igxl_based_tester/base/edges'
5
- class Edges < Base::Edges
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class UltraFLEX
4
+ require 'origen_testers/igxl_based_tester/base/edges'
5
+ class Edges < Base::Edges
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class UltraFLEX
4
- require 'origen_testers/igxl_based_tester/base/edgeset'
5
- class Edgeset < Base::Edgeset
6
- end
7
- end
8
- end
9
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class UltraFLEX
4
+ require 'origen_testers/igxl_based_tester/base/edgeset'
5
+ class Edgeset < Base::Edgeset
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,10 +1,10 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class UltraFLEX
4
- require 'origen_testers/igxl_based_tester/base/edgesets'
5
- class Edgesets < Base::Edgesets
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/ultraflex/templates/edgesets.txt.erb"
7
- end
8
- end
9
- end
10
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class UltraFLEX
4
+ require 'origen_testers/igxl_based_tester/base/edgesets'
5
+ class Edgesets < Base::Edgesets
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/ultraflex/templates/edgesets.txt.erb"
7
+ end
8
+ end
9
+ end
10
+ end
@@ -1,158 +1,158 @@
1
- module OrigenTesters
2
- module IGXLBasedTester
3
- class UltraFLEX
4
- require 'origen_testers/igxl_based_tester/base/flow'
5
- class Flow < Base::Flow
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/ultraflex/templates/flow.txt.erb"
7
-
8
- SCALES = [:p, :n, :u, :m, :none, :k, :M]
9
-
10
- def on_test(node)
11
- super
12
- ins = node.find(:object).value
13
- if ins.respond_to?(:lo_limit) && (ins.lo_limit || ins.hi_limit) || ins.respond_to?(:lo) && (ins.lo || ins.hi)
14
- if ins.defer_limits
15
- completed_lines.last.opcode = 'Test-defer-limits'
16
- end
17
- limit = completed_lines.last.dup
18
- limit.type = :use_limit
19
- limit.opcode = 'Use-Limit'
20
- limit.parameter = nil
21
- if ins.respond_to?(:lo_limit)
22
- lo = ins.lo_limit
23
- hi = ins.hi_limit
24
- if lo.nil?
25
- lo = ins.lo
26
- end
27
- if hi.nil?
28
- hi = ins.hi
29
- end
30
- elsif ins.respond_to?(:lo)
31
- lo = ins.lo
32
- hi = ins.hi
33
- end
34
- size = 1
35
- if lo.is_a?(Array)
36
- size = lo.size if lo.size > size
37
- end
38
- if hi.is_a?(Array)
39
- size = hi.size if hi.size > size
40
- end
41
-
42
- size.times do |i|
43
- line = limit.dup
44
-
45
- if lo.is_a?(Array)
46
- l = lo[i]
47
- else
48
- l = lo
49
- end
50
-
51
- if hi.is_a?(Array)
52
- h = hi[i]
53
- else
54
- h = hi
55
- end
56
-
57
- if ins.scale
58
- if ins.scale.is_a?(Array)
59
- s = ins.scale[i]
60
- else
61
- s = ins.scale
62
- end
63
- else
64
- unless $tester.ultraflex?
65
- s = lowest_scale(scale_of(l), scale_of(h))
66
- l = scaled(l, s)
67
- h = scaled(h, s)
68
- end
69
- end
70
- line.lolim = l
71
- line.hilim = h
72
- line.scale = s unless s == :none
73
- if ins.units
74
- if ins.units.is_a?(Array)
75
- line.units = ins.units[i]
76
- else
77
- line.units = ins.units
78
- end
79
- end
80
- completed_lines << line
81
- end
82
- end
83
- end
84
-
85
- # Returns the scale that should be best used to represent the given number, returns
86
- # nil in the case where the given number is nil
87
- def scale_of(number)
88
- if number && number.is_a?(Numeric)
89
- number = number.abs
90
- if number >= 1_000_000
91
- :M
92
- elsif number >= 1_000
93
- :k
94
- elsif number >= 0.1
95
- :none
96
- elsif number >= 0.000_1
97
- :m
98
- elsif number >= 0.000_000_1
99
- :u
100
- elsif number >= 0.000_000_000_1
101
- :n
102
- else
103
- :p
104
- end
105
- end
106
- end
107
-
108
- # Returns the lowest of the two scales
109
- def lowest_scale(a, b)
110
- if a == b
111
- a
112
- elsif !a
113
- b
114
- elsif !b
115
- a
116
- else
117
- if SCALES.index(a) < SCALES.index(b)
118
- a
119
- else
120
- b
121
- end
122
- end
123
- end
124
-
125
- def scaled(number, scale)
126
- if number
127
- if number.is_a?(Numeric)
128
- number = number.to_f
129
- if scale
130
- case scale
131
- when :M
132
- number = number / 1_000_000
133
- when :k
134
- number = number / 1_000
135
- when :m
136
- number = number * 1_000
137
- when :u
138
- number = number * 1_000_000
139
- when :n
140
- number = number * 1_000_000_000
141
- when :p
142
- number = number * 1_000_000_000_000
143
- end
144
- end
145
- if number.round(2) == number.to_i.to_f.round(2)
146
- number.to_i
147
- else
148
- number.round(2)
149
- end
150
- else
151
- number
152
- end
153
- end
154
- end
155
- end
156
- end
157
- end
158
- end
1
+ module OrigenTesters
2
+ module IGXLBasedTester
3
+ class UltraFLEX
4
+ require 'origen_testers/igxl_based_tester/base/flow'
5
+ class Flow < Base::Flow
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/igxl_based_tester/ultraflex/templates/flow.txt.erb"
7
+
8
+ SCALES = [:p, :n, :u, :m, :none, :k, :M]
9
+
10
+ def on_test(node)
11
+ super
12
+ ins = node.find(:object).value
13
+ if ins.respond_to?(:lo_limit) && (ins.lo_limit || ins.hi_limit) || ins.respond_to?(:lo) && (ins.lo || ins.hi)
14
+ if ins.defer_limits
15
+ completed_lines.last.opcode = 'Test-defer-limits'
16
+ end
17
+ limit = completed_lines.last.dup
18
+ limit.type = :use_limit
19
+ limit.opcode = 'Use-Limit'
20
+ limit.parameter = nil
21
+ if ins.respond_to?(:lo_limit)
22
+ lo = ins.lo_limit
23
+ hi = ins.hi_limit
24
+ if lo.nil?
25
+ lo = ins.lo
26
+ end
27
+ if hi.nil?
28
+ hi = ins.hi
29
+ end
30
+ elsif ins.respond_to?(:lo)
31
+ lo = ins.lo
32
+ hi = ins.hi
33
+ end
34
+ size = 1
35
+ if lo.is_a?(Array)
36
+ size = lo.size if lo.size > size
37
+ end
38
+ if hi.is_a?(Array)
39
+ size = hi.size if hi.size > size
40
+ end
41
+
42
+ size.times do |i|
43
+ line = limit.dup
44
+
45
+ if lo.is_a?(Array)
46
+ l = lo[i]
47
+ else
48
+ l = lo
49
+ end
50
+
51
+ if hi.is_a?(Array)
52
+ h = hi[i]
53
+ else
54
+ h = hi
55
+ end
56
+
57
+ if ins.scale
58
+ if ins.scale.is_a?(Array)
59
+ s = ins.scale[i]
60
+ else
61
+ s = ins.scale
62
+ end
63
+ else
64
+ unless $tester.ultraflex?
65
+ s = lowest_scale(scale_of(l), scale_of(h))
66
+ l = scaled(l, s)
67
+ h = scaled(h, s)
68
+ end
69
+ end
70
+ line.lolim = l
71
+ line.hilim = h
72
+ line.scale = s unless s == :none
73
+ if ins.units
74
+ if ins.units.is_a?(Array)
75
+ line.units = ins.units[i]
76
+ else
77
+ line.units = ins.units
78
+ end
79
+ end
80
+ completed_lines << line
81
+ end
82
+ end
83
+ end
84
+
85
+ # Returns the scale that should be best used to represent the given number, returns
86
+ # nil in the case where the given number is nil
87
+ def scale_of(number)
88
+ if number && number.is_a?(Numeric)
89
+ number = number.abs
90
+ if number >= 1_000_000
91
+ :M
92
+ elsif number >= 1_000
93
+ :k
94
+ elsif number >= 0.1
95
+ :none
96
+ elsif number >= 0.000_1
97
+ :m
98
+ elsif number >= 0.000_000_1
99
+ :u
100
+ elsif number >= 0.000_000_000_1
101
+ :n
102
+ else
103
+ :p
104
+ end
105
+ end
106
+ end
107
+
108
+ # Returns the lowest of the two scales
109
+ def lowest_scale(a, b)
110
+ if a == b
111
+ a
112
+ elsif !a
113
+ b
114
+ elsif !b
115
+ a
116
+ else
117
+ if SCALES.index(a) < SCALES.index(b)
118
+ a
119
+ else
120
+ b
121
+ end
122
+ end
123
+ end
124
+
125
+ def scaled(number, scale)
126
+ if number
127
+ if number.is_a?(Numeric)
128
+ number = number.to_f
129
+ if scale
130
+ case scale
131
+ when :M
132
+ number = number / 1_000_000
133
+ when :k
134
+ number = number / 1_000
135
+ when :m
136
+ number = number * 1_000
137
+ when :u
138
+ number = number * 1_000_000
139
+ when :n
140
+ number = number * 1_000_000_000
141
+ when :p
142
+ number = number * 1_000_000_000_000
143
+ end
144
+ end
145
+ if number.round(2) == number.to_i.to_f.round(2)
146
+ number.to_i
147
+ else
148
+ number.round(2)
149
+ end
150
+ else
151
+ number
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
158
+ end