origen_testers 0.40.0 → 0.41.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (311) hide show
  1. checksums.yaml +4 -4
  2. data/config/application.rb +0 -0
  3. data/config/boot.rb +0 -0
  4. data/config/commands.rb +0 -0
  5. data/config/global_commands.rb +0 -0
  6. data/config/shared_commands.rb +0 -0
  7. data/config/users.rb +0 -0
  8. data/config/version.rb +1 -1
  9. data/lib/commands/build.rb +0 -0
  10. data/lib/commands/convert.rb +0 -0
  11. data/lib/commands/run.rb +0 -0
  12. data/lib/origen_testers/api.rb +4 -0
  13. data/lib/origen_testers/atp.rb +0 -0
  14. data/lib/origen_testers/atp/ast/extractor.rb +0 -0
  15. data/lib/origen_testers/atp/ast/node.rb +0 -0
  16. data/lib/origen_testers/atp/flow.rb +59 -40
  17. data/lib/origen_testers/atp/flow_api.rb +0 -0
  18. data/lib/origen_testers/atp/formatter.rb +0 -0
  19. data/lib/origen_testers/atp/formatters/basic.rb +0 -0
  20. data/lib/origen_testers/atp/formatters/datalog.rb +0 -0
  21. data/lib/origen_testers/atp/parser.rb +0 -0
  22. data/lib/origen_testers/atp/processor.rb +0 -0
  23. data/lib/origen_testers/atp/processors/add_ids.rb +0 -0
  24. data/lib/origen_testers/atp/processors/add_set_result.rb +0 -0
  25. data/lib/origen_testers/atp/processors/adjacent_if_combiner.rb +0 -0
  26. data/lib/origen_testers/atp/processors/append_to.rb +0 -0
  27. data/lib/origen_testers/atp/processors/apply_post_group_actions.rb +0 -0
  28. data/lib/origen_testers/atp/processors/condition.rb +0 -0
  29. data/lib/origen_testers/atp/processors/continue_implementer.rb +0 -0
  30. data/lib/origen_testers/atp/processors/else_remover.rb +0 -0
  31. data/lib/origen_testers/atp/processors/empty_branch_remover.rb +0 -0
  32. data/lib/origen_testers/atp/processors/extract_set_flags.rb +0 -0
  33. data/lib/origen_testers/atp/processors/flag_optimizer.rb +0 -0
  34. data/lib/origen_testers/atp/processors/flattener.rb +0 -0
  35. data/lib/origen_testers/atp/processors/flow_id.rb +4 -0
  36. data/lib/origen_testers/atp/processors/marshal.rb +0 -0
  37. data/lib/origen_testers/atp/processors/on_pass_fail_remover.rb +0 -0
  38. data/lib/origen_testers/atp/processors/one_flag_per_test.rb +0 -0
  39. data/lib/origen_testers/atp/processors/pre_cleaner.rb +4 -0
  40. data/lib/origen_testers/atp/processors/redundant_condition_remover.rb +0 -0
  41. data/lib/origen_testers/atp/processors/relationship.rb +24 -0
  42. data/lib/origen_testers/atp/processors/sub_flow_remover.rb +0 -0
  43. data/lib/origen_testers/atp/program.rb +0 -0
  44. data/lib/origen_testers/atp/runner.rb +0 -0
  45. data/lib/origen_testers/atp/validator.rb +0 -0
  46. data/lib/origen_testers/atp/validators/condition.rb +0 -0
  47. data/lib/origen_testers/atp/validators/duplicate_ids.rb +0 -0
  48. data/lib/origen_testers/atp/validators/flags.rb +0 -0
  49. data/lib/origen_testers/atp/validators/jobs.rb +0 -0
  50. data/lib/origen_testers/atp/validators/missing_ids.rb +0 -0
  51. data/lib/origen_testers/atp_deprecation.rb +0 -0
  52. data/lib/origen_testers/basic_test_setups.rb +0 -0
  53. data/lib/origen_testers/callback_handlers.rb +0 -0
  54. data/lib/origen_testers/command_based_tester.rb +0 -0
  55. data/lib/origen_testers/flow.rb +0 -0
  56. data/lib/origen_testers/generator/identity_map.rb +0 -0
  57. data/lib/origen_testers/generator/placeholder.rb +0 -0
  58. data/lib/origen_testers/generator/test_numberer.rb +0 -0
  59. data/lib/origen_testers/igxl_based_tester.rb +0 -0
  60. data/lib/origen_testers/igxl_based_tester/base/custom_test_instance.rb +0 -0
  61. data/lib/origen_testers/igxl_based_tester/base/flow.rb +35 -3
  62. data/lib/origen_testers/igxl_based_tester/base/flow_line.rb +0 -0
  63. data/lib/origen_testers/igxl_based_tester/base/patgroup.rb +0 -0
  64. data/lib/origen_testers/igxl_based_tester/base/patgroups.rb +0 -0
  65. data/lib/origen_testers/igxl_based_tester/base/patset.rb +0 -0
  66. data/lib/origen_testers/igxl_based_tester/base/patset_pattern.rb +0 -0
  67. data/lib/origen_testers/igxl_based_tester/base/patsets.rb +0 -0
  68. data/lib/origen_testers/igxl_based_tester/base/patsubr.rb +0 -0
  69. data/lib/origen_testers/igxl_based_tester/base/patsubr_pattern.rb +0 -0
  70. data/lib/origen_testers/igxl_based_tester/base/patsubrs.rb +0 -0
  71. data/lib/origen_testers/igxl_based_tester/base/test_instance_group.rb +0 -0
  72. data/lib/origen_testers/igxl_based_tester/base/test_instances.rb +0 -0
  73. data/lib/origen_testers/igxl_based_tester/base/test_instances/custom_til.rb +0 -0
  74. data/lib/origen_testers/igxl_based_tester/files.rb +0 -0
  75. data/lib/origen_testers/igxl_based_tester/j750.rb +0 -0
  76. data/lib/origen_testers/igxl_based_tester/j750/custom_test_instance.rb +0 -0
  77. data/lib/origen_testers/igxl_based_tester/j750/flow.rb +0 -0
  78. data/lib/origen_testers/igxl_based_tester/j750/flow_line.rb +0 -0
  79. data/lib/origen_testers/igxl_based_tester/j750/generator.rb +0 -0
  80. data/lib/origen_testers/igxl_based_tester/j750/patgroup.rb +0 -0
  81. data/lib/origen_testers/igxl_based_tester/j750/patgroups.rb +0 -0
  82. data/lib/origen_testers/igxl_based_tester/j750/patset.rb +0 -0
  83. data/lib/origen_testers/igxl_based_tester/j750/patset_pattern.rb +0 -0
  84. data/lib/origen_testers/igxl_based_tester/j750/patsets.rb +0 -0
  85. data/lib/origen_testers/igxl_based_tester/j750/patsubr.rb +0 -0
  86. data/lib/origen_testers/igxl_based_tester/j750/patsubr_pattern.rb +0 -0
  87. data/lib/origen_testers/igxl_based_tester/j750/patsubrs.rb +0 -0
  88. data/lib/origen_testers/igxl_based_tester/j750/templates/flow.txt.erb +0 -0
  89. data/lib/origen_testers/igxl_based_tester/j750/templates/instances.txt.erb +0 -0
  90. data/lib/origen_testers/igxl_based_tester/j750/templates/patgroups.txt.erb +0 -0
  91. data/lib/origen_testers/igxl_based_tester/j750/templates/patsets.txt.erb +0 -0
  92. data/lib/origen_testers/igxl_based_tester/j750/templates/patsubrs.txt.erb +0 -0
  93. data/lib/origen_testers/igxl_based_tester/j750/test_instance.rb +0 -0
  94. data/lib/origen_testers/igxl_based_tester/j750/test_instance_group.rb +0 -0
  95. data/lib/origen_testers/igxl_based_tester/j750/test_instances.rb +0 -0
  96. data/lib/origen_testers/igxl_based_tester/j750_hpt.rb +0 -0
  97. data/lib/origen_testers/igxl_based_tester/j750_hpt/custom_test_instance.rb +0 -0
  98. data/lib/origen_testers/igxl_based_tester/j750_hpt/flow.rb +0 -0
  99. data/lib/origen_testers/igxl_based_tester/j750_hpt/flow_line.rb +0 -0
  100. data/lib/origen_testers/igxl_based_tester/j750_hpt/generator.rb +0 -0
  101. data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroup.rb +0 -0
  102. data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroups.rb +0 -0
  103. data/lib/origen_testers/igxl_based_tester/j750_hpt/patset.rb +0 -0
  104. data/lib/origen_testers/igxl_based_tester/j750_hpt/patset_pattern.rb +0 -0
  105. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsets.rb +0 -0
  106. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr.rb +0 -0
  107. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr_pattern.rb +0 -0
  108. data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubrs.rb +0 -0
  109. data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance.rb +0 -0
  110. data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance_group.rb +0 -0
  111. data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instances.rb +0 -0
  112. data/lib/origen_testers/igxl_based_tester/parser.rb +0 -0
  113. data/lib/origen_testers/igxl_based_tester/parser/ac_spec.rb +0 -0
  114. data/lib/origen_testers/igxl_based_tester/parser/ac_specs.rb +0 -0
  115. data/lib/origen_testers/igxl_based_tester/parser/dc_spec.rb +0 -0
  116. data/lib/origen_testers/igxl_based_tester/parser/dc_specs.rb +0 -0
  117. data/lib/origen_testers/igxl_based_tester/parser/descriptions.rb +0 -0
  118. data/lib/origen_testers/igxl_based_tester/parser/flow.rb +0 -0
  119. data/lib/origen_testers/igxl_based_tester/parser/flow_line.rb +0 -0
  120. data/lib/origen_testers/igxl_based_tester/parser/flows.rb +0 -0
  121. data/lib/origen_testers/igxl_based_tester/parser/pattern_set.rb +0 -0
  122. data/lib/origen_testers/igxl_based_tester/parser/pattern_sets.rb +0 -0
  123. data/lib/origen_testers/igxl_based_tester/parser/test_instance.rb +0 -0
  124. data/lib/origen_testers/igxl_based_tester/parser/test_instances.rb +0 -0
  125. data/lib/origen_testers/igxl_based_tester/parser/timeset.rb +0 -0
  126. data/lib/origen_testers/igxl_based_tester/parser/timesets.rb +0 -0
  127. data/lib/origen_testers/igxl_based_tester/ultraflex/flow_line.rb +0 -0
  128. data/lib/origen_testers/igxl_based_tester/ultraflex/generator.rb +0 -0
  129. data/lib/origen_testers/igxl_based_tester/ultraflex/patgroup.rb +0 -0
  130. data/lib/origen_testers/igxl_based_tester/ultraflex/patgroups.rb +0 -0
  131. data/lib/origen_testers/igxl_based_tester/ultraflex/patset.rb +0 -0
  132. data/lib/origen_testers/igxl_based_tester/ultraflex/patset_pattern.rb +0 -0
  133. data/lib/origen_testers/igxl_based_tester/ultraflex/patsets.rb +0 -0
  134. data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr.rb +0 -0
  135. data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr_pattern.rb +0 -0
  136. data/lib/origen_testers/igxl_based_tester/ultraflex/patsubrs.rb +0 -0
  137. data/lib/origen_testers/igxl_based_tester/ultraflex/pinmap.rb +0 -0
  138. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/flow.txt.erb +0 -0
  139. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/instances.txt.erb +0 -0
  140. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/patgroups.txt.erb +0 -0
  141. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/patsets.txt.erb +0 -0
  142. data/lib/origen_testers/igxl_based_tester/ultraflex/templates/patsubrs.txt.erb +0 -0
  143. data/lib/origen_testers/igxl_based_tester/ultraflex/test_instance_group.rb +0 -0
  144. data/lib/origen_testers/igxl_based_tester/ultraflex/test_instances.rb +0 -0
  145. data/lib/origen_testers/labview_based_tester.rb +0 -0
  146. data/lib/origen_testers/memory_style.rb +0 -0
  147. data/lib/origen_testers/no_interface.rb +0 -0
  148. data/lib/origen_testers/origen_ext/application/runner.rb +0 -0
  149. data/lib/origen_testers/origen_ext/generator.rb +0 -0
  150. data/lib/origen_testers/origen_ext/generator/flow.rb +32 -4
  151. data/lib/origen_testers/origen_ext/generator/pattern.rb +0 -0
  152. data/lib/origen_testers/origen_ext/generator/resources.rb +0 -0
  153. data/lib/origen_testers/parser.rb +0 -0
  154. data/lib/origen_testers/parser/description_lookup.rb +0 -0
  155. data/lib/origen_testers/parser/searchable_array.rb +0 -0
  156. data/lib/origen_testers/parser/searchable_hash.rb +0 -0
  157. data/lib/origen_testers/pattern_compilers.rb +0 -0
  158. data/lib/origen_testers/pattern_compilers/assembler.rb +0 -0
  159. data/lib/origen_testers/pattern_compilers/base.rb +0 -0
  160. data/lib/origen_testers/pattern_compilers/igxl_based.rb +0 -0
  161. data/lib/origen_testers/pattern_compilers/j750.rb +0 -0
  162. data/lib/origen_testers/pattern_compilers/job.rb +0 -0
  163. data/lib/origen_testers/pattern_compilers/runner.rb +0 -0
  164. data/lib/origen_testers/pattern_compilers/templates/template.aiv.erb +0 -0
  165. data/lib/origen_testers/pattern_compilers/ultraflex.rb +0 -0
  166. data/lib/origen_testers/pattern_compilers/v93k.rb +0 -0
  167. data/lib/origen_testers/pattern_compilers/v93k/digcap.rb +0 -0
  168. data/lib/origen_testers/pattern_compilers/v93k/multiport.rb +0 -0
  169. data/lib/origen_testers/program_generators.rb +0 -0
  170. data/lib/origen_testers/smartest_based_tester.rb +0 -0
  171. data/lib/origen_testers/smartest_based_tester/base.rb +0 -0
  172. data/lib/origen_testers/smartest_based_tester/base/flow.rb +75 -0
  173. data/lib/origen_testers/smartest_based_tester/base/generator.rb +0 -0
  174. data/lib/origen_testers/smartest_based_tester/base/limits_file.rb +0 -0
  175. data/lib/origen_testers/smartest_based_tester/base/pattern_compiler.rb +0 -0
  176. data/lib/origen_testers/smartest_based_tester/base/pattern_master.rb +0 -0
  177. data/lib/origen_testers/smartest_based_tester/base/processors/extract_bin_names.rb +0 -0
  178. data/lib/origen_testers/smartest_based_tester/base/processors/extract_flow_vars.rb +11 -1
  179. data/lib/origen_testers/smartest_based_tester/base/test_method.rb +1 -0
  180. data/lib/origen_testers/smartest_based_tester/base/test_methods.rb +0 -0
  181. data/lib/origen_testers/smartest_based_tester/base/test_methods/ac_tml.rb +0 -0
  182. data/lib/origen_testers/smartest_based_tester/base/test_methods/base_tml.rb +0 -0
  183. data/lib/origen_testers/smartest_based_tester/base/test_methods/custom_tml.rb +0 -0
  184. data/lib/origen_testers/smartest_based_tester/base/test_methods/dc_tml.rb +0 -0
  185. data/lib/origen_testers/smartest_based_tester/base/test_methods/limits.rb +6 -0
  186. data/lib/origen_testers/smartest_based_tester/base/test_suite.rb +1 -1
  187. data/lib/origen_testers/smartest_based_tester/base/test_suites.rb +0 -0
  188. data/lib/origen_testers/smartest_based_tester/base/variables_file.rb +4 -2
  189. data/lib/origen_testers/smartest_based_tester/smt7.rb +0 -0
  190. data/lib/origen_testers/smartest_based_tester/smt8.rb +0 -0
  191. data/lib/origen_testers/smartest_based_tester/v93k.rb +0 -0
  192. data/lib/origen_testers/smartest_based_tester/v93k/builder.rb +0 -0
  193. data/lib/origen_testers/smartest_based_tester/v93k/builder/flow.rb +0 -0
  194. data/lib/origen_testers/smartest_based_tester/v93k/builder/pattern_master.rb +0 -0
  195. data/lib/origen_testers/smartest_based_tester/v93k/flow.rb +0 -0
  196. data/lib/origen_testers/smartest_based_tester/v93k/generator.rb +0 -0
  197. data/lib/origen_testers/smartest_based_tester/v93k/limits_file.rb +0 -0
  198. data/lib/origen_testers/smartest_based_tester/v93k/pattern_compiler.rb +0 -0
  199. data/lib/origen_testers/smartest_based_tester/v93k/pattern_master.rb +0 -0
  200. data/lib/origen_testers/smartest_based_tester/v93k/templates/limits.csv.erb +0 -0
  201. data/lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb +0 -0
  202. data/lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb +0 -0
  203. data/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb +4 -4
  204. data/lib/origen_testers/smartest_based_tester/v93k/templates/vars.tf.erb +0 -0
  205. data/lib/origen_testers/smartest_based_tester/v93k/test_method.rb +0 -0
  206. data/lib/origen_testers/smartest_based_tester/v93k/test_methods.rb +0 -0
  207. data/lib/origen_testers/smartest_based_tester/v93k/test_suite.rb +10 -4
  208. data/lib/origen_testers/smartest_based_tester/v93k/test_suites.rb +0 -0
  209. data/lib/origen_testers/smartest_based_tester/v93k/variables_file.rb +0 -0
  210. data/lib/origen_testers/smartest_based_tester/v93k_smt8.rb +0 -0
  211. data/lib/origen_testers/smartest_based_tester/v93k_smt8/flow.rb +0 -0
  212. data/lib/origen_testers/smartest_based_tester/v93k_smt8/generator.rb +0 -0
  213. data/lib/origen_testers/smartest_based_tester/v93k_smt8/limits_file.rb +0 -0
  214. data/lib/origen_testers/smartest_based_tester/v93k_smt8/limits_workbook.rb +0 -0
  215. data/lib/origen_testers/smartest_based_tester/v93k_smt8/templates/limits.csv.erb +0 -0
  216. data/lib/origen_testers/smartest_based_tester/v93k_smt8/templates/template.flow.erb +0 -0
  217. data/lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb +0 -0
  218. data/lib/origen_testers/stil_based_tester.rb +0 -0
  219. data/lib/origen_testers/stil_based_tester/base.rb +0 -0
  220. data/lib/origen_testers/stil_based_tester/d10.rb +0 -0
  221. data/lib/origen_testers/stil_based_tester/stil.rb +0 -0
  222. data/lib/origen_testers/test/basic_interface.rb +0 -0
  223. data/lib/origen_testers/test/block.rb +0 -0
  224. data/lib/origen_testers/test/custom_test_interface.rb +13 -0
  225. data/lib/origen_testers/test/dut.rb +7 -0
  226. data/lib/origen_testers/test/dut2.rb +0 -0
  227. data/lib/origen_testers/test/interface.rb +0 -0
  228. data/lib/origen_testers/test/nvm.rb +0 -0
  229. data/lib/origen_testers/timing.rb +0 -0
  230. data/lib/origen_testers/vector.rb +0 -0
  231. data/lib/origen_testers/vector_based_tester.rb +0 -0
  232. data/lib/origen_testers/vector_generator.rb +0 -0
  233. data/lib/origen_testers/vector_pipeline.rb +0 -0
  234. data/pattern/bitmap.rb +0 -0
  235. data/pattern/dc_instr.rb +0 -0
  236. data/pattern/delay.rb +0 -0
  237. data/pattern/freq_counter.rb +0 -0
  238. data/pattern/mem_test.rb +0 -0
  239. data/pattern/multi_vector.rb +0 -0
  240. data/pattern/multi_vector_plus1.rb +0 -0
  241. data/pattern/nvm/j750/add_late_pins.rb +0 -0
  242. data/pattern/nvm/j750/iterator_postfix_test_x_bx.rb +0 -0
  243. data/pattern/nvm/j750/iterator_test_x_bx.rb +0 -0
  244. data/pattern/nvm/j750/j750_halt.rb +0 -0
  245. data/pattern/nvm/j750/j750_workout.rb +0 -0
  246. data/pattern/nvm/j750/timing.rb +0 -0
  247. data/pattern/nvm/v93k/v93k_workout.rb +0 -0
  248. data/pattern/read_write_reg.rb +0 -0
  249. data/pattern/reset.rb +0 -0
  250. data/pattern/single_overlay_store.rb +0 -0
  251. data/pattern/subroutines.rb +0 -0
  252. data/pattern/tester_overlay.rb +0 -0
  253. data/pattern/tester_store.rb +0 -0
  254. data/program/_additional_erase.rb +0 -0
  255. data/program/_efa_resources.rb +0 -0
  256. data/program/_erase.rb +0 -0
  257. data/program/_erase_vfy.rb +0 -0
  258. data/program/_iv_resources.rb +0 -0
  259. data/program/basic_interface.rb +0 -0
  260. data/program/components/_deep_nested.rb +0 -0
  261. data/program/components/_prb1_main.rb +21 -0
  262. data/program/components/_prb2_main.rb +0 -0
  263. data/program/components/_small.rb +0 -0
  264. data/program/components/_temp.rb +0 -0
  265. data/program/custom_tests.rb +3 -0
  266. data/program/flow_control.rb +47 -0
  267. data/program/prb1.rb +0 -0
  268. data/program/prb1_resources.rb +0 -0
  269. data/program/prb2.rb +0 -0
  270. data/program/test.rb +0 -0
  271. data/templates/example.txt.erb +0 -0
  272. data/templates/j750/_vt_flow.txt.erb +0 -0
  273. data/templates/j750/_vt_instances.txt.erb +0 -0
  274. data/templates/j750/program_sheet.txt.erb +0 -0
  275. data/templates/manifest/v93k.yaml.erb +0 -0
  276. data/templates/origen_guides/pattern/common.md.erb +0 -0
  277. data/templates/origen_guides/pattern/creating.md.erb +0 -0
  278. data/templates/origen_guides/pattern/custom.md.erb +0 -0
  279. data/templates/origen_guides/pattern/documenting.md.erb +0 -0
  280. data/templates/origen_guides/pattern/introduction.md.erb +0 -0
  281. data/templates/origen_guides/pattern/j750.md.erb +0 -0
  282. data/templates/origen_guides/pattern/name.md.erb +0 -0
  283. data/templates/origen_guides/pattern/pins.md.erb +0 -0
  284. data/templates/origen_guides/pattern/registers.md.erb +0 -0
  285. data/templates/origen_guides/pattern/running.md.erb +0 -0
  286. data/templates/origen_guides/pattern/stil.md.erb +0 -0
  287. data/templates/origen_guides/pattern/timing.md.erb +0 -0
  288. data/templates/origen_guides/pattern/ultraflex.md.erb +0 -0
  289. data/templates/origen_guides/pattern/v93k.md.erb +0 -0
  290. data/templates/origen_guides/program/code.md.erb +0 -0
  291. data/templates/origen_guides/program/custom.md.erb +0 -0
  292. data/templates/origen_guides/program/doc.md.erb +0 -0
  293. data/templates/origen_guides/program/flowapi.md.erb +60 -0
  294. data/templates/origen_guides/program/flows.md.erb +0 -0
  295. data/templates/origen_guides/program/generating.md.erb +0 -0
  296. data/templates/origen_guides/program/interface.md.erb +34 -1
  297. data/templates/origen_guides/program/introduction.md.erb +0 -0
  298. data/templates/origen_guides/program/j750.md.erb +36 -0
  299. data/templates/origen_guides/program/philosophy.md.erb +0 -0
  300. data/templates/origen_guides/program/resources.md.erb +0 -0
  301. data/templates/origen_guides/program/ultraflex.md.erb +0 -0
  302. data/templates/origen_guides/program/v93k.md.erb +3 -0
  303. data/templates/origen_guides/program/v93ksmt7.md.erb +0 -0
  304. data/templates/origen_guides/program/v93ksmt8.md.erb +0 -0
  305. data/templates/web/index.md.erb +0 -0
  306. data/templates/web/layouts/_basic.html.erb +0 -0
  307. data/templates/web/layouts/_guides.html.erb +0 -0
  308. data/templates/web/partials/_navbar.html.erb +0 -0
  309. data/templates/web/partials/_placeholder.md.erb +0 -0
  310. data/templates/web/release_notes.md.erb +0 -0
  311. metadata +3 -4
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -11,6 +11,9 @@ module Origen
11
11
  # Create a call stack of flows so that we can work out where the nodes
