origen_testers 0.45.3 → 0.45.4
Sign up to get free protection for your applications and to get access to all the features.
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
|