一種基于FPGA的DDR SDRAM控制器的設(shè)計
2.2 CMD命令模塊
CMD命令模塊ddr_command由仲裁模塊以及命令產(chǎn)生模塊構(gòu)成。仲裁模塊的作用主要是仲裁初始化請求、刷新請求以及讀寫請求的優(yōu)先級,并產(chǎn)生初始化響應(yīng)initial hold、刷新響應(yīng)refresh hold和讀寫響應(yīng)sdram wr hold。命令產(chǎn)生模塊則是實現(xiàn)存儲器與控制之間的命令通信,直接產(chǎn)生存儲器所需的CKE、CS_N,RAS_N,CAS_N,WE_N等命令信號。除此之外Read/Write所需的行列地址和簇地址也由命令模塊產(chǎn)生。命令產(chǎn)生模塊接收到來自CMD命令解析模塊的操作命令后,根據(jù)數(shù)據(jù)選通倍號OE對數(shù)據(jù)通路模塊進(jìn)行有效控制:OE為1時,進(jìn)行Write操作;OE為0時,進(jìn)行Read操作。
2.3 數(shù)據(jù)通路模塊
數(shù)據(jù)通路模塊ddr_data_path受命令產(chǎn)生模塊的OE信號控制,其管腳接口如圖4所示。OE為1時,數(shù)據(jù)可由DQIN引腳寫入DDR SDRAM;OE為0時,數(shù)據(jù)可從DDR SDRAM的DQIN引腳讀出。
由于DDR SDRAM在時鐘的上升沿和下降沿能均觸發(fā)數(shù)據(jù),使得用戶端的數(shù)據(jù)寬度是DDR SDRAM的兩倍。進(jìn)行Read操作時,DQ pins上的雙倍速率數(shù)據(jù)經(jīng)過邊沿觸發(fā)器,在DQS信號的兩個邊沿同時采樣數(shù)據(jù),然后這些數(shù)據(jù)會通過另一套可配置的寄存器被傳送到系統(tǒng)的時鐘域。進(jìn)行Write操作時,用戶端寄存器輸出的數(shù)據(jù)會被傳送到控制器的寄存器中,進(jìn)而被存放到DQ pins上。數(shù)據(jù)通路模塊在與存儲器的接口處完成了兩個轉(zhuǎn)換:一是翻倍來自存儲器的數(shù)據(jù)總線寬度;二是以400 MHz的時鐘頻率接收存儲器在時鐘上升和下降沿發(fā)出的數(shù)據(jù)。
電容器相關(guān)文章:電容器原理
fpga相關(guān)文章:fpga是什么
電荷放大器相關(guān)文章:電荷放大器原理 漏電開關(guān)相關(guān)文章:漏電開關(guān)原理 鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論