ddr3能否只读取1个地址的值
时间:10-02
整理:3721RD
点击:
当前方案中要求数据按队列存入ddr中,然后等待固定时间延迟后取出某地址的值。如果按BL=8的方式取会多取出其他没用的数据点而且还降低了控制器的利用率。ddr3控制器能否每次只读取一个地址的值(即BL=1)?极限响应速度是多少?
在我知識範圍內,DDR3的BL可以是4或是8,這在init時可以設定。
而DDR的BL是在做 R/W時內部與外部資料傳送的一個方式,DRAM內部一定是按造BL值做資料的輸出或接收。
接收端可以只取第一個 byte,但是DRAM一樣會輸出4或8個 data,等 data 輸出完後,才會做下一個動作。想要增加傳輸頻寬,可以 "減少 CL 值","增加外部頻率",這2個方向來著手。
谢谢回答,也就是说BL只能是4或8?CL更改对缩短整个读写流程的帮助不大,增大控制器工作频率虽然可行但是考虑到和前端数据传输模块的同步方案反而更加复杂化了。
如果都是这样的操作,效率会变得非常非常非常低。
畢竟在DDR設計中,Burst 是在加速資料讀取的方法之一,通常系統也多是循序將資料存入,以利增快讀取速度。如果資料是隨機擺放,那在讀取時,每次都必須先下位址,勢必影響系統的效能。
嗯,确实是这样。方案中数据的读写方式是顺序存入随机读取,而且每次操作一个数据包(有时延要求),可是不用ddr的话又没有合适的存储方案(5ns的写入间隔,最大延迟1.5s)
