origen_testers 0.19.2 → 0.19.3

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