origen_testers 0.19.2 → 0.19.3

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: 3881d822046882174c8753d75a00c744a880799a
4
- data.tar.gz: 8fac7fb32ad1c98a8111e162d71cb1e1ec44ea48
3
+ metadata.gz: 6eea40e7cbf8f983adb36452ae060cca548731f2
4
+ data.tar.gz: 9c27b74043fc622cdf3e59bab06c32cf9c25c649
5
5
  SHA512:
6
- metadata.gz: f73357e78f88dc4957f46f32fc6f567c5725d8f0376ca5654ef37c04fefc82c54d9f66518a08964c04cbabb4c3869f8004e491a0151e791001fd5f86ddb43c73
7
- data.tar.gz: c14255719d7077016fd21d8d23de5a6d0ee10179aaef18c7c0b4682ca37fdfacb3a50ebbab44f989e0caf14c928c3139638b2fde61c5e3c57df2ec4856887b49
6
+ metadata.gz: f79550936613abfe33c20b82c33c2ac3d41ae30cf489405c72b57a65f4ebd2a5fe3e1450c2ad28d8297d209638427438124eca0ec50937de94c95dcbf53e21d9
7
+ data.tar.gz: 2d003fd7fa9196c2acdf7975500eec2e71488bfeea6c6814088c8dc674dd6a33324929e769fa5535cca8a7ab83eaf41fe3600fb5d625f763c9b8a0be649ed9f9
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
3
  MINOR = 19
4
- BUGFIX = 2
4
+ BUGFIX = 3
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -204,15 +204,23 @@ module OrigenTesters
204
204
 
205
205
  def set_reference_directory
206
206
  if @user_options[:reference_directory].nil?
207
- # Nothing passed for reference directory so set it to Origen.app.config.pattern_output_directory if valid
208
- if File.directory? Origen.app.config.pattern_output_directory
209
- @user_options[:reference_directory] = Pathname.new(Origen.app.config.pattern_output_directory)
210
- elsif @path
207
+ # Nothing passed for reference directory so set it to @path or Origen.app.config.pattern_output_directory
208
+ if @path
211
209
  if @path.directory?
212
210
  @user_options[:reference_directory] = @path
213
211
  else
214
212
  @user_options[:reference_directory] = @path.dirname
215
213
  end
214
+ else
215
+ # @path has not been specified, so set to Origen.app.config.pattern_output_directory (create if necessary)
216
+ if Origen.app.config.pattern_output_directory.nil?
217
+ fail "Something went wrong, can't create pattern compiler without output_directory"
218
+ else
219
+ @user_options[:reference_directory] = Pathname.new(Origen.app.config.pattern_output_directory)
220
+ unless @user_options[:reference_directory].directory?
221
+ FileUtils.mkdir_p(@user_options[:reference_directory])
222
+ end
223
+ end
216
224
  end
217
225
  elsif File.directory?(@user_options[:reference_directory])
218
226
  @user_options[:reference_directory] = Pathname.new(@user_options[:reference_directory])
@@ -1,3 +1,5 @@
1
+ # vector_pipeline concept explained [here](https://github.com/Origen-SDK/origen_testers/pull/101#issuecomment-424768720)
2
+
1
3
  module OrigenTesters
2
4
  class VectorPipeline
3
5
  attr_reader :group_size, :pipeline
@@ -67,6 +69,7 @@ module OrigenTesters
67
69
  yield comment
68
70
  end
69
71
  yield_vector(vector, &block)
72
+ @cycle_count += pipeline[@group_size - 1].repeat
70
73
  end
71
74
  pipeline.shift(group_size)
72
75
  end
@@ -83,14 +86,23 @@ module OrigenTesters
83
86
  comment_written = true
84
87
  end
85
88
  yield_vector(@last_vector, &block)
89
+ @cycle_count += @last_vector.repeat
86
90
  end
87
91
  end
92
+
88
93
  duplicate_last_vector until aligned?
89
- pipeline.each do |vector|
94
+
95
+ group_repeat_index = @group_size - 1
96
+ pipeline.each_index do |index|
97
+ vector = pipeline[index]
90
98
  vector.comments.each do |comment|
91
99
  yield comment
92
100
  end
93
101
  yield_vector(vector, &block)
102
+ if index % @group_size == 0 && index > 0
103
+ group_repeat_index += @group_size
104
+ end
105
+ @cycle_count += pipeline[group_repeat_index].repeat
94
106
  end
95
107
 
96
108
  comments.each do |comment|
@@ -120,11 +132,11 @@ module OrigenTesters
120
132
  yield vector
121
133
  end
122
134
  @vector_count += r
123
- @cycle_count += r
135
+ # @cycle_count now tracked in the calling methods (flush and empty)
124
136
  else
125
137
  yield vector
126
138
  @vector_count += 1
127
- @cycle_count += r
139
+ # @cycle_count now tracked in the calling methods (flush and empty)
128
140
  end
129
141
  end
130
142
 
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.19.2
4
+ version: 0.19.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-03 00:00:00.000000000 Z
11
+ date: 2018-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -392,7 +392,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
392
392
  version: '0'
393
393
  requirements: []
394
394
  rubyforge_project:
395
- rubygems_version: 2.6.11
395
+ rubygems_version: 2.6.7
396
396
  signing_key:
397
397
  specification_version: 4
398
398
  summary: This plugin provides Origen tester models to drive ATE type testers like