亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Verilog HDL的DDR2 SDRAM控制器設(shè)計

        2010-10-25 05:31:30胡暢華楊明武高挺挺
        關(guān)鍵詞:流片存儲器命令

        周 亮, 王 娟, 胡暢華, 楊明武, 高挺挺

        (合肥工業(yè)大學(xué)電子科學(xué)與應(yīng)用物理學(xué)院,安徽合肥 230009)

        0 引 言

        隨著處理器性能的不斷提高,半導(dǎo)體技術(shù)與超大規(guī)模集成電路的飛速發(fā)展,越來越多的應(yīng)用將需要更大容量、更高速率的存儲器來滿足其數(shù)據(jù)存儲的需求,因此高性價比的DDR2存儲器將得到越來越廣泛的應(yīng)用,與其相對應(yīng)的控制器以其靈活的適應(yīng)性、高可靠性、良好的可復(fù)用性必將成為硬件設(shè)計的主流。

        本文結(jié)合FPGA與ASIC 2種設(shè)計的長處,提出了一種基于Verilog HDL硬件描述語言的DDR2 SDRAM的控制器設(shè)計方法,并且攻克了控制器結(jié)構(gòu)復(fù)雜性與流片后芯片驗證測試2個難題。

        1 DDR2 SDRAM的特點

        DDR2是由JEDEC定義全新的下一代DDR內(nèi)存技術(shù)標準,是DDR內(nèi)存的換代產(chǎn)品。DDR2能夠在100 MHz的發(fā)信頻率基礎(chǔ)上提供每插腳最少400 MB/s的帶寬,而且其接口運行于1.8 V電壓上,從而進一步降低發(fā)熱量,以便提高頻率。此外,DDR2將融入CAS、OCD、ODT 等新性能指標和中斷指令,提升內(nèi)存帶寬的利用率。

        相對于標準DDR技術(shù),雖然DDR2和DDR一樣,采用了在時鐘的上升沿和下降沿同時進行數(shù)據(jù)傳輸?shù)幕痉绞?但是最大的區(qū)別在于,DDR2內(nèi)存可進行4 bit預(yù)讀取,2倍于標準DDR內(nèi)存的2 bit預(yù)讀取,這就意味著,DDR2擁有2倍于DDR的預(yù)讀數(shù)據(jù)的能力。

        2 DDR2 SDRAM控制器的技術(shù)及設(shè)計

        DDR2 SDRAM控制器的總體結(jié)構(gòu)如圖1所示,DDR2 SDRAM和DDR SDRAM的接口不同的是多了1個ODT(On Die Termination)接口,能隨意修改的是用戶CPU和DDR2 SDRAM控制器之間的接口,用戶可以根據(jù)不同的需要來選擇不同的接口??刂破髋c存儲器之間的引腳可分為4個部分:①時鐘引腳,包括 clk和 clk-n,這是一對差分信號;②命令引腳,包括cke、cs-n、ras-n、cas-n和 we-n;③地址線,包括 address和bank;④數(shù)據(jù)線,包括dq,dqs,ODT[1,2]。

        圖1 DDR2 SDRAM控制器總體結(jié)構(gòu)

        把DDR2 SDRAM控制器具體展開,控制器的內(nèi)部結(jié)構(gòu)如圖2所示,本設(shè)計的控制器可分為5個部分:I2C模塊、控制模塊、命令產(chǎn)生模塊、數(shù)據(jù)通道模塊及時鐘產(chǎn)生模塊。其中控制模塊比較復(fù)雜,又劃分為4個小模塊。

        圖2 控制器的內(nèi)部結(jié)構(gòu)

        (1)I2C模塊。I2C總線是由數(shù)據(jù)線SDA和時鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在本設(shè)計中,需要通過I2C模塊傳送的數(shù)據(jù)主要用于初始化時用戶必須向DDR2傳輸?shù)母鱾€參數(shù),通過I2C模塊傳輸?shù)膮?shù)除了平常的初始化參數(shù)外(比如Burst Length,Burst Type,Cas Latency,DLL Enable,Additive Latency,OCD等等),對DDR2還要傳輸測試數(shù)據(jù)、測試數(shù)據(jù)的地址及一些對測試數(shù)據(jù)的讀寫命令,用來校準存儲器內(nèi)部DLL,使讀寫數(shù)據(jù)的精確度提高。

        (2)時鐘產(chǎn)生模塊。本設(shè)計中時鐘模塊需要產(chǎn)生3個不同的時鐘:clk、clk-n、clk2x,其中 clk及從用戶端過來的時鐘的頻率、相位都一致;clkn是clk的反時鐘;clk-2x是clk的2倍時鐘。時鐘clk和clk-2x供控制器本身使用,而時鐘clk和clk-n則供DDR2 SDRAM使用。時鐘產(chǎn)生模塊其實就是一個PLL(Phase Locked Loop),對于本設(shè)計所需的3個時鐘完全可以通過設(shè)置分頻器和鑒相器來實現(xiàn)。

        (3)控制模塊??刂颇K如圖2所示,控制模塊的設(shè)計相對其它模塊來說要復(fù)雜一些,本設(shè)計把它分成4個小模塊。第1個小模塊是初始化狀態(tài)機。當用戶要使用存儲器時,首先必須通過CMD命令線先發(fā)一個初始化命令,控制器接收到初始化命令時要裝換成一系列存儲器能讀懂的命令,對于DDR2 SDRAM來說,初始化的步驟狀態(tài)轉(zhuǎn)換形式如圖3所示。

        圖3 DDR2 SDRAM初始化狀態(tài)轉(zhuǎn)換

        第2個小模塊是命令計數(shù)器,主要作用是讓控制器以DDR2 SDRAM能讀懂的方式發(fā)送命令。

        在初始化時,用戶只通過CMD命令線發(fā)送一個進行初始化的命令,而控制器則要把這個命令分解成幾個存儲器能讀懂的命令,而且這些命令必須符合一定的時序,來保證存儲器能正確進行初始化。

        第3個小模塊是狀態(tài)信號產(chǎn)生器,如圖4所示。如果用戶發(fā)送寫命令,控制器接收后就由idle狀態(tài)轉(zhuǎn)換到ACTIVE狀態(tài),經(jīng)過計數(shù)器計數(shù)的時間等待后,再轉(zhuǎn)到Write狀態(tài),再經(jīng)過計數(shù)器計數(shù)等待后才寫完畢,最后再到idle狀態(tài)。讀操作也是同樣道理。這樣就可以用Verilog語言的狀態(tài)機形式設(shè)計出此模塊[2-4]。

        圖4 控制器讀寫命令的狀態(tài)轉(zhuǎn)化

        第4個小模塊是刷新計數(shù)器,SDRAM是一種電容存儲器,所以對于SDRAM必須定時地刷新來保證存儲數(shù)據(jù)的準確性。本設(shè)計對于刷新計數(shù)器的設(shè)計,使用Verilog語言描述LFSR(線性反饋移位寄存器)計數(shù)器的設(shè)計方法。

        (4)命令產(chǎn)生模塊。命令產(chǎn)生模塊是控制器直接與存儲器之間命令通信的模塊,即由此模塊直接產(chǎn)生存儲器所需要的 cke、cs-n、ras-n、cas-n、we-n 5根命令線。除此模塊還要產(chǎn)生讀寫時所需的行列地址(address)和簇地址(bank),此外控制器還將產(chǎn)生ODT信號。

        命令產(chǎn)生模塊的設(shè)計主要通過控制模塊的狀態(tài)來設(shè)計,根據(jù)控制模塊的狀態(tài)傳輸不同來產(chǎn)生不同的存儲器能讀懂的命令信號。

        (5)數(shù)據(jù)通道模塊。數(shù)據(jù)通道模塊為存儲器與用戶端提供數(shù)據(jù)接口,數(shù)據(jù)通道模塊主要完成讀寫功能。

        從最外層的引腳來看,dq和dqs均是雙向接口,控制器的讀、寫數(shù)據(jù)都是通過dq來傳輸?shù)?。寫命令時dqout-en起作用,把 dqout傳給dq。讀命令時dqout-en不起作用,所以dq上的數(shù)據(jù)就傳給dqin為用戶提供數(shù)據(jù)。用戶端的數(shù)據(jù)寬度是存儲器數(shù)據(jù)寬度的2倍,這是因為DDR2 SDRAM數(shù)據(jù)接口在時鐘的2個邊沿均觸發(fā)數(shù)據(jù)[5]。數(shù)據(jù)通道模塊主要通過控制模塊的狀態(tài)來設(shè)計,根據(jù)控制模塊的狀態(tài)傳輸不同,來配合產(chǎn)生dqm、dqs和dq。

        3 DDR2 SDRAM控制器設(shè)計的驗證

        3.1 控制器的仿真驗證

        本設(shè)計中控制器的功能仿真通過利用Verilog語言寫“testbench”的方法,以Mentor公司的Modelsim作為仿真工具,通過檢查波形來完成。在本設(shè)計中“testbench”既要產(chǎn)生激勵又需響應(yīng)輸出。把“testbench”、控制器 、DDR2 SDRAM 的仿真代碼一起在Modelsim上編譯,產(chǎn)生如圖5、圖6所示的讀寫波形圖[5,6]。

        當CMD發(fā)出命令以及第1個數(shù)據(jù),控制器收到后,由命令引腳產(chǎn)生寫命令傳給DDR2 SDRAM,接著產(chǎn)生握手信號ready通知用戶端可以繼續(xù)發(fā)送數(shù)據(jù),而控制器把接收到的數(shù)據(jù)通過dq端口傳給DDR2 SDRAM,收到后把數(shù)據(jù)通過dq端口讀出來傳到用戶端口。從2幅波形圖中可以清楚地看到,本控制器的設(shè)計能很好地完成數(shù)據(jù)的讀寫功能。

        3.2 控制器的邏輯綜合

        本設(shè)計使用Synopsys公司的DC(Design Compiler)為綜合的工具,它根據(jù)設(shè)計描述和約束條件自動綜合出一個優(yōu)化了的門級電路。DC綜合過程包括3個步驟:translation+logic optimization+mapping,其中與transition對應(yīng)命令為read-verilog,與 logic optimization和 mapping對應(yīng)的是compile。Translation就是把硬件描述語言用門電路來實現(xiàn),從而構(gòu)成初始未優(yōu)化的電路。Logic optimization和 mapping就是對已有的電路進行分析,去掉冗余的電路單元,并對不滿足時序的路徑進行優(yōu)化,最后將優(yōu)化好的電路映射到生產(chǎn)商的單元庫中[7,8]。DC腳本是一組dc命令的集合,一般地,DC腳本普遍用TCL(Tool Command Language)腳本語言來描述。

        3.3 控制器的FPGA驗證

        FPGA,即現(xiàn)場可編程門陣列(Field-Programmable Gate Array,簡稱FPGA),控制器在ALTERA 公司的Cyclone系列EP1C12F256C6上實現(xiàn)驗證,綜合后,使用了1 208個邏輯單元,占用資源10.07%;使用了122個引腳,占用資源60.5%;使用了2個PLL,占用資源100%;其最高主頻因為FPGA器件本身緣故只達到了171 M,但功能完全正確。

        本設(shè)計在 TSMC(臺積電)流片,以FPGA板配合高速PCB板對芯片進行測試,而且頻率在流片測試時能上到400 MHz,能完全適合對DDR2 SDRAM控制器的控制。

        圖5 寫數(shù)據(jù)狀態(tài)的波形

        圖6 讀數(shù)據(jù)狀態(tài)的波形

        4 結(jié)束語

        本文在詳細研究了DDR2 SDRAM的主要原理和結(jié)構(gòu)的基礎(chǔ)上,針對目前內(nèi)存技術(shù)迅猛發(fā)展的趨勢,提出了一種適用于DDR2 SDRAM的控制器的設(shè)計,并基于Verilog硬件描述語言實現(xiàn)控制器,在通過一系列的邏輯仿真、綜合、FPGA硬件驗證后得以實現(xiàn)。

        本文結(jié)合FPGA與ASIC 2種設(shè)計的長處,以FPGA設(shè)計作為ASIC設(shè)計的硬件驗證工具,使ASCI設(shè)計的流片成功率大為增加,降低了多次流片的概率,從而減少了成本,解決了控制器結(jié)構(gòu)復(fù)雜以及流片后芯片驗證的難題。

        [1] 杜慧敏,李宥謀,趙全良.基于 Verilog的 FPGA設(shè)計基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2006:56-78.

        [2] 簡弘倫.精通Verilog HDL[M].北京:電子工業(yè)出版社,2005:100-162.

        [3] 劉寶琴,羅 嶸,王德生.數(shù)字電路與系統(tǒng)[M].北京:清華大學(xué)出版社,2007:163-180.

        [4] 趙 剛.數(shù)字電路與系統(tǒng)課程精粹與題解[M].成都:四川大學(xué)出版社,2008:90-109.

        [5] 華清遠見嵌入式培訓(xùn)中心.FPGA應(yīng)用開發(fā)入門與典型實例[M].北京:人民郵電出版社,2008:122-137.

        [6] Wolf W.FPGA-based sy stem design[M].Beijing:China M achine Press,2005:109-118.

        [7] Scheffer L,Lavagno L.集成電路系統(tǒng)設(shè)計、驗證與測試[M].陳力穎,王 猛,譯.北京:科學(xué)出版社,2008:25-36.

        [8] Baker R J,Li H W,Boyce D E.CMOS電路設(shè)計:布局與仿真[M].陳中建,譯.北京:機械工業(yè)出版社,2006:102-156.

        猜你喜歡
        流片存儲器命令
        三擺臂式擾流片矢量氣動力數(shù)值仿真研究
        只聽主人的命令
        靜態(tài)隨機存儲器在軌自檢算法
        一種多擾流片裝置的推力矢量特性數(shù)值研究 ①
        擾流片式推力矢量控制的氣動力學(xué)研究
        擾流片式推力矢量噴管氣動特性數(shù)值模擬研究
        移防命令下達后
        這是人民的命令
        存儲器——安格爾(墨西哥)▲
        基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
        亚洲午夜精品久久久久久人妖 | 国产精品女丝袜白丝袜 | 国产国语对白一区二区三区| 精品88久久久久88久久久| 亚洲欧洲AV综合色无码| 91精品人妻一区二区三区蜜臀| 久久综合久中文字幕青草| 久久黄色国产精品一区视频| 国产福利不卡视频在线| 午夜爽毛片| 亚洲色偷偷偷综合网另类小说| 中文字幕亚洲高清视频| 朋友的丰满人妻中文字幕| 国产70老熟女重口小伙子| 欧美老妇与禽交| 欧美破处在线观看| 经典黄色一区二区三区| 久久精品国产99国产精品亚洲| 日韩欧美亚洲综合久久影院ds| 亚洲av无码不卡久久| 国产在线视频国产永久视频| 精品国产日韩无 影视| 成a人片亚洲日本久久| 麻神在线观看免费观看| 亚洲成a∨人片在线观看不卡 | 少妇被黑人嗷嗷大叫视频| 一区二区三区乱码在线 | 欧洲| 色丁香色婷婷| 无码区a∨视频体验区30秒| 毛片成人18毛片免费看| 日本高清视频wwww色| 中国凸偷窥xxxx自由视频| 国产主播福利一区二区| 国产精品欧美成人片| 亚洲精品女同一区二区三区| 久久婷婷人人澡人人爽人人爱| 一本一本久久a久久精品 | 寂寞人妻渴望被中出中文字幕| 色一情一乱一伦一区二区三区日本 | 思思久久96热在精品不卡| 久久久国产熟女综合一区二区三区|