SDRAM控制器读写非数据流的情况:
在某些情况下最后剩下的那一段数据无法达到单次Brust长度,此时应该仲裁决定是否继续读写。
这个问题在DDR3需要通过填0去解决,因为预读量远不是一个级别,填零以后通过截断获得有效数据是好的做法。
//WR_req always @(posedge Sys_clk or negedge Rst_n) begin if(Rst_n == 'd0) begin WR_req <= 'd0; end else if(FIFO_RD_cnt >= 512 && STATE == STATE_WR_wait) begin WR_req <= 1'b1; end else if(Break_WR_to_ARF && CNT_SDRAM_ROWS == IMAGE_NEED_ROW - 1'b1 && ((FIFO_RD_cnt >>2'd2) >= (SDRAM_COLS_MAX - CNT_SDRAM_COLS))) begin WR_req <= 1'd1; end else if(Done_image == 1'b1 || WR_access == 1'b1 || STATE != STATE_WR_wait) begin WR_req <= 'd0; end else begin WR_req <= WR_req; end endView Code
标签:begin,工程,req,SDRAM,笔记,COLS,细节,WR,Rst From: https://www.cnblogs.com/VerweileDoch/p/18007121