origen_testers 0.7.3 → 0.7.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 +4 -4
- data/config/version.rb +1 -1
- data/lib/origen_testers/igxl_based_tester/base.rb +0 -1
- data/lib/origen_testers/igxl_based_tester/j750.rb +4 -0
- data/lib/origen_testers/igxl_based_tester/ultraflex.rb +25 -1
- data/lib/origen_testers/test/dut.rb +7 -0
- data/pattern/freq_counter.rb +6 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 583a52b3c5621f1528fe2900c6da91b6ce915ada
|
4
|
+
data.tar.gz: acc663a7769af920033b4c2cdb6a300072a5ca1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f93d14161f3054614edcc9fbfdfc1c49cc213c727b1c2d2c8686a712377aa56df1b83372d5532c7c07d06d40fddcdba1dafadbe2c02ac92560fb2742332db6f
|
7
|
+
data.tar.gz: bc41fb4b51be3abc32be3e2023bf8b2619688c7f97741ba510e7ac2b6f697ee559e6f0e56df33e03d79b8022f85cf89d5ef4a50a98cb1636e1ad3c2891bf22c3
|
data/config/version.rb
CHANGED
@@ -689,7 +689,6 @@ module OrigenTesters
|
|
689
689
|
|
690
690
|
options[:high_voltage] = @use_hv_pin
|
691
691
|
microcode "pin_setup = {#{options[:high_voltage]} high_voltage;}" if options[:high_voltage]
|
692
|
-
microcode "pin_setup = {#{options[:freq_counter]} freq_count;}" if options[:freq_counter]
|
693
692
|
microcode ''
|
694
693
|
|
695
694
|
pin_list = ordered_pins.map(&:name).join(', ')
|
@@ -44,6 +44,10 @@ module OrigenTesters
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def pattern_header(options = {})
|
47
|
+
# pin setup type => freq_counter is only for the J750.
|
48
|
+
# UltraFLEX has frequency counter capability behind every pin.
|
49
|
+
microcode "pin_setup = {#{options[:freq_counter]} freq_count;}" if options[:freq_counter]
|
50
|
+
|
47
51
|
super(options) do |pin_list|
|
48
52
|
microcode "vector ($tset, #{pin_list})"
|
49
53
|
microcode '{'
|
@@ -43,8 +43,32 @@ module OrigenTesters
|
|
43
43
|
@microcode[:keepalive] = 'keepalive'
|
44
44
|
end
|
45
45
|
|
46
|
+
# Do a frequency measure.
|
47
|
+
#
|
48
|
+
# Write the necessary micro code to do a frequency measure on the given pin,
|
49
|
+
# optionally supply a read code to pass information to the tester.
|
50
|
+
#
|
51
|
+
# ==== Examples
|
52
|
+
# $tester.freq_count($top.pin(:d_out)) # Freq measure on pin "d_out"
|
53
|
+
# $tester.freq_count($top.pin(:d_out):readcode => 10)
|
46
54
|
def freq_count(pin, options = {})
|
47
|
-
|
55
|
+
options = { readcode: false
|
56
|
+
}.merge(options)
|
57
|
+
|
58
|
+
set_code(options[:readcode]) if options[:readcode]
|
59
|
+
cycle(microcode: "#{@microcode[:set_flag]} (#{@flags[0]})") # set cpuA
|
60
|
+
cycle(microcode: "#{@microcode[:set_flag]} (#{@flags[0]})") # set cpuB
|
61
|
+
cycle(microcode: "#{@microcode[:set_flag]} (#{@flags[1]})") # set cpuC
|
62
|
+
cycle(microcode: "#{@microcode[:set_flag]} (#{@flags[2]})") # set cpuD
|
63
|
+
cycle(microcode: "freq_loop_1: #{@microcode[:enable]} (#{@flags[0]})")
|
64
|
+
cycle(microcode: 'if (branch_expr) jump freq_loop_1')
|
65
|
+
pin.drive_lo
|
66
|
+
delay(2000)
|
67
|
+
pin.dont_care
|
68
|
+
cycle(microcode: "freq_loop_2: #{@microcode[:enable]} (#{@flags[1]})")
|
69
|
+
cycle(microcode: 'if (branch_expr) jump freq_loop_2')
|
70
|
+
cycle(microcode: "#{@microcode[:enable]} (#{@flags[2]})")
|
71
|
+
cycle(microcode: 'if (branch_expr) jump freq_loop_1')
|
48
72
|
end
|
49
73
|
|
50
74
|
def memory_test(options = {})
|
@@ -224,6 +224,13 @@ module OrigenTesters
|
|
224
224
|
$tester.memory_test(pin: pin(:tdo), pin_data: :expect)
|
225
225
|
end
|
226
226
|
|
227
|
+
def freq_count(options = {})
|
228
|
+
options = {
|
229
|
+
}.merge(options)
|
230
|
+
|
231
|
+
$tester.freq_count($dut.pin(:tdo), readcode: 73)
|
232
|
+
end
|
233
|
+
|
227
234
|
# dummy flag to check for a particular design bug for this DUT
|
228
235
|
def has_margin0_bug?
|
229
236
|
false
|
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.7.
|
4
|
+
version: 0.7.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: 2016-06-
|
11
|
+
date: 2016-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -343,6 +343,7 @@ files:
|
|
343
343
|
- lib/origen_testers/vector_pipeline.rb
|
344
344
|
- pattern/dc_instr.rb
|
345
345
|
- pattern/delay.rb
|
346
|
+
- pattern/freq_counter.rb
|
346
347
|
- pattern/mem_test.rb
|
347
348
|
- pattern/multi_vector.rb
|
348
349
|
- pattern/multi_vector_plus1.rb
|
@@ -399,7 +400,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
399
400
|
version: 1.8.11
|
400
401
|
requirements: []
|
401
402
|
rubyforge_project:
|
402
|
-
rubygems_version: 2.
|
403
|
+
rubygems_version: 2.2.2
|
403
404
|
signing_key:
|
404
405
|
specification_version: 4
|
405
406
|
summary: This plugin provides Origen tester models to drive ATE type testers like
|