12
12
  # of the ATP AST originated from
13
13
  def create(options = {}, &block)
14
+ options = {
15
+ reload_target: true
16
+ }.merge(options)
14
17
  # Patch for Windows operation since the path can start with something like "C:/"
15
18
  if caller[0] =~ /(:(\/|\\))/
16
19
  orig_separator = Regexp.last_match(1)
@@ -89,10 +92,9 @@ module Origen
89
92
 
90
93
  # @api private
91
94
  def _create(options = {}, &block)
92
- # Refresh the target to start all settings from scratch each time
93
- # This is an easy way to reset all registered values
94
- Origen.app.reload_target!
95
- Origen.tester.generating = :program
95
+ options = {
96
+ reload_target: true
97
+ }.merge(options)
96
98
  # Make the top level flow globally available, this helps to assign test descriptions
97
99
  # to the correct flow whenever tests are instantiated from sub-flows
98
100
  if Origen.interface_loaded? && Origen.interface.top_level_flow
@@ -106,6 +108,10 @@ module Origen
106
108
  job.output_file_body = options.delete(:name).to_s if options[:name]
107
109
  if sub_flow
108
110
  interface = Origen.interface
111
+ if reload_target?(interface, options)
112
+ Origen.app.reload_target!
113
+ Origen.tester.generating = :program
114
+ end
109
115
  opts = Origen.generator.option_pipeline.pop || {}
