origen_testers 0.5.1 → 0.5.2

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: 2ede4a79072352c2cd7d6acaa9fb865179f17316
4
- data.tar.gz: 7af62afb233b4363fac108e8ddcbf64f862e33a4
3
+ metadata.gz: 8c5a15249f0bcd51157464a54eaf398f2fa230a4
4
+ data.tar.gz: 87645a3a61fa27a203a86a673ef6c4170da201d6
5
5
  SHA512:
6
- metadata.gz: 65ef5f42b2f18f4d7b6f5218af23f762eb3d3b1687b635e4e39866e2da8e0d03ac99c5e104c71f9a885e92732fa9cf589462eba8fb00eff6d6c1c2d8643d3e98
7
- data.tar.gz: a2086e85641e434028486e4313b01ad4efa37959a36cbda1ff4b00c5aea2017e3ef931e4cde098506994471082bb73dd9a875d84f3fa7b37009cff107d9592ab
6
+ metadata.gz: 89038414f5050a00feee7f45151321a1d9985a65c9abfb42bd630c8de96c51e0a6a40c3c6c43bcf982d3f1f7daa934e0a68674520db5b55def1b54b7c5ebfde1
7
+ data.tar.gz: d4f87a4092c221d1a912f8e1daeb0588e8aded4d625c1b6c6fc235195d32dd1584c7f7e59afc290959a5017944167195248c24574fe02a81abdcf4d12c29207c
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
3
  MINOR = 5
4
- BUGFIX = 1
4
+ BUGFIX = 2
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -341,6 +341,7 @@ module OrigenTesters
341
341
  manual_stop: false,
342
342
  clr_fail_post_match: false
343
343
  }.merge(options)
344
+ options[:on_block_match_goto] ||= options.delete(:on_pin_match_goto)
344
345
 
345
346
  match_block(timeout, options) do |match_conditions, fail_conditions|
346
347
  # Define match conditions
@@ -72,7 +72,8 @@ module OrigenTesters
72
72
  # * :check_for_fails (false) - Flushes the pipeline and handshakes with the tester (passing readcode 100) prior to the match (to allow binout of fails encountered before the match)
73
73
  # * :force_fail_on_timeout (true) - Force a vector mis-compare if the match loop times out
74
74
  # * :on_timeout_goto ("") - Optionally supply a label to branch to on timeout, by default will continue from the end of the match loop
75
- # * :on_block_match_goto ("") - Optionally supply a label to branch to when block condition is met, by default will continue from the end of the match loop
75
+ # * :on_block_match_goto ("") - Optionally supply a label to branch to when block condition is met, by default will continue from the end of the match loop.
76
+ # A hash will also be accepted for this argument to supply a specific label (or no label) for each block e.g. {0 => "on_block_0_fail"}
76
77
  # * :multiple_entries (false) - Supply an integer to generate multiple entries into the match (each with a unique readcode), this can be useful when debugging patterns with multiple matches
77
78
  # * :force_fail_on_timeout (true) - force pattern to fail if timeout occurs
78
79
  # * :global_loops (false) - whether match loop loops should use global labels
@@ -200,9 +201,26 @@ module OrigenTesters
200
201
  microcode "block_#{i}_matched_#{@unique_counter}:"
201
202
  cycle(microcode: 'pop_loop icc')
202
203
  cycle(microcode: 'clr_fail')
203
- end
204
- if options[:on_block_match_goto]
205
- cycle(microcode: "jump #{options[:on_block_match_goto]}")
204
+ if options[:on_block_match_goto]
205
+ if options[:on_block_match_goto].is_a?(Hash)
206
+ if options[:on_block_match_goto][i]
207
+ custom_jump = options[:on_block_match_goto][i]
208
+ else
209
+ custom_jump = nil
210
+ end
211
+ else
212
+ custom_jump = options[:on_block_match_goto]
213
+ end
214
+ end
215
+ if custom_jump
216
+ cycle(microcode: "jump #{custom_jump}")
217
+ else
218
+ # Don't do a jump on the last match block as it will naturally fall through
219
+ # TODO: Update origen core to expose the size
220
+ unless match_conditions.instance_variable_get(:@block_args).size == i + 1
221
+ cycle(microcode: "jump match_loop_end_#{@unique_counter} icc")
222
+ end
223
+ end
206
224
  end
207
225
  microcode "match_loop_end_#{@unique_counter}:"
208
226
  if options[:clr_fail_post_match]
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.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-02 00:00:00.000000000 Z
11
+ date: 2015-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen