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