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