origen 0.2.6 → 0.3.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/bin/origen +3 -1
- data/config/boot.rb +1 -7
- data/config/commands.rb +0 -1
- data/config/version.rb +2 -2
- data/lib/c99/{j750_interface.rb → ate_interface.rb} +3 -11
- data/lib/c99/doc_interface.rb +1 -1
- data/lib/origen.rb +9 -30
- data/lib/origen/application.rb +10 -8
- data/lib/origen/application/configuration.rb +13 -26
- data/lib/origen/application/plugins.rb +122 -0
- data/lib/origen/application/plugins_manager.rb +16 -254
- data/lib/origen/application/release.rb +2 -2
- data/lib/origen/application/runner.rb +2 -4
- data/lib/origen/chips.rb +0 -0
- data/lib/origen/chips/chip.rb +0 -0
- data/lib/origen/chips/design_entry.rb +0 -0
- data/lib/origen/chips/doc_entry.rb +0 -0
- data/lib/origen/chips/note.rb +0 -0
- data/lib/origen/commands.rb +4 -44
- data/lib/origen/commands/compile.rb +1 -2
- data/lib/origen/commands/generate.rb +1 -1
- data/lib/origen/commands/interactive.rb +1 -2
- data/lib/origen/commands/plugin.rb +49 -56
- data/lib/origen/commands/program.rb +1 -1
- data/lib/origen/commands/rc.rb +2 -2
- data/lib/origen/commands/version.rb +2 -17
- data/lib/origen/commands_global.rb +3 -0
- data/lib/origen/file_handler.rb +10 -10
- data/lib/origen/generator.rb +1 -1
- data/lib/origen/generator/job.rb +1 -1
- data/lib/origen/generator/pattern.rb +2 -2
- data/lib/origen/generator/pattern_finder.rb +10 -9
- data/lib/origen/pins/pin.rb +0 -0
- data/lib/origen/regression_manager.rb +0 -0
- data/lib/origen/remote_manager.rb +2 -8
- data/lib/origen/revision_control/design_sync.rb +0 -0
- data/lib/origen/revision_control/git.rb +0 -0
- data/lib/origen/specs.rb +0 -0
- data/lib/origen/specs/checkers.rb +0 -0
- data/lib/origen/specs/creation_info.rb +0 -0
- data/lib/origen/specs/exhibit.rb +0 -0
- data/lib/origen/specs/spec.rb +0 -0
- data/lib/origen/utility.rb +0 -1
- data/lib/origen/utility/diff.rb +0 -0
- metadata +42 -119
- data/lib/origen/import_manager.rb +0 -596
- data/lib/origen/nvm.rb +0 -6
- data/lib/origen/nvm/block_array.rb +0 -72
- data/lib/origen/tester.rb +0 -56
- data/lib/origen/tester/api.rb +0 -277
- data/lib/origen/tester/bdm/bdm.rb +0 -25
- data/lib/origen/tester/doc/doc.rb +0 -226
- data/lib/origen/tester/doc/generator.rb +0 -126
- data/lib/origen/tester/doc/generator/flow.rb +0 -71
- data/lib/origen/tester/doc/generator/flow_line.rb +0 -203
- data/lib/origen/tester/doc/generator/test.rb +0 -68
- data/lib/origen/tester/doc/generator/test_group.rb +0 -66
- data/lib/origen/tester/doc/generator/tests.rb +0 -47
- data/lib/origen/tester/doc/model.rb +0 -162
- data/lib/origen/tester/generator.rb +0 -271
- data/lib/origen/tester/generator/flow_control_api.rb +0 -606
- data/lib/origen/tester/generator/identity_map.rb +0 -25
- data/lib/origen/tester/generator/placeholder.rb +0 -13
- data/lib/origen/tester/generator/test_numberer.rb +0 -25
- data/lib/origen/tester/interface.rb +0 -154
- data/lib/origen/tester/j750/files.rb +0 -45
- data/lib/origen/tester/j750/generator.rb +0 -203
- data/lib/origen/tester/j750/generator/flow.rb +0 -123
- data/lib/origen/tester/j750/generator/flow_line.rb +0 -288
- data/lib/origen/tester/j750/generator/patgroup.rb +0 -111
- data/lib/origen/tester/j750/generator/patgroups.rb +0 -41
- data/lib/origen/tester/j750/generator/patset.rb +0 -111
- data/lib/origen/tester/j750/generator/patsets.rb +0 -41
- data/lib/origen/tester/j750/generator/templates/flow.txt.erb +0 -9
- data/lib/origen/tester/j750/generator/templates/instances.txt.erb +0 -16
- data/lib/origen/tester/j750/generator/templates/patgroups.txt.erb +0 -8
- data/lib/origen/tester/j750/generator/templates/patsets.txt.erb +0 -10
- data/lib/origen/tester/j750/generator/test_instance.rb +0 -846
- data/lib/origen/tester/j750/generator/test_instance_group.rb +0 -60
- data/lib/origen/tester/j750/generator/test_instances.rb +0 -182
- data/lib/origen/tester/j750/j750.rb +0 -845
- data/lib/origen/tester/j750/j750_hpt.rb +0 -35
- data/lib/origen/tester/j750/parser.rb +0 -104
- data/lib/origen/tester/j750/parser/ac_spec.rb +0 -11
- data/lib/origen/tester/j750/parser/ac_specs.rb +0 -0
- data/lib/origen/tester/j750/parser/dc_spec.rb +0 -36
- data/lib/origen/tester/j750/parser/dc_specs.rb +0 -50
- data/lib/origen/tester/j750/parser/descriptions.rb +0 -340
- data/lib/origen/tester/j750/parser/flow.rb +0 -111
- data/lib/origen/tester/j750/parser/flow_line.rb +0 -207
- data/lib/origen/tester/j750/parser/flows.rb +0 -23
- data/lib/origen/tester/j750/parser/pattern_set.rb +0 -94
- data/lib/origen/tester/j750/parser/pattern_sets.rb +0 -33
- data/lib/origen/tester/j750/parser/test_instance.rb +0 -322
- data/lib/origen/tester/j750/parser/test_instances.rb +0 -26
- data/lib/origen/tester/j750/parser/timeset.rb +0 -15
- data/lib/origen/tester/j750/parser/timesets.rb +0 -0
- data/lib/origen/tester/jlink/jlink.rb +0 -33
- data/lib/origen/tester/parser.rb +0 -24
- data/lib/origen/tester/parser/description_lookup.rb +0 -64
- data/lib/origen/tester/parser/searchable_array.rb +0 -32
- data/lib/origen/tester/parser/searchable_hash.rb +0 -32
- data/lib/origen/tester/time.rb +0 -338
- data/lib/origen/tester/timing.rb +0 -253
- data/lib/origen/tester/ultraflex/files.rb +0 -45
- data/lib/origen/tester/ultraflex/generator.rb +0 -200
- data/lib/origen/tester/ultraflex/generator/flow.rb +0 -119
- data/lib/origen/tester/ultraflex/generator/flow_line.rb +0 -269
- data/lib/origen/tester/ultraflex/generator/patgroup.rb +0 -111
- data/lib/origen/tester/ultraflex/generator/patgroups.rb +0 -41
- data/lib/origen/tester/ultraflex/generator/patset.rb +0 -111
- data/lib/origen/tester/ultraflex/generator/patsets.rb +0 -41
- data/lib/origen/tester/ultraflex/generator/templates/flow.txt.erb +0 -9
- data/lib/origen/tester/ultraflex/generator/templates/instances.txt.erb +0 -16
- data/lib/origen/tester/ultraflex/generator/templates/patgroups.txt.erb +0 -8
- data/lib/origen/tester/ultraflex/generator/templates/patsets.txt.erb +0 -10
- data/lib/origen/tester/ultraflex/generator/test_instance.rb +0 -622
- data/lib/origen/tester/ultraflex/generator/test_instance_group.rb +0 -60
- data/lib/origen/tester/ultraflex/generator/test_instances.rb +0 -174
- data/lib/origen/tester/ultraflex/parser.rb +0 -104
- data/lib/origen/tester/ultraflex/parser/ac_spec.rb +0 -11
- data/lib/origen/tester/ultraflex/parser/ac_specs.rb +0 -0
- data/lib/origen/tester/ultraflex/parser/dc_spec.rb +0 -36
- data/lib/origen/tester/ultraflex/parser/dc_specs.rb +0 -50
- data/lib/origen/tester/ultraflex/parser/descriptions.rb +0 -342
- data/lib/origen/tester/ultraflex/parser/flow.rb +0 -111
- data/lib/origen/tester/ultraflex/parser/flow_line.rb +0 -207
- data/lib/origen/tester/ultraflex/parser/flows.rb +0 -23
- data/lib/origen/tester/ultraflex/parser/pattern_set.rb +0 -94
- data/lib/origen/tester/ultraflex/parser/pattern_sets.rb +0 -33
- data/lib/origen/tester/ultraflex/parser/test_instance.rb +0 -262
- data/lib/origen/tester/ultraflex/parser/test_instances.rb +0 -26
- data/lib/origen/tester/ultraflex/parser/timeset.rb +0 -15
- data/lib/origen/tester/ultraflex/parser/timesets.rb +0 -0
- data/lib/origen/tester/ultraflex/ultraflex.rb +0 -759
- data/lib/origen/tester/v93k/generator.rb +0 -80
- data/lib/origen/tester/v93k/generator/flow.rb +0 -63
- data/lib/origen/tester/v93k/generator/flow_node.rb +0 -17
- data/lib/origen/tester/v93k/generator/flow_node/print.rb +0 -10
- data/lib/origen/tester/v93k/generator/pattern.rb +0 -16
- data/lib/origen/tester/v93k/generator/pattern_master.rb +0 -54
- data/lib/origen/tester/v93k/generator/templates/_test_method.txt.erb +0 -6
- data/lib/origen/tester/v93k/generator/templates/_test_suite.txt.erb +0 -11
- data/lib/origen/tester/v93k/generator/templates/template.flow.erb +0 -121
- data/lib/origen/tester/v93k/generator/templates/template.pmfl.erb +0 -9
- data/lib/origen/tester/v93k/generator/test_function.rb +0 -103
- data/lib/origen/tester/v93k/generator/test_functions.rb +0 -79
- data/lib/origen/tester/v93k/generator/test_method.rb +0 -46
- data/lib/origen/tester/v93k/generator/test_methods.rb +0 -75
- data/lib/origen/tester/v93k/generator/test_suite.rb +0 -54
- data/lib/origen/tester/v93k/generator/test_suites.rb +0 -65
- data/lib/origen/tester/v93k/v93k.rb +0 -420
- data/lib/origen/tester/vector.rb +0 -86
- data/lib/origen/tester/vector_generator.rb +0 -637
- data/lib/origen/tester/vector_pipeline.rb +0 -150
- data/lib/origen/utility/design_sync.rb +0 -494
- data/lib/origen/version_checker.rb +0 -117
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
module Origen
|
|
2
|
-
module Tester
|
|
3
|
-
module Generator
|
|
4
|
-
class IdentityMap
|
|
5
|
-
def initialize
|
|
6
|
-
@store = {}
|
|
7
|
-
@versions = {}
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def current_version_of(obj)
|
|
11
|
-
map = map_for(obj)
|
|
12
|
-
if map
|
|
13
|
-
map[:replaced_by] || map[:instance]
|
|
14
|
-
else
|
|
15
|
-
obj
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def map_for(obj)
|
|
20
|
-
@store[obj.object_id]
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
module Origen
|
|
2
|
-
module Tester
|
|
3
|
-
module Generator
|
|
4
|
-
class TestNumberer
|
|
5
|
-
# Will return a test number for the given test.
|
|
6
|
-
#
|
|
7
|
-
# @param [Hash] options Options to customize the number generation
|
|
8
|
-
# @option options [Integer] :bits (6) The number of bits in the DAC code
|
|
9
|
-
# @option options [Float] :range (1.26) The range parameter, see code formula
|
|
10
|
-
# @option options [Integer] :offset (0) The o
|
|
11
|
-
def test_number_for(_test_name, options = {})
|
|
12
|
-
options = {
|
|
13
|
-
|
|
14
|
-
}.merge(options)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
private
|
|
18
|
-
|
|
19
|
-
def store_file
|
|
20
|
-
@store_file ||= Pathname.new "#{Origen.root}/.test_program/test_numbers"
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
require 'active_support/concern'
|
|
2
|
-
|
|
3
|
-
module Origen
|
|
4
|
-
module Tester
|
|
5
|
-
# Include this module in any class you define as a test interface
|
|
6
|
-
module Interface
|
|
7
|
-
extend ActiveSupport::Concern
|
|
8
|
-
|
|
9
|
-
included do
|
|
10
|
-
Origen.add_interface(self)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# This identifier will be used to make labels and other references unique to the
|
|
14
|
-
# current application. This will help to avoid name duplication if a program is
|
|
15
|
-
# comprised of many modules generated by Origen.
|
|
16
|
-
#
|
|
17
|
-
# Override in the application interface to customize, by default the identifier
|
|
18
|
-
# will be Origen.config.initials
|
|
19
|
-
def app_identifier
|
|
20
|
-
Origen.config.initials || 'Anon App'
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def close(options = {})
|
|
24
|
-
sheet_generators.each do |generator|
|
|
25
|
-
generator.close(options)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
# Compile a template file
|
|
30
|
-
def compile(file, options = {})
|
|
31
|
-
Origen.file_handler.preserve_state do
|
|
32
|
-
begin
|
|
33
|
-
file = Origen.file_handler.clean_path_to_template(file)
|
|
34
|
-
Origen.generator.compile_file_or_directory(file, initial_options: options)
|
|
35
|
-
rescue
|
|
36
|
-
file = Origen.file_handler.clean_path_to(file)
|
|
37
|
-
Origen.generator.compile_file_or_directory(file, initial_options: options)
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def import(file, options = {})
|
|
43
|
-
# Attach the import request to the first generator, when it imports
|
|
44
|
-
# it any generated resources will automatically find their way to the
|
|
45
|
-
# correct generator/collection
|
|
46
|
-
generator = flow || sheet_generators.first
|
|
47
|
-
generator.import(file, options)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def render(file, options = {})
|
|
51
|
-
if sheet_generators.size > 1
|
|
52
|
-
fail "You must specify which generator to render content to! e.g. i.test_instances.render '#{file}'"
|
|
53
|
-
else
|
|
54
|
-
sheet_generators.first.render(file, options)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def write_files(options = {})
|
|
59
|
-
sheet_generators.each do |generator|
|
|
60
|
-
generator.finalize(options)
|
|
61
|
-
end
|
|
62
|
-
sheet_generators.each do |generator|
|
|
63
|
-
generator.write_to_file(options) if generator.to_be_written?
|
|
64
|
-
end
|
|
65
|
-
reset_globals
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
# All generators should push to this array whenever they reference a pattern
|
|
69
|
-
# so that it is captured in the pattern list, e.g.
|
|
70
|
-
# Origen.interface.referenced_patterns << pattern
|
|
71
|
-
def referenced_patterns
|
|
72
|
-
@@referenced_patterns ||= []
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# Add a comment line into the buffer
|
|
76
|
-
def comment(text)
|
|
77
|
-
comments << text
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
def comments
|
|
81
|
-
@@comments ||= []
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
def discard_comments
|
|
85
|
-
@@comments = nil
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
# Returns the buffered description comments and clears the buffer
|
|
89
|
-
def consume_comments
|
|
90
|
-
c = comments
|
|
91
|
-
discard_comments
|
|
92
|
-
c
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def top_level_flow
|
|
96
|
-
@@top_level_flow ||= nil
|
|
97
|
-
end
|
|
98
|
-
alias_method :top_level_flow_filename, :top_level_flow
|
|
99
|
-
|
|
100
|
-
def flow_generator
|
|
101
|
-
flow
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
def set_top_level_flow
|
|
105
|
-
@@top_level_flow = flow_generator.output_file
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
def clear_top_level_flow
|
|
109
|
-
@@top_level_flow = nil
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
# A storage Hash that all generators can push comment descriptions
|
|
113
|
-
# into when generating.
|
|
114
|
-
# At the end of a generation run this will contain all descriptions
|
|
115
|
-
# for all flows that were just created.
|
|
116
|
-
#
|
|
117
|
-
# Access via Origen.interface.descriptions
|
|
118
|
-
def descriptions
|
|
119
|
-
@@descriptions ||= Parser::DescriptionLookup.new
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
# Any tests generated within the given block will be generated in resources mode.
|
|
123
|
-
# Generally this means that all resources for a given test will be generated but
|
|
124
|
-
# flow entries will be inhibited.
|
|
125
|
-
def resources_mode
|
|
126
|
-
orig = @resources_mode
|
|
127
|
-
@resources_mode = true
|
|
128
|
-
yield
|
|
129
|
-
@resources_mode = orig
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def resources_mode?
|
|
133
|
-
@resources_mode
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
def identity_map # :nodoc:
|
|
137
|
-
@@identity_map ||= Origen::Tester::Generator::IdentityMap.new
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
module ClassMethods
|
|
141
|
-
# Returns true if the interface class supports the
|
|
142
|
-
# given tester instance
|
|
143
|
-
def supports?(tester_instance)
|
|
144
|
-
# Testers uses different platform check than Origen core
|
|
145
|
-
if self.respond_to?('platform')
|
|
146
|
-
tester_instance.is_a?(platform)
|
|
147
|
-
else
|
|
148
|
-
tester_instance.is_a?(self::PLATFORM)
|
|
149
|
-
end
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
end
|
|
154
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
module Origen
|
|
2
|
-
module Tester
|
|
3
|
-
class J750
|
|
4
|
-
# Methods for handling all J750 file parsing, e.g. datalogs,
|
|
5
|
-
# test time profiles, etc.
|
|
6
|
-
module Files
|
|
7
|
-
# Reads all lines from a J750 detailed execution time file, returning the lines
|
|
8
|
-
# as an array like this:
|
|
9
|
-
#
|
|
10
|
-
# [
|
|
11
|
-
# {:name => "power_cycle", :index => 1, :group => 3, :time => 0.00461},
|
|
12
|
-
# {:name => "power_cycle", :index => 2, :group => 3, :time => 0.00481},
|
|
13
|
-
# {:name => "power_cycle", :index => 3, :group => 3, :time => 0.00438},
|
|
14
|
-
# {:name => "nvm_mass_erase", :index => nil, :group => nil, :time => 0.19863},
|
|
15
|
-
# ]
|
|
16
|
-
def read_test_times(file, _options = {})
|
|
17
|
-
tests = []
|
|
18
|
-
File.readlines(file).each do |line|
|
|
19
|
-
unless line.strip.empty? || line =~ /Entire Job/
|
|
20
|
-
# http://rubular.com/r/vZOcqovTsf
|
|
21
|
-
if line =~ /(\w+) ?(\(.*?\))? \d\d\d\d (\d+\.\d+).*/
|
|
22
|
-
t = { name: Regexp.last_match[1], time: Regexp.last_match[3].to_f.round(6) }
|
|
23
|
-
# If an indexed test
|
|
24
|
-
if Regexp.last_match[2]
|
|
25
|
-
str = Regexp.last_match[2].gsub('(', '').gsub(')', '')
|
|
26
|
-
fields = str.split('/')
|
|
27
|
-
i = fields[0].to_i
|
|
28
|
-
g = fields[1].to_i
|
|
29
|
-
t[:index] = i
|
|
30
|
-
t[:group] = g
|
|
31
|
-
|
|
32
|
-
else
|
|
33
|
-
t[:index] = nil
|
|
34
|
-
t[:group] = nil
|
|
35
|
-
end
|
|
36
|
-
tests << t
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
tests
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
require 'active_support/concern'
|
|
2
|
-
|
|
3
|
-
module Origen
|
|
4
|
-
module Tester
|
|
5
|
-
class J750
|
|
6
|
-
module Generator
|
|
7
|
-
extend ActiveSupport::Concern
|
|
8
|
-
|
|
9
|
-
autoload :TestInstance, 'origen/tester/j750/generator/test_instance'
|
|
10
|
-
autoload :TestInstanceGroup, 'origen/tester/j750/generator/test_instance_group'
|
|
11
|
-
autoload :TestInstances, 'origen/tester/j750/generator/test_instances'
|
|
12
|
-
autoload :Patset, 'origen/tester/j750/generator/patset'
|
|
13
|
-
autoload :Patsets, 'origen/tester/j750/generator/patsets'
|
|
14
|
-
autoload :Patgroup, 'origen/tester/j750/generator/patgroup'
|
|
15
|
-
autoload :Patgroups, 'origen/tester/j750/generator/patgroups'
|
|
16
|
-
autoload :Flow, 'origen/tester/j750/generator/flow'
|
|
17
|
-
autoload :FlowLine, 'origen/tester/j750/generator/flow_line'
|
|
18
|
-
autoload :Placeholder, 'origen/tester/generator/placeholder'
|
|
19
|
-
|
|
20
|
-
included do
|
|
21
|
-
include Origen::Tester::Interface # adds the interface helpers/Origen hook-up
|
|
22
|
-
include Origen::Tester::Generator::FlowControlAPI::Interface
|
|
23
|
-
PLATFORM = Origen::Tester::J750
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# @api private
|
|
27
|
-
def at_flow_start
|
|
28
|
-
@@test_instances_filename = nil
|
|
29
|
-
@@patsets_filename = nil
|
|
30
|
-
@@patgroups_filename = nil
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# @api private
|
|
34
|
-
def at_run_start
|
|
35
|
-
flow.at_run_start
|
|
36
|
-
@@test_instance_sheets = nil
|
|
37
|
-
@@patset_sheets = nil
|
|
38
|
-
@@flow_sheets = nil
|
|
39
|
-
@@patgroup_sheets = nil
|
|
40
|
-
end
|
|
41
|
-
alias_method :reset_globals, :at_run_start
|
|
42
|
-
|
|
43
|
-
# Convenience method to allow the current name for the test instance,
|
|
44
|
-
# patsets and patgroups sheets to be set to the same value.
|
|
45
|
-
#
|
|
46
|
-
# # my j750 interface
|
|
47
|
-
#
|
|
48
|
-
# resources_filename = "common"
|
|
49
|
-
#
|
|
50
|
-
# # The above is equivalent to:
|
|
51
|
-
#
|
|
52
|
-
# test_instances_filename = "common"
|
|
53
|
-
# patsets_filename = "common"
|
|
54
|
-
# patgroups_filename = "common"
|
|
55
|
-
def resources_filename=(name)
|
|
56
|
-
self.test_instances_filename = name
|
|
57
|
-
self.patsets_filename = name
|
|
58
|
-
self.patgroups_filename = name
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# Set the name of the current test instances sheet. This does not change
|
|
62
|
-
# the name of the current sheet, but rather sets the name of the sheet that
|
|
63
|
-
# will be generated the next time you access test_instances.
|
|
64
|
-
def test_instances_filename=(name)
|
|
65
|
-
@@test_instances_filename = name
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
# Set the name of the current pattern sets sheet. This does not change
|
|
69
|
-
# the name of the current sheet, but rather sets the name of the sheet that
|
|
70
|
-
# will be generated the next time you access patsets.
|
|
71
|
-
def patsets_filename=(name)
|
|
72
|
-
@@patsets_filename = name
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# Set the name of the current pattern groups sheet. This does not change
|
|
76
|
-
# the name of the current sheet, but rather sets the name of the sheet that
|
|
77
|
-
# will be generated the next time you access patgroups.
|
|
78
|
-
def patgroups_filename=(name)
|
|
79
|
-
@@patgroups_filename = name
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
# Returns the name of the current test instances sheet
|
|
83
|
-
def test_instances_filename
|
|
84
|
-
@@test_instances_filename ||= 'global'
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# Returns the name of the current pat sets sheet
|
|
88
|
-
def patsets_filename
|
|
89
|
-
@@patsets_filename ||= 'global'
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# Returns the name of the current pat groups sheet
|
|
93
|
-
def patgroups_filename
|
|
94
|
-
@@patgroups_filename ||= 'global'
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
# Returns a hash containing all test instance sheets
|
|
98
|
-
def test_instance_sheets
|
|
99
|
-
@@test_instance_sheets ||= {}
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
# Returns a hash containing all pat set sheets
|
|
103
|
-
def patset_sheets
|
|
104
|
-
@@patset_sheets ||= {}
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
# Returns a hash containing all flow sheets
|
|
108
|
-
def flow_sheets
|
|
109
|
-
@@flow_sheets ||= {}
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
# Returns a hash containing all pat group sheets
|
|
113
|
-
def patgroup_sheets
|
|
114
|
-
@@patgroup_sheets ||= {}
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
# Returns an array containing all sheet generators where a sheet generator is a flow,
|
|
118
|
-
# test instance, patset or pat group sheet.
|
|
119
|
-
# All Origen program generators must implement this method
|
|
120
|
-
def sheet_generators # :nodoc:
|
|
121
|
-
g = []
|
|
122
|
-
[flow_sheets, test_instance_sheets, patset_sheets, patgroup_sheets].each do |sheets|
|
|
123
|
-
sheets.each do |_name, sheet|
|
|
124
|
-
g << sheet
|
|
125
|
-
end
|
|
126
|
-
end
|
|
127
|
-
g
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
# Returns an array containing all flow sheet generators.
|
|
131
|
-
# All Origen program generators must implement this method
|
|
132
|
-
def flow_generators
|
|
133
|
-
g = []
|
|
134
|
-
flow_sheets.each do |_name, sheet|
|
|
135
|
-
g << sheet
|
|
136
|
-
end
|
|
137
|
-
g
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
# Returns the current test instances sheet (as defined by the current value of
|
|
141
|
-
# test_instances_filename).
|
|
142
|
-
#
|
|
143
|
-
# Pass in a filename argument to have a specific sheet returned instead.
|
|
144
|
-
#
|
|
145
|
-
# If the sheet does not exist yet it will be created.
|
|
146
|
-
def test_instances(filename = test_instances_filename)
|
|
147
|
-
f = filename.to_sym
|
|
148
|
-
return test_instance_sheets[f] if test_instance_sheets[f]
|
|
149
|
-
t = TestInstances.new
|
|
150
|
-
t.filename = f
|
|
151
|
-
test_instance_sheets[f] = t
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
# Returns the current pattern sets sheet (as defined by the current value of
|
|
155
|
-
# patsets_filename).
|
|
156
|
-
#
|
|
157
|
-
# Pass in a filename argument to have a specific sheet returned instead.
|
|
158
|
-
#
|
|
159
|
-
# If the sheet does not exist yet it will be created.
|
|
160
|
-
def patsets(filename = patsets_filename)
|
|
161
|
-
f = filename.to_sym
|
|
162
|
-
return patset_sheets[f] if patset_sheets[f]
|
|
163
|
-
p = Patsets.new
|
|
164
|
-
p.filename = f
|
|
165
|
-
patset_sheets[f] = p
|
|
166
|
-
end
|
|
167
|
-
alias_method :pat_sets, :patsets
|
|
168
|
-
alias_method :pattern_sets, :patsets
|
|
169
|
-
|
|
170
|
-
# Returns the current flow sheet (as defined by the name of the current top
|
|
171
|
-
# level flow source file).
|
|
172
|
-
#
|
|
173
|
-
# Pass in a filename argument to have a specific sheet returned instead.
|
|
174
|
-
#
|
|
175
|
-
# If the sheet does not exist yet it will be created.
|
|
176
|
-
def flow(filename = Origen.file_handler.current_file.basename('.rb').to_s)
|
|
177
|
-
f = filename.to_sym
|
|
178
|
-
return flow_sheets[f] if flow_sheets[f]
|
|
179
|
-
p = Flow.new
|
|
180
|
-
p.inhibit_output if Origen.interface.resources_mode?
|
|
181
|
-
p.filename = f
|
|
182
|
-
flow_sheets[f] = p
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
# Returns the current pattern groups sheet (as defined by the current value of
|
|
186
|
-
# patgroups_filename).
|
|
187
|
-
#
|
|
188
|
-
# Pass in a filename argument to have a specific sheet returned instead.
|
|
189
|
-
#
|
|
190
|
-
# If the sheet does not exist yet it will be created.
|
|
191
|
-
def patgroups(filename = patgroups_filename)
|
|
192
|
-
f = filename.to_sym
|
|
193
|
-
return patgroup_sheets[f] if patgroup_sheets[f]
|
|
194
|
-
p = Patgroups.new
|
|
195
|
-
p.filename = f
|
|
196
|
-
patgroup_sheets[f] = p
|
|
197
|
-
end
|
|
198
|
-
alias_method :pat_groups, :patgroups
|
|
199
|
-
alias_method :pattern_groups, :patgroups
|
|
200
|
-
end
|
|
201
|
-
end
|
|
202
|
-
end
|
|
203
|
-
end
|