axi_dacfifo: Register the dac_valid signals
parent
debc6e2066
commit
b9d3039568
|
@ -135,6 +135,7 @@ module axi_dacfifo_dac (
|
||||||
reg dac_dlast_m1 = 1'b0;
|
reg dac_dlast_m1 = 1'b0;
|
||||||
reg dac_dlast_m2 = 1'b0;
|
reg dac_dlast_m2 = 1'b0;
|
||||||
reg dac_dlast_inmem = 1'b0;
|
reg dac_dlast_inmem = 1'b0;
|
||||||
|
reg dac_mem_valid = 1'b0;
|
||||||
|
|
||||||
// internal signals
|
// internal signals
|
||||||
|
|
||||||
|
@ -144,7 +145,6 @@ module axi_dacfifo_dac (
|
||||||
wire [(DAC_ADDRESS_WIDTH-1):0] axi_mem_laddr_s;
|
wire [(DAC_ADDRESS_WIDTH-1):0] axi_mem_laddr_s;
|
||||||
|
|
||||||
wire [DAC_ADDRESS_WIDTH:0] dac_mem_addr_diff_s;
|
wire [DAC_ADDRESS_WIDTH:0] dac_mem_addr_diff_s;
|
||||||
wire dac_mem_valid_s;
|
|
||||||
wire dac_xfer_init_s;
|
wire dac_xfer_init_s;
|
||||||
wire dac_last_axi_beats_s;
|
wire dac_last_axi_beats_s;
|
||||||
|
|
||||||
|
@ -303,7 +303,9 @@ module axi_dacfifo_dac (
|
||||||
end
|
end
|
||||||
|
|
||||||
assign dac_mem_addr_diff_s = {1'b1, dac_mem_waddr} - dac_mem_raddr;
|
assign dac_mem_addr_diff_s = {1'b1, dac_mem_waddr} - dac_mem_raddr;
|
||||||
assign dac_mem_valid_s = (dac_mem_enable) ? dac_valid : 1'b0;
|
always @(posedge dac_clk) begin
|
||||||
|
dac_mem_valid <= (dac_mem_enable) ? dac_valid : 1'b0;
|
||||||
|
end
|
||||||
|
|
||||||
// CDC for the dma_last_beats
|
// CDC for the dma_last_beats
|
||||||
|
|
||||||
|
@ -335,7 +337,7 @@ module axi_dacfifo_dac (
|
||||||
end else if (dac_mem_raddr == dac_mem_laddr + MEM_RATIO) begin
|
end else if (dac_mem_raddr == dac_mem_laddr + MEM_RATIO) begin
|
||||||
dac_dlast_inmem <= 1'b0;
|
dac_dlast_inmem <= 1'b0;
|
||||||
end
|
end
|
||||||
if (dac_mem_valid_s == 1'b1) begin
|
if (dac_mem_valid == 1'b1) begin
|
||||||
dac_beat_cnt <= ((dac_beat_cnt >= MEM_RATIO-1) ||
|
dac_beat_cnt <= ((dac_beat_cnt >= MEM_RATIO-1) ||
|
||||||
((dac_last_beats > 1'b1) && (dac_last_axi_beats_s > 1'b0) && (dac_beat_cnt == dac_last_beats-1))) ? 0 : dac_beat_cnt + 1;
|
((dac_last_beats > 1'b1) && (dac_last_axi_beats_s > 1'b0) && (dac_beat_cnt == dac_last_beats-1))) ? 0 : dac_beat_cnt + 1;
|
||||||
dac_mem_raddr <= ((dac_last_axi_beats_s) && (dac_beat_cnt == dac_last_beats-1)) ? (dac_mem_laddr + MEM_RATIO) : dac_mem_raddr + 1'b1;
|
dac_mem_raddr <= ((dac_last_axi_beats_s) && (dac_beat_cnt == dac_last_beats-1)) ? (dac_mem_laddr + MEM_RATIO) : dac_mem_raddr + 1'b1;
|
||||||
|
|
Loading…
Reference in New Issue