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,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
|