Class: Origen::Tester::CommandBasedTester

Inherits:
Object
  • Object
show all
Includes:
Origen::Tester
Defined in:
lib/origen/tester/command_based_tester.rb

Overview

A base class that can be used to model command-based, rather than vector-based testers.

Direct Known Subclasses

BDM, JLink

Instance Attribute Summary

Attributes included from API

#comment_level, #generating, #includes, #inhibit_comments, #inhibit_vectors

Instance Method Summary collapse

Methods included from Origen::Tester

#register_tester

Methods included from API

#annotate, #any_clocks_running?, #c1, #c2, #clocks_running, #comment_char, #doc?, #generate?, #generating_pattern?, #generating_program?, #ignore_fails, #import_test_time, #inhibit_vectors_and_comments, #is_command_based?, #is_vector_based?, #j750?, #j750_hpt?, #name, #pat_extension, #pattern_footer, #pattern_header, #pattern_section, #pins_need_toggling, #pop_running_clock, #program_comment_char, #push_running_clock, #slice_repeats, #snip, #ss, #step_comment_prefix, #ultraflex?, #update_running_clocks, #v93k?

Methods included from Timing

#before_timeset_change, #called_timesets, #count, #current_period_in_ns, #current_timeset, #cycles_to_ms, #cycles_to_time, #cycles_to_ts, #cycles_to_us, #delay, #max_repeat_loop, #ms_to_cycles, #ns_to_cycles, #s_to_cycles, #set_timeset, #timeset_changed, #us_to_cycles, #wait

Methods included from VectorGenerator

#_render, #add_microcode_to_last_or_cycle, #before_write_pattern_line, #compressable_vector?, #current_pin_vals, #cycle_count, #dec_vec_count, #dont_compress, #dont_compress=, #expand_vector, #format, #format_pin_state, #get_pingroup, #inc_cycle_count, #inc_vec_count, #inhibit_pin, #inhibited_pins, #last_object, #last_vector, #multi_mode_optimize, #optimize, #ordered_pins, #ordered_pins_cache, #pingroup_map, #pipeline, #preset_next_vector, #push_comment, #push_microcode, #push_vector, #render, #render_body, #render_footer, #render_header, #render_template, #reset_cycle_count, #stage, #track_and_format_vector, #update_pin_from_formatted_state, #update_vector, #update_vector_pin_val, #vec_count, #vector_group_size, #vector_group_size=, #with_vector_group_size

Constructor Details

#initializeCommandBasedTester

Returns a new instance of CommandBasedTester.



8
9
10
# File 'lib/origen/tester/command_based_tester.rb', line 8

def initialize
  @vector_based = false
end

Instance Method Details

#call_subroutine(sub) ⇒ Object

Concept of a subroutine not supported, print out an error to the output file to alert the user that execution has hit code that is not compatible with a command based tester.



29
30
31
# File 'lib/origen/tester/command_based_tester.rb', line 29

def call_subroutine(sub)
  microcode "Call_subroutine called to #{sub}"
end

#cycle(*_args) ⇒ Object

Concept of a cycle not supported, print out an error to the output file to alert the user that execution has hit code that is not compatible with a command based tester.



22
23
24
# File 'lib/origen/tester/command_based_tester.rb', line 22

def cycle(*_args)
  microcode '*** Cycle called ***'
end

#direct_write(str) ⇒ Object Also known as: dw

Write a string directly to the output file without being processed or modified in any way



14
15
16
# File 'lib/origen/tester/command_based_tester.rb', line 14

def direct_write(str)
  microcode str
end

#format_vector(vec) ⇒ Object



33
34
35
# File 'lib/origen/tester/command_based_tester.rb', line 33

def format_vector(vec)
  vec.microcode
end

#loop(_name = nil, number_of_loops) ⇒ Object Also known as: loop_vector

Loop the content embedded in the supplied block



38
39
40
41
42
# File 'lib/origen/tester/command_based_tester.rb', line 38

def loop(_name = nil, number_of_loops)
  number_of_loops.times do
    yield
  end
end