xilinx spartan6,MCB读写DDR2 问题求教。
比如说现在要读DDR2 memory,有Px_cmd_en,pX_cmd_addr,pX_cmd_bl,pX_cmd_instr。我看了资料上的时序图,就是这么做的:比如说产生一个使能信号rd_temp,一个脉宽。 同时将这个一个脉宽的信号寄存一拍为rd_temp_r....在rd_temp有效如==1时,将 pX_cmd_addr,pX_cmd_bl等cmd命令参数写入,同时将数据路径读使能信号pX_rd_en也写入、。然后在下一个节拍(此时rd_temp_r==1),发出CMD fifo的Px_cmd_en=1的使能信号。请问我这样的理解过程对吗?我现在感觉好像不对。好像是只要如rd_temp==1,一下子把上述的这些信号都发送出去。还请哪位大牛帮忙呀。万分感谢您了啊。(而写过程也差不多,也就是在当前节拍把CMD fifo的相应的地址,bl等写上,同时把wr_data,wr_en都写上),然后在下一个节拍才发送CMD_en使能信号,请大牛帮忙啊,谢谢您了啊
比如:我现在读DDR2 memory,从0地址开始读,我的意思是我在一个时钟节拍之内把下面这些都发出去呢?还是对于 c3_p2_cmd_en , c3_p2_rd_en要比别的三个信号需要晚一拍再发出去呢?需要有时序先后关系吗
c3_p2_cmd_instr[2:0] <=3'b0;
c3_p2_cmd_bl[5:0] = 6'b0;
c3_p2_cmd_byte_addr[29:0] <= 30'b0
c3_p2_cmd_en <= 1'b1;
c3_p2_rd_en <=1'b1;
等待大侠讲解
晕啊,恳请大侠帮助解答啊。我现在是想一齐发下去这些相关的读操作的信号,然后将来要是时序不满足要求了,就通过UCF文件添加约束,不知道这样是否可以啊?
.p0_cmd_en (c3_p0_cmd_en),
.p0_cmd_instr (c3_p0_cmd_instr),
.p0_cmd_bl (c3_p0_cmd_bl),
.p0_cmd_byte_addr (c3_p0_cmd_byte_addr),
这四个指令是同一时钟节拍一起发出去的。对于读数据,类似与以下形式读回
always @(*) begin
if (rd_empty_p[0] == 0) begin
rd_en_p[0] <= 1'b1;
end else begin
rd_en_p[0] <= 1'b0;
end
end
