origen_testers 0.48.3 → 0.49.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/version.rb +2 -2
- data/lib/origen_testers/atp/flow.rb +6 -0
- data/lib/origen_testers/smartest_based_tester/base.rb +7 -0
- data/lib/origen_testers/smartest_based_tester/base/limits_file.rb +12 -1
- metadata +16 -3
- data/templates/origen_guides/pattern/ultraflex.md.erb~ +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d674d200f01a3d1d9b7c6162ecf527fa91c4466f5d59a5d6f5e0e33b4cd1a2d8
|
4
|
+
data.tar.gz: fcfe7c097dc04374a29521dcc476e55b4aada56bbac7c060f677eed4c5c87748
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3342964cf9787fd99bf25003963a3ff02182e325ac256161bc32eae15759f666bb7d3003ed82e63fd8e441a87b5c04bfc88d89ca54945672b9ba921adc71be02
|
7
|
+
data.tar.gz: 3ed6932df2fcf98baba22cbf5ddf0f50284442b501d3f4ac0df269e4acdc7b1dcf6dc2d12f77441ae1b1fa1254ff797ac3434cbda35e15dfa7ccff65c820dc1d
|
data/config/version.rb
CHANGED
@@ -439,6 +439,8 @@ module OrigenTesters::ATP
|
|
439
439
|
children << on_pass(options[:on_pass]) if options[:on_pass]
|
440
440
|
end
|
441
441
|
|
442
|
+
children << priority(options[:priority]) if options[:priority]
|
443
|
+
|
442
444
|
save_conditions
|
443
445
|
n(:test, children)
|
444
446
|
end
|
@@ -810,6 +812,10 @@ module OrigenTesters::ATP
|
|
810
812
|
n1(:id, name)
|
811
813
|
end
|
812
814
|
|
815
|
+
def priority(name)
|
816
|
+
n1(:priority, name)
|
817
|
+
end
|
818
|
+
|
813
819
|
def on_fail(options = {})
|
814
820
|
if options.is_a?(Proc)
|
815
821
|
node = n0(:on_fail)
|
@@ -115,6 +115,7 @@ module OrigenTesters
|
|
115
115
|
@overlay_style = :subroutine # default to use subroutine for overlay
|
116
116
|
@capture_style = :hram # default to use hram for capture
|
117
117
|
@overlay_subr = nil
|
118
|
+
@overlay_history = {} # used to track labels, subroutines, digsrc pins used etc
|
118
119
|
|
119
120
|
if options[:add_flow_enable]
|
120
121
|
self.add_flow_enable = options[:add_flow_enable]
|
@@ -203,6 +204,12 @@ module OrigenTesters
|
|
203
204
|
when :subroutine, :default
|
204
205
|
subroutine_overlay(overlay_str, options)
|
205
206
|
ovly_style = :subroutine
|
207
|
+
when :label, :global_label
|
208
|
+
options[:dont_compress] = true
|
209
|
+
unless @overlay_history.key?(overlay_str)
|
210
|
+
cc "#{overlay_str}"
|
211
|
+
@overlay_history[overlay_str] = { is_label: true }
|
212
|
+
end
|
206
213
|
when :handshake
|
207
214
|
if @delayed_handshake
|
208
215
|
if @delayed_handshake != overlay_str
|
@@ -119,6 +119,7 @@ module OrigenTesters
|
|
119
119
|
o[:test_name] = extract_test_name(node, o)
|
120
120
|
o[:test_number] = extract_test_number(node, o)
|
121
121
|
o[:limits] = extract_limits(node, o)
|
122
|
+
o[:priority] = extract_priority(node, o)
|
122
123
|
o[:test_text] = node.find(:test_text).try(:value)
|
123
124
|
if on_fail = node.find(:on_fail)
|
124
125
|
if set_result = on_fail.find(:set_result)
|
@@ -141,7 +142,7 @@ module OrigenTesters
|
|
141
142
|
end
|
142
143
|
if smt8?
|
143
144
|
if o[:bin_s_num]
|
144
|
-
limits_workbook.add_softbin o[:bin_s_num], name: o[:bin_s_name], bin: o[:bin_h_num]
|
145
|
+
limits_workbook.add_softbin o[:bin_s_num], name: o[:bin_s_name], bin: o[:bin_h_num], priority: o[:priority]
|
145
146
|
end
|
146
147
|
if o[:bin_h_num]
|
147
148
|
limits_workbook.add_bin o[:bin_h_num], name: o[:bin_h_name]
|
@@ -217,6 +218,16 @@ module OrigenTesters
|
|
217
218
|
name
|
218
219
|
end
|
219
220
|
|
221
|
+
def extract_priority(node, o)
|
222
|
+
test_obj = node.find(:priority).to_a[0]
|
223
|
+
if test_obj.is_a?(Hash)
|
224
|
+
priority = test_obj['Priority']
|
225
|
+
else
|
226
|
+
priority = test_obj.respond_to?(:priority) ? test_obj.priority : test_obj if test_obj
|
227
|
+
end
|
228
|
+
priority
|
229
|
+
end
|
230
|
+
|
220
231
|
def extract_test_name(node, o)
|
221
232
|
test_obj = node.find(:object).to_a[0]
|
222
233
|
if smt8?
|
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.
|
4
|
+
version: 0.49.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.57.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: dentaku
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: simplecov
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -544,7 +558,6 @@ files:
|
|
544
558
|
- templates/origen_guides/pattern/stil.md.erb
|
545
559
|
- templates/origen_guides/pattern/timing.md.erb
|
546
560
|
- templates/origen_guides/pattern/ultraflex.md.erb
|
547
|
-
- templates/origen_guides/pattern/ultraflex.md.erb~
|
548
561
|
- templates/origen_guides/pattern/v93k.md.erb
|
549
562
|
- templates/origen_guides/program/charz.md.erb
|
550
563
|
- templates/origen_guides/program/code.md.erb
|
@@ -1,30 +0,0 @@
|
|
1
|
-
% render "layouts/guides.html" do
|
2
|
-
|
3
|
-
This page will be used to document any UltraFLEX-only APIs related to pattern generation,
|
4
|
-
however the goal is to have as few of these as possible so that Origen pattern source code can re-target
|
5
|
-
automatically to any supported platform.
|
6
|
-
|
7
|
-
There are no significant APIs in this category currently, therefore refer to the
|
8
|
-
[Common Pattern API](<%= path "guides/pattern/common" %>) which can fully target the UltraFLEX.
|
9
|
-
|
10
|
-
### DigSrc
|
11
|
-
|
12
|
-
UltraFlex supports <code>:digsrc</code> as a <code>tester.overlay_style</code> set like this:
|
13
|
-
|
14
|
-
~~~ruby
|
15
|
-
tester.overlay_style = :digsrc
|
16
|
-
~~~
|
17
|
-
|
18
|
-
By default Origen will automatically place the digsrc start opcode at the beginning of the resulting pattern
|
19
|
-
when overlay is used. In some cases (like when the pattern is used in a pattern set that has already started
|
20
|
-
the instrument in a previous pattern, or possibly in svm_patterns) this behavior is undesirable.
|
21
|
-
|
22
|
-
The insertion of this start opcode can be disabled by placing the following code **before** any overlay operations
|
23
|
-
for a given pin.
|
24
|
-
|
25
|
-
~~~ruby
|
26
|
-
tester.digsrc_skip_start :pin_or_group_name if tester.ultraflex?
|
27
|
-
# Overlay operations can happen after this point
|
28
|
-
~~~
|
29
|
-
|
30
|
-
% end
|