當前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]介紹了SDRAM的特點和工作原理,提出了一種基于FPGA的SDRAM控制器的設(shè)計方法,使用該方法實現(xiàn)的控制器可非常方便地對SDRAM進行控制。

摘 要:介紹了SDRAM的特點和工作原理,提出了一種基于FPGASDRAM控制器的設(shè)計方法,使用該方法實現(xiàn)的控制器可非常方便地對SDRAM進行控制。
關(guān)鍵詞:SDRAM;控制器;Verilog;狀態(tài)機

引言
---在基于FPGA的圖象采集顯示系統(tǒng)中,常常需要用到大容量、高速度的存儲器。而在各種隨機存儲器件中,SDRAM的價格低、體積小、速度快、容量大,是比較理想的器件。但SDRAM的控制邏輯比較復(fù)雜,對時序要求也十分嚴格,使用很不方便,這就要求有一個專門的控制器,使系統(tǒng)用戶能很方便地操作SDRAM。為此,本文提出了一種基于FPGA的SDRAM控制器的設(shè)計方法,并用Verilog給于實現(xiàn),仿真結(jié)果表明通過該方法設(shè)計實現(xiàn)的控制器可以在FPGA芯片內(nèi)組成如圖1所示的SDRAM接口,從而使得系統(tǒng)用戶對SDRAM的操作非常方便。

 

SDRAM簡介
 ---SDRAM器件的管腳分為控制信號、地址和數(shù)據(jù)三類。通常一個SDRAM中包含幾個BANK,每個BANK的存儲單元是按行和列尋址的。由于這種特殊的存儲結(jié)構(gòu),SDRAM有以下幾個工作特性。
● SDRAM的初始化
---SDRAM在上電100~200μs后,必須由一個初始化進程來配置SDRAM的模式寄存器,模式寄存器的值決定著SDRAM的工作模式。
● 訪問存儲單元
---為減少I/O引腳數(shù)量,SDRAM復(fù)用地址線,所以在讀寫SDRAM時,先由ACTIVE命令激活要讀寫的BANK,并鎖存行地址,然后在讀寫指令有效時鎖存列地址。一旦BANK被激活后只有執(zhí)行一次預(yù)充命令后才能再次激活同一BANK。
● 刷新和預(yù)充
---SDRAM的存儲單元可以理解為一個電容,總是傾向于放電,因此必須有定時的刷新周期以避免數(shù)據(jù)丟失。刷新周期可由(最小刷新周期÷時鐘周期)計算獲得。對BANK預(yù)充電或者關(guān)閉已激活的BANK,可預(yù)充特定BANK也可同時作用于所有BANK,A10、BA0和BA1用于選擇BANK。
● 操作控制
---SDRAM的具體控制命令由一些專用控制引腳和地址線輔助完成。CS、RAS、CAS和WR在時鐘上升沿的狀態(tài)決定具體操作動作,地址線和BANK選擇控制線在部分操作動作中作為輔助參數(shù)輸入。由于特殊的存儲結(jié)構(gòu),SDRAM操作指令比較多,不像SRAM一樣只有簡單的讀寫。

SDRAM控制器的設(shè)計實現(xiàn)
 ● 總體設(shè)計框圖和外部接口信號
---SDRAM控制器與外部的接口示意圖由圖1給出,控制器右端接口信號均為直接與SDRAM對應(yīng)管腳相連的信號,此處不做介紹??刂破髯蠖说慕涌谛盘枮榕cFPGA相連的系統(tǒng)控制接口信號,其中,CLK133為系統(tǒng)時鐘信號,RESET_N為復(fù)位信號,ADDR為系統(tǒng)給出的SDRAM地址信號,DAIN是系統(tǒng)用于寫入SDRAM的數(shù)據(jù)信號,F(xiàn)PGA_RD和FPGA_WR為系統(tǒng)讀、寫請求信號(1為有效,0為無效),SDRAM_FREE是SDRAM的空閑狀態(tài)標示信號(0為空閑,1為忙碌),F(xiàn)DATA_ENABLE是控制器給系統(tǒng)的數(shù)據(jù)收發(fā)指示信號(為0時,無法對SDRAM進行數(shù)據(jù)收發(fā);為1時,若是系統(tǒng)讀操作,則系統(tǒng)此時可從DAOUT接收SDRAM的數(shù)據(jù),若是寫操作,則系統(tǒng)此時可以通過DAIN發(fā)送數(shù)據(jù)給SDRAM)。
---SDRAM控制器的結(jié)構(gòu)組成如圖2所示,包括系統(tǒng)控制接口模塊、CMD命令解析模塊、命令響應(yīng)模塊、數(shù)據(jù)通路模塊共四個模塊。系統(tǒng)控制接口模塊用于接收系統(tǒng)的控制信號,進而產(chǎn)生不同的CMD命令組合;CMD命令解析模塊用于接收CMD命令并解碼成操作指令;命令響應(yīng)模塊用于接收操作指令并產(chǎn)生SDRAM的操作動作;數(shù)據(jù)通路模塊則用于控制數(shù)據(jù)的有效輸入輸出。