110
116
  Origen.interface.startup(options) if Origen.interface.respond_to?(:startup)
111
117
  interface.instance_exec(opts, &block)
@@ -117,6 +123,10 @@ module Origen
117
123
  else
118
124
  Origen.log.info "Generating... #{Origen.file_handler.current_file.basename}"
119
125
  interface = Origen.reset_interface(options)
126
+ if reload_target?(interface, options)
127
+ Origen.app.reload_target!
128
+ Origen.tester.generating = :program
129
+ end
120
130
  Origen.interface.set_top_level_flow
121
131
  Origen.interface.flow_generator.set_flow_description(Origen.interface.consume_comments)
122
132
  options[:top_level] = true
@@ -171,6 +181,24 @@ module Origen
171
181
  end
172
182
  [flow_comments, comments]
173
183
  end
184
+
185
+ private
186
+
187
+ def reload_target?(interface, options)
188
+ if interface.respond_to?(:reload_target)
189
+ # If the test interface cares about reloading the target,
190
+ # it can veto the default behavior of reloading the target
191
+ if interface.reload_target && options[:reload_target]
192
+ true
193
+ else
194
+ false
195
+ end
196
+ elsif options[:reload_target]
197
+ true
198
+ else
199
+ false
200
+ end
201
+ end
174
202
  end
