在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: Timme

[讨论] 自己写的DDR2控制器(含PHY)在FPGA上跑到1066了【27楼更新手动PR/时钟树介绍】

[复制链接]
发表于 2012-12-11 10:57:56 | 显示全部楼层
楼主能讲讲调试时要注意到的哪些方面吧!
发表于 2013-1-1 16:47:00 | 显示全部楼层
回复 18# Timme


   商用控制器一般都需要考虑命令调度的,如果不考虑命令调度及前面接口协议转换(比如AHB接口的控制器)lattency是要小一些,并且难度也要小很多,不过两天完成设计还是不错的!
发表于 2013-1-5 11:15:28 | 显示全部楼层
LZ,能否写个文档,供菜鸟学习学习。非常感谢!!!
发表于 2013-1-5 16:13:10 | 显示全部楼层
看到楼主写的DDR控制器我想到我现在正在做的一个东西,不是DDR,但是感觉有点类似,我在另发了一个帖子求教,现在搬过来请楼主帮忙看看:
我现在在做的板子,有两路串行数据A和B,由外部输入后经过差分转单端送入FPGA中,A和B不是独立的两路数据,其中A是指示信号,B是数据,当A和B异或结果为高电平时,表示此时B线上为有效数据,也就是说A和B的异或结果可以作为数据通路B的有效指示信号(高有效),现在的情况是,由于传输延迟不同,A和B之间很可能不会严格对齐,如果将接收到的A和B信号直接进行异或操作,很可能出现毛刺,但是现在我找不到有效的去除毛刺的方法,系统标称速率为125Mbps。
我的问题是:
1.这种方式有点类似于DDR的数据+strobe的方式,也是源同步,是否需要数据时钟恢复?
2.由于协议的要求,接收到的指示信号还不是最终的strobe,需要将数据和指示信号进行一次异或操作才能得到类似于DDR中的DQS信号的strobe,这样在异或操作的时候很可能出现毛刺。
我考虑的解决方法:
1.如果先做数据时钟恢复,那么恢复后的两路信号A和B不一定能保持原有的相位关系(有可能会相差一个时钟),这样就不能正确地进行异或操作得到最终的strobe;
2.如果先直接进行异或操作,则很可能产生毛刺,这样也不能得到准确的strobe信号。
两种方法都行不通,请楼主指点。
发表于 2013-1-5 16:27:55 | 显示全部楼层
回复 81# Timme


    请楼主不吝赐教
发表于 2013-1-5 21:00:56 | 显示全部楼层
mark一个~
发表于 2013-1-5 23:20:16 | 显示全部楼层
回复 1# Timme


   盛赞!无以为报,只能尽力去理解学习掌握lz留下的财富,若有缘请你一顿屌丝餐@
我也研究过phy,请问lz的经验,5级delay是加在哪里?dqs输入还是所有dq输入也都加?delay的控制以lane为单位,还是各自分开?
dq采样寄存器的location坐标,是根据IO的坐标推断吗?有的bank没有一模一样的(x,y),差1行吗?
dq读取是用dqs调delay后采样的吗?就是你上面讲过的training方式吧?lz采用什么方式将其同步到内部时钟上的?输出给SDRAM的CK是内部时钟产生的吗?
dq肯定是放在一个IO bank吧,cmd和data都在一个bank吗?有什么顺序的讲究吗?DDR的VDD/VSS是怎么分布?VREF有讲究吗?
做板子的兄弟也很赞!ddr routing用了几层板,走过孔了吗?从FPGA IO到SDRAM IO的距离有关注吗?板上还有serdes或者lvds吗?有cross-talk的顾虑吗?45度弯拐几次?会不会拐十几次也会影响速度啊?ODT电阻选了哪个段,比如70还是150欧姆?这个选择的原则能问问吗?
SDRAM那边的VDD和FPGA这边的ddr VDD是一条线吗?给了多宽?
发表于 2013-1-6 15:54:21 | 显示全部楼层
感觉,获益匪浅啊!
 楼主| 发表于 2013-1-6 19:11:42 | 显示全部楼层


回复  Timme


   盛赞!无以为报,只能尽力去理解学习掌握lz留下的财富,若有缘请你一顿屌丝餐@
我也研究过phy,请问lz的经验,5级delay是加在哪里?dqs输入还是所有dq输入也都加?delay的控制以lane为单位,还是各自分开?
dq采样寄存器的location坐标,是根据IO的坐标推断吗?有的bank没有一模一样的(x,y),差1行吗?
dq读取是用dqs调delay后采样的吗?就是你上面讲过的training方式吧?lz采用什么方式将其同步到内部时钟上的?输出给SDRAM的CK是内部时钟产生的吗?
dq肯定是放在一个IO bank吧,cmd和data都在一个bank吗?有什么顺序的讲究吗?DDR的VDD/VSS是怎么分布?VREF有讲究吗?
做板子的兄弟也很赞!ddr routing用了几层板,走过孔了吗?从FPGA IO到SDRAM IO的距离有关注吗?板上还有serdes或者lvds吗?有cross-talk的顾虑吗?45度弯拐几次?会不会拐十几次也会影响速度啊?ODT电阻选了哪个段,比如70还是150欧姆?这个选择的原则能问问吗?

SDRAM那边的VDD和FPGA这边的ddr VDD是一条线吗?给了多宽?
forestimber 发表于 2013-1-5 23:20



每根DQS带一条延时链,再分发给8个DQ寄存器,以保证共同时钟路径。Delay最小单位得看ALUT+走线的最小延时了,不太理解你这里Lane的概念。。。DQ寄存器坐标尽量接近IO,差1行没什么大关系。数据采用以DQS为时钟的移位寄存器缓存,再给内部时钟采。。。CK是内部给的。全部在同一Bank,顺序CMD那边没啥讲究,DQ和DQS尽量接近。。。板子是18层的,电源很随便是个LDO,VREF也就是电阻分压,没留意过有没过孔,距离大概3cm。。。板子不是我画的其他不太清楚。。。ODT根据PCB阻抗来定。
发表于 2013-1-6 20:06:36 | 显示全部楼层
不知道lz搞这个有什么意义,DRAM的控制器,开源的一大堆,PHY上667后就不会再用数字PHY,纯爱好的吧,没有任何实用价值,至于说FPGA上的PR 呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-16 19:06 , Processed in 0.027684 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表