SDRAM(K4S641632)不同长度的突发设置问题
各位好:在参考特权同学SF-EP1C FPGA开发套件的“ex16_sd_vga_photo”时,想实现一个功能,对突发写时采取突发长度BL=1的方式,读时采取突发长度整页BL=256,目的是实现指定任意位置写显示数据,而不影响读-写屏的速度。
但是仅简单的把突发长度进行修改到BL=1不可实现,最少得设置BL=4,否则会出现错位显示的问题。
因此不明白了,除了突发长度进行修改外,是不是还有什么地方需要同步修改。
请看看有没有朋友了解的,请指导一下,先谢谢了! 最后还是调好了,修改了FIFO读写使能同步,并把SDRAM完成标志提前一个时钟打入到FIFO:) 顶一下,期待lz把修改后的开源和讲座 //锁存两拍sdram_wr_ack,用于下降沿捕获
always @(posedge clk_100m or negedge rst_n)
if(!rst_n) begin
sdwrackr1 <= 1'b0;
sdwrackr2 <= 1'b0;
end
else begin
sdwrackr1 <= sdram_wr_ack;
sdwrackr2 <= sdwrackr1;
end
wire neg_sdwrack = ~sdwrackr1 & sdwrackr2; //sdram_wr_ack下降沿标志位,高有效一个时钟周期
------------上面部分没有修改过,照旧----------------
------------下面部分修改了两处,见注示----------------
//例化SDRAM写入数据缓存FIFO模块
wrfifo uut_wrfifo(
.aclr(fifo_aclr),
.data(fifo_data),
.rdclk(clk_100m),//----把读写时钟改成同一个
.rdreq(sdwrackr1),//-----把SDRAM写完成标志提前一个时钟周期打入
.wrclk(clk_100m),//----把读写时钟改成同一个
.wrreq(fifo_wrreq),
.q(sys_data_in),
.wrusedw(wrf_use)
);
这样修改后,可以正常的跑起来
页:
[1]