175
203
  end
176
204
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -5,6 +5,15 @@ module OrigenTesters
5
5
  class Flow < ATP::Formatter
6
6
  include OrigenTesters::Flow
7
7
 
8
+ RELATIONAL_OPERATOR_STRINGS = {
9
+ eq: '==',
10
+ ne: '!=',
11
+ gt: '>',
12
+ ge: '>=',
13
+ lt: '<',
14
+ le: '<='
15
+ }
16
+
8
17
  attr_accessor :test_suites, :test_methods, :lines, :stack, :var_filename
9
18
  # Returns an array containing all runtime variables which get set by the flow
10
19
  attr_reader :set_runtime_variables
@@ -424,6 +433,72 @@ module OrigenTesters
424
433
  end
425
434
  alias_method :on_unless_flag, :on_if_flag
426
435
 
436
+ def on_whenever(node)
437
+ expressions, *nodes = *node
438
+
439
+ case node.type
440
+ when :whenever_all
441
+ condition = expressions.map { |e| "#{generate_expr_string(e)}" }.join(' and ')
442
+ when :whenever_any
443
+ condition = expressions.map { |e| "#{generate_expr_string(e)}" }.join(' or ')
444
+ else
445
+ condition = expressions.map { |e| "#{generate_expr_string(e)}" }.join('ERROR')
446
+ end
447
+
448
+ line "if #{condition} then"
449
+ line '{'
450
+ @indent += 1
451
+ process_all(node.children)
452
+ @indent -= 1
453
+ line '}'
454
+ line 'else'
455
+ line '{'
456
+ line '}'
457
+ end
458
+ alias_method :on_whenever_any, :on_whenever
459
+ alias_method :on_whenever_all, :on_whenever
460
+
461
+ def generate_expr_string(node, options = {})
462
+ return node unless node.respond_to?(:type)
463
+ case node.type
464
+ when :eq, :ne, :gt, :ge, :lt, :le
465
+ result = "#{generate_expr_term(node.to_a[0])} " # operand 1
466
+ result += "#{RELATIONAL_OPERATOR_STRINGS[node.type]} " # relational condition
467
+ result += "#{generate_expr_term(node.to_a[1])}" # operand 2
468
+ result
469
+ else
470
+ fail "Relational operator '#{node.type}' not supported"
471
+ end
472
+ end
473
+
474
+ def generate_expr_term(val)
475
+ return val if val.is_a?(Fixnum) || val.is_a?(Integer) || val.is_a?(Float)
476
+ case val[0]
477
+ when '$'
478
+ if smt8?
479
+ "#{val[1..-1]}"
480
+ else
481
+ "@#{val[1..-1]}"
482
+ end
483
+ else
484
+ if val.is_a? String
485
+ "\"#{val}\""
486
+ else
487
+ val
488
+ end
489
+ end
490
+ end
491
+
492
+ def on_set(node)
493
+ flag = generate_flag_name(node.to_a[0])
494
+ val = generate_expr_term(node.to_a[1])
495
+ if smt8?
496
+ line "#{flag} = #{val};"
497
+ else
498
+ line "@#{flag} = #{val};"
499
+ end
500
+ end
501
+
427
502
  def on_enable(node)
