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
- SHA1:
3
- metadata.gz: 4d062217b6f69bd8190818c2b24c2574bb163dab
4
- data.tar.gz: 9b139b2ef824933744d66c817baba75524ff7d3b
2
+ SHA256:
3
+ metadata.gz: 55301a17d683ca18d323223ba90def92f9d4696152f160e2cd48f6a60f34fa01
4
+ data.tar.gz: 1049c5cd883d006bba7702acf5090355de254c3e44e8ff76b391b9a10a610199
5
5
  SHA512:
6
- metadata.gz: 5f0e2c810aa3f8826897a16099274fc65d307c1650dab5d60ca9d3ef84da37e390932d3802c5e4980f81304cefff12b6b31de53ee798ad132f9e708cc3aa03df
7
- data.tar.gz: b1bf66931f6056f6ae314715b7e9b368534cb13b5a4bed46e364f2318e80fe57d07fd50e071adc158b8d29a3129ab49ecb724e16fa52e3e344dcd379d21b9413
6
+ metadata.gz: c8065dab6a6d37ae9c6e8346c6cba7c4a95be66360edfb667727921f85e5ba712172b5266bb7eba4280426c70294342fdea1d6b17fc79997c92e5dab3f3a3bbd
7
+ data.tar.gz: f52e174c381f347ae489a5c5cced814a844675b5ee0b13f33e7cf2d7c43617efbfe2dffe51818eafa3a63655eb1e749486974776b86dcfe467f22553331a6922
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
3
  MINOR = 48
4
- BUGFIX = 1
4
+ BUGFIX = 2
5
5
  DEV = nil
6
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
7
7
  end
@@ -10,10 +10,15 @@ module OrigenTesters
10
10
  def on_test(node)
11
11
  super
12
12
  ins = node.find(:object).value
13
- if ins.respond_to?(:lo_limit) && (ins.lo_limit || ins.hi_limit) || ins.respond_to?(:lo) && (ins.lo || ins.hi)
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
@@ -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.1
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-27 00:00:00.000000000 Z
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
- rubyforge_project:
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