當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]摘要 對(duì)DDR SDRAM的基本工作特性以及時(shí)序進(jìn)行了分析與研究,基于FPGA提出了一種通用的DDRSDRAM控制器設(shè)計(jì)方案。在Modelaim上通過了軟件功能仿真,并在FPGA芯片上完成了硬件驗(yàn)證。結(jié)果表明,該控制器能夠較好地完成DD

摘要 對(duì)DDR SDRAM的基本工作特性以及時(shí)序進(jìn)行了分析與研究,基于FPGA提出了一種通用的DDRSDRAM控制器設(shè)計(jì)方案。在Modelaim上通過了軟件功能仿真,并在FPGA芯片上完成了硬件驗(yàn)證。結(jié)果表明,該控制器能夠較好地完成DDR SDRAM的讀寫控制,具有讀寫效率較高、接口電路簡單的特點(diǎn)。
關(guān)鍵詞 DDR SDRAM;控制器;FPGA

    隨著超大規(guī)模集成電路技術(shù)的成熟,以及數(shù)字信號(hào)處理技術(shù)的廣泛應(yīng)用,高速大容量緩存逐漸成為一項(xiàng)關(guān)鍵技術(shù)。DDR SDRAM即雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,它采用地址復(fù)用技術(shù),在時(shí)鐘的上升沿和下降沿均能觸發(fā)數(shù)據(jù)進(jìn)行傳輸,并且能與系統(tǒng)保持良好的同步性。DDR SDRAM以其大容量、低成本以及更高的數(shù)據(jù)傳輸質(zhì)量等優(yōu)勢,逐步取代SDRAM而被各集成電路制造廠家所青睞。而要實(shí)現(xiàn)各微處理器和數(shù)字信號(hào)處理器的存儲(chǔ)器接口與DDR SDRAM接口相逢接,必須要借助DDR SDRAM控制器才能實(shí)現(xiàn)控制讀寫等功能。微電子制造工藝的迅猛發(fā)展使得FPGA的集成度和性能也不斷提高,在各種嵌入式系統(tǒng)中的應(yīng)用也越來越廣泛。FPGA內(nèi)部集成了DDR觸發(fā)器、PLL鎖相環(huán)等邏輯資源,并且其引腳均能滿足SSTL-Ⅱ電器特性的要求,因此FPGA是實(shí)現(xiàn)DDR,讀寫控制的最佳平臺(tái),研究如何利用FPGA實(shí)現(xiàn)DDR SDRAM控制器具有重要的現(xiàn)實(shí)意義。

1 DDR SDRAM的工作特性
   
一個(gè)DDR SDRAM通常包含有地址總線15個(gè)、數(shù)據(jù)總線16個(gè)、數(shù)據(jù)捕獲探針2個(gè)、寫掩碼信號(hào)線2個(gè)、差分主控時(shí)鐘線1個(gè)、時(shí)鐘使能信號(hào)線1個(gè)、以及命令信號(hào)線4個(gè):CS_N,RAS_N,CAS_N,WE_N。
1.1 DDR SDRAM的初始化
    DDR SDRAM的工作模式必須由初始化操作來配置,初始化的過程通常包含:首先發(fā)送一個(gè)Prechargeall bank命令完成對(duì)所有塊的預(yù)充,接下來是兩個(gè)或多個(gè)Auto Refresh命令使DDR SDRAM進(jìn)行自動(dòng)刷新,最后由模式配置命令完成對(duì)DDR SDRAM內(nèi)部模式設(shè)置寄存器的配置。
1.2 訪問存儲(chǔ)單元
   
為減少輸入輸出引腳的數(shù)量,初始化完成后要對(duì)各個(gè)Bank中的陣列進(jìn)行尋址以訪問存儲(chǔ)單元:在Read/Write狀態(tài)下先由Active命令激活相關(guān)的Bank,并鎖存其行地址,當(dāng)Read/Write命令有效時(shí)鎖存列地址。對(duì)于已被激活由同一個(gè)Bank,再次激活必須重新執(zhí)行一次Prechar ge all bank命令。
1.3 刷新
    DDR SDRAM的存儲(chǔ)單元由晶體管和電容器組成,電容器會(huì)由于漏電而導(dǎo)致電荷丟失,為保證數(shù)據(jù)存儲(chǔ)的穩(wěn)定性,必須周期性地對(duì)DDR SD RAM進(jìn)行刷新??刂破鲀?nèi)部的自動(dòng)刷新計(jì)數(shù)器每隔一個(gè)刷新周期便會(huì)發(fā)送一個(gè)刷新請(qǐng)求,控制器在接收到請(qǐng)求后會(huì)根據(jù)當(dāng)前DDR SDRAM的狀態(tài)做出不同響應(yīng):如果此時(shí)DDRSDRAM處于Idle State,控制器便會(huì)發(fā)出一個(gè)AutoRefresh命令對(duì)DDR SDRAM進(jìn)行刷新;如果此時(shí)DDR SDRAM正在進(jìn)行Read/Write操作,控制器會(huì)等到當(dāng)前操作完成之后再發(fā)送Auto Refresh命令。
1.4 操作控制
    DDR SDRAM的操作命令由專用的命令控制信號(hào)決定。具體會(huì)執(zhí)行何種操作動(dòng)作決定于系統(tǒng)時(shí)鐘上升沿時(shí)的CS_N(片選信號(hào)),RAS_N(行地址使能信號(hào)),CAS_N(列地址使能信號(hào))以及WE_N(寫使能信號(hào))的狀態(tài)。DDR SDRAM操作命令真值表如表1所示,選擇控制信號(hào)線和地址信號(hào)線只作為輔助參數(shù)輸入。



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)。


    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ā)長度。在突發(fā)長度為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í)最長。


