微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > xilinx spartan6,MCB读写DDR2 问题求教。

xilinx spartan6,MCB读写DDR2 问题求教。

时间:10-02 整理:3721RD 点击:
现在正在做一个小项目,就是需要用到spartan-6  MCB, 我看了UG388用户说明文档,有些读写的时序不是很清楚,请教大牛帮助指点。万分感谢您了
比如说现在要读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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top