微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何提高DDR3的效率

如何提高DDR3的效率

时间:10-02 整理:3721RD 点击:
现在因为项目需要,要用DDR3来实现一个4入4出的vedio frame buffer。因为片子使用的是lattice的,参考设计什么的非常少。需要自己调用DDR3控制器来实现这个vedio frame buffer。可是购买的Lattice的DDR3控制器个人感觉比较奇葩。当配置DDR3控制器的时候,这里两片DDR3构成32位位宽。选择burst length为8的时候,控制器必须进行32个comand burst(也就是一次操作就要操作32*8*32 bit的数据)才能达到最高的带宽利用率,约为94%左右。当选择burst length为1的时候,不管怎样,即使是进行bank交替操作,ddr3的带宽利用率也只有20%-30%左右。
     这里就觉得比较纠结。burst length太大,frame buffer的输出端当要对输入的视频帧进行截取一部分的时候会变相降低DDR3带宽利用率,这样的话总的带宽就不够。burst length太小,整体的带宽利用率就更悲催了。请问各位前辈有没有什么好的方法能够在这种应用用最大化的利用DDR3的带宽?

1.优化数据存储结构,就是把有可能同时用到的数据到一起;
2.看设计是否适合加个Cache

自己写一个控制器,你这个应用里效率能到90%~95%

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

网站地图

Top