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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c5a15249f0bcd51157464a54eaf398f2fa230a4
|
4
|
+
data.tar.gz: 87645a3a61fa27a203a86a673ef6c4170da201d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89038414f5050a00feee7f45151321a1d9985a65c9abfb42bd630c8de96c51e0a6a40c3c6c43bcf982d3f1f7daa934e0a68674520db5b55def1b54b7c5ebfde1
|
7
|
+
data.tar.gz: d4f87a4092c221d1a912f8e1daeb0588e8aded4d625c1b6c6fc235195d32dd1584c7f7e59afc290959a5017944167195248c24574fe02a81abdcf4d12c29207c
|
data/config/version.rb
CHANGED
@@ -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
|
-
|
204
|
-
|
205
|
-
|
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.
|
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-
|
11
|
+
date: 2015-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|