avl_dacfifo: Control the avl_burstcount inside the FSM
parent
b8e8410cbc
commit
60d2fb939d
|
@ -194,6 +194,7 @@ module avl_dacfifo_rd #(
|
||||||
always @(posedge avl_clk) begin
|
always @(posedge avl_clk) begin
|
||||||
if (avl_fifo_reset_s == 1'b1) begin
|
if (avl_fifo_reset_s == 1'b1) begin
|
||||||
avl_read_state <= IDLE;
|
avl_read_state <= IDLE;
|
||||||
|
avl_burstcount <= AVL_BURST_LENGTH;
|
||||||
end else begin
|
end else begin
|
||||||
case (avl_read_state)
|
case (avl_read_state)
|
||||||
IDLE : begin
|
IDLE : begin
|
||||||
|
@ -208,8 +209,10 @@ module avl_dacfifo_rd #(
|
||||||
if (avl_mem_request_data == 1'b1) begin
|
if (avl_mem_request_data == 1'b1) begin
|
||||||
if (avl_address + AVL_ARINCR <= avl_last_address) begin
|
if (avl_address + AVL_ARINCR <= avl_last_address) begin
|
||||||
avl_read_state <= XFER_FULL_BURST;
|
avl_read_state <= XFER_FULL_BURST;
|
||||||
|
avl_burstcount <= AVL_BURST_LENGTH;
|
||||||
end else begin
|
end else begin
|
||||||
avl_read_state <= XFER_PARTIAL_BURST;
|
avl_read_state <= XFER_PARTIAL_BURST;
|
||||||
|
avl_burstcount <= avl_last_burstcount;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end else begin
|
end else begin
|
||||||
|
@ -280,7 +283,7 @@ module avl_dacfifo_rd #(
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
// Avalon burstcount
|
// Avalon burstcounter
|
||||||
|
|
||||||
always @(posedge avl_clk) begin
|
always @(posedge avl_clk) begin
|
||||||
if (avl_fifo_reset_s == 1'b1) begin
|
if (avl_fifo_reset_s == 1'b1) begin
|
||||||
|
@ -294,18 +297,6 @@ module avl_dacfifo_rd #(
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
always @(posedge avl_clk) begin
|
|
||||||
if (avl_fifo_reset_s) begin
|
|
||||||
avl_burstcount <= 'b0;
|
|
||||||
end else begin
|
|
||||||
if (avl_read_state == XFER_PARTIAL_BURST) begin
|
|
||||||
avl_burstcount <= avl_last_burstcount;
|
|
||||||
end else begin
|
|
||||||
avl_burstcount <= AVL_BURST_LENGTH;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
assign avl_byteenable = {64{1'b1}};
|
assign avl_byteenable = {64{1'b1}};
|
||||||
|
|
||||||
// write data from Avalon interface into the async FIFO
|
// write data from Avalon interface into the async FIFO
|
||||||
|
|
Loading…
Reference in New Issue