一種基于FPGA的DDR SDRAM控制器的設(shè)計
2 DDR SDRAM控制器的設(shè)計
為能像操作普通存儲器—樣對DDR SDRAM進行控制,必須要通過一系列的初始化操作完成對DDRSDRAM復雜的讀寫時序轉(zhuǎn)換。同時DDR SD RAM控制器還要自行產(chǎn)生周期性的Auto Refresh命令自動刷新DDR SDRAM,以保證存儲數(shù)據(jù)的穩(wěn)定性。圖1為DDR SDRAM控制器管腳接口示意圖,控制器右端的管腳接口與DDR SDRAM所對應(yīng)管腳接口直接相連,控制器左端的管腳接口則是接收來自系統(tǒng)發(fā)送的控制信號。本文引用地址:http://m.ptau.cn/article/159415.htm
DDR SDRAM控制器的基本構(gòu)造框架如圖2所示:分別是系統(tǒng)控制接口模塊ddr_control_interface、CMD命令模塊ddr_command和數(shù)據(jù)通路模塊ddr_data_path。ddr_control_interface包括命令接口模塊和刷新控制模塊,系統(tǒng)發(fā)出的控制信號會首先進入ddr_control_interface,進而產(chǎn)生不同的commsnd信號組合;ddr_command用于接收系統(tǒng)控制接口模塊產(chǎn)生的command,并解碼成具體的操作命令對DDR SDRAM進行控制;ddr_data—path主要是對輸入和輸出數(shù)據(jù)進行有效的控制。
2.1 系統(tǒng)控制接口模塊
圖3為系統(tǒng)控制接口模塊ddr_control_interface的有限狀態(tài)機。控制器接收到后模塊發(fā)送的LOAD_REG1命令后進入載入模式,然后由一個LOAD_REG2命令將刷新計數(shù)器值載入控制器??刂破靼l(fā)送Read/Write操作請求時,如果DDR SDRAM正處于IdleState,則需要使用Active命令打開相應(yīng)的行之后才能進入Read/Write狀態(tài)。DDR SDRAM的Read/Write訪問是基于突發(fā)方式,有2、4、8這3種突發(fā)長度。在突發(fā)長度為8的狀態(tài)下,DDR SDRAM接收Read命令后會在指定的延遲后的4個時鐘周期內(nèi),由DQ數(shù)據(jù)線給出8個16位數(shù)據(jù),完成1次突發(fā)Read操作。執(zhí)行完1次突發(fā)Read操作,控制器便會自動轉(zhuǎn)入Read等待狀態(tài),這個等待狀態(tài)將持續(xù)到控制器接收到下一個Read命令。如果此時發(fā)送1個Precharge命令關(guān)閉當前正在工作的行,控制器就會進入Idle State。連續(xù)突發(fā)Bead操作可以通過設(shè)置Read等待狀態(tài)來實現(xiàn)而不必重復Active操作。當Read操作發(fā)生在不同的行時,需要先使用Precharge命令關(guān)閉正在工作的行,再由Active打開需要讀取的另一個行,而此時的訪問耗時最長。
電容器相關(guān)文章:電容器原理
fpga相關(guān)文章:fpga是什么
電荷放大器相關(guān)文章:電荷放大器原理 漏電開關(guān)相關(guān)文章:漏電開關(guān)原理 鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論