1
0
mirror of https://github.com/bmartini/zynq-axis.git synced 2024-09-05 19:19:27 +08:00

Indicates burst size in bytes of each transfer

This signal encoding is determined using the axi data width parameter as
per Section 4.3 of the AXI Protocol Specification (v1.0).
This commit is contained in:
Berin Martini 2015-01-08 10:58:20 -05:00
parent 852e507af2
commit 9ee0ce64ee

View File

@ -100,6 +100,20 @@ module axis #(
);
/**
* Local parameters
*/
localparam BURST_SIZE =
( 1 == (AXI_DATA_WIDTH/8)) ? 3'h0 :
( 2 == (AXI_DATA_WIDTH/8)) ? 3'h1 :
( 4 == (AXI_DATA_WIDTH/8)) ? 3'h2 :
( 8 == (AXI_DATA_WIDTH/8)) ? 3'h3 :
(16 == (AXI_DATA_WIDTH/8)) ? 3'h4 :
(32 == (AXI_DATA_WIDTH/8)) ? 3'h5 :
(64 == (AXI_DATA_WIDTH/8)) ? 3'h6 : 3'h7;
/**
* Implementation
*/
@ -110,7 +124,7 @@ module axis #(
assign axi_awprot = 3'h0; // DATA_SECURE_NORMAL
assign axi_awburst = 2'h1; // INCREMENTING
assign axi_awqos = 4'h0; // NOT_QOS_PARTICIPANT
assign axi_awsize = 3'h3; // EIGHT_BYTES
assign axi_awsize = BURST_SIZE;
assign axi_wstrb = {(AXI_DATA_WIDTH/8){1'b1}};
// read path static values
@ -119,7 +133,7 @@ module axis #(
assign axi_arprot = 3'h0; // DATA_SECURE_NORMAL
assign axi_arburst = 2'h1; // INCREMENTING
assign axi_arqos = 4'h0; // NOT_QOS_PARTICIPANT
assign axi_arsize = 3'h3; // EIGHT_BYTES
assign axi_arsize = BURST_SIZE;
// assume that all writes are successful and therefore do not need to