origen_testers 0.45.1 → 0.45.2
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/atp/flow.rb +4 -0
- data/lib/origen_testers/igxl_based_tester/base.rb +18 -12
- data/lib/origen_testers/igxl_based_tester/j750.rb +4 -2
- data/lib/origen_testers/igxl_based_tester/ultraflex.rb +6 -2
- data/lib/origen_testers/smartest_based_tester/base.rb +9 -5
- data/pattern/nvm/j750/j750_workout_inhibited.rb +6 -0
- data/pattern/nvm/v93k/v93k_workout_inhibited.rb +5 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '09250597b91ce9bfe38f029fa09269acdc311b508cc493d698adf0faaebe4cb7'
|
4
|
+
data.tar.gz: 955d54bdade5925bd6f84a1ccf61f8b477b3a74fcfc1eef2fae9144bb48f95f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b97b49afca843c7cf0799fc462062728f2424d463fe2e61eb56b870fe4a9c67254f102b7a12d70afc8082c3cd1a02b466c65756fc2df51e5fd0ee40bbde503e
|
7
|
+
data.tar.gz: ec7d5196fc86b5eec2bfeb64ae82e3fe0f89be4b7993d6d7a7a67f4343fd0b9e8e29bf473ab64c3a1a1ca16fb20cfef65c1b23d4eb0e91f3ef94e8bdd7b96b05
|
data/config/version.rb
CHANGED
@@ -612,6 +612,10 @@ module OrigenTesters::ATP
|
|
612
612
|
else
|
613
613
|
options = {}
|
614
614
|
end
|
615
|
+
if flags.include? nil
|
616
|
+
Origen.log.error("Found Nil flag passed to the '#{method}' method, ensure the flag is passed as a String or a Symbol!")
|
617
|
+
fail
|
618
|
+
end
|
615
619
|
flags = flags.first if flags.size == 1
|
616
620
|
# Legacy option provided by OrigenTesters that permits override of a block enable method by passing
|
617
621
|
# an :or option with a true value
|
@@ -284,7 +284,7 @@ module OrigenTesters
|
|
284
284
|
options = { offset: 0
|
285
285
|
}.merge(options)
|
286
286
|
update_vector microcode: 'stv', offset: options[:offset]
|
287
|
-
last_vector(options[:offset]).contains_capture = true
|
287
|
+
last_vector(options[:offset]).contains_capture = true unless @inhibit_vectors
|
288
288
|
end
|
289
289
|
alias_method :to_hram, :store
|
290
290
|
alias_method :capture, :store
|
@@ -304,8 +304,10 @@ module OrigenTesters
|
|
304
304
|
options = {
|
305
305
|
}.merge(options)
|
306
306
|
|
307
|
-
|
308
|
-
|
307
|
+
unless @inhibit_vectors
|
308
|
+
preset_next_vector microcode: 'stv' do |vector|
|
309
|
+
vector.contains_capture = true
|
310
|
+
end
|
309
311
|
end
|
310
312
|
end
|
311
313
|
alias_method :store!, :store_next_cycle
|
@@ -334,8 +336,10 @@ module OrigenTesters
|
|
334
336
|
options = {
|
335
337
|
offset: 0
|
336
338
|
}.merge(options)
|
337
|
-
|
338
|
-
|
339
|
+
unless @inhibit_vectors
|
340
|
+
called_subroutines << name.to_s.chomp unless called_subroutines.include?(name.to_s.chomp) || @inhibit_vectors
|
341
|
+
update_vector microcode: "call #{name}", offset: options[:offset]
|
342
|
+
end
|
339
343
|
end
|
340
344
|
|
341
345
|
# Start a subroutine.
|
@@ -348,11 +352,13 @@ module OrigenTesters
|
|
348
352
|
# < generate your subroutine vectors here >
|
349
353
|
# $tester.end_subroutine
|
350
354
|
def start_subroutine(name, options = {})
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
355
|
+
unless @inhibit_vectors
|
356
|
+
local_subroutines << name.to_s.chomp unless local_subroutines.include?(name.to_s.chomp) || @inhibit_vectors
|
357
|
+
if $tester.ultraflex? && (name =~ /keep_?alive/ || options[:keep_alive])
|
358
|
+
microcode "keepalive subr #{name}:"
|
359
|
+
else
|
360
|
+
microcode "global subr #{name}:"
|
361
|
+
end
|
356
362
|
end
|
357
363
|
end
|
358
364
|
|
@@ -587,7 +593,7 @@ module OrigenTesters
|
|
587
593
|
# $tester.label("something_significant",true) # apply global label
|
588
594
|
def label(name, global = false)
|
589
595
|
global_opt = (global) ? 'global ' : ''
|
590
|
-
microcode global_opt + name + ':'
|
596
|
+
microcode global_opt + name + ':' unless @inhibit_vectors
|
591
597
|
end
|
592
598
|
|
593
599
|
# * J750 Specific *
|
@@ -796,7 +802,7 @@ module OrigenTesters
|
|
796
802
|
|
797
803
|
# Override this to force the formatting to match the v1 J750 model (easier diffs)
|
798
804
|
def push_microcode(code) # :nodoc:
|
799
|
-
stage.store(code.ljust(65) + ''.ljust(31))
|
805
|
+
stage.store(code.ljust(65) + ''.ljust(31)) unless @inhibit_vectors
|
800
806
|
end
|
801
807
|
alias_method :microcode, :push_microcode
|
802
808
|
|
@@ -180,8 +180,10 @@ module OrigenTesters
|
|
180
180
|
end
|
181
181
|
|
182
182
|
# retroactively set loop counter values for timeout based on cycles in match loop condition
|
183
|
-
|
184
|
-
|
183
|
+
unless @inhibit_vectors
|
184
|
+
set_loopb_vector.microcode = "loopB #{outer_loop_count} ign ifc icc"
|
185
|
+
set_loopa_vector.microcode = "loopA #{inner_loop_count} ign ifc icc"
|
186
|
+
end
|
185
187
|
|
186
188
|
cc 'Loop back around if time remaining'
|
187
189
|
cycle(microcode: "end_loopA match_inner_loop_#{@unique_counter} icc")
|
@@ -586,8 +586,10 @@ module OrigenTesters
|
|
586
586
|
end
|
587
587
|
|
588
588
|
# retroactively modify the counters based on cycles in match loop conditions
|
589
|
-
|
590
|
-
|
589
|
+
unless @inhibit_vectors
|
590
|
+
set_msb_vector.microcode = "set_msb #{counter_msb}"
|
591
|
+
set_c0_vector.microcode = "set c0 #{counter_lsb}"
|
592
|
+
end
|
591
593
|
|
592
594
|
if match_delay_cycles
|
593
595
|
cc 'Delay to meet timeout value'
|
@@ -677,6 +679,7 @@ module OrigenTesters
|
|
677
679
|
# $tester.cycle
|
678
680
|
# $tester.store(:offset => -2) # Just realized I need to capture that earlier vector
|
679
681
|
def store(*pins)
|
682
|
+
return if @inhibit_vectors
|
680
683
|
options = pins.last.is_a?(Hash) ? pins.pop : {}
|
681
684
|
options = { offset: 0,
|
682
685
|
opcode: 'stv'
|
@@ -741,6 +744,7 @@ module OrigenTesters
|
|
741
744
|
# $tester.store_next_cycle
|
742
745
|
# $tester.cycle # This is the vector that will be captured
|
743
746
|
def store_next_cycle(*pins)
|
747
|
+
return if @inhibit_vectors
|
744
748
|
options = pins.last.is_a?(Hash) ? pins.pop : {}
|
745
749
|
options = {
|
746
750
|
opcode: 'stv'
|
@@ -319,8 +319,10 @@ module OrigenTesters
|
|
319
319
|
pin.restore_state do
|
320
320
|
pin.capture
|
321
321
|
update_vector_pin_val pin, offset: options[:offset]
|
322
|
-
|
323
|
-
|
322
|
+
unless @inhibit_vectors
|
323
|
+
last_vector(options[:offset]).dont_compress = true
|
324
|
+
last_vector(options[:offset]).contains_capture = true
|
325
|
+
end
|
324
326
|
end
|
325
327
|
end
|
326
328
|
end
|
@@ -545,7 +547,7 @@ module OrigenTesters
|
|
545
547
|
number_of_loops = (timeout_in_cycles.to_f / (match_loop_cycle_count + mrpt)).ceil
|
546
548
|
end
|
547
549
|
|
548
|
-
match_microcode.concat(" #{number_of_loops};")
|
550
|
+
match_microcode.concat(" #{number_of_loops};") unless @inhibit_vectors
|
549
551
|
|
550
552
|
# Now do the wait loop, mrpt should always be a multiple of 8
|
551
553
|
microcode "SQPG MRPT #{mrpt};"
|
@@ -587,9 +589,11 @@ module OrigenTesters
|
|
587
589
|
loop_cycles = cycle_count - preloop_cycle_count
|
588
590
|
end
|
589
591
|
|
590
|
-
|
592
|
+
unless @inhibit_vectors
|
593
|
+
number_of_loops = (timeout_in_cycles.to_f / loop_cycles).ceil
|
591
594
|
|
592
|
-
|
595
|
+
loop_microcode.sub!('2', number_of_loops.to_s)
|
596
|
+
end
|
593
597
|
|
594
598
|
if options[:force_fail_on_timeout]
|
595
599
|
fail_conditions.each(&:call)
|
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.45.
|
4
|
+
version: 0.45.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-
|
11
|
+
date: 2020-02-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -455,8 +455,10 @@ files:
|
|
455
455
|
- pattern/nvm/j750/iterator_test_x_bx.rb
|
456
456
|
- pattern/nvm/j750/j750_halt.rb
|
457
457
|
- pattern/nvm/j750/j750_workout.rb
|
458
|
+
- pattern/nvm/j750/j750_workout_inhibited.rb
|
458
459
|
- pattern/nvm/j750/timing.rb
|
459
460
|
- pattern/nvm/v93k/v93k_workout.rb
|
461
|
+
- pattern/nvm/v93k/v93k_workout_inhibited.rb
|
460
462
|
- pattern/pin_flip.rb
|
461
463
|
- pattern/read_write_reg.rb
|
462
464
|
- pattern/reset.rb
|
@@ -545,8 +547,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
545
547
|
- !ruby/object:Gem::Version
|
546
548
|
version: '0'
|
547
549
|
requirements: []
|
548
|
-
|
549
|
-
rubygems_version: 2.7.7
|
550
|
+
rubygems_version: 3.0.1
|
550
551
|
signing_key:
|
551
552
|
specification_version: 4
|
552
553
|
summary: This plugin provides Origen tester models to drive ATE type testers like
|