428
503
  flag = node.value.upcase
429
504
  if smt8?
@@ -21,7 +21,12 @@ module OrigenTesters
21
21
  process(node)
22
22
  OWNERS.each do |t|
23
23
  CATEGORIES.each do |c|
24
- @variables[t][c] = @variables[t][c].to_a.sort do |x, y|
24
+ curr_vars = @variables[t][c].to_a.dup
25
+ flag_classes = curr_vars.map(&:class)
26
+ if flag_classes.include?(String) && flag_classes.include?(Symbol)
27
+ curr_vars.map!(&:to_s)
28
+ end
29
+ @variables[t][c] = curr_vars.sort do |x, y|
25
30
  x = x[0] if x.is_a?(Array)
26
31
  y = y[0] if y.is_a?(Array)
27
32
  x <=> y
@@ -82,6 +87,11 @@ module OrigenTesters
82
87
  end
83
88
  alias_method :on_disable, :on_enable
84
89
 
90
+ def on_set(node)
91
+ flag = generate_flag_name(node.to_a[0])
92
+ add flag, :set_enables
93
+ end
94
+
85
95
  private
86
96
 
87
97
  def in_sub_flow?
@@ -29,6 +29,7 @@ module OrigenTesters
29
29
  @parameters = {}
30
30
  @limits_id = options[:methods].delete(:limits_id) || options[:methods].delete(:limit_id)
31
31
  @limits = TestMethods::Limits.new(self)
32
+ @limits.render = false if options[:methods].delete(:render_limits_in_tf) == false
32
33
  # Add any methods
33
34
  if options[:methods][:methods]
34
35
  methods = options[:methods][:methods]