/********************************************** _ _ Cook Darwin __

_ descript: author : Cook.Darwin Version: VERA.1.0 2017/5/10

add enable

Version: VERA.1.1 2018-4-19 12:10:42

use axi_streams_combin_A1

creaded: 2017/3/31 madified: ***********************************************/ `timescale 1ns/1ps (* axi_stream = “true” *) module axis_append_A1 #(

parameter   MODE  = "BOTH",
parameter   DSIZE       = 8,
parameter   HEAD_FIELD_LEN     = 16*8,     //MAX 16*8
parameter   HEAD_FIELD_NAME    = "HEAD Filed",
parameter   END_FIELD_LEN     = 16*8,     //MAX 16*8
parameter   END_FIELD_NAME    = "END Filed"

)(

input                                 enable,
input [HEAD_FIELD_LEN*DSIZE-1:0]      head_value,
input [END_FIELD_LEN*DSIZE-1:0]       end_value,
(* up_stream = "true" *)
axi_stream_inf.slaver                 origin_in,
(* down_stream = "true" *)
axi_stream_inf.master                 append_out

);

axi_stream_inf #(.DSIZE(origin_in.DSIZE)) head_inf (.aclk(origin_in.aclk),.aresetn(origin_in.aresetn),.aclken(origin_in.aclken)); axi_stream_inf #(.DSIZE(origin_in.DSIZE)) end_inf (.aclk(origin_in.aclk),.aresetn(origin_in.aresetn),.aclken(origin_in.aclken));

generate if(MODE==“BOTH” || MODE==“HEAD”)begin gen_big_field_table #(

.MASTER_MODE    ("OFF"               ),
.DSIZE          (DSIZE              ),
.FIELD_LEN      (HEAD_FIELD_LEN     ),     //MAX 16*8
.FIELD_NAME     (HEAD_FIELD_NAME    )

)gen_big_field_table_head( /* input */ .enable (enable ), /* input [DSIZE*FIELD_LEN-1:0] */ .value (head_value ), /* axi_stream_inf.master */ .cm_tb (head_inf ) ); end endgenerate

generate if(MODE==“BOTH” || MODE==“END”)begin gen_big_field_table #(

.MASTER_MODE    ("OFF"               ),
.DSIZE          (DSIZE              ),
.FIELD_LEN      (END_FIELD_LEN      ),     //MAX 16*8
.FIELD_NAME     (END_FIELD_NAME     )

)gen_big_field_table_end( /* input */ .enable (enable ), /* input [DSIZE*FIELD_LEN-1:0] */ .value (end_value ), /* axi_stream_inf.master */ .cm_tb (end_inf ) ); end endgenerate

// axi_streams_combin #( axi_streams_combin_A1 #(

.MODE                   (MODE       ),      //HEAD END
.CUT_OR_COMBIN_BODY     ("OFF"      ) //ON OFF
// .DSIZE                  (DSIZE      )

// )axi_streams_combin_inst( )axi_streams_combin__A1_inst( /* input [15:0] */ .new_body_len (16'hFFFF ), /* input */ .trigger_signal (1'b1 ), /* axi_stream_inf.slaver */ .head_inf (head_inf ), /* axi_stream_inf.slaver */ .body_inf (origin_in ), /* axi_stream_inf.slaver */ .end_inf (end_inf ), /* axi_stream_inf.master */ .m00 (append_out ) );

endmodule