origen_testers 0.41.0 → 0.42.0
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/approved/j750/decompiler/sample/sample.atp +16 -0
- data/config/application.rb +6 -0
- data/config/boot.rb +3 -0
- data/config/commands.rb +148 -3
- data/config/global_commands.rb +0 -0
- data/config/shared_commands.rb +0 -0
- data/config/users.rb +0 -0
- data/config/version.rb +1 -1
- data/lib/commands/build.rb +0 -0
- data/lib/commands/convert.rb +16 -10
- data/lib/commands/run.rb +0 -0
- data/lib/origen_testers.rb +5 -0
- data/lib/origen_testers/api.rb +4 -0
- data/lib/origen_testers/atp.rb +0 -0
- data/lib/origen_testers/atp/ast/extractor.rb +0 -0
- data/lib/origen_testers/atp/ast/node.rb +0 -0
- data/lib/origen_testers/atp/flow.rb +0 -0
- data/lib/origen_testers/atp/flow_api.rb +0 -0
- data/lib/origen_testers/atp/formatter.rb +0 -0
- data/lib/origen_testers/atp/formatters/basic.rb +0 -0
- data/lib/origen_testers/atp/formatters/datalog.rb +0 -0
- data/lib/origen_testers/atp/parser.rb +0 -0
- data/lib/origen_testers/atp/processor.rb +0 -0
- data/lib/origen_testers/atp/processors/add_ids.rb +0 -0
- data/lib/origen_testers/atp/processors/add_set_result.rb +0 -0
- data/lib/origen_testers/atp/processors/adjacent_if_combiner.rb +0 -0
- data/lib/origen_testers/atp/processors/append_to.rb +0 -0
- data/lib/origen_testers/atp/processors/apply_post_group_actions.rb +0 -0
- data/lib/origen_testers/atp/processors/condition.rb +0 -0
- data/lib/origen_testers/atp/processors/continue_implementer.rb +0 -0
- data/lib/origen_testers/atp/processors/else_remover.rb +0 -0
- data/lib/origen_testers/atp/processors/empty_branch_remover.rb +0 -0
- data/lib/origen_testers/atp/processors/extract_set_flags.rb +0 -0
- data/lib/origen_testers/atp/processors/flag_optimizer.rb +0 -0
- data/lib/origen_testers/atp/processors/flattener.rb +0 -0
- data/lib/origen_testers/atp/processors/flow_id.rb +0 -0
- data/lib/origen_testers/atp/processors/marshal.rb +0 -0
- data/lib/origen_testers/atp/processors/on_pass_fail_remover.rb +0 -0
- data/lib/origen_testers/atp/processors/one_flag_per_test.rb +0 -0
- data/lib/origen_testers/atp/processors/pre_cleaner.rb +0 -0
- data/lib/origen_testers/atp/processors/redundant_condition_remover.rb +0 -0
- data/lib/origen_testers/atp/processors/relationship.rb +0 -0
- data/lib/origen_testers/atp/processors/sub_flow_remover.rb +0 -0
- data/lib/origen_testers/atp/program.rb +0 -0
- data/lib/origen_testers/atp/runner.rb +0 -0
- data/lib/origen_testers/atp/validator.rb +0 -0
- data/lib/origen_testers/atp/validators/condition.rb +0 -0
- data/lib/origen_testers/atp/validators/duplicate_ids.rb +0 -0
- data/lib/origen_testers/atp/validators/flags.rb +0 -0
- data/lib/origen_testers/atp/validators/jobs.rb +0 -0
- data/lib/origen_testers/atp/validators/missing_ids.rb +0 -0
- data/lib/origen_testers/atp_deprecation.rb +0 -0
- data/lib/origen_testers/basic_test_setups.rb +0 -0
- data/lib/origen_testers/callback_handlers.rb +0 -0
- data/lib/origen_testers/command_based_tester.rb +0 -0
- data/lib/origen_testers/decompiler.rb +9 -0
- data/lib/origen_testers/decompiler/decompiler_api.rb +163 -0
- data/lib/origen_testers/decompiler/nodes.rb +141 -0
- data/lib/origen_testers/decompiler/pattern.rb +304 -0
- data/lib/origen_testers/decompiler/pattern/elements/base.rb +44 -0
- data/lib/origen_testers/decompiler/pattern/elements/comment_block.rb +28 -0
- data/lib/origen_testers/decompiler/pattern/elements/frontmatter.rb +42 -0
- data/lib/origen_testers/decompiler/pattern/elements/pinlist.rb +44 -0
- data/lib/origen_testers/decompiler/pattern/elements/vector.rb +59 -0
- data/lib/origen_testers/decompiler/pattern/elements/vector_body_element.rb +105 -0
- data/lib/origen_testers/decompiler/pattern/enumerable_ext.rb +173 -0
- data/lib/origen_testers/decompiler/pattern/parsers.rb +111 -0
- data/lib/origen_testers/decompiler/pattern/spec_helpers.rb +41 -0
- data/lib/origen_testers/decompiler/pattern/splitter.rb +166 -0
- data/lib/origen_testers/decompiler/pattern/vector_delimiter_base.rb +70 -0
- data/lib/origen_testers/flow.rb +0 -0
- data/lib/origen_testers/generator/identity_map.rb +0 -0
- data/lib/origen_testers/generator/placeholder.rb +0 -0
- data/lib/origen_testers/generator/test_numberer.rb +0 -0
- data/lib/origen_testers/igxl_based_tester.rb +3 -0
- data/lib/origen_testers/igxl_based_tester/base.rb +8 -1
- data/lib/origen_testers/igxl_based_tester/base/custom_test_instance.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/flow.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/flow_line.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patgroup.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patgroups.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patset.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patset_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patsets.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patsubr.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patsubr_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/patsubrs.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/test_instance_group.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/test_instances.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/base/test_instances/custom_til.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/decompiler.rb +72 -0
- data/lib/origen_testers/igxl_based_tester/decompiler/atp.rb +98 -0
- data/lib/origen_testers/igxl_based_tester/decompiler/nodes.rb +77 -0
- data/lib/origen_testers/igxl_based_tester/files.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750.rb +1 -1
- data/lib/origen_testers/igxl_based_tester/j750/custom_test_instance.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/flow.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/flow_line.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/generator.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patgroup.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patgroups.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patset.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patset_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patsets.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patsubr.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patsubr_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/patsubrs.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/templates/flow.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/templates/instances.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/templates/patgroups.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/templates/patsets.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/templates/patsubrs.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/test_instance.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/test_instance_group.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750/test_instances.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/custom_test_instance.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/flow.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/flow_line.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/generator.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroup.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patgroups.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patset.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patset_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsets.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubr_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/patsubrs.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instance_group.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/j750_hpt/test_instances.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/ac_spec.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/ac_specs.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/dc_spec.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/dc_specs.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/descriptions.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/flow.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/flow_line.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/flows.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/pattern_set.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/pattern_sets.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/test_instance.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/test_instances.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/timeset.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/parser/timesets.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/flow_line.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/generator.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patgroup.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patgroups.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patset.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patset_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsets.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsubr_pattern.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/patsubrs.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/pinmap.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/flow.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/instances.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/patgroups.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/patsets.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/templates/patsubrs.txt.erb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/test_instance_group.rb +0 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex/test_instances.rb +0 -0
- data/lib/origen_testers/labview_based_tester.rb +0 -0
- data/lib/origen_testers/memory_style.rb +0 -0
- data/lib/origen_testers/no_interface.rb +0 -0
- data/lib/origen_testers/origen_ext/application/runner.rb +0 -0
- data/lib/origen_testers/origen_ext/generator.rb +0 -0
- data/lib/origen_testers/origen_ext/generator/flow.rb +0 -0
- data/lib/origen_testers/origen_ext/generator/pattern.rb +0 -0
- data/lib/origen_testers/origen_ext/generator/resources.rb +0 -0
- data/lib/origen_testers/origen_ext/pins/timing.rb +57 -0
- data/lib/origen_testers/origen_ext/pins/timing/timeset.rb +29 -0
- data/lib/origen_testers/parser.rb +0 -0
- data/lib/origen_testers/parser/description_lookup.rb +0 -0
- data/lib/origen_testers/parser/searchable_array.rb +0 -0
- data/lib/origen_testers/parser/searchable_hash.rb +0 -0
- data/lib/origen_testers/pattern_compilers.rb +0 -0
- data/lib/origen_testers/pattern_compilers/assembler.rb +0 -0
- data/lib/origen_testers/pattern_compilers/base.rb +0 -0
- data/lib/origen_testers/pattern_compilers/igxl_based.rb +0 -0
- data/lib/origen_testers/pattern_compilers/j750.rb +0 -0
- data/lib/origen_testers/pattern_compilers/job.rb +0 -0
- data/lib/origen_testers/pattern_compilers/runner.rb +0 -0
- data/lib/origen_testers/pattern_compilers/templates/template.aiv.erb +0 -0
- data/lib/origen_testers/pattern_compilers/ultraflex.rb +0 -0
- data/lib/origen_testers/pattern_compilers/v93k.rb +0 -0
- data/lib/origen_testers/pattern_compilers/v93k/digcap.rb +13 -8
- data/lib/origen_testers/pattern_compilers/v93k/multiport.rb +0 -0
- data/lib/origen_testers/program_generators.rb +0 -0
- data/lib/origen_testers/smartest_based_tester.rb +2 -0
- data/lib/origen_testers/smartest_based_tester/base.rb +2 -2
- data/lib/origen_testers/smartest_based_tester/base/flow.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/generator.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/limits_file.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/pattern_compiler.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/pattern_master.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/processors/extract_bin_names.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/processors/extract_flow_vars.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_method.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_methods.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_methods/ac_tml.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_methods/base_tml.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_methods/custom_tml.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_methods/dc_tml.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_methods/limits.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/test_suites.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/base/variables_file.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/decompiler.rb +43 -0
- data/lib/origen_testers/smartest_based_tester/decompiler/avc.rb +76 -0
- data/lib/origen_testers/smartest_based_tester/decompiler/nodes.rb +23 -0
- data/lib/origen_testers/smartest_based_tester/smt7.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/smt8.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/builder.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/builder/flow.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/builder/pattern_master.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/flow.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/generator.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/limits_file.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/pattern_compiler.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/pattern_master.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/templates/limits.csv.erb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/templates/vars.tf.erb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/test_method.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/test_methods.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/test_suites.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k/variables_file.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/flow.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/generator.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/limits_file.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/limits_workbook.rb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/templates/limits.csv.erb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/templates/template.flow.erb +0 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb +0 -0
- data/lib/origen_testers/stil_based_tester.rb +0 -0
- data/lib/origen_testers/stil_based_tester/base.rb +6 -6
- data/lib/origen_testers/stil_based_tester/d10.rb +0 -0
- data/lib/origen_testers/stil_based_tester/stil.rb +0 -0
- data/lib/origen_testers/test/basic_interface.rb +0 -0
- data/lib/origen_testers/test/block.rb +0 -0
- data/lib/origen_testers/test/complex_timing.rb +22 -0
- data/lib/origen_testers/test/custom_test_interface.rb +0 -0
- data/lib/origen_testers/test/dummy_decompiler.rb +106 -0
- data/lib/origen_testers/test/dut.rb +12 -0
- data/lib/origen_testers/test/dut2.rb +19 -6
- data/lib/origen_testers/test/dut_adv_timing.rb +0 -0
- data/lib/origen_testers/test/empty_dut.rb +12 -0
- data/lib/origen_testers/test/interface.rb +0 -0
- data/lib/origen_testers/test/nvm.rb +0 -0
- data/lib/origen_testers/timing.rb +108 -305
- data/lib/origen_testers/timing/timeset.rb +141 -0
- data/lib/origen_testers/timing/timing_api.rb +307 -0
- data/lib/origen_testers/vector.rb +0 -0
- data/lib/origen_testers/vector_based_tester.rb +0 -0
- data/lib/origen_testers/vector_generator.rb +1 -0
- data/lib/origen_testers/vector_pipeline.rb +0 -0
- data/pattern/bitmap.rb +0 -0
- data/pattern/dc_instr.rb +0 -0
- data/pattern/decompile.rb +4 -0
- data/pattern/delay.rb +0 -0
- data/pattern/freq_counter.rb +0 -0
- data/pattern/mem_test.rb +0 -0
- data/pattern/multi_vector.rb +0 -0
- data/pattern/multi_vector_plus1.rb +0 -0
- data/pattern/nvm/j750/add_late_pins.rb +0 -0
- data/pattern/nvm/j750/iterator_postfix_test_x_bx.rb +0 -0
- data/pattern/nvm/j750/iterator_test_x_bx.rb +0 -0
- data/pattern/nvm/j750/j750_halt.rb +0 -0
- data/pattern/nvm/j750/j750_workout.rb +0 -0
- data/pattern/nvm/j750/timing.rb +4 -4
- data/pattern/nvm/v93k/v93k_workout.rb +0 -0
- data/pattern/pin_flip.rb +9 -0
- data/pattern/read_write_reg.rb +0 -0
- data/pattern/reset.rb +0 -0
- data/pattern/simple.rb +4 -0
- data/pattern/single_overlay_store.rb +0 -0
- data/pattern/subroutines.rb +0 -0
- data/pattern/tester_overlay.rb +0 -0
- data/pattern/tester_store.rb +0 -0
- data/program/_additional_erase.rb +0 -0
- data/program/_efa_resources.rb +0 -0
- data/program/_erase.rb +0 -0
- data/program/_erase_vfy.rb +0 -0
- data/program/_iv_resources.rb +0 -0
- data/program/basic_interface.rb +0 -0
- data/program/components/_deep_nested.rb +0 -0
- data/program/components/_prb2_main.rb +0 -0
- data/program/components/_small.rb +0 -0
- data/program/components/_temp.rb +0 -0
- data/program/custom_tests.rb +0 -0
- data/program/flow_control.rb +0 -0
- data/program/prb1.rb +0 -0
- data/program/prb1_resources.rb +0 -0
- data/program/prb2.rb +0 -0
- data/program/test.rb +0 -0
- data/templates/example.txt.erb +0 -0
- data/templates/j750/_vt_flow.txt.erb +0 -0
- data/templates/j750/_vt_instances.txt.erb +0 -0
- data/templates/j750/program_sheet.txt.erb +0 -0
- data/templates/manifest/v93k.yaml.erb +0 -0
- data/templates/origen_guides/decompilation/decompilerapi.md.erb +192 -0
- data/templates/origen_guides/decompilation/overview.md.erb +214 -0
- data/templates/origen_guides/decompilation/platformspecifics.md.erb +291 -0
- data/templates/origen_guides/decompilation/universalapi.md.erb +598 -0
- data/templates/origen_guides/pattern/common.md.erb +0 -0
- data/templates/origen_guides/pattern/creating.md.erb +0 -0
- data/templates/origen_guides/pattern/custom.md.erb +0 -0
- data/templates/origen_guides/pattern/documenting.md.erb +0 -0
- data/templates/origen_guides/pattern/introduction.md.erb +0 -0
- data/templates/origen_guides/pattern/j750.md.erb +0 -0
- data/templates/origen_guides/pattern/name.md.erb +0 -0
- data/templates/origen_guides/pattern/pins.md.erb +0 -0
- data/templates/origen_guides/pattern/registers.md.erb +0 -0
- data/templates/origen_guides/pattern/running.md.erb +0 -0
- data/templates/origen_guides/pattern/stil.md.erb +0 -0
- data/templates/origen_guides/pattern/timing.md.erb +205 -2
- data/templates/origen_guides/pattern/ultraflex.md.erb +0 -0
- data/templates/origen_guides/pattern/v93k.md.erb +0 -0
- data/templates/origen_guides/program/code.md.erb +0 -0
- data/templates/origen_guides/program/custom.md.erb +0 -0
- data/templates/origen_guides/program/doc.md.erb +0 -0
- data/templates/origen_guides/program/flowapi.md.erb +0 -0
- data/templates/origen_guides/program/flows.md.erb +0 -0
- data/templates/origen_guides/program/generating.md.erb +0 -0
- data/templates/origen_guides/program/interface.md.erb +0 -0
- data/templates/origen_guides/program/introduction.md.erb +0 -0
- data/templates/origen_guides/program/j750.md.erb +0 -0
- data/templates/origen_guides/program/philosophy.md.erb +0 -0
- data/templates/origen_guides/program/resources.md.erb +0 -0
- data/templates/origen_guides/program/ultraflex.md.erb +0 -0
- data/templates/origen_guides/program/v93k.md.erb +0 -0
- data/templates/origen_guides/program/v93ksmt7.md.erb +0 -0
- data/templates/origen_guides/program/v93ksmt8.md.erb +0 -0
- data/templates/web/index.md.erb +0 -0
- data/templates/web/layouts/_basic.html.erb +0 -0
- data/templates/web/layouts/_guides.html.erb +0 -0
- data/templates/web/partials/_navbar.html.erb +0 -0
- data/templates/web/partials/_placeholder.md.erb +0 -0
- data/templates/web/release_notes.md.erb +0 -0
- metadata +61 -3
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
|
@@ -1,5 +1,11 @@
|
|
1
1
|
% render "layouts/guides.html" do
|
2
2
|
|
3
|
+
% Origen.load_target('default')
|
4
|
+
% dut.timeset(:func) do |t|
|
5
|
+
% t.period_in_ns = 10
|
6
|
+
% end
|
7
|
+
% tester.set_timeset(:func)
|
8
|
+
|
3
9
|
A common workflow is to have a tester timing file defined and managed outside of Origen, in
|
4
10
|
which case the main concern within your Origen source code is simply to refer to required
|
5
11
|
timeset(s) by name.
|
@@ -8,7 +14,6 @@ However, Origen does also support a more complex timing definition where wavefor
|
|
8
14
|
can be defined and mastered in Origen source code. That is discussed later on in the
|
9
15
|
[Complex Timing](<%= path "guides/pattern/timing/#Complex_Timing" %>) section.
|
10
16
|
|
11
|
-
|
12
17
|
### Simple Timing
|
13
18
|
|
14
19
|
This guide gives an overview of some of the most common timing related
|
@@ -214,15 +219,68 @@ timeset :func do |t|
|
|
214
219
|
end
|
215
220
|
~~~
|
216
221
|
|
222
|
+
Complex waveforms also support an initial, or default, `period_in_ns`, allowing
|
223
|
+
`set_timeset` to be used without providing a `period_in_ns`:
|
224
|
+
|
225
|
+
~~~ruby
|
226
|
+
dut.timeset :func do |t|
|
227
|
+
t.period_in_ns = 10
|
228
|
+
end
|
229
|
+
|
230
|
+
tester.set_timeset(:func)
|
231
|
+
tester.timeset.period_in_ns
|
232
|
+
#=> <%= tester.timeset.period_in_ns %>
|
233
|
+
|
234
|
+
dut.timesets[:func].period_in_ns = 11
|
235
|
+
% dut.timesets[:func].period_in_ns = 11
|
236
|
+
tester.timeset.period_in_ns
|
237
|
+
#=> <%= tester.timeset.period_in_ns %>
|
238
|
+
~~~
|
239
|
+
|
240
|
+
<!-- This was originally planned, but causes some examples in Origen to fail.
|
241
|
+
This `period_in_ns` can still changed prior to pattern execution, but the defining
|
242
|
+
timeset can lock this value, disallowing other parts of the application or
|
243
|
+
plugins to change the `period_in_ns`:
|
244
|
+
|
245
|
+
~~~ruby
|
246
|
+
timeset :func do |t|
|
247
|
+
t.period_in_ns = 10
|
248
|
+
t.lock!
|
249
|
+
end
|
250
|
+
|
251
|
+
tester.set_timeset(:func)
|
252
|
+
tester.timeset.period_in_ns
|
253
|
+
#=> 10
|
254
|
+
|
255
|
+
timesets[:func].period_in_ns = 11
|
256
|
+
#=> OrigenTester::Timing::InvalidModification
|
257
|
+
~~~
|
258
|
+
-->
|
259
|
+
|
217
260
|
#### Consuming Timeset Data
|
218
261
|
|
262
|
+
##### Waveform Details
|
263
|
+
|
219
264
|
The currently selected timeset can be retrieved via the following methods which are aliases:
|
220
265
|
|
221
266
|
~~~ruby
|
222
|
-
dut.timeset # => instance of
|
267
|
+
dut.timeset # => instance of OrigenTesters::Timing::Timeset
|
223
268
|
dut.current_timeset
|
224
269
|
~~~
|
225
270
|
|
271
|
+
Even though this returns a `OrigenTesters::Timing::Timeset` object, its linked
|
272
|
+
back to the corresponding `Origen::Pins::Timing::Timeset` object underneath. To
|
273
|
+
access it directly:
|
274
|
+
|
275
|
+
~~~ruby
|
276
|
+
dut.timeset.dut_timeset #=> instance of Origen::Pins::Timing::Timeset
|
277
|
+
|
278
|
+
tester.timeset.dut_timeset #=> instance of Origen::Pins::Timing::Timeset
|
279
|
+
~~~
|
280
|
+
|
281
|
+
However, this is generally not needed, as anything that the `OrigenTesters::Timing::Timeset`
|
282
|
+
cannot do is given to the corresponding `Origen::Pins::Timing::Timeset` instance.
|
283
|
+
|
226
284
|
Using the plural returns a hash containing all timesets, thereby allowing access to specific timesets
|
227
285
|
regardless of the current selection:
|
228
286
|
|
@@ -277,5 +335,150 @@ dut.pin(:clk).drive_wave(1).events # => [[0, 1], [20, 0]]
|
|
277
335
|
dut.pin(:clk).drive_wave('T').events # => [[0, 1], [10, 0], [20, 1], [30, 0]]
|
278
336
|
~~~
|
279
337
|
|
338
|
+
##### Timeset Details
|
339
|
+
|
340
|
+
You can retrieve the same `current period` information from this scope as from
|
341
|
+
the `tester.timeset` scope:
|
342
|
+
|
343
|
+
~~~ruby
|
344
|
+
tester.set_timeset(:test, 10)
|
345
|
+
% tester.set_timeset(:test, 10)
|
346
|
+
|
347
|
+
tester.current_period
|
348
|
+
#=> <%= tester.current_period %>
|
349
|
+
|
350
|
+
dut.current_timeset_period
|
351
|
+
#=> <%= dut.current_timeset_period %>
|
352
|
+
|
353
|
+
dut.current_period_in_ns
|
354
|
+
#=> <%= dut.current_period_in_ns %>
|
355
|
+
|
356
|
+
dut.current_period_in_seconds
|
357
|
+
#=> <%= dut.current_period_in_seconds %>
|
358
|
+
~~~
|
359
|
+
|
360
|
+
### Timing During Execution
|
361
|
+
|
362
|
+
You can freely swap between timesets during pattern execution. For example,
|
363
|
+
a sequence resembling below is perfectly valid:
|
364
|
+
|
365
|
+
~~~ruby
|
366
|
+
# Start with an initial timeset for pattern startup
|
367
|
+
tester.set_timeset("timing_for_startup", 100)
|
368
|
+
tester.cycle
|
369
|
+
# ...
|
370
|
+
|
371
|
+
# Switch to a timeset for ramloading
|
372
|
+
tester.set_timeset("timing_for_ramload", 200)
|
373
|
+
tester.cycle
|
374
|
+
# ...
|
375
|
+
|
376
|
+
# Switch to a timeset for actual execution
|
377
|
+
tester.set_timeset("timing_for_execution", 100)
|
378
|
+
tester.cycle
|
379
|
+
# ...
|
380
|
+
~~~
|
381
|
+
|
382
|
+
The period for that timeset will be remembered, allowing simpler timeset switches
|
383
|
+
back to existing ones:
|
384
|
+
|
385
|
+
~~~ruby
|
386
|
+
# Execute using timing for SWD
|
387
|
+
% tester.set_timeset("timing_for_swd", 40)
|
388
|
+
tester.set_timeset("timing_for_swd", 40)
|
389
|
+
tester.timeset.period_in_ns
|
390
|
+
#=> <%= tester.timeset.period_in_ns %>
|
391
|
+
# ...
|
392
|
+
|
393
|
+
# Execute using timing for an APB protocol
|
394
|
+
% tester.set_timeset("timing_for_apb", 80)
|
395
|
+
tester.set_timeset("timing_for_apb", 80)
|
396
|
+
tester.timeset.period_in_ns
|
397
|
+
#=> <%= tester.timeset.period_in_ns %>
|
398
|
+
# ...
|
399
|
+
|
400
|
+
# Switch back to using SWD
|
401
|
+
% tester.set_timeset("timing_for_swd")
|
402
|
+
tester.set_timeset("timing_for_swd")
|
403
|
+
tester.timeset.period_in_ns
|
404
|
+
#=> <%= tester.timeset.period_in_ns %>
|
405
|
+
# ...
|
406
|
+
|
407
|
+
# Switch back to using APB
|
408
|
+
% tester.set_timeset("timing_for_apb")
|
409
|
+
tester.set_timeset("timing_for_apb")
|
410
|
+
tester.timeset.period_in_ns
|
411
|
+
#=> <%= tester.timeset.period_in_ns %>
|
412
|
+
# ...
|
413
|
+
|
414
|
+
# End the pattern using SWD
|
415
|
+
% tester.set_timeset("timing_for_swd")
|
416
|
+
tester.set_timeset("timing_for_swd")
|
417
|
+
tester.timeset.period_in_ns
|
418
|
+
#=> <%= tester.timeset.period_in_ns %>
|
419
|
+
# ...
|
420
|
+
~~~
|
421
|
+
|
422
|
+
<!--
|
423
|
+
Notice that the `period_in_ns` is only defined once per timeset. Swiching
|
424
|
+
the `period_in_ns` of a timeset _during_ execution is explicitly blocked
|
425
|
+
by `OrigenTesters`:
|
426
|
+
|
427
|
+
~~~ruby
|
428
|
+
tester.set_timeset(:func, 10)
|
429
|
+
|
430
|
+
tester.cycle
|
431
|
+
tester.set_timeset(:func, 11)
|
432
|
+
#=> OrigenTester::Timing::InvalidModification
|
433
|
+
~~~
|
434
|
+
|
435
|
+
In this context, _during execution_ is defined as after a vector has been
|
436
|
+
generated with the timeset in question; in other words, after the tester
|
437
|
+
has been cycled. Up to the point of cycling though, timeset periods can be
|
438
|
+
freely modified:
|
439
|
+
|
440
|
+
~~~ruby
|
441
|
+
tester.set_timeset(:func, 10)
|
442
|
+
tester.timeset.period_in_ns
|
443
|
+
#=> 10
|
444
|
+
|
445
|
+
tester.timeset.period_in_ns = 11
|
446
|
+
tester.timeset.period_in_ns
|
447
|
+
#=> 11
|
448
|
+
|
449
|
+
tester.set_timeset(:func, 12)
|
450
|
+
tester.timeset.period_in_ns
|
451
|
+
#=> 12
|
452
|
+
|
453
|
+
tester.cycle
|
454
|
+
tester.timeset.period_in_ns = 13
|
455
|
+
#=> OrigenTester::Timing::InvalidModification
|
456
|
+
~~~
|
457
|
+
-->
|
458
|
+
The `#cycled?` method to denotes if the timeset has been cycled or not:
|
459
|
+
|
460
|
+
~~~ruby
|
461
|
+
tester.set_timeset(:cycle_test, 10)
|
462
|
+
% tester.set_timeset(:cycle_test, 10)
|
463
|
+
tester.timeset.name
|
464
|
+
#=> "<%= tester.timeset.name %>"
|
465
|
+
tester.timeset.cycled?
|
466
|
+
#=> <%= tester.timeset.cycled? %>
|
467
|
+
|
468
|
+
tester.cycle
|
469
|
+
tester.timeset.cycled?
|
470
|
+
% tester.cycle
|
471
|
+
#=> <%= tester.timeset.cycled? %>
|
472
|
+
|
473
|
+
tester.set_timeset(:cycle_test_2, 11)
|
474
|
+
tester.timeset.cycled?
|
475
|
+
% tester.set_timeset(:cycle_test_2, 11)
|
476
|
+
#=> <%= tester.timeset.cycled? %>
|
477
|
+
|
478
|
+
tester.timesets[:cycle_test].cycled?
|
479
|
+
#=> <%= tester.timesets[:cycle_test].cycled? %>
|
480
|
+
tester.timesets[:cycle_test_2].cycled?
|
481
|
+
#=> <%= tester.timesets[:cycle_test_2].cycled? %>
|
482
|
+
~~~
|
280
483
|
|
281
484
|
% end
|
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
|
data/templates/web/index.md.erb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: origen_testers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.42.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08
|
11
|
+
date: 2019-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -38,6 +38,26 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: atp
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.1'
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 1.1.3
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '1.1'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 1.1.3
|
41
61
|
- !ruby/object:Gem::Dependency
|
42
62
|
name: rodf
|
43
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,6 +121,7 @@ executables: []
|
|
101
121
|
extensions: []
|
102
122
|
extra_rdoc_files: []
|
103
123
|
files:
|
124
|
+
- approved/j750/decompiler/sample/sample.atp
|
104
125
|
- config/application.rb
|
105
126
|
- config/boot.rb
|
106
127
|
- config/commands.rb
|
@@ -155,6 +176,21 @@ files:
|
|
155
176
|
- lib/origen_testers/basic_test_setups.rb
|
156
177
|
- lib/origen_testers/callback_handlers.rb
|
157
178
|
- lib/origen_testers/command_based_tester.rb
|
179
|
+
- lib/origen_testers/decompiler.rb
|
180
|
+
- lib/origen_testers/decompiler/decompiler_api.rb
|
181
|
+
- lib/origen_testers/decompiler/nodes.rb
|
182
|
+
- lib/origen_testers/decompiler/pattern.rb
|
183
|
+
- lib/origen_testers/decompiler/pattern/elements/base.rb
|
184
|
+
- lib/origen_testers/decompiler/pattern/elements/comment_block.rb
|
185
|
+
- lib/origen_testers/decompiler/pattern/elements/frontmatter.rb
|
186
|
+
- lib/origen_testers/decompiler/pattern/elements/pinlist.rb
|
187
|
+
- lib/origen_testers/decompiler/pattern/elements/vector.rb
|
188
|
+
- lib/origen_testers/decompiler/pattern/elements/vector_body_element.rb
|
189
|
+
- lib/origen_testers/decompiler/pattern/enumerable_ext.rb
|
190
|
+
- lib/origen_testers/decompiler/pattern/parsers.rb
|
191
|
+
- lib/origen_testers/decompiler/pattern/spec_helpers.rb
|
192
|
+
- lib/origen_testers/decompiler/pattern/splitter.rb
|
193
|
+
- lib/origen_testers/decompiler/pattern/vector_delimiter_base.rb
|
158
194
|
- lib/origen_testers/flow.rb
|
159
195
|
- lib/origen_testers/generator.rb
|
160
196
|
- lib/origen_testers/generator/identity_map.rb
|
@@ -196,6 +232,9 @@ files:
|
|
196
232
|
- lib/origen_testers/igxl_based_tester/base/timeset.rb
|
197
233
|
- lib/origen_testers/igxl_based_tester/base/timesets.rb
|
198
234
|
- lib/origen_testers/igxl_based_tester/base/timesets_basic.rb
|
235
|
+
- lib/origen_testers/igxl_based_tester/decompiler.rb
|
236
|
+
- lib/origen_testers/igxl_based_tester/decompiler/atp.rb
|
237
|
+
- lib/origen_testers/igxl_based_tester/decompiler/nodes.rb
|
199
238
|
- lib/origen_testers/igxl_based_tester/files.rb
|
200
239
|
- lib/origen_testers/igxl_based_tester/j750.rb
|
201
240
|
- lib/origen_testers/igxl_based_tester/j750/custom_test_instance.rb
|
@@ -311,6 +350,8 @@ files:
|
|
311
350
|
- lib/origen_testers/origen_ext/generator/resources.rb
|
312
351
|
- lib/origen_testers/origen_ext/pins/pin.rb
|
313
352
|
- lib/origen_testers/origen_ext/pins/pin_collection.rb
|
353
|
+
- lib/origen_testers/origen_ext/pins/timing.rb
|
354
|
+
- lib/origen_testers/origen_ext/pins/timing/timeset.rb
|
314
355
|
- lib/origen_testers/parser.rb
|
315
356
|
- lib/origen_testers/parser/description_lookup.rb
|
316
357
|
- lib/origen_testers/parser/searchable_array.rb
|
@@ -347,6 +388,9 @@ files:
|
|
347
388
|
- lib/origen_testers/smartest_based_tester/base/test_suite.rb
|
348
389
|
- lib/origen_testers/smartest_based_tester/base/test_suites.rb
|
349
390
|
- lib/origen_testers/smartest_based_tester/base/variables_file.rb
|
391
|
+
- lib/origen_testers/smartest_based_tester/decompiler.rb
|
392
|
+
- lib/origen_testers/smartest_based_tester/decompiler/avc.rb
|
393
|
+
- lib/origen_testers/smartest_based_tester/decompiler/nodes.rb
|
350
394
|
- lib/origen_testers/smartest_based_tester/smt7.rb
|
351
395
|
- lib/origen_testers/smartest_based_tester/smt8.rb
|
352
396
|
- lib/origen_testers/smartest_based_tester/v93k.rb
|
@@ -382,18 +426,25 @@ files:
|
|
382
426
|
- lib/origen_testers/stil_based_tester/stil.rb
|
383
427
|
- lib/origen_testers/test/basic_interface.rb
|
384
428
|
- lib/origen_testers/test/block.rb
|
429
|
+
- lib/origen_testers/test/complex_timing.rb
|
385
430
|
- lib/origen_testers/test/custom_test_interface.rb
|
431
|
+
- lib/origen_testers/test/dummy_decompiler.rb
|
386
432
|
- lib/origen_testers/test/dut.rb
|
387
433
|
- lib/origen_testers/test/dut2.rb
|
434
|
+
- lib/origen_testers/test/dut_adv_timing.rb
|
435
|
+
- lib/origen_testers/test/empty_dut.rb
|
388
436
|
- lib/origen_testers/test/interface.rb
|
389
437
|
- lib/origen_testers/test/nvm.rb
|
390
438
|
- lib/origen_testers/timing.rb
|
439
|
+
- lib/origen_testers/timing/timeset.rb
|
440
|
+
- lib/origen_testers/timing/timing_api.rb
|
391
441
|
- lib/origen_testers/vector.rb
|
392
442
|
- lib/origen_testers/vector_based_tester.rb
|
393
443
|
- lib/origen_testers/vector_generator.rb
|
394
444
|
- lib/origen_testers/vector_pipeline.rb
|
395
445
|
- pattern/bitmap.rb
|
396
446
|
- pattern/dc_instr.rb
|
447
|
+
- pattern/decompile.rb
|
397
448
|
- pattern/delay.rb
|
398
449
|
- pattern/freq_counter.rb
|
399
450
|
- pattern/mem_test.rb
|
@@ -406,8 +457,10 @@ files:
|
|
406
457
|
- pattern/nvm/j750/j750_workout.rb
|
407
458
|
- pattern/nvm/j750/timing.rb
|
408
459
|
- pattern/nvm/v93k/v93k_workout.rb
|
460
|
+
- pattern/pin_flip.rb
|
409
461
|
- pattern/read_write_reg.rb
|
410
462
|
- pattern/reset.rb
|
463
|
+
- pattern/simple.rb
|
411
464
|
- pattern/single_overlay_store.rb
|
412
465
|
- pattern/subroutines.rb
|
413
466
|
- pattern/tester_overlay.rb
|
@@ -435,6 +488,10 @@ files:
|
|
435
488
|
- templates/j750/_vt_instances.txt.erb
|
436
489
|
- templates/j750/program_sheet.txt.erb
|
437
490
|
- templates/manifest/v93k.yaml.erb
|
491
|
+
- templates/origen_guides/decompilation/decompilerapi.md.erb
|
492
|
+
- templates/origen_guides/decompilation/overview.md.erb
|
493
|
+
- templates/origen_guides/decompilation/platformspecifics.md.erb
|
494
|
+
- templates/origen_guides/decompilation/universalapi.md.erb
|
438
495
|
- templates/origen_guides/pattern/common.md.erb
|
439
496
|
- templates/origen_guides/pattern/creating.md.erb
|
440
497
|
- templates/origen_guides/pattern/custom.md.erb
|
@@ -488,7 +545,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
488
545
|
- !ruby/object:Gem::Version
|
489
546
|
version: '0'
|
490
547
|
requirements: []
|
491
|
-
|
548
|
+
rubyforge_project:
|
549
|
+
rubygems_version: 2.7.7
|
492
550
|
signing_key:
|
493
551
|
specification_version: 4
|
494
552
|
summary: This plugin provides Origen tester models to drive ATE type testers like
|