origen_testers 0.48.3 → 0.49.0
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 +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
|