Method: AxiStreamBFMModuleBuild#build_single_slaver_stream_bfm

Defined in:
lib/tdl/bfm/axi_stream/axis_bfm_module_build.rb

#build_single_slaver_stream_bfm(sdlm, stream_name, stream_hash) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/tdl/bfm/axi_stream/axis_bfm_module_build.rb', line 98

def build_single_slaver_stream_bfm(sdlm,stream_name,stream_hash)
    a = sdlm.AxiStream.slaver(stream_name,freqM:   stream_hash["FreqM"].to_f)

    ba = sdlm.Def.bfm_stream(name:"#{stream_name}_b",freqM:  stream_hash["FreqM"].to_f,clock: a.aclk,reset: a.aresetn, dsize: stream_hash["dsize"].to_i )
    set_bfm_pkg_import(ba)

    a.direct(down_stream: ba)

    if stream_hash['info']
        info_str = 1
    else
        info_str = 0
    end

    ba.slaverbfm do |b|
        ba.init_exec("#(#{stream_hash['wait']})")
        stream_hash['queue'].each do |burst|
            ba.add_slaver_bfm_recv(repeat:burst['repeat'],rate:burst['persent'].to_i,info:info_str)
        end
    end
end