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.
- checksums.yaml +4 -4
- data/config/application.rb +151 -151
- data/config/boot.rb +13 -13
- data/config/commands.rb +85 -86
- data/config/users.rb +18 -18
- data/config/version.rb +8 -8
- data/lib/commands/build.rb +69 -69
- data/lib/commands/run.rb +48 -48
- data/lib/origen_testers.rb +47 -47
- data/lib/origen_testers/api.rb +381 -381
- data/lib/origen_testers/basic_test_setups.rb +105 -105
- data/lib/origen_testers/callback_handlers.rb +59 -59
- data/lib/origen_testers/command_based_tester.rb +45 -45
- data/lib/origen_testers/flow.rb +382 -382
- data/lib/origen_testers/generator.rb +283 -283
- data/lib/origen_testers/generator/identity_map.rb +23 -23
- data/lib/origen_testers/generator/placeholder.rb +11 -11
- data/lib/origen_testers/generator/test_numberer.rb +23 -23
- data/lib/origen_testers/igxl_based_tester.rb +12 -12
- data/lib/origen_testers/igxl_based_tester/base.rb +1100 -1099
- data/lib/origen_testers/igxl_based_tester/base/ac_specsets.rb +79 -79
- data/lib/origen_testers/igxl_based_tester/base/custom_test_instance.rb +169 -169
- data/lib/origen_testers/igxl_based_tester/base/dc_specsets.rb +98 -98
- data/lib/origen_testers/igxl_based_tester/base/edge.rb +60 -60
- data/lib/origen_testers/igxl_based_tester/base/edges.rb +24 -24
- data/lib/origen_testers/igxl_based_tester/base/edgeset.rb +39 -39
- data/lib/origen_testers/igxl_based_tester/base/edgesets.rb +130 -130
- data/lib/origen_testers/igxl_based_tester/base/flow.rb +460 -460
- data/lib/origen_testers/igxl_based_tester/base/flow_line.rb +276 -276
- data/lib/origen_testers/igxl_based_tester/base/generator.rb +607 -607
- data/lib/origen_testers/igxl_based_tester/base/global_specs.rb +83 -83
- data/lib/origen_testers/igxl_based_tester/base/job.rb +75 -75
- data/lib/origen_testers/igxl_based_tester/base/jobs.rb +44 -44
- data/lib/origen_testers/igxl_based_tester/base/level_io_se.rb +59 -59
- data/lib/origen_testers/igxl_based_tester/base/level_supply.rb +39 -39
- data/lib/origen_testers/igxl_based_tester/base/levels.rb +31 -31
- data/lib/origen_testers/igxl_based_tester/base/levelset.rb +110 -110
- data/lib/origen_testers/igxl_based_tester/base/patgroup.rb +109 -109
- data/lib/origen_testers/igxl_based_tester/base/patgroups.rb +38 -38
- data/lib/origen_testers/igxl_based_tester/base/patset.rb +68 -68
- data/lib/origen_testers/igxl_based_tester/base/patset_pattern.rb +56 -56
- data/lib/origen_testers/igxl_based_tester/base/patsets.rb +38 -38
- data/lib/origen_testers/igxl_based_tester/base/patsubr.rb +68 -68
- data/lib/origen_testers/igxl_based_tester/base/patsubr_pattern.rb +56 -56
- data/lib/origen_testers/igxl_based_tester/base/patsubrs.rb +38 -38
- data/lib/origen_testers/igxl_based_tester/base/pinmap.rb +93 -93
- data/lib/origen_testers/igxl_based_tester/base/references.rb +25 -25
- data/lib/origen_testers/igxl_based_tester/base/test_instance.rb +322 -322
- data/lib/origen_testers/igxl_based_tester/base/test_instance_group.rb +66 -66
- data/lib/origen_testers/igxl_based_tester/base/test_instances.rb +212 -212
- data/lib/origen_testers/igxl_based_tester/base/test_instances/custom_til.rb +37 -37
- data/lib/origen_testers/igxl_based_tester/base/timeset.rb +37 -37
- data/lib/origen_testers/igxl_based_tester/base/timesets.rb +49 -49
- data/lib/origen_testers/igxl_based_tester/base/timesets_basic.rb +49 -49
- data/lib/origen_testers/igxl_based_tester/files.rb +43 -43
- data/lib/origen_testers/igxl_based_tester/j750.rb +269 -269
- data/lib/origen_testers/igxl_based_tester/j750/custom_test_instance.rb +32 -32
- data/lib/origen_testers/igxl_based_tester/j750/flow.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/j750/flow_line.rb +19 -19
- data/lib/origen_testers/igxl_based_tester/j750/generator.rb +19 -19
- data/lib/origen_testers/igxl_based_tester/j750/patgroup.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750/patgroups.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/j750/patset.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750/patset_pattern.rb +18 -18
- data/lib/origen_testers/igxl_based_tester/j750/patsets.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/j750/patsubr.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750/patsubr_pattern.rb +18 -18
- data/lib/origen_testers/igxl_based_tester/j750/patsubrs.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/j750/test_instance.rb +746 -746
- data/lib/origen_testers/igxl_based_tester/j750/test_instance_group.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750/test_instances.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/j750_hpt.rb +34 -34
- data/lib/origen_testers/igxl_based_tester/j750_hpt/custom_test_instance.rb +32 -32
- data/lib/origen_testers/igxl_based_tester/j750_hpt/flow.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/flow_line.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/generator.rb +19 -19
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroup.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroups.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patset.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patset_pattern.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsets.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr_pattern.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubrs.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance.rb +599 -599
- data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance_group.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instances.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/parser.rb +102 -102
- data/lib/origen_testers/igxl_based_tester/parser/ac_spec.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/parser/dc_spec.rb +33 -33
- data/lib/origen_testers/igxl_based_tester/parser/dc_specs.rb +48 -48
- data/lib/origen_testers/igxl_based_tester/parser/descriptions.rb +339 -339
- data/lib/origen_testers/igxl_based_tester/parser/flow.rb +109 -109
- data/lib/origen_testers/igxl_based_tester/parser/flow_line.rb +203 -203
- data/lib/origen_testers/igxl_based_tester/parser/flows.rb +21 -21
- data/lib/origen_testers/igxl_based_tester/parser/pattern_set.rb +92 -92
- data/lib/origen_testers/igxl_based_tester/parser/pattern_sets.rb +31 -31
- data/lib/origen_testers/igxl_based_tester/parser/test_instance.rb +420 -420
- data/lib/origen_testers/igxl_based_tester/parser/test_instances.rb +24 -24
- data/lib/origen_testers/igxl_based_tester/parser/timeset.rb +13 -13
- data/lib/origen_testers/igxl_based_tester/ultraflex.rb +798 -798
- data/lib/origen_testers/igxl_based_tester/ultraflex/ac_specsets.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/ate_hardware.rb +949 -949
- data/lib/origen_testers/igxl_based_tester/ultraflex/custom_test_instance.rb +36 -36
- data/lib/origen_testers/igxl_based_tester/ultraflex/dc_specsets.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/edge.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/edges.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/edgeset.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/edgesets.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/flow.rb +158 -158
- data/lib/origen_testers/igxl_based_tester/ultraflex/flow_line.rb +19 -19
- data/lib/origen_testers/igxl_based_tester/ultraflex/generator.rb +19 -19
- data/lib/origen_testers/igxl_based_tester/ultraflex/global_specs.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/job.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/jobs.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/level_io_se.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/level_supply.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/levels.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/levelset.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/patgroup.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/patgroups.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/patset.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/patset_pattern.rb +18 -18
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsets.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr_pattern.rb +18 -18
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsubrs.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/pinmap.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/references.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/ac_specsets.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/dc_specsets.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/edgesets.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/global_specs.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/jobs.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/levelset.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/pinmap.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/references.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/timesets.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/timesets_basic.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/test_instance.rb +315 -315
- data/lib/origen_testers/igxl_based_tester/ultraflex/test_instance_group.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/test_instances.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/timeset.rb +9 -9
- data/lib/origen_testers/igxl_based_tester/ultraflex/timesets.rb +10 -10
- data/lib/origen_testers/igxl_based_tester/ultraflex/timesets_basic.rb +10 -10
- data/lib/origen_testers/interface.rb +345 -324
- data/lib/origen_testers/memory_style.rb +77 -77
- data/lib/origen_testers/no_interface.rb +7 -7
- data/lib/origen_testers/origen_ext/application/runner.rb +25 -25
- data/lib/origen_testers/origen_ext/generator.rb +54 -54
- data/lib/origen_testers/origen_ext/generator/flow.rb +91 -77
- data/lib/origen_testers/origen_ext/generator/resources.rb +21 -21
- data/lib/origen_testers/origen_ext/pins/pin.rb +78 -78
- data/lib/origen_testers/origen_ext/pins/pin_collection.rb +84 -84
- data/lib/origen_testers/parser.rb +22 -22
- data/lib/origen_testers/parser/description_lookup.rb +62 -62
- data/lib/origen_testers/parser/searchable_array.rb +30 -30
- data/lib/origen_testers/parser/searchable_hash.rb +30 -30
- data/lib/origen_testers/pattern_compilers.rb +116 -116
- data/lib/origen_testers/pattern_compilers/assembler.rb +88 -88
- data/lib/origen_testers/pattern_compilers/job.rb +96 -96
- data/lib/origen_testers/pattern_compilers/ultraflex_pattern_compiler.rb +599 -599
- data/lib/origen_testers/program_generators.rb +62 -62
- data/lib/origen_testers/smartest_based_tester.rb +8 -8
- data/lib/origen_testers/smartest_based_tester/base.rb +576 -567
- data/lib/origen_testers/smartest_based_tester/base/flow.rb +296 -291
- data/lib/origen_testers/smartest_based_tester/base/generator.rb +207 -194
- data/lib/origen_testers/smartest_based_tester/base/pattern_compiler.rb +32 -32
- data/lib/origen_testers/smartest_based_tester/base/pattern_master.rb +69 -69
- data/lib/origen_testers/smartest_based_tester/base/processors.rb +16 -16
- data/lib/origen_testers/smartest_based_tester/base/processors/adjacent_if_combiner.rb +106 -106
- data/lib/origen_testers/smartest_based_tester/base/processors/continue_implementer.rb +39 -39
- data/lib/origen_testers/smartest_based_tester/base/processors/empty_branch_cleaner.rb +21 -21
- data/lib/origen_testers/smartest_based_tester/base/processors/extract_run_flag_table.rb +33 -33
- data/lib/origen_testers/smartest_based_tester/base/processors/extract_set_variables.rb +22 -22
- data/lib/origen_testers/smartest_based_tester/base/processors/flag_optimizer.rb +188 -188
- data/lib/origen_testers/smartest_based_tester/base/processors/if_ran_cleaner.rb +34 -34
- data/lib/origen_testers/smartest_based_tester/base/test_method.rb +178 -164
- data/lib/origen_testers/smartest_based_tester/base/test_methods.rb +77 -73
- data/lib/origen_testers/smartest_based_tester/base/test_methods/ac_tml.rb +33 -33
- data/lib/origen_testers/smartest_based_tester/base/test_methods/base_tml.rb +38 -38
- data/lib/origen_testers/smartest_based_tester/base/test_methods/custom_tml.rb +19 -19
- data/lib/origen_testers/smartest_based_tester/base/test_methods/dc_tml.rb +147 -147
- data/lib/origen_testers/smartest_based_tester/base/test_methods/limits.rb +65 -65
- data/lib/origen_testers/smartest_based_tester/base/test_suite.rb +208 -193
- data/lib/origen_testers/smartest_based_tester/base/test_suites.rb +58 -54
- data/lib/origen_testers/smartest_based_tester/base/variables_file.rb +38 -38
- data/lib/origen_testers/smartest_based_tester/v93k.rb +8 -8
- data/lib/origen_testers/smartest_based_tester/v93k/builder.rb +89 -89
- data/lib/origen_testers/smartest_based_tester/v93k/builder/flow.rb +181 -181
- data/lib/origen_testers/smartest_based_tester/v93k/builder/pattern_master.rb +54 -54
- data/lib/origen_testers/smartest_based_tester/v93k/flow.rb +10 -10
- data/lib/origen_testers/smartest_based_tester/v93k/generator.rb +19 -19
- data/lib/origen_testers/smartest_based_tester/v93k/pattern_compiler.rb +10 -10
- data/lib/origen_testers/smartest_based_tester/v93k/pattern_master.rb +10 -10
- data/lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb +17 -17
- data/lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb +13 -13
- data/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb +236 -214
- data/lib/origen_testers/smartest_based_tester/v93k/templates/vars.tf.erb +48 -48
- data/lib/origen_testers/smartest_based_tester/v93k/test_method.rb +9 -9
- data/lib/origen_testers/smartest_based_tester/v93k/test_methods.rb +9 -9
- data/lib/origen_testers/smartest_based_tester/v93k/test_suite.rb +9 -9
- data/lib/origen_testers/smartest_based_tester/v93k/test_suites.rb +9 -9
- data/lib/origen_testers/smartest_based_tester/v93k/variables_file.rb +10 -10
- data/lib/origen_testers/test/basic_interface.rb +17 -17
- data/lib/origen_testers/test/block.rb +21 -21
- data/lib/origen_testers/test/custom_test_interface.rb +111 -111
- data/lib/origen_testers/test/dut.rb +295 -295
- data/lib/origen_testers/test/dut2.rb +76 -76
- data/lib/origen_testers/test/dut3.rb +244 -244
- data/lib/origen_testers/test/interface.rb +503 -503
- data/lib/origen_testers/test/nvm.rb +94 -94
- data/lib/origen_testers/timing.rb +368 -368
- data/lib/origen_testers/vector.rb +207 -207
- data/lib/origen_testers/vector_based_tester.rb +41 -41
- data/lib/origen_testers/vector_generator.rb +655 -655
- data/lib/origen_testers/vector_pipeline.rb +302 -302
- data/pattern/bitmap.rb +7 -7
- data/pattern/dc_instr.rb +7 -7
- data/pattern/delay.rb +7 -7
- data/pattern/freq_counter.rb +6 -6
- data/pattern/mem_test.rb +8 -8
- data/pattern/multi_vector.rb +122 -122
- data/pattern/multi_vector_plus1.rb +125 -125
- data/pattern/nvm/j750/add_late_pins.rb +3 -3
- data/pattern/nvm/j750/iterator_postfix_test_x_bx.rb +8 -8
- data/pattern/nvm/j750/iterator_test_x_bx.rb +8 -8
- data/pattern/nvm/j750/j750_halt.rb +159 -159
- data/pattern/nvm/j750/j750_workout.rb +209 -209
- data/pattern/nvm/j750/timing.rb +73 -73
- data/pattern/read_write_reg.rb +61 -61
- data/pattern/reset.rb +4 -4
- data/pattern/subroutines.rb +69 -69
- data/pattern/tester_overlay.rb +61 -52
- data/pattern/tester_store.rb +28 -28
- data/program/_additional_erase.rb +7 -7
- data/program/_efa_resources.rb +7 -7
- data/program/_erase.rb +25 -25
- data/program/_erase_vfy.rb +5 -5
- data/program/_iv_resources.rb +10 -10
- data/program/basic_interface.rb +5 -5
- data/program/components/_prb1_main.rb +222 -222
- data/program/components/_temp.rb +6 -6
- data/program/custom_tests.rb +10 -10
- data/program/flow_control.rb +422 -422
- data/program/prb1.rb +11 -11
- data/program/prb1_resources.rb +28 -28
- data/program/prb2.rb +27 -27
- data/program/test.rb +29 -29
- data/program/uflex_resources.rb +199 -199
- data/templates/example.txt.erb +53 -53
- data/templates/j750/program_sheet.txt.erb +9 -9
- data/templates/manifest/v93k.yaml.erb +22 -22
- data/templates/web/index.md.erb +51 -51
- data/templates/web/layouts/_basic.html.erb +15 -15
- data/templates/web/partials/_navbar.html.erb +22 -22
- data/templates/web/release_notes.md.erb +5 -5
- metadata +2 -2
|
@@ -1,194 +1,207 @@
|
|
|
1
|
-
module OrigenTesters
|
|
2
|
-
module SmartestBasedTester
|
|
3
|
-
class Base
|
|
4
|
-
module Generator
|
|
5
|
-
extend ActiveSupport::Concern
|
|
6
|
-
|
|
7
|
-
autoload :Placeholder, 'origen_testers/generator/placeholder'
|
|
8
|
-
|
|
9
|
-
included do
|
|
10
|
-
include Interface # adds the interface helpers/Origen hook-up
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# This is just to give all interfaces an initialize that takes
|
|
14
|
-
# one argument. The super is important for cases where this module
|
|
15
|
-
# is included late via Testers::ProgramGenerators
|
|
16
|
-
def initialize(options = {})
|
|
17
|
-
super
|
|
18
|
-
@initialized = true
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
#
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
#
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
#
|
|
132
|
-
def
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
def
|
|
146
|
-
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
g
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
g << sheet
|
|
182
|
-
end
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
1
|
+
module OrigenTesters
|
|
2
|
+
module SmartestBasedTester
|
|
3
|
+
class Base
|
|
4
|
+
module Generator
|
|
5
|
+
extend ActiveSupport::Concern
|
|
6
|
+
|
|
7
|
+
autoload :Placeholder, 'origen_testers/generator/placeholder'
|
|
8
|
+
|
|
9
|
+
included do
|
|
10
|
+
include Interface # adds the interface helpers/Origen hook-up
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# This is just to give all interfaces an initialize that takes
|
|
14
|
+
# one argument. The super is important for cases where this module
|
|
15
|
+
# is included late via Testers::ProgramGenerators
|
|
16
|
+
def initialize(options = {})
|
|
17
|
+
super
|
|
18
|
+
@initialized = true
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
# This will be called at the start of every Flow.create block, :top_level will be
|
|
23
|
+
# true when it is a top-level Flow.create block
|
|
24
|
+
def _internal_startup(options)
|
|
25
|
+
if options[:top_level]
|
|
26
|
+
if options.key?(:unique_test_names)
|
|
27
|
+
self.unique_test_names = options[:unique_test_names]
|
|
28
|
+
end
|
|
29
|
+
flow.flow_name = options[:flow_name]
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def add_tml(name, methods)
|
|
34
|
+
methods[:class_name] ||= name.to_s.camelize
|
|
35
|
+
custom_tmls[name] = methods
|
|
36
|
+
end
|
|
37
|
+
alias_method :add_test_method_library, :add_tml
|
|
38
|
+
|
|
39
|
+
# @api private
|
|
40
|
+
def at_flow_start
|
|
41
|
+
f = flow
|
|
42
|
+
f.at_flow_start
|
|
43
|
+
# Initialize this to the value currently set on the tester, any further setting of
|
|
44
|
+
# this by the interface will override
|
|
45
|
+
flow.add_flow_enable = tester.add_flow_enable
|
|
46
|
+
self.unique_test_names = tester.unique_test_names
|
|
47
|
+
@pattern_master_filename = nil
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# @api private
|
|
51
|
+
def at_flow_end
|
|
52
|
+
flow.at_flow_end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# @api private
|
|
56
|
+
def at_run_start
|
|
57
|
+
flow.at_run_start
|
|
58
|
+
@@flow_sheets = nil
|
|
59
|
+
@@pattern_masters = nil
|
|
60
|
+
@@pattern_compilers = nil
|
|
61
|
+
@@variables_files = nil
|
|
62
|
+
end
|
|
63
|
+
alias_method :reset_globals, :at_run_start
|
|
64
|
+
|
|
65
|
+
def resources_filename=(name)
|
|
66
|
+
self.pattern_master_filename = name
|
|
67
|
+
self.pattern_references_name = name
|
|
68
|
+
flow.var_filename = name
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def pattern_master_filename=(name)
|
|
72
|
+
@pattern_master_filename = name
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def pattern_master_filename
|
|
76
|
+
@pattern_master_filename || 'global'
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def flow(filename = Origen.file_handler.current_file.basename('.rb').to_s)
|
|
80
|
+
f = filename.to_sym
|
|
81
|
+
f = f.to_s.sub(/_resources?/, '').to_sym
|
|
82
|
+
return flow_sheets[f] if flow_sheets[f] # will return flow if already existing
|
|
83
|
+
p = platform::Flow.new
|
|
84
|
+
p.inhibit_output if Origen.interface.resources_mode?
|
|
85
|
+
p.filename = f
|
|
86
|
+
p.test_suites ||= platform::TestSuites.new(p)
|
|
87
|
+
p.test_methods ||= platform::TestMethods.new(p)
|
|
88
|
+
flow_sheets[f] = p
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Returns the pattern master file (.pmfl) for the current flow, by default a common pattern
|
|
92
|
+
# master file called 'global' will be used for all flows.
|
|
93
|
+
# To use a different one set the resources_filename at the start of the flow.
|
|
94
|
+
def pattern_master
|
|
95
|
+
pattern_masters[pattern_master_filename] ||= begin
|
|
96
|
+
m = platform::PatternMaster.new(manually_register: true)
|
|
97
|
+
name = "#{pattern_master_filename}.pmfl"
|
|
98
|
+
name = "#{Origen.config.program_prefix}_#{name}" if Origen.config.program_prefix
|
|
99
|
+
m.filename = name
|
|
100
|
+
m.id = pattern_master_filename
|
|
101
|
+
m
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Returns a hash containing all pattern master generators
|
|
106
|
+
def pattern_masters
|
|
107
|
+
@@pattern_masters ||= {}
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Returns the pattern compiler file (.aiv) for the current flow, by default a common pattern
|
|
111
|
+
# compiler file called 'global' will be used for all flows.
|
|
112
|
+
# To use a different one set the resources_filename at the start of the flow.
|
|
113
|
+
def pattern_compiler
|
|
114
|
+
pattern_compilers[pattern_master_filename] ||= begin
|
|
115
|
+
m = platform::PatternCompiler.new(manually_register: true)
|
|
116
|
+
name = "#{pattern_master_filename}.aiv"
|
|
117
|
+
name = "#{Origen.config.program_prefix}_#{name}" if Origen.config.program_prefix
|
|
118
|
+
m.filename = name
|
|
119
|
+
m.id = pattern_master_filename
|
|
120
|
+
m
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Returns a hash containing all pattern compiler generators
|
|
125
|
+
def pattern_compilers
|
|
126
|
+
@@pattern_compilers ||= {}
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Returns the variables file for the current or given flow, by default a common variable
|
|
130
|
+
# file called 'global' will be used for all flows.
|
|
131
|
+
# To use a different one set the resources_filename at the start of the flow.
|
|
132
|
+
def variables_file(flw = nil)
|
|
133
|
+
name = (flw || flow).var_filename
|
|
134
|
+
variables_files[name] ||= begin
|
|
135
|
+
m = platform::VariablesFile.new(manually_register: true)
|
|
136
|
+
filename = "#{name}_vars.tf"
|
|
137
|
+
filename = "#{Origen.config.program_prefix}_#{filename}" if Origen.config.program_prefix
|
|
138
|
+
m.filename = filename
|
|
139
|
+
m.id = name
|
|
140
|
+
m
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Returns a hash containing all variables file generators
|
|
145
|
+
def variables_files
|
|
146
|
+
@@variables_files ||= {}
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# @api private
|
|
150
|
+
def pattern_reference_recorded(name, options = {})
|
|
151
|
+
# Will be called everytime a pattern reference is made that the ATE should be aware of,
|
|
152
|
+
# don't need to remember it as it can be fetched from all_pattern_references later, but
|
|
153
|
+
# need to instantiate a pattern master and compiler to handle it later
|
|
154
|
+
pattern_master
|
|
155
|
+
pattern_compiler
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def test_suites
|
|
159
|
+
flow.test_suites
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
def test_methods
|
|
163
|
+
flow.test_methods
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
def flow_sheets
|
|
167
|
+
@@flow_sheets ||= {}
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Returns an array containing all sheet generators.
|
|
171
|
+
# All Origen program generators must implement this method
|
|
172
|
+
def sheet_generators # :nodoc:
|
|
173
|
+
g = []
|
|
174
|
+
flow_sheets.each do |_name, sheet|
|
|
175
|
+
g << sheet
|
|
176
|
+
end
|
|
177
|
+
pattern_masters.each do |name, sheet|
|
|
178
|
+
g << sheet
|
|
179
|
+
end
|
|
180
|
+
pattern_compilers.each do |name, sheet|
|
|
181
|
+
g << sheet
|
|
182
|
+
end
|
|
183
|
+
variables_files.each do |name, sheet|
|
|
184
|
+
g << sheet
|
|
185
|
+
end
|
|
186
|
+
g
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Returns an array containing all flow sheet generators.
|
|
190
|
+
# All Origen program generators must implement this method
|
|
191
|
+
def flow_generators
|
|
192
|
+
g = []
|
|
193
|
+
flow_sheets.each do |_name, sheet|
|
|
194
|
+
g << sheet
|
|
195
|
+
end
|
|
196
|
+
g
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
private
|
|
200
|
+
|
|
201
|
+
def custom_tmls
|
|
202
|
+
@custom_tmls ||= {}
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
end
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
require 'pathname'
|
|
2
|
-
module OrigenTesters
|
|
3
|
-
module SmartestBasedTester
|
|
4
|
-
class Base
|
|
5
|
-
class PatternCompiler
|
|
6
|
-
include OrigenTesters::Generator
|
|
7
|
-
|
|
8
|
-
attr_accessor :filename, :part_patterns, :id
|
|
9
|
-
|
|
10
|
-
def initialize(flow = nil)
|
|
11
|
-
@part_patterns = []
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def subroutines
|
|
15
|
-
(references[:subroutine][:all] + references[:subroutine][:ate]).map do |p|
|
|
16
|
-
p.strip.sub(/\..*/, '')
|
|
17
|
-
end.uniq.sort
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def patterns
|
|
21
|
-
(references[:main][:all] + references[:main][:ate]).map do |p|
|
|
22
|
-
p.strip.sub(/\..*/, '')
|
|
23
|
-
end.uniq.sort
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def references
|
|
27
|
-
Origen.interface.all_pattern_references[id]
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
1
|
+
require 'pathname'
|
|
2
|
+
module OrigenTesters
|
|
3
|
+
module SmartestBasedTester
|
|
4
|
+
class Base
|
|
5
|
+
class PatternCompiler
|
|
6
|
+
include OrigenTesters::Generator
|
|
7
|
+
|
|
8
|
+
attr_accessor :filename, :part_patterns, :id
|
|
9
|
+
|
|
10
|
+
def initialize(flow = nil)
|
|
11
|
+
@part_patterns = []
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def subroutines
|
|
15
|
+
(references[:subroutine][:all] + references[:subroutine][:ate]).map do |p|
|
|
16
|
+
p.strip.sub(/\..*/, '')
|
|
17
|
+
end.uniq.sort
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def patterns
|
|
21
|
+
(references[:main][:all] + references[:main][:ate]).map do |p|
|
|
22
|
+
p.strip.sub(/\..*/, '')
|
|
23
|
+
end.uniq.sort
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def references
|
|
27
|
+
Origen.interface.all_pattern_references[id]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|