基于FPGA的DDR內存條的控制研究與設計
1 內存條的工作原理
DDR內存條是由多顆粒的DDR SDKAM芯片互連組成,DDR SDRAM是雙數據率同步動(dòng)態(tài)隨機存儲器的縮寫(xiě)。DDR SDRAM采用雙數據速率接口,也就是在時(shí)鐘的正沿或負沿都需要對數據進(jìn)行采樣。在本設計中采用的內存是hynix公司的lGB的HYMD564M646CP6-J。內存條的工作原理與單顆粒內存芯片的工作原理一樣,主要的控制信號以及控制信號完成的主要功能如表1所示。
以上的控制信號及地址信號都是由差分時(shí)鐘信號中CK的正沿觸發(fā)。DDR SDRAM必須按照一定的工作模式來(lái)完成初始化,完成初始化后才能進(jìn)入到讀寫(xiě)過(guò)程。DDR SDRAM的控制流程如圖1所示。
初始化的過(guò)程為:(1)上電后,延時(shí)200us等待時(shí)鐘穩定,然后將CKE拉高,執行一次NOP或者DESELECT操作。(2)執行一次precharge all操作。(3)設置擴展模式寄存器(BAl為低電平BA0為高電平)使能DLL。(4)設置模式寄存器(BAl,BA0均為低電平)復位DLL。(5)執行一次pre-charge all指令。(6)再經(jīng)過(guò)2個(gè)自刷新(Auto refresh)指令后再次設置模式寄存器設置操作模式。(7)延時(shí)200個(gè)周期才能進(jìn)行讀操作。DDR SDRAM的擴展模式寄存器和模式寄存器的定義如圖2和圖3所示。
完成初始化后進(jìn)入圖1中的IDEL狀態(tài),此時(shí)可以進(jìn)行讀寫(xiě)操作。在進(jìn)行寫(xiě)操作時(shí),首先要進(jìn)入Row active狀態(tài),此時(shí)選中要操作的bank與row。然后執行NOP操作等待tRCD的時(shí)間后可以進(jìn)入寫(xiě)狀態(tài)。
評論