---SDRAM控制器設(shè)計的狀態(tài)機實現(xiàn)原理如圖3所示,包含了9個狀態(tài),其中從Precharge到Mode set為SDRAM上電后的初始化過程,其余狀態(tài)為SDRAM的正常讀寫及刷新操作過程。


 ● 各模塊的設(shè)計
---(1) 系統(tǒng)控制接口模塊
---該模塊內(nèi)含了初始化機制和系統(tǒng)指令分析機制。初始化機制不僅要完成對SDRAM的初始化配置,還要完成對控制器的初始化配置,使控制器與外部SDRAM的工作模式一致。其過程如下:由計數(shù)器控制在系統(tǒng)上電200μs左右后,先進行SDRAM的初始化配置工作,由一個Precharge all bank指令完成對所有BANK的預(yù)充,接著是多個Refresh指令,然后是模式配置指令LOAD_MODE,完成SDRAM的工作模式設(shè)置。之后進行控制器的初始化配置工作,先發(fā)出指令LOAD_REG1給控制器載入模式字,再發(fā)出LOAD_REG2指令載入控制器的刷新計數(shù)器值,完成控制器初始化配置。
---上述初始化過程結(jié)束后,系統(tǒng)指令分析機制才可接收并分析系統(tǒng)的讀寫信號和地址信息,以及從下個模塊反饋回來的CMDACK信號,并產(chǎn)生對應(yīng)的CMD命令和SADDR地址信息給CMD命令解析模塊。通過程序設(shè)置,實現(xiàn)了根據(jù)初始化配置的參數(shù)來確定在讀寫到特定時刻發(fā)出Precharge或者Refresh的CMD指令,從而簡化了系統(tǒng)的控制。而每當收到CMDACK為1時,表示CMD指令已經(jīng)發(fā)出并有效,此時就要發(fā)出NOP命令(CMD=000)。要說明的是,SADDR是分時復(fù)用的,在初始化載入模式時,SADDR用以傳輸用戶自己定義的模式字內(nèi)容;而在正常的讀寫期間,SADDR作為地址線傳輸SDRAM所需的行、列和塊地址。此外,系統(tǒng)指令分析機制會根據(jù)控制器對SDRAM的操作處于什么樣的狀態(tài),而反饋SDRAM_FREE和FDATA_ENABLE信號給系統(tǒng)用戶。

---(2) CMD命令解析模塊
---該模塊對CMD指令進行判斷,其結(jié)果就是輸出相應(yīng)的操作指令信號給命令響應(yīng)模塊。例如,CMD為001時,則會輸出do_read信號為1,CMD為010時,則會輸出do_write信號為1,在同一時刻,只會輸出一種有效的的操作指令。
 ------此外,該模塊內(nèi)含用以預(yù)設(shè)某些模式參數(shù)的模式寄存器,主要包括三類:第一類是SDRAM模式控制寄存器,在LOAD_MODE指令時,將該寄存器的值送入SDRAM的模式寄存器中,以控制SDRAM的工作模式。第二類是SDRAM控制器的參數(shù)寄存器(LOAD_REG1),使得SDRAM控制器的工作方式與外部的SDRAM器件的工作方式匹配。第三類是SDRAM的刷新周期控制寄存器,該寄存器預(yù)設(shè)用戶定義的自動刷新計數(shù)值,用于SDRAM的刷新周期預(yù)設(shè)。上述三類寄存器的預(yù)設(shè)值都是系統(tǒng)控制接口模塊在初始化時通過SADDR傳送給來的。
