|
楼主 |
发表于 2014-12-6 21:20:26
|
显示全部楼层
//锁存两拍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)
);
这样修改后,可以正常的跑起来 |
|