马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大侠:
最近在做NANDflash NV-DDR2接口,项目中在fpga内部用dqs上升沿来计数,发现计数器(debug 信号)和nand flash芯片给出的dqs脉冲数(示波器检测)不一致,dqs_cnt会大于实际dqs脉冲数,不知道什么原因,麻烦各位大侠分析一下问题所在,谢谢。
dqs接口代码如下 IOBUFDS #( .IBUF_LOW_PWR("TRUE"), //Low Power - "TRUE", High Performance ="FALSE" .IOSTANDARD("DEFAULT"), //// Specify the I/O standard .SLEW("FAST") // Specify theoutput slew rate ) OBUFDS_DQS ( .IO (nand_dqs_p ), .OB (nand_dqs_n ), .O (nand_dqsin ), .I (nand_dqs_ddr ), .T (io_ctrl ) ); always @( posedge nand_dqsin or posedge rst )begin if ( rst )begin dqs_cnt <= {8{1'b0}} ; end else if(cnt_clr) begin dqs_cnt <= {8{1'b0}} ; end else if(wr_dqs_en) begin dqs_cnt <= dqs_cnt+ 1; end end wr_dqs_en信号是我根据dqs回来的时间进行设置的,防止毛刺的,是没有问题的。 注:dqs是差分型,管脚类型为IO,电平电平属性为DIFF_SSTL18_II,dqs是83MHz的脉冲。 IOBUFDS 模块的各种参数都试过,最后我把IOBUFDS换成单端的,问题也一样。 最后我降频一半(dqs频率变为41.5MHz),上述问题没有了,但是实际dqs就是需要跑83MHz。 |