自己写的内存控制器,4层板目前跑到了1.4G

2020-01-30 16:07发布

顶层和底层布线,中间两层电源和地,JLC做的样板,自己手动焊接,纯粹是好玩。

验证了很多东西啊,跟说明书上不一样,比如说等长、线间距、过孔、电源退耦等等。
除了时钟等长,其它等长不考虑,由自动调整的IODELAY来搞定,不用绕线了。
线宽0.12mm,线间距0.12mm,什么规则都没考虑,只是布通,刚开始还没考虑速度问题。
高速信号线上的过孔最多的有3个。
电源退耦,FPGA使用了2个bank,每个bank的供电2个0805的22uf和1个0603的0.1uf,VREF每个引脚一个0.1uf。
内存那边,一个芯片使用了6个0603的0.1uf退耦,旁边再加2个0805的22uf,比较零散,方便手动焊接。
先行验证的工程没有仔细调教IOSERDES,只是跑个功能,目前受制于BUFG速度,跑1.4G稳定了。
看IODELAY校准的参数,还有很大的提升空间。
高速啊内存的神秘面纱被揭开了。
下一步就使用IO的高级玩意,估计在K7上能跑到2.4G
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
zxq6
1楼-- · 2020-01-31 15:49
 精彩回答 2  元偷偷看……
drentsi
2楼-- · 2020-01-31 18:13
zxq6 发表于 2019-1-6 20:32
感谢楼主的经验。
目前我们布的ddr3,只能跑到200兆(目标是533),使用的4层板。只有一个还算完整的地。电 ...

四层板跑这速度管不管阻抗都不会有问题,取决于控制器
drentsi
3楼-- · 2020-01-31 18:27
本帖最后由 drentsi 于 2019-1-12 20:36 编辑

最新进展,为了测试FPGA的极限性能,通过一些手段把数据速率加到了4G,FPGA的PLL工作在2GHz,手册说最高只能1350M,这超频了50%。
IO部件工作正常,某组byte能够正确的读写,但是某些拉的较长的信号线出现了误码,通过调整延时也无法解决,应该是遇到了阻抗问题。
zhangmangui
4楼-- · 2020-01-31 20:33
drentsi 发表于 2019-1-12 20:30
最新进展,为了测试FPGA的极限性能,通过一些手段把数据速率加到了4G,FPGA的PLL工作在2GHz,手册说最高只 ...

你是自己写的控制器吗    还是用的IP
drentsi
5楼-- · 2020-01-31 23:38
最新进度,K7上稳定速度2.2G,再往上冲刺就不稳定了。
测试最高速度BUFR跑到了640M,BUFIO跑到1.28G,IO还能辨识 每个bit,对数据进行分析发现拖尾现象,应该是阻抗不匹配或者供电不稳定造成的,改进PCB应该能解决。
另一设计发现K7的IO输入能支持4.4gbps的速率,输出只能2.6gbps。
内存控制器都是自己写,从1G到2.2G的任意频率都能完成自校准.
目前的设计能够支持单一K7芯片上3组32bit,2.2g的控制器,下一步改进目标是2.6g到3.2g的速度,单一芯片达到38GB/s的带宽,相当于3根DDR3-1600内存条
liuxiang5119
6楼-- · 2020-02-01 02:06
 精彩回答 2  元偷偷看……

一周热门 更多>