origen_testers 0.49.2 → 0.50.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 +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
|