---(3) 命令響應(yīng)模塊
---該模塊的作用是根據(jù)從CMD命令解析模塊得到的操作指令,做出符合SDRAM讀寫規(guī)范的操作動作,來進行用戶期望的操作;給出數(shù)據(jù)選通信號OE,來控制數(shù)據(jù)通路模塊(寫操作時OE為1,讀操作時OE為0)。此外,該模塊把系統(tǒng)非復(fù)用的地址ADDR處理為SDRAM復(fù)用的地址,分時送給SA、BA。程序中地址復(fù)用方法為:
---assign raddr = ADDR[ROWSTART + ROWSIZE -1:ROWSTART] //raddr為行地址
 ---assign caddr = ADDR[COLSTART + COLSIZE -1:COLSTART] //caddr為列地址
---assign baddr= ADDR[BANKSTART +`BANKSIZE -1:BANKSTART]//baddr為BANK地址
---(ROWSTART、COLSTART、BANKSTART分別為行、列、塊在ADDR中的起始位)
---在程序中,WRITEA和READA的CMD指令實際隱含了ACTIVE命令,所以該模塊在收到do_write或do_read指令后,會先進行激活動作,經(jīng)過初始化配置規(guī)定的CAS延遲時間之后再進行讀寫動作。例如初始化時,模式字規(guī)定CAS=2,BURST LENGTH=PAGE,則從命令接口模塊收到do_write=1后,會先做出激活動作并給出行地址(發(fā)出RAS_N=0,CAS_N=1,WE_N=1,SA=raddr),過2個時鐘延遲后,再做出寫動作并給出列地址(發(fā)出RAS_N=1,CAS_N=0,WE_N=0,SA=caddr)。
 ---此外,收到各類操作指令后,該模塊會反饋給CMD命令解析模塊cmdack信號為1,并最終反饋到系統(tǒng)控制接口模塊的CMDACK信號為1,如果沒有收到任何操作指令,則cmdack=0,CMDACK信號為0。
---(4) 數(shù)據(jù)通路模塊
---該模塊受OE信號的控制,使數(shù)據(jù)的進出和相應(yīng)的操作指令在時序上同步。OE為1時,數(shù)據(jù)可由DQ腳寫入SDRAM,OE為0時,數(shù)據(jù)可從SDRAM的DQ腳讀出。
---控制器的使用及仿真時序
---根據(jù)系統(tǒng)設(shè)計對SDRAM讀寫要求的不同,對控制器進行簡單的參數(shù)修改(主要是初始化時模式內(nèi)容字的設(shè)置),即可使對SDRAM的控制符合自己的要求。該控制器使得系統(tǒng)對SDRAM的操作非常簡單。以寫操作為例,初始化結(jié)束后,只要SDRAM空閑,系統(tǒng)就會收到SDRAM_FREE有效信號,此時可以發(fā)出FPGA_WR指令,同時給出ADDR地址信息,在收到反饋的FDATA_ENABLE有效后,系統(tǒng)將數(shù)據(jù)通過DAIN寫到SDRAM中去,即完成寫操作,系統(tǒng)無須關(guān)心SDRAM的刷新和預(yù)充。仿真時序圖如圖4、圖5和圖6所示,在寫和讀時序中,CAS=2,BURST LENGTH=PAGE,DC表示無關(guān)(Don’t care)。


仿真結(jié)果表明,該控制器可以使得系統(tǒng)對SDRAM的控制非常簡單、方便。

結(jié)束語
---在實際應(yīng)用中,使用ALTERA公司的Cyclone FPGA器件進行設(shè)計,設(shè)計輸入采用Verilog來完成,實現(xiàn)了上述的SDRAM控制器接口電路。此外,由于采用了參數(shù)化設(shè)計思想,對特定容量的SDRAM的特定工作模式而言,只要根據(jù)其器件參數(shù)進行設(shè)定,該控制器就可以適用特定SDRAM的特定工作模式,具有一定的通用性。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