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