origen_testers 0.45.3 → 0.45.4
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b76b067afa328f7b2510afb5208e8171f7bec61740a81eda88304e7e4bcd5fe
|
4
|
+
data.tar.gz: a66d71937a817171248d7bd496bee8208e2482b6f3cc0db19eb0b5375e46726e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c832106032077a4d59ed06c3d4909d7847b0b65e9a953e8f8d7f8709baae25d6d2647117c080e4994b5b16f6fd1a59cedc9a7723e5648e7c3beb5e3e7714df3
|
7
|
+
data.tar.gz: bc1837f05d87eaf7bb8c3640068e754468dcd23142e15f74ad68cf17e78f12d3f03ff4f6d77fe2da444f4ddd7f1d20cb533f2a6966801438c5077a8c613eca71
|
data/config/version.rb
CHANGED
@@ -1041,6 +1041,20 @@ module OrigenTesters
|
|
1041
1041
|
# stage = sub_name
|
1042
1042
|
end # subroutine_overlay
|
1043
1043
|
|
1044
|
+
# Disable the automatic addition of the digsrc start command at the beginning of the pattern
|
1045
|
+
#
|
1046
|
+
# @example
|
1047
|
+
# tester.digsrc_skip_start :pin_or_group_name
|
1048
|
+
#
|
1049
|
+
def digsrc_skip_start(pin_or_group)
|
1050
|
+
pin_or_group = dut.pin(pin_or_group).name
|
1051
|
+
if @overlay_history[pin_or_group].nil?
|
1052
|
+
@overlay_history[pin_or_group] = { count: 0, is_digsrc: true, start_applied: true }
|
1053
|
+
else
|
1054
|
+
Origen.log.warn 'tester.digsrc_skip_start must be called before any overlay actions on the pin'
|
1055
|
+
end
|
1056
|
+
end
|
1057
|
+
|
1044
1058
|
# Perform digsrc overlay (called by tester.cycle)
|
1045
1059
|
def digsrc_overlay(options = {})
|
1046
1060
|
options[:overlay] = { change_data: true }.merge(options[:overlay])
|
@@ -0,0 +1,41 @@
|
|
1
|
+
Pattern.create(name: "test_overlay_no_start") do
|
2
|
+
tester.overlay_style = :digsrc
|
3
|
+
# increase coverage by changing tdi dig src settings
|
4
|
+
tester.source_memory :digsrc do |mem|
|
5
|
+
mem.pin :tdi, size: 32
|
6
|
+
end
|
7
|
+
cc 'should get a repeat count added to this vector for digsrc start minimum distance'
|
8
|
+
tester.cycle
|
9
|
+
|
10
|
+
dut.pin(:tclk).drive(1)
|
11
|
+
dut.pin(:tdi).drive(1)
|
12
|
+
dut.pin(:tdo).assert(1)
|
13
|
+
dut.pin(:tms).drive(1)
|
14
|
+
|
15
|
+
cc 'should get a repeat 5 vector'
|
16
|
+
tester.cycle repeat: 5
|
17
|
+
|
18
|
+
tester.digsrc_skip_start :tdi_a if tester.ultraflex?
|
19
|
+
tester.digsrc_skip_start :pa if tester.ultraflex?
|
20
|
+
|
21
|
+
cc 'should get a send microcode and 1 cycle with D'
|
22
|
+
tester.cycle overlay: {overlay_str: 'dummy_str', pins: dut.pin(:tdi_a)}
|
23
|
+
cc 'should get a cycle with D and no send'
|
24
|
+
tester.cycle overlay: {overlay_str: 'dummy_str', pins: dut.pin(:tdi_a), change_data: false}
|
25
|
+
cc 'regular cycle with no D or send'
|
26
|
+
tester.cycle
|
27
|
+
|
28
|
+
cc 'cycle with 001 on pa'
|
29
|
+
dut.pin(:pa).drive!(1)
|
30
|
+
cc 'send microcode followed by DDD on pa'
|
31
|
+
dut.pin(:pa).drive(0)
|
32
|
+
tester.cycle overlay: {overlay_str: "dummy_str", pins: dut.pin(:pa)}
|
33
|
+
cc 'cycle with 001 on pa'
|
34
|
+
dut.pin(:pa).drive!(1)
|
35
|
+
cc 'send microcode, DDD on pa with repeat 5 (will send 5 sets of data)'
|
36
|
+
dut.pin(:pa).drive(0)
|
37
|
+
tester.cycle repeat: 5, overlay: {overlay_str: "dummy_str", pins: dut.pin(:pa)}
|
38
|
+
cc 'cycle with 001 on pa'
|
39
|
+
dut.pin(:pa).drive!(1)
|
40
|
+
|
41
|
+
end
|
@@ -7,4 +7,24 @@ automatically to any supported platform.
|
|
7
7
|
There are no significant APIs in this category currently, therefore refer to the
|
8
8
|
[Common Pattern API](<%= path "guides/pattern/common" %>) which can fully target the UltraFLEX.
|
9
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 <code>:digsrc</code> 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
|
+
|
10
30
|
% end
|
@@ -0,0 +1,30 @@
|
|
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
|
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.45.
|
4
|
+
version: 0.45.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -466,6 +466,7 @@ files:
|
|
466
466
|
- pattern/single_overlay_store.rb
|
467
467
|
- pattern/subroutines.rb
|
468
468
|
- pattern/tester_overlay.rb
|
469
|
+
- pattern/tester_overlay_no_start.rb
|
469
470
|
- pattern/tester_store.rb
|
470
471
|
- program/_additional_erase.rb
|
471
472
|
- program/_efa_resources.rb
|
@@ -507,6 +508,7 @@ files:
|
|
507
508
|
- templates/origen_guides/pattern/stil.md.erb
|
508
509
|
- templates/origen_guides/pattern/timing.md.erb
|
509
510
|
- templates/origen_guides/pattern/ultraflex.md.erb
|
511
|
+
- templates/origen_guides/pattern/ultraflex.md.erb~
|
510
512
|
- templates/origen_guides/pattern/v93k.md.erb
|
511
513
|
- templates/origen_guides/program/code.md.erb
|
512
514
|
- templates/origen_guides/program/custom.md.erb
|
@@ -547,7 +549,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
547
549
|
- !ruby/object:Gem::Version
|
548
550
|
version: '0'
|
549
551
|
requirements: []
|
550
|
-
|
552
|
+
rubyforge_project:
|
553
|
+
rubygems_version: 2.7.7
|
551
554
|
signing_key:
|
552
555
|
specification_version: 4
|
553
556
|
summary: This plugin provides Origen tester models to drive ATE type testers like
|