Method: AxiStreamBFMModuleBuild#build_single_master_stream_bfm

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

#build_single_master_stream_bfm(sdlm, stream_name, stream_hash) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/tdl/bfm/axi_stream/axis_bfm_module_build.rb', line 31

def build_single_master_stream_bfm(sdlm,stream_name,stream_hash)
    # sdlm.instance_exec(stream_name) do |stream_name|
    #
    #     Def().bfm_stream(name:)
    # end
    a = sdlm.AxiStream.master(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 )

    a.direct(up_stream: ba)

    set_bfm_pkg_import(ba)

    ba.masterbfm(info:stream_hash["info"],wait: nil,wait_every_raising: nil,wdata_name: "wdata_queue") do |b|
        b.init_exec("#(#{stream_hash["wait"]})") if stream_hash["wait"]

        stream_hash["queue"].each do |burst|
            buidl_master_burst(ba,burst,stream_hash['dsize'].to_i)
        end

    end
    @__AXI_BFM_IMPORT__ = true
end