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