Class: BfmStream

Inherits:
Object
  • Object
show all
Defined in:
lib/tdl/bfm/axi_stream/axi_stream_bfm.rb

Instance Method Summary collapse

Instance Method Details

#add_slaver_bfm_recv(repeat: nil, rate: 100, info: 0) ⇒ Object

def self.MasterBFM()

end



320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
# File 'lib/tdl/bfm/axi_stream/axi_stream_bfm.rb', line 320

def add_slaver_bfm_recv(repeat:nil,rate:100,info:0)
    str =
"#{
    if repeat > 0
        "repeat(#{repeat})"
    else
        "forever"
    end
}
begin
    SlaverBfm#{name}.get_data(#{rate},#{info});
end"

    @_master_draw_exec_str_ << init_tap_draw(str.concat("\n"))
end

#slaverbfm {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (BfmStream)

    the object that the method was called on



304
305
306
307
308
309
310
311
312
313
314
# File 'lib/tdl/bfm/axi_stream/axi_stream_bfm.rb', line 304

def slaverbfm(&block)
    import_axibfm_pkg
    @_init_tap_cnt_ ||= 1
    @_master_draw_exec_str_ ||= []
    @_init_master_draw_exec_str_ ||= []

    yield self
    belong_to_module.AxiStream_draw << slaverbfm_draw()

    return self
end

#slaverbfm_drawObject



336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
# File 'lib/tdl/bfm/axi_stream/axi_stream_bfm.rb', line 336

def slaverbfm_draw()
    init_str = @_init_master_draw_exec_str_.join("")
    slaver_str = @_master_draw_exec_str_.join("")
"
AxiStreamSlaverBfm_c #(.DSIZE(#{dsize}),.FreqM(#{intf_def_freqM})) SlaverBfm#{name} = new(#{name});

initial begin:#{name}_SLAVER_BLOCK
#{init_str}
wait(#{name}.aresetn);
@(posedge #{name}.aclk);
#{slaver_str}
end

"
end