origen_testers 0.48.1 → 0.48.2
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
|
-
|
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
|