class TechBench
Attributes
auto_path[RW]
tb_path[RW]
Public Class Methods
new()
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 13 def initialize # @top_tb = TestModule.new() @modules = [] end
Public Instance Methods
add(tm)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 18 def add(tm) @modules << tm if tm.is_a? TestModule end
add_clock_unit(hash)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 56 def add_clock_unit(hash) init_clock_reset @clock_reset.add_test_unit(type:ClockITest,hash:hash) end
add_diff_clock_unit(hash)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 51 def add_diff_clock_unit(hash) init_clock_reset @clock_reset.add_test_unit(type:DiffClockITest,hash:hash) end
add_io_unit(hash,&block)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 66 def add_io_unit(hash,&block) init_clock_reset @clock_reset.add_test_unit(type:IOITest,hash:hash,&block) end
add_module(name,&block)
click to toggle source
def add_top_unit(type:nil,hash:{})
@modules[0].add_test_unit(type:type,hash:hash)
end
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 35 def add_module(name,&block) tm = TestModule.new(name,&block) @modules << tm tm end
add_reset_unit(hash)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 61 def add_reset_unit(hash) init_clock_reset @clock_reset.add_test_unit(type:ResetITest,hash:hash) end
bfm_module(module_name)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 86 def bfm_module(module_name) @bfm_modules ||= Hash.new if @bfm_modules[module_name] @bfm_modules[module_name] else @bfm_modules[module_name] = Tdl.send("inst_"+module_name.downcase) end end
gen_tb_file(test_module_name)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 22 def gen_tb_file(test_module_name) @top_connect_elements = [] @modules.each do |e| sub_elements = e.gen_sub_tb_module_file @top_connect_elements += sub_elements end inst(test_module_name) end
inst(test_module_name)
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 71 def inst(test_module_name) # require_path(auto_path) tb_m = TdlModule.new(name:"tb_"+test_module_name) tb_m.out_sv_path = tb_path # target_module = Tdl.send("inst_"+test_module_name.downcase) @top_connect_elements.each do |e| test_module = bfm_module(e.module_name) e.connect(target_module,test_module) end tb_m.exit_build_module end
Private Instance Methods
init_clock_reset()
click to toggle source
# File lib/tdl/exlib/integral_test/bak/integral_test.rb, line 42 def init_clock_reset unless @clock_reset @clock_reset = TestModule.new("clock_reset_unit_block") @modules << @clock_reset end end