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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3c67bc8fcc8e5ee79fccb2b53ab691ce22f5635811bedcb2cc6cbd6a247d0af7
4
- data.tar.gz: 94966a015d097731c5a8320bbe2f0f8d7238b988151af466b213c2017e3f1c53
3
+ metadata.gz: d674d200f01a3d1d9b7c6162ecf527fa91c4466f5d59a5d6f5e0e33b4cd1a2d8
4
+ data.tar.gz: fcfe7c097dc04374a29521dcc476e55b4aada56bbac7c060f677eed4c5c87748
5
5
  SHA512:
6
- metadata.gz: 4628a25c96b619ddc665fc49c958468f9192ea16af3609d04cbb40f27ef714e13ccfba33a111b632e1842f7fb70018eb6665a70f57bfcdc316e829bd1cd1560c
7
- data.tar.gz: 7fa99d5a51d669bb845bc529d91dcf69a77c19851313b1cacfca0e1d704f122c23dda8f7495de9893af6ab89103ea2e2648eaa5561cad96ddf2269fdc8f73a4f
6
+ metadata.gz: 3342964cf9787fd99bf25003963a3ff02182e325ac256161bc32eae15759f666bb7d3003ed82e63fd8e441a87b5c04bfc88d89ca54945672b9ba921adc71be02
7
+ data.tar.gz: 3ed6932df2fcf98baba22cbf5ddf0f50284442b501d3f4ac0df269e4acdc7b1dcf6dc2d12f77441ae1b1fa1254ff797ac3434cbda35e15dfa7ccff65c820dc1d
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
- MINOR = 48
4
- BUGFIX = 3
3
+ MINOR = 49
4
+ BUGFIX = 0
5
5
  DEV = nil
6
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
7
7
  end
@@ -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.48.3
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-04-15 00:00:00.000000000 Z
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