/********************************************** _ _ Cook Darwin __
_ descript: author : Cook.Darwin Version: VERA.0.0 creaded: 2017/5/12 madified: ***********************************************/ `timescale 1ns/1ps module axis_length_cut_2_28_tb; import AxiBfmPkg::*;
logic pclk; logic prst_n;
clock_rst_verb #(
.ACTIVE (0 ), .PERIOD_CNT (0 ), .RST_HOLD (5 ), .FreqM (148.5 )
)clock_rst_pixel(
.clock (pclk ), .rst_x (prst_n )
);
axi_stream_inf #(
.DSIZE (8 )
)master_inf( /* input bit */ .aclk (pclk ), /* input bit */ .aresetn (prst_n ), /* input bit */ .aclken (1'b1 ) );
axi_stream_inf #(
.DSIZE (8 )
)slaver_inf( /* input bit */ .aclk (pclk ), /* input bit */ .aresetn (prst_n ), /* input bit */ .aclken (1'b1 ) );
axis_length_cut axis_length_cut_inst( /* input [31:0] */ .length (5 ), /* axi_stream_inf.slaver */ .axis_in (master_inf ), /* axi_stream_inf.master */ .axis_out (slaver_inf ) );
AxiStreamSlaverBfm_c #(8) SlaverBfm = new(slaver_inf); AxiStreamMasterBfm_c #(8) MasterBfm = new(master_inf);
logic [7:0] wdata_queue [$]; logic [7:0] rdata_queue [$]; event master_done_even;
initial begin
wait(prst_n); wdata_queue = {1,2,3,4,5,6,7,8,9,10}; fork begin MasterBfm.gen_axi_stream(16,100,wdata_queue); MasterBfm.gen_axi_stream(1,100,wdata_queue); MasterBfm.gen_axi_stream(1,100,wdata_queue); MasterBfm.gen_axi_stream(2,100,wdata_queue); MasterBfm.gen_axi_stream(3,100,wdata_queue); MasterBfm.gen_axi_stream(1,100,wdata_queue); MasterBfm.gen_axi_stream(20,100,wdata_queue); // -> master_done_even; end begin // wait(master_done_even.triggered()); repeat(8) SlaverBfm.get_data(100); end join
end
endmodule