origen_testers 0.7.7 → 0.7.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 560c1e1e8f0793808a3054fbfa0939d9e85fc178
4
- data.tar.gz: f8d1745d6e6107d1a092bd420f4bcf92b2419c9d
3
+ metadata.gz: 0fef29207283a7c7837cfaef6fb5d32d4a422292
4
+ data.tar.gz: 4d41a6c74b72ef2fffae771928ec1356d7f989ba
5
5
  SHA512:
6
- metadata.gz: 43d6f200cf2c285d52c56873debeb66d67a6d77ef873c77cf13f79ab936b064e8d42a2b4968ac1f83912eededa8f3a9b5cf459c3c365c7828d7ea7a20549aec9
7
- data.tar.gz: b856f1c9b1dc241c94c90d2ff97122a0ced67c8f5add45b3b44cea5f33cc8083816a284a2355c58aaeb197c9dcdbbc2a0645c01f5d6371111a867dc7ea846913
6
+ metadata.gz: 0624f4f177bae4b5ad179601a22504a56dd8ca907b26bd6feca823443978c9575c5fd03f38f36a8e709f7caa1bedfec993be5c520045371b9178fd5320fff917
7
+ data.tar.gz: cbc5987d9c38140931121c5da1d9f1720b30ec02f8621cc7490aee665d3c24cda457dedb7931c1096b2a9273e6e233ff16ff2fecb4b6e011918f756871b06b87
@@ -21,6 +21,12 @@ aliases = {
21
21
  # Now branch to the specific task code
22
22
  case @command
23
23
 
24
+ when "tags"
25
+ Dir.chdir Origen.root do
26
+ system "ripper-tags --recursive lib"
27
+ end
28
+ exit 0
29
+
24
30
  # Run the unit tests
25
31
  when "specs"
26
32
  require "rspec"
@@ -68,6 +74,7 @@ else
68
74
  specs Run the specs (tests), -c will enable coverage
69
75
  examples Run the examples (tests), -c will enable coverage
70
76
  test Run both specs and examples, -c will enable coverage
77
+ tags Generate ctags for this app
71
78
  EOT
72
79
 
73
80
  end
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
3
  MINOR = 7
4
- BUGFIX = 7
4
+ BUGFIX = 8
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -94,6 +94,7 @@ module OrigenTesters
94
94
  self.global_specs_filename = name
95
95
  self.jobs_filename = name
96
96
  self.references_filename = name
97
+ self.pattern_references_name = name
97
98
  end
98
99
 
99
100
  # Set the name of the current pinmap sheet. This does not change
@@ -15,6 +15,19 @@ module OrigenTesters
15
15
  end
16
16
  end
17
17
 
18
+ class PatternArray < ::Array
19
+ def <<(pat)
20
+ push(pat)
21
+ end
22
+
23
+ # Override the array push method to capture the pattern under the new API, but
24
+ # maintain the old one where a pattern reference was just pushed to the
25
+ # referenced_patterns array
26
+ def push(pat)
27
+ Origen.interface.record_pattern_reference(pat)
28
+ end
29
+ end
30
+
18
31
  def self.with_resources_mode
19
32
  orig = @resources_mode
20
33
  @resources_mode = true
@@ -100,38 +113,108 @@ module OrigenTesters
100
113
 
101
114
  def on_program_completion(options = {})
102
115
  reset_globals
116
+ @@pattern_references = {}
103
117
  @@referenced_patterns = nil
104
- @@referenced_subroutine_patterns = nil
105
118
  end
106
119
 
120
+ # A secondary pattern is one where the pattern has been created by Origen as an output from
121
+ # generating another pattern (a primary pattern). For example, on V93K anytime a tester
122
+ # handshake is done, the pattern will be split into separate components, such as
123
+ # meas_bgap.avc (the primary pattern) and meas_bgap_part1.avc (a secondary pattern).
124
+ #
125
+ # Any such secondary pattern references should be pushed to this array, rather than the
126
+ # referenced_patterns array.
127
+ # By using the dedicated secondary array, the pattern will not appear in the referenced.list
128
+ # file so that Origen is not asked to generate it (since it will be created naturally from
129
+ # the primary pattern reference).
130
+ # However if the ATE requires a reference to the pattern (e.g. the V93K pattern master file),
131
+ # then it will be included in the relevant ATE files.
132
+ def record_pattern_reference(name, options = {})
133
+ if name.is_a?(String) || name.is_a?(Symbol)
134
+ name = name.to_s
135
+ else
136
+ fail "Pattern name must be a string or a symbol, not a #{name.class}"
137
+ end
138
+ # Help out the user and force any multi-part patterns to :ate type
139
+ unless options[:type]
140
+ if name.sub(/\..*/, '') =~ /part\d+$/
141
+ options[:type] = :ate
142
+ end
143
+ end
144
+ unless options[:type] == :origen
145
+ # Inform the current generator that it has a new pattern reference to handle
146
+ if respond_to?(:pattern_reference_recorded)
147
+ pattern_reference_recorded(name, options)
148
+ end
149
+ end
150
+ base = options[:subroutine] ? pattern_references[:subroutine] : pattern_references[:main]
151
+ case options[:type]
152
+ when :origen
153
+ base[:origen] << name
154
+ when :ate
155
+ base[:ate] << name
156
+ when nil
157
+ base[:all] << name
158
+ else
159
+ fail "Unknown pattern reference type, #{options[:type]}, valid values are :origen or :ate"
160
+ end
161
+ nil
162
+ end
163
+
164
+ def pattern_references
165
+ @@pattern_references ||= {}
166
+ @@pattern_references[pattern_references_name] ||= {
167
+ main: {
168
+ all: [],
169
+ origen: [],
170
+ ate: []
171
+ },
172
+ subroutine: {
173
+ all: [],
174
+ origen: [],
175
+ ate: []
176
+ }
177
+ }
178
+ end
179
+
180
+ def all_pattern_references
181
+ pattern_references
182
+ @@pattern_references
183
+ end
184
+
185
+ def pattern_references_name=(name)
186
+ @pattern_references_name = name
187
+ end
188
+
189
+ def pattern_references_name
190
+ @pattern_references_name || 'global'
191
+ end
192
+
193
+ # @deprecated Use record_pattern_reference instead
194
+ #
107
195
  # All generators should push to this array whenever they reference a pattern
108
196
  # so that it is captured in the pattern list, e.g.
109
197
  # Origen.interface.referenced_patterns << pattern
198
+ #
199
+ # If the ATE platform also has a pattern list, e.g. the pattern master file on V93K,
200
+ # then this will also be updated.
201
+ # Duplicates will be automatically eliminated, so no duplicate checking should be
202
+ # performed on the application side.
110
203
  def referenced_patterns
111
- @@referenced_patterns ||= []
112
- end
113
-
114
- # All generators should push to this array whenever they reference a subroutine
115
- # pattern so that it is captured in the pattern list, e.g.
116
- # Origen.interface.referenced_subroutine_patterns << pattern
117
- def referenced_subroutine_patterns
118
- unless Origen.tester.v93k?
119
- fail 'referenced_subroutine_patterns is currently only implemented for V93k!'
120
- end
121
- @@referenced_subroutine_patterns ||= []
204
+ @@referenced_patterns ||= PatternArray.new
122
205
  end
123
206
 
124
207
  # Remove duplicates and file extensions from the referenced pattern lists
125
208
  def clean_referenced_patterns
126
209
  refs = [:referenced_patterns]
127
- refs << :referenced_subroutine_patterns if Origen.tester.v93k?
210
+ # refs << :referenced_subroutine_patterns if Origen.tester.v93k?
128
211
  refs.each do |ref|
129
- ref = send(ref)
130
- ref.uniq!
131
- ref.map! do |pat|
132
- pat.sub(/\..*/, '')
133
- end
134
- ref.uniq!
212
+ var = send(ref)
213
+ var = var.uniq.map do |pat|
214
+ pat = pat.sub(/\..*/, '')
215
+ pat unless pat =~ /_part\d+$/
216
+ end.uniq.compact
217
+ singleton_class.class_variable_set("@@#{ref}", var)
135
218
  end
136
219
  end
137
220
 
@@ -7,6 +7,8 @@ else
7
7
  end
8
8
  module Origen
9
9
  class Generator
10
+ include Comparator
11
+
10
12
  # Makes more sense for this plugin to own this method now
11
13
  def generate_program(file, options)
12
14
  Origen.file_handler.resolve_files(file, ignore_with_prefix: '_', default_dir: "#{Origen.root}/program") do |path|
@@ -26,10 +28,25 @@ module Origen
26
28
  dir = Pathname.new(file).dirname
27
29
  FileUtils.mkdir_p(dir) unless dir.exist?
28
30
  File.open(file, 'w') do |f|
29
- Origen.interface.referenced_patterns.uniq.sort.each do |pat|
30
- f.puts pat
31
+ pats = Origen.interface.all_pattern_references.map do |name, refs|
32
+ refs[:main][:all] + refs[:main][:origen]
33
+ end.flatten.uniq.sort
34
+ unless pats.empty?
35
+ f.puts '# Main patterns'
36
+ pats.each { |p| f.puts p }
37
+ f.puts
38
+ end
39
+
40
+ pats = Origen.interface.all_pattern_references.map do |name, refs|
41
+ refs[:subroutine][:all] + refs[:subroutine][:origen]
42
+ end.flatten.uniq.sort
43
+ unless pats.empty?
44
+ f.puts '# Subroutine patterns'
45
+ pats.each { |p| f.puts p }
31
46
  end
32
47
  end
48
+ ref_file = File.join(Origen.file_handler.reference_directory, Pathname.new(file).basename)
49
+ check_for_changes(file, ref_file)
33
50
  end
34
51
  Origen.interface.on_program_completion(options)
35
52
  end
@@ -75,12 +75,8 @@ module OrigenTesters
75
75
  end
76
76
  alias_method :capture, :store
77
77
 
78
- # Capture the next vector generated to HRAM
79
- #
80
- # This method applys a store vector (stv) opcode to the next vector to be generated,
81
- # note that is does not actually generate a new vector.
82
- #
83
- # On J750 the pins argument is ignored since the tester only supports whole vector capture.
78
+ # Same as the store method, except that the capture will be applied to the next
79
+ # vector to be generated.
84
80
  #
85
81
  # @example
86
82
  # $tester.store_next_cycle
@@ -4,10 +4,10 @@ module OrigenTesters
4
4
  class Flow < ATP::Formatter
5
5
  include OrigenTesters::Flow
6
6
 
7
- attr_accessor :test_suites, :test_methods, :pattern_master, :lines, :stack
7
+ attr_accessor :test_suites, :test_methods, :lines, :stack
8
8
 
9
9
  def subdirectory
10
- 'testflow'
10
+ 'testflow/mfh.testflow.group'
11
11
  end
12
12
 
13
13
  def filename
@@ -26,6 +26,12 @@ module OrigenTesters
26
26
  @runtime_control_variables ||= []
27
27
  end
28
28
 
29
+ def at_flow_start
30
+ end
31
+
32
+ def at_flow_end
33
+ end
34
+
29
35
  def finalize(options = {})
30
36
  super
31
37
  test_suites.finalize
@@ -16,6 +16,8 @@ module OrigenTesters
16
16
  def initialize(options = {})
17
17
  super
18
18
  @initialized = true
19
+ @@pattern_masters ||= {}
20
+ @@pattern_compilers ||= {}
19
21
  end
20
22
 
21
23
  def add_tml(name, methods)
@@ -27,16 +29,34 @@ module OrigenTesters
27
29
  # @api private
28
30
  def at_flow_start
29
31
  flow.at_flow_start
32
+ @pattern_master_filename = nil
33
+ end
34
+
35
+ # @api private
36
+ def at_flow_end
37
+ flow.at_flow_end
30
38
  end
31
39
 
32
40
  # @api private
33
41
  def at_run_start
34
42
  flow.at_run_start
35
43
  @@flow_sheets = nil
44
+ @@pattern_masters = nil
45
+ @@pattern_compilers = nil
36
46
  end
37
47
  alias_method :reset_globals, :at_run_start
38
48
 
39
49
  def resources_filename=(name)
50
+ self.pattern_master_filename = name
51
+ self.pattern_references_name = name
52
+ end
53
+
54
+ def pattern_master_filename=(name)
55
+ @pattern_master_filename = name
56
+ end
57
+
58
+ def pattern_master_filename
59
+ @pattern_master_filename || 'global'
40
60
  end
41
61
 
42
62
  def flow(filename = Origen.file_handler.current_file.basename('.rb').to_s)
@@ -48,35 +68,48 @@ module OrigenTesters
48
68
  p.filename = f
49
69
  p.test_suites ||= platform::TestSuites.new(p)
50
70
  p.test_methods ||= platform::TestMethods.new(p)
51
- p.pattern_master ||= platform::PatternMaster.new(p)
52
71
  flow_sheets[f] = p
53
72
  end
54
73
 
55
- # Returns a top-level pattern master file which will contain all patterns from
56
- # all flows. Additionally each flow has its own pattern master file containing
57
- # only the patterns for the specific flow.
74
+ # Returns the pattern master file (.pmfl) for the current flow, by default a common pattern
75
+ # master file called 'global' will be used for all flows.
76
+ # To use a different one set the resources_filename at the start of the flow.
58
77
  def pattern_master
59
- @pattern_master ||= begin
78
+ @@pattern_masters ||= {}
79
+ @@pattern_masters[pattern_master_filename] ||= begin
60
80
  m = platform::PatternMaster.new(manually_register: true)
61
- name = 'complete.pmfl'
81
+ name = "#{pattern_master_filename}.pmfl"
62
82
  name = "#{Origen.config.program_prefix}_#{name}" if Origen.config.program_prefix
63
83
  m.filename = name
84
+ m.id = pattern_master_filename
64
85
  m
65
86
  end
66
87
  end
67
88
 
68
- # Generates a pattern compiler configuration file (.aiv) to compile all
69
- # patterns referenced in all flows.
89
+ # Returns the pattern compiler file (.aiv) for the current flow, by default a common pattern
90
+ # compiler file called 'global' will be used for all flows.
91
+ # To use a different one set the resources_filename at the start of the flow.
70
92
  def pattern_compiler
71
- @pattern_compiler ||= begin
93
+ @@pattern_compilers ||= {}
94
+ @@pattern_compilers[pattern_master_filename] ||= begin
72
95
  m = platform::PatternCompiler.new(manually_register: true)
73
- name = 'complete.aiv'
96
+ name = "#{pattern_master_filename}.aiv"
74
97
  name = "#{Origen.config.program_prefix}_#{name}" if Origen.config.program_prefix
75
98
  m.filename = name
99
+ m.id = pattern_master_filename
76
100
  m
77
101
  end
78
102
  end
79
103
 
104
+ # @api private
105
+ def pattern_reference_recorded(name, options = {})
106
+ # Will be called everytime a pattern reference is made that the ATE should be aware of,
107
+ # don't need to remember it as it can be fetched from all_pattern_references later, but
108
+ # need to instantiate a pattern master and compiler to handle it later
109
+ pattern_master
110
+ pattern_compiler
111
+ end
112
+
80
113
  def test_suites
81
114
  flow.test_suites
82
115
  end
@@ -95,10 +128,13 @@ module OrigenTesters
95
128
  g = []
96
129
  flow_sheets.each do |_name, sheet|
97
130
  g << sheet
98
- g << sheet.pattern_master
99
131
  end
100
- g << pattern_master if pattern_master
101
- g << pattern_compiler unless referenced_subroutine_patterns.empty? && referenced_patterns.empty?
132
+ Hash(@@pattern_masters).each do |name, sheet|
133
+ g << sheet
134
+ end
135
+ Hash(@@pattern_compilers).each do |name, sheet|
136
+ g << sheet
137
+ end
102
138
  g
103
139
  end
104
140
 
@@ -5,17 +5,26 @@ module OrigenTesters
5
5
  class PatternCompiler
6
6
  include OrigenTesters::Generator
7
7
 
8
- attr_accessor :filename
8
+ attr_accessor :filename, :part_patterns, :id
9
9
 
10
10
  def initialize(flow = nil)
11
+ @part_patterns = []
11
12
  end
12
13
 
13
14
  def subroutines
14
- Origen.interface.referenced_subroutine_patterns
15
+ (references[:subroutine][:all] + references[:subroutine][:ate]).map do |p|
16
+ p.strip.sub(/\..*/, '')
17
+ end.uniq.sort
15
18
  end
16
19
 
17
20
  def patterns
18
- Origen.interface.referenced_patterns
21
+ (references[:main][:all] + references[:main][:ate]).map do |p|
22
+ p.strip.sub(/\..*/, '')
23
+ end.uniq.sort
24
+ end
25
+
26
+ def references
27
+ Origen.interface.all_pattern_references[id]
19
28
  end
20
29
  end
21
30
  end
@@ -6,7 +6,7 @@ module OrigenTesters
6
6
  include OrigenTesters::Generator
7
7
 
8
8
  attr_reader :flow, :paths
9
- attr_accessor :filename
9
+ attr_accessor :filename, :id
10
10
 
11
11
  def initialize(flow = nil)
12
12
  @flow = flow
@@ -14,20 +14,42 @@ module OrigenTesters
14
14
  end
15
15
 
16
16
  def filename
17
- @filename || flow.filename.sub('.flow', '.pmfl')
17
+ @filename || flow.filename.sub('.tf', '.pmfl')
18
18
  end
19
19
 
20
20
  def subdirectory
21
21
  'vectors'
22
22
  end
23
23
 
24
- def add(name, options = {})
25
- name, subdir = extract_subdir(name, options)
26
- name += '.binl.gz' unless name =~ /binl.gz$/
27
- Origen.interface.referenced_patterns << name
28
- paths[subdir] ||= []
29
- # Just add it, duplicates will be removed at render time
30
- paths[subdir] << name unless paths[subdir].include?(name)
24
+ def paths
25
+ { '.' => patterns }
26
+ end
27
+
28
+ # def add(name, options = {})
29
+ # name, subdir = extract_subdir(name, options)
30
+ # name += '.binl.gz' unless name =~ /binl.gz$/
31
+ # # Don't want to ask Origen to compile these, but do want them in the v93k
32
+ # # compile list
33
+ # if name =~ /_part\d+\.binl\.gz$/
34
+ # Origen.interface.pattern_compiler.part_patterns << name
35
+ # else
36
+ # Origen.interface.referenced_patterns << name
37
+ # end
38
+ # paths[subdir] ||= []
39
+ # # Just add it, duplicates will be removed at render time
40
+ # paths[subdir] << name unless paths[subdir].include?(name)
41
+ # end
42
+
43
+ def patterns
44
+ (references[:subroutine][:all] + references[:subroutine][:ate] +
45
+ references[:main][:all] + references[:main][:ate]).map do |p|
46
+ p = p.strip
47
+ p += '.binl.gz' unless p =~ /binl.gz$/
48
+ end.uniq
49
+ end
50
+
51
+ def references
52
+ Origen.interface.all_pattern_references[id]
31
53
  end
32
54
 
33
55
  private
@@ -89,7 +89,14 @@ module OrigenTesters
89
89
  type = parameters[attr]
90
90
  else
91
91
  # The type is based on the value of another attribute
92
- type = send(clean_attr_name(parameters[attr]))
92
+ name = clean_attr_name(parameters[attr])
93
+ if respond_to?(name)
94
+ type = send(name)
95
+ elsif respond_to?(name.sub(/b$/, ''))
96
+ type = inverse_of(send(name.sub(/b$/, '')))
97
+ else
98
+ fail "Unknown attribute type: #{parameters[attr]}"
99
+ end
93
100
  end
94
101
  case type
95
102
  when :current, 'CURR'
@@ -130,6 +137,17 @@ module OrigenTesters
130
137
 
131
138
  private
132
139
 
140
+ def inverse_of(type)
141
+ case type
142
+ when :current, 'CURR'
143
+ :voltage
144
+ when :voltage, 'VOLT'
145
+ :current
146
+ else
147
+ fail "Don't know the inverse of type: #{type}"
148
+ end
149
+ end
150
+
133
151
  def clean_attr_name(name)
134
152
  name.to_s.gsub(/\.|-/, '_')
135
153
  end
@@ -41,7 +41,7 @@ module OrigenTesters
41
41
  pinlist: [:string, '@'],
42
42
  force_mode: [:string, 'VOLT', %w(VOLT CURR)],
43
43
  force_value: [:force_mode, 3800.mV],
44
- spmu_clamp: [:current, 0],
44
+ spmu_clamp: [:force_modeb, 0],
45
45
  precharge: [:string, 'OFF', %w(ON OFF)],
46
46
  precharge_voltage: [:voltage, 0],
47
47
  settling_time: [:time, 0],
@@ -6,6 +6,10 @@ module OrigenTesters
6
6
  attr_reader :test_method
7
7
  attr_accessor :lo_limit, :hi_limit
8
8
  attr_accessor :unit
9
+ alias_method :lo, :lo_limit
10
+ alias_method :lo=, :lo_limit=
11
+ alias_method :hi, :hi_limit
12
+ alias_method :hi=, :hi_limit=
9
13
 
10
14
  def initialize(test_method)
11
15
  @test_method = test_method
@@ -95,6 +95,11 @@ module OrigenTesters
95
95
  end
96
96
  end
97
97
 
98
+ def pattern=(name)
99
+ Origen.interface.record_pattern_reference(name)
100
+ @pattern = name
101
+ end
102
+
98
103
  def inspect
99
104
  "<TestSuite: #{name}>"
100
105
  end
@@ -32,12 +32,8 @@ module OrigenTesters
32
32
  end
33
33
 
34
34
  def finalize
35
- collection.each do |suite|
36
- if suite.pattern
37
- flow.pattern_master.add suite.pattern
38
- Origen.interface.pattern_master.add suite.pattern
39
- end
40
- end
35
+ # collection.each do |suite|
36
+ # end
41
37
  end
42
38
 
43
39
  private
@@ -3,7 +3,7 @@ module OrigenTesters
3
3
  class V93K
4
4
  require 'origen_testers/smartest_based_tester/base/flow'
5
5
  class Flow < Base::Flow
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.flow.erb"
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb"
7
7
  end
8
8
  end
9
9
  end
@@ -9,9 +9,9 @@ single_binary_pattern_dir ./BINL/
9
9
  AI_V2B_OPTIONS -ALT -c <%= $dut.name.to_s.upcase %>.vbc -k -z PS800
10
10
 
11
11
  PATTERNS name tmf_file v2b_options
12
- % subroutines.uniq.sort.each do |pattern|
13
- <%= pattern.sub(/\..*/, '') %> <%= $dut.name.to_s.upcase %>.tmf -s
12
+ % subroutines.each do |pattern|
13
+ <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf -s
14
14
  % end
15
- % patterns.uniq.sort.each do |pattern|
16
- <%= pattern.sub(/\..*/, '') %> <%= $dut.name.to_s.upcase %>.tmf
15
+ % patterns.each do |pattern|
16
+ <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf
17
17
  % end
@@ -6,7 +6,7 @@ path:
6
6
  <%= path %>
7
7
 
8
8
  files:
9
- % patterns.uniq.sort.each do |pattern|
9
+ % patterns.sort.each do |pattern|
10
10
  <%= pattern %>
11
11
  % end
12
12
 
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.7.7
4
+ version: 0.7.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-09 00:00:00.000000000 Z
11
+ date: 2016-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.7.0
19
+ version: 0.7.23
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.7.0
26
+ version: 0.7.23
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: require_all
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -319,8 +319,8 @@ files:
319
319
  - lib/origen_testers/smartest_based_tester/v93k/pattern_compiler.rb
320
320
  - lib/origen_testers/smartest_based_tester/v93k/pattern_master.rb
321
321
  - lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb
322
- - lib/origen_testers/smartest_based_tester/v93k/templates/template.flow.erb
323
322
  - lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb
323
+ - lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb
324
324
  - lib/origen_testers/smartest_based_tester/v93k/test_method.rb
325
325
  - lib/origen_testers/smartest_based_tester/v93k/test_methods.rb
326
326
  - lib/origen_testers/smartest_based_tester/v93k/test_suite.rb
@@ -406,4 +406,3 @@ specification_version: 4
406
406
  summary: This plugin provides Origen tester models to drive ATE type testers like
407
407
  the J750, UltraFLEX, V93K,...
408
408
  test_files: []
409
- has_rdoc: