后面cmd_en一直为1是因为当完成写的个数之后,会一直保持为自身,未有其他赋值。 再来看app_en和app_addr以及cmd_cnt的波形。 app_addr的代码如下。逻辑很明显,不再详述。 app_wdf_data、app_wdf_wren和app_wdf_end以及所涉及的wr_en代码及波形如下,逻辑很明显,不再详述。 整体上的写时序波形如下。仔细观察会...
app_en;表示命令使能; app_autoprechareg自动刷新; app_wdf_data;写数据; app_wdf_end;写结束; app_wdf_mask;掩码,表示写数据byte有效情况; app_wdf_wren;写数据使能; app_rdy表示ready; app_rd_data表示读数据; app_rd_data_end; app_rd_data_valid; app_wdf_rdy; app_ref_req; app_ref_ack; a...
所以对于8 bit的memory (ddr_dq[7:0]),每个UI Clock能传输8*2*4 = 64 bits,刚好能传完一个app_wdf_data[63:0],所以app_wdf_end拉高的周期与app_wdf_wren一致。如PHY RATIO = 2:1 (即MC Clock: UI Clock = 2:1),那么每个app_addr就要对应两个周期的数据,每个周期32 bits,此时app_wdf_end就要...
(c0_ddr4_app_wdf_wren),74 .app_wdf_end (c0_ddr4_app_wdf_end),75 .app_cmd ...
c0_ddr4_app_en(c0_ddr4_app_en), // input wire c0_ddr4_app_en .c0_ddr4_app_hi_pri(1'b0), // input wire c0_ddr4_app_hi_pri .c0_ddr4_app_wdf_end(c0_ddr4_app_wdf_end), // input wire c0_ddr4_app_wdf_end .c0_ddr4_app_wdf_wren(c0_ddr4_app_wdf_wren), // input...
end if; if (c0_ddr4_app_wdf_rdy = '1' and write_Counter <= Command_counter ) then c0_ddr4_app_wdf_data <= RAM_RData; // write data from BRAM to DDR4 c0_ddr4_app_wdf_wren <= '1'; c0_ddr4_app_wdf_end <= '1'; write_Counter <= write_Counter \+ to_unsigned(1,9)...
写时序总结如下:首先需要检查 app_wdf_rdy,该信号为高表明此时 IP 核数据接收处于准备完成状态,可以接收用户发过来的数据,在当前时钟拉高写使能(app_wdf_wren),给出写数据(app_wdf_data)。这样加上发起的写命令操作就可以成功向 IP 核写数据。这里有一个信号 app_wdf_mask,它是用来屏蔽写入数据的,该信号为高...
ddr4_app_en(c0_ddr4_app_en), // 指令写入使能 109 .c0_ddr4_app_hi_pri(1'b0), 110 .c0_ddr4_app_wdf_end(c0_ddr4_app_wdf_end), // 写数据最后一个时钟 111 .c0_ddr4_app_wdf_wren(c0_ddr4_app_wdf_wren), // 写数据使能 112 .c0_ddr4_app_rd_data_end(c0_ddr4_app_rd_...
app_wdata = // 写数据; app_wdf_end = 1; app_wdf_wren = 1; next_state = READ; end else begin next_state = WRITE; end end READ: begin // 读操作逻辑 if (app_rd_data_valid) begin // 比较读出的数据和预期数据 if (app_rd_data == // 预期数据) begin next_state = DONE; end...
结合上图,写时序总结如下:首先需要检查app_wdf_rdy,该信号为高表明此时IP核数据接收处于准备完成状态,可以接收用户发过来的数据,在当前时钟拉高写使能(app_wdf_wren),给出写数据(app_wdf_data)。这样加上发起的写命令操作就可以成功向IP核写数据。这里有一个信号app_wdf_mask,它是用来屏蔽写入数据的,该信号为高...