/********************************************** _ _ Cook Darwin __
_______________________________________descript: author : Cook.Darwin Version: VERA.0.0 creaded: 2017/3/23 madified: ***********************************************/ `timescale 1ns/1ps (* axi_stream = “true” *) module axis_combin_with_fifo #(
parameter MODE = "BOTH", //HEAD END parameter CUT_OR_COMBIN_BODY = "ON" //ON OFF
)(
input [15:0] new_body_len, axi_stream_inf.slaver head_inf, (* up_stream = "true" *) axi_stream_inf.slaver body_inf, axi_stream_inf.slaver end_inf, (* down_stream = "true" *) axi_stream_inf.master m00
);
axi_stream_inf #(.DSIZE(head_inf.DSIZE)) head_buf_inf (.aclk(head_inf.aclk),.aresetn(head_inf.aresetn),.aclken(head_inf.aclken)); axi_stream_inf #(.DSIZE(body_inf.DSIZE)) body_buf_inf (.aclk(body_inf.aclk),.aresetn(body_inf.aresetn),.aclken(body_inf.aclken)); axi_stream_inf #(.DSIZE(end_inf.DSIZE)) end_buf_inf (.aclk( end_inf.aclk),.aresetn( end_inf.aresetn),.aclken(end_inf.aclken));
generate if(MODE==“BOTH”||MODE==“HEAD”) axi_stream_packet_fifo #(
.DEPTH (2 ) //2-4
)axi_stream_packet_fifo_head_inst( /* axi_stream_inf.slaver */ .axis_in (head_inf ), /* axi_stream_inf.master */ .axis_out (head_buf_inf ) ); endgenerate
axi_stream_packet_fifo #(
.DEPTH (2 ) //2-4
)axi_stream_packet_fifo_body_inst( /* axi_stream_inf.slaver */ .axis_in (body_inf ), /* axi_stream_inf.master */ .axis_out (body_buf_inf ) );
generate if(MODE==“BOTH”||MODE==“END”) axi_stream_packet_fifo #(
.DEPTH (2 ) //2-4
)axi_stream_packet_fifo_end_inst( /* axi_stream_inf.slaver */ .axis_in (end_inf ), /* axi_stream_inf.master */ .axis_out (end_buf_inf ) ); endgenerate
axi_streams_scaler #(
.MODE (MODE ), .CUT_OR_COMBIN_BODY (CUT_OR_COMBIN_BODY ), .DSIZE (body_inf.DSIZE )
)axi_streams_scaler_inst( /* input [15:0] */ .new_body_len (new_body_len ), /* axi_stream_inf.slaver */ .head_inf (head_buf_inf ), /* axi_stream_inf.slaver */ .body_inf (body_buf_inf ), /* axi_stream_inf.slaver */ .end_inf (end_buf_inf ), /* axi_stream_inf.master */ .m00 (m00 ) );
endmodule