origen_testers 0.5.1 → 0.5.2

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