origen_testers 0.48.1 → 0.48.2
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
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 55301a17d683ca18d323223ba90def92f9d4696152f160e2cd48f6a60f34fa01
|
4
|
+
data.tar.gz: 1049c5cd883d006bba7702acf5090355de254c3e44e8ff76b391b9a10a610199
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8065dab6a6d37ae9c6e8346c6cba7c4a95be66360edfb667727921f85e5ba712172b5266bb7eba4280426c70294342fdea1d6b17fc79997c92e5dab3f3a3bbd
|
7
|
+
data.tar.gz: f52e174c381f347ae489a5c5cced814a844675b5ee0b13f33e7cf2d7c43617efbfe2dffe51818eafa3a63655eb1e749486974776b86dcfe467f22553331a6922
|
data/config/version.rb
CHANGED
@@ -10,10 +10,15 @@ module OrigenTesters
|
|
10
10
|
def on_test(node)
|
11
11
|
super
|
12
12
|
ins = node.find(:object).value
|
13
|
-
|
13
|
+
|
14
|
+
# allow defer limits when limits are only given in sub tests
|
15
|
+
if ins.respond_to?(:defer_limits)
|
14
16
|
if ins.defer_limits
|
15
17
|
completed_lines.last.opcode = 'Test-defer-limits'
|
16
18
|
end
|
19
|
+
end
|
20
|
+
|
21
|
+
if ins.respond_to?(:lo_limit) && (ins.lo_limit || ins.hi_limit) || ins.respond_to?(:lo) && (ins.lo || ins.hi)
|
17
22
|
limit = completed_lines.last.dup
|
18
23
|
limit.type = :use_limit
|
19
24
|
limit.opcode = 'Use-Limit'
|
@@ -285,6 +285,31 @@ module OrigenTesters
|
|
285
285
|
end
|
286
286
|
end
|
287
287
|
|
288
|
+
def meas_multi_limits(name, options = {})
|
289
|
+
options = {
|
290
|
+
duration: :static
|
291
|
+
}.merge(options)
|
292
|
+
|
293
|
+
name = "measmulti_#{name}" unless name.to_s =~ /measmulti/
|
294
|
+
|
295
|
+
if tester.uflex?
|
296
|
+
ins = test_instances.functional(name)
|
297
|
+
ins.set_wait_flags(:a) if options[:duration] == :dynamic
|
298
|
+
ins.pin_levels = options.delete(:pin_levels) if options[:pin_levels]
|
299
|
+
ins.defer_limits = options[:defer_limits]
|
300
|
+
|
301
|
+
# some made up sub test limits
|
302
|
+
options[:sub_tests] = [sub_test('limit1', lo: 0, hi: 7), sub_test('limit2', lo: 3, hi: 8)]
|
303
|
+
|
304
|
+
pname = "#{name}_pset"
|
305
|
+
patsets.add(pname, [{ pattern: "#{name}.PAT" },
|
306
|
+
{ pattern: 'nvm_global_subs.PAT', start_label: 'subr' }])
|
307
|
+
ins.pattern = pname
|
308
|
+
|
309
|
+
flow.test(ins, options)
|
310
|
+
end
|
311
|
+
end
|
312
|
+
|
288
313
|
def meas(name, options = {})
|
289
314
|
options = {
|
290
315
|
duration: :static
|
data/program/test.rb
CHANGED
@@ -28,6 +28,8 @@ Flow.create interface: 'OrigenTesters::Test::Interface' do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
if tester.uflex?
|
31
|
+
meas_multi_limits :bin_now, tnum: 3000, bin: 119, soft_bin: 2
|
32
|
+
meas_multi_limits :bin_later, tnum: 3000, bin: 119, soft_bin: 2, defer_limits: true
|
31
33
|
log "Test of ultraflex render API"
|
32
34
|
line = flow.ultraflex.use_limit
|
33
35
|
line.units = "Hz"
|
@@ -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.48.
|
4
|
+
version: 0.48.2
|
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-10-
|
11
|
+
date: 2020-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -543,6 +543,7 @@ files:
|
|
543
543
|
- templates/origen_guides/pattern/stil.md.erb
|
544
544
|
- templates/origen_guides/pattern/timing.md.erb
|
545
545
|
- templates/origen_guides/pattern/ultraflex.md.erb
|
546
|
+
- templates/origen_guides/pattern/ultraflex.md.erb~
|
546
547
|
- templates/origen_guides/pattern/v93k.md.erb
|
547
548
|
- templates/origen_guides/program/charz.md.erb
|
548
549
|
- templates/origen_guides/program/code.md.erb
|
@@ -584,8 +585,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
584
585
|
- !ruby/object:Gem::Version
|
585
586
|
version: '0'
|
586
587
|
requirements: []
|
587
|
-
|
588
|
-
rubygems_version: 2.6.14.4
|
588
|
+
rubygems_version: 3.1.4
|
589
589
|
signing_key:
|
590
590
|
specification_version: 4
|
591
591
|
summary: This plugin provides Origen tester models to drive ATE type testers like
|