2.2 CMD命令模塊
    CMD命令模塊ddr_command由仲裁模塊以及命令產(chǎn)生模塊構(gòu)成。仲裁模塊的作用主要是仲裁初始化請(qǐng)求、刷新請(qǐng)求以及讀寫請(qǐng)求的優(yōu)先級(jí),并產(chǎn)生初始化響應(yīng)initial hold、刷新響應(yīng)refresh hold和讀寫響應(yīng)sdram wr hold。命令產(chǎn)生模塊則是實(shí)現(xiàn)存儲(chǔ)器與控制之間的命令通信,直接產(chǎn)生存儲(chǔ)器所需的CKE、CS_N,RAS_N,CAS_N,WE_N等命令信號(hào)。除此之外Read/Write所需的行列地址和簇地址也由命令模塊產(chǎn)生。命令產(chǎn)生模塊接收到來自CMD命令解析模塊的操作命令后,根據(jù)數(shù)據(jù)選通倍號(hào)OE對(duì)數(shù)據(jù)通路模塊進(jìn)行有效控制:OE為1時(shí),進(jìn)行Write操作;OE為0時(shí),進(jìn)行Read操作。
2.3 數(shù)據(jù)通路模塊
   
數(shù)據(jù)通路模塊ddr_data_path受命令產(chǎn)生模塊的OE信號(hào)控制,其管腳接口如圖4所示。OE為1時(shí),數(shù)據(jù)可由DQIN引腳寫入DDR SDRAM;OE為0時(shí),數(shù)據(jù)可從DDR SDRAM的DQIN引腳讀出。


    由于DDR SDRAM在時(shí)鐘的上升沿和下降沿能均觸發(fā)數(shù)據(jù),使得用戶端的數(shù)據(jù)寬度是DDR SDRAM的兩倍。進(jìn)行Read操作時(shí),DQ pins上的雙倍速率數(shù)據(jù)經(jīng)過邊沿觸發(fā)器,在DQS信號(hào)的兩個(gè)邊沿同時(shí)采樣數(shù)據(jù),然后這些數(shù)據(jù)會(huì)通過另一套可配置的寄存器被傳送到系統(tǒng)的時(shí)鐘域。進(jìn)行Write操作時(shí),用戶端寄存器輸出的數(shù)據(jù)會(huì)被傳送到控制器的寄存器中,進(jìn)而被存放到DQ pins上。數(shù)據(jù)通路模塊在與存儲(chǔ)器的接口處完成了兩個(gè)轉(zhuǎn)換:一是翻倍來自存儲(chǔ)器的數(shù)據(jù)總線寬度;二是以400 MHz的時(shí)鐘頻率接收存儲(chǔ)器在時(shí)鐘上升和下降沿發(fā)出的數(shù)據(jù)。

3 DDR SDRAM控制的仿真和驗(yàn)證
3.1 DDR SDPAM控制器的軟件仿真
   
設(shè)計(jì)的軟件功能仿真是利用硬件描述語言VerilogHDL寫出測試代碼,在Mentor公司的Modelsim軟件中進(jìn)行,通過檢查波形完成。DDR SD RAM控制器測試流如圖5所示,實(shí)現(xiàn)了寫數(shù)據(jù)到第1組寄存器,讀校驗(yàn)數(shù)據(jù),寫數(shù)據(jù)到第2組寄存器,讀校驗(yàn)數(shù)據(jù)。


    當(dāng)控制器接收到請(qǐng)求發(fā)送數(shù)據(jù)的命令后,由命令引腳產(chǎn)生相應(yīng)的Write命令傳送給DDR SDRAM,接下來會(huì)反饋—個(gè)握手信號(hào)ready以告知用戶端已準(zhǔn)備就緒可以繼續(xù)接收數(shù)據(jù),而接收到的數(shù)據(jù)通過dq端口直接傳給DDR SDRAK。經(jīng)過Modelsim功能仿真Read/Write波形如圖6和圖7所示,結(jié)果表明DDR SDRAM能順利地完成讀寫、刷新和預(yù)充電,行與行、塊與塊之間的交換平穩(wěn)迅速,無論是連續(xù)還是單個(gè)操作都非常順暢。


3.2 DDR SDRAM控制器的FPGA驗(yàn)證
   
設(shè)計(jì)的DDR SDRAM控制器硬件驗(yàn)證在Altera公司CycloneII系列的EP2C5Q208C8 FPGA芯片中進(jìn)行,利用在線仿真技術(shù)快速建立芯片設(shè)計(jì)的硬件模型,然后將設(shè)計(jì)映射至目標(biāo)FPGA電路中,通過加載設(shè)定的激勵(lì)信號(hào),觀察所輸出的結(jié)果并與所期望的輸出結(jié)果進(jìn)行比較,發(fā)現(xiàn)寫入和輸出的數(shù)據(jù)完全吻合。經(jīng)過綜合,基礎(chǔ)邏輯單元資源占用率為12.33%,引腳資源占用率為62.5%,鎖相環(huán)PLL資源的占有率為50%,流片頻率測試也能達(dá)到期望要求,能完全勝任對(duì)DDRSDRAM控制。

4 結(jié)束語
   
在研究DDR SDRAM的主要工作特性以及時(shí)序的基礎(chǔ)上,利用Verilog HDL硬件描述語言提出了一種適用于DDR SDRAM的控制器的設(shè)計(jì)。并且通過了Modelsim軟件功能仿真、FPGA硬件驗(yàn)證,結(jié)果表明該設(shè)計(jì)傳輸數(shù)據(jù)穩(wěn)定可靠,讀寫效率較高,接口電路簡單,可應(yīng)用于各種高速度、大容量存儲(chǔ)器場合中。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(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)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

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

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

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

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

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

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

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

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(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)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

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