origen_testers 0.49.2 → 0.50.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 +5 -2
- data/lib/origen_testers/atp/parser.rb +1 -0
- data/lib/origen_testers/charz/profile.rb +13 -0
- data/lib/origen_testers/decompiler/pattern/splitter.rb +1 -1
- data/lib/origen_testers/decompiler/pattern.rb +5 -1
- data/lib/origen_testers/igxl_based_tester/base.rb +1 -1
- data/lib/origen_testers/igxl_based_tester/ultraflex.rb +8 -3
- data/pattern/uflex_digital_instrument.rb +3 -0
- data/templates/origen_guides/pattern/ultraflex.md.erb +12 -0
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5895221d7385ac33677fffba9d998bf29a475978677f740968f1cfda57677e1
|
4
|
+
data.tar.gz: 5f623aacb11d0ea9b56b36fd3186cf32dbf2724e034de5d2b1822e02c507aa53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bae858530cf088b08ac1938411815e6d67fe86524fa98824f328583dfa6c319e5143588b868edd16ffef31a119e665e64cde113d0ea5c71ba8dd0ddb3b899529
|
7
|
+
data.tar.gz: 368c6d87bf5fb030e83cf96283c0d6ce43844a442f2719a10a76ddf3c2f4906ef7cd4012d7fdea9bf5eec4f39aedfaa0f1bba0276892978e2e91c26495ac9168
|
data/config/version.rb
CHANGED
@@ -337,8 +337,11 @@ module OrigenTesters::ATP
|
|
337
337
|
|
338
338
|
name = (options[:name] || options[:tname] || options[:test_name])
|
339
339
|
unless name
|
340
|
-
|
341
|
-
|
340
|
+
# Starting in Ruby3 type Symbol responds to name
|
341
|
+
unless instance.is_a?(Symbol)
|
342
|
+
[:name, :tname, :test_name].each do |m|
|
343
|
+
name ||= instance.respond_to?(m) ? instance.send(m) : nil
|
344
|
+
end
|
342
345
|
end
|
343
346
|
end
|
344
347
|
children << n1(:name, name) if name
|
@@ -35,6 +35,19 @@ module OrigenTesters
|
|
35
35
|
def attrs_ok?
|
36
36
|
return if @quality_check == false
|
37
37
|
|
38
|
+
unless @routines.is_a?(Array)
|
39
|
+
Origen.log.error "Profile #{id}: routines is expected to be of type <Array>, but is instead of type <#{@routines.class}>!"
|
40
|
+
fail
|
41
|
+
end
|
42
|
+
|
43
|
+
# allowing a config for empty routines for usecase of
|
44
|
+
# determining routines on the fly dynamically
|
45
|
+
if @routines.empty? && !@allow_empty_routines
|
46
|
+
Origen.log.error "Profile #{id}: routines array is empty!"
|
47
|
+
Origen.log.warn "If you'd like to enable profile creation without routines, set the profile's @allow_empty_routines attribute to true"
|
48
|
+
fail
|
49
|
+
end
|
50
|
+
|
38
51
|
unknown_routines = @routines - @defined_routines
|
39
52
|
unless unknown_routines.empty?
|
40
53
|
Origen.log.error "Profile #{id}: unknown routines: #{unknown_routines}"
|
@@ -51,7 +51,11 @@ module OrigenTesters
|
|
51
51
|
include EnumerableExt
|
52
52
|
include SpecHelpers
|
53
53
|
|
54
|
-
def initialize(source,
|
54
|
+
def initialize(source, options = {})
|
55
|
+
options = { direct_source: false, no_verify: false }.merge(options)
|
56
|
+
direct_source = options[:direct_source]
|
57
|
+
no_verify = options[:no_verify]
|
58
|
+
|
55
59
|
if source.is_a?(File)
|
56
60
|
source = source.path
|
57
61
|
end
|
@@ -28,7 +28,7 @@ module OrigenTesters
|
|
28
28
|
|
29
29
|
# Returns a new IGXLBasedTester instance, normally there would only ever be one of these
|
30
30
|
# assigned to the global variable such as $tester by your target.
|
31
|
-
def initialize
|
31
|
+
def initialize(options = {})
|
32
32
|
@unique_counter = 0
|
33
33
|
@counter_lsb_bits = 0
|
34
34
|
@counter_msb_bits = 0
|
@@ -4,6 +4,10 @@ module OrigenTesters
|
|
4
4
|
class UltraFLEX < Base
|
5
5
|
autoload :Generator, 'origen_testers/igxl_based_tester/ultraflex/generator.rb'
|
6
6
|
|
7
|
+
# Read or update the digital instrument
|
8
|
+
# Ex: tester.digital_instrument = 'hsdmq'
|
9
|
+
attr_accessor :digital_instrument
|
10
|
+
|
7
11
|
# Tester model to generate .atp patterns for the Teradyne UltraFLEX
|
8
12
|
#
|
9
13
|
# == Basic Usage
|
@@ -18,8 +22,9 @@ module OrigenTesters
|
|
18
22
|
|
19
23
|
# Returns a new UltraFLEX instance, normally there would only ever be one of these
|
20
24
|
# assigned to the global variable such as $tester by your target.
|
21
|
-
def initialize
|
22
|
-
super
|
25
|
+
def initialize(options = {})
|
26
|
+
super(options)
|
27
|
+
options = { digital_instrument: 'hsdm' }.merge(options)
|
23
28
|
@pipeline_depth = 255 # for single mode
|
24
29
|
@software_version = '8.10.10'
|
25
30
|
@name = 'ultraflex'
|
@@ -36,7 +41,7 @@ module OrigenTesters
|
|
36
41
|
# this handled in pattern_header below
|
37
42
|
@min_pattern_vectors = (@opcode_mode == :single) ? 64 : 128
|
38
43
|
|
39
|
-
@digital_instrument =
|
44
|
+
@digital_instrument = options[:digital_instrument] # 'hsdm' for HSD1000 and UP800, ok with UP1600 though
|
40
45
|
|
41
46
|
@capture_state = 'V' # STV requires valid 'V' expect data
|
42
47
|
|
@@ -27,4 +27,16 @@ for a given pin.
|
|
27
27
|
# Overlay operations can happen after this point
|
28
28
|
~~~
|
29
29
|
|
30
|
+
### Digital Instrument
|
31
|
+
|
32
|
+
The default digital instrument used is hsdm. This can be changed with either a create option or through an accessor:
|
33
|
+
|
34
|
+
~~~ruby
|
35
|
+
# Instantiate with a different digital instrument
|
36
|
+
OrigenTesters::UltraFLEX.new(digital_instrument: 'hsdmq')
|
37
|
+
|
38
|
+
# set the digital instrument after instantiation
|
39
|
+
tester.digital_instrument = 'hsdmq'
|
40
|
+
~~~
|
41
|
+
|
30
42
|
% end
|
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.50.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:
|
11
|
+
date: 2022-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -146,16 +146,16 @@ dependencies:
|
|
146
146
|
name: sexpistol
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- -
|
149
|
+
- - '='
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version:
|
151
|
+
version: 0.0.7
|
152
152
|
type: :runtime
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- -
|
156
|
+
- - '='
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
158
|
+
version: 0.0.7
|
159
159
|
description:
|
160
160
|
email:
|
161
161
|
- stephen.f.mcginty@gmail.com
|
@@ -516,6 +516,7 @@ files:
|
|
516
516
|
- pattern/tester_overlay.rb
|
517
517
|
- pattern/tester_overlay_no_start.rb
|
518
518
|
- pattern/tester_store.rb
|
519
|
+
- pattern/uflex_digital_instrument.rb
|
519
520
|
- program/_additional_erase.rb
|
520
521
|
- program/_efa_resources.rb
|
521
522
|
- program/_erase.rb
|