• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DDR2 SDRAM控制器接口的FPGA設計及實現(xiàn)

      2017-01-16 01:14:14謝浩瀾
      計算機測量與控制 2016年12期
      關鍵詞:開發(fā)板存儲器時鐘

      王 夢,蔣 峰,謝浩瀾

      (中南林業(yè)科技大學 計算機與信息工程學院,長沙 410001)

      DDR2 SDRAM控制器接口的FPGA設計及實現(xiàn)

      王 夢,蔣 峰,謝浩瀾

      (中南林業(yè)科技大學 計算機與信息工程學院,長沙 410001)

      DDR2 SDRAM是第二代雙倍數(shù)據(jù)傳輸速率同步動態(tài)隨機存儲器,以其大容量、高速率和良好的兼容性得到了廣泛應用;DDR2芯片的控制較為復雜,為了解決DDR2芯片的驅動及功能驗證問題,在介紹了其特點和工作機制的基礎上,提出了一種簡化的工作流程圖,進而給出該控制器的總體設計、FPGA器件的引腳分配及驗證方法;其中驗證方法采用Verilog HDL硬件描述語言構建了DDR2控制器IP軟核的測試平臺,通過ModelSim軟件對DDR2仿真模型測試無誤后,再使用QuartusII軟件的嵌入式邏輯分析儀工具SignalTap II抓取FPGA開發(fā)板實時信號;開發(fā)板上的驗證結果表明:DDR2芯片初始化成功;其引腳上有穩(wěn)定的讀寫數(shù)據(jù);在雙沿時鐘頻率200 MHz下,寫入數(shù)據(jù)和讀出數(shù)據(jù)一致。故DDR2控制器設計達到要求,且控制器接口簡單、工作穩(wěn)定、移植性強。

      FPGA器件;DDR2 SDRAM接口;芯片驅動; 驗證

      0 引言

      隨著集成電路技術的發(fā)展,應用于軍工或民用領域的圖形處理、視頻監(jiān)控電子產(chǎn)品,對存儲器的速度要求越來越高,可以說存儲器的速度是決定系統(tǒng)性能的關鍵因素之一。而DDR/ DDR2/DDR3 系列的SDRAM動態(tài)存儲器由于能在時鐘的正負邊沿進行讀寫操作,以其高速、大容量、運行穩(wěn)定及高性價比等優(yōu)點成為了目前存儲器的主流。由于DDR2 的操作時序很復雜苛刻,造成對應的DDR控制器電路結構也比較獨特。因此很多FPGA廠商基于其可編程芯片的豐富軟硬件資源,如產(chǎn)生多路高頻率時鐘信號的集成PLL鎖相環(huán),支持SSTL1.8 V、TTL3.3 V等多電平的可編程I/O端口,自帶的無縫連接的圖形化時序約束軟件工具等,設計了DDR2/DDR3存儲控制器IP核。其中以ALtera公司設計的存儲控制器效率最高、使用較為廣泛,用戶只需了解FPGA芯片引腳專用于連接DDR2/DDR3引腳的功能及存儲器的工作機制,即可實現(xiàn)DDR控制器的設計。

      基于上述分析,本文研究了 DDR2 SDRAM 的工作原理及控制器IP核解決方案, 采用altera公司的DDR2 IP核,在現(xiàn)場可編程門陣列芯片F(xiàn)PGA中實現(xiàn)DDR2 設計,并利用嵌入式邏輯分析儀SignaltapII軟件工具驗證了200 MHz雙邊沿時鐘主頻下的硬件測試結果。

      1 DDR2的工作機制

      1.1 DDR2的初始化

      DDR2 SDRAM加電后必須按照規(guī)定的步驟完成初始化。在初始化的過程中應注意對模式寄存器(MR)和擴展模式寄存器(EMR)的配置。通過初始化可以完成對CAS延遲,突發(fā)長度,突發(fā)類型,輸出驅動能力,片上端接電阻(ODT)值,伴隨CAS的附加延遲,片外驅動器校準等配置。初始化完成后,DDR2 SDRAM進入正常工作狀態(tài),此時可以通過地址線指定的單元進行讀寫操作。

      1.2 DDR2的讀寫操作

      DDR2寫操作前需要對指定段(bank)的行(row)進行激活,每個bank只允許打開1行,即只允許對打開的行進行讀寫操作,如果要對同一bank中的其他行進行讀寫操作,則必須先用預充電(precharge) 命令關閉已經(jīng)打開的行,再用激活(active)命令打開需要進行讀寫操作的行,實際上是鎖定行地址,再進行突發(fā)操作,對連續(xù)地址單元進行讀寫操作。

      2 DDR2 SDRAM控制器的總體設計

      通過對DDR2工作機制的分析可知,DDR可以實現(xiàn)多種操作,如上電(PowerUp)、空閑等待(Idle)、寄存器配置(MRS,Mode Register Set)、動刷新(Refresh)、 預充電(Precharge)、激活(Activate)、讀/寫操作(Read/Write)等[1-2]。要使這些操作按照嚴格的時序要求,彼此之間進行轉換,需要通過狀態(tài)機來實現(xiàn)控制,簡化的DDR2工作流程如圖1所示。而DDR2控制器則要在不同狀態(tài)下,發(fā)布不同的控制命令對存儲器進行操作,控制命令實際上是 DDR2存儲器引腳信號cke、cs、cas、ras 、we的組合。

      圖1 簡化的DDR2工作流程圖

      本文設計的DDR2 SDRAM控制器完成的主要功能是對Micron公司MT47H64M16型號的DDR2芯片初始化;在讀寫操作時將用戶端單時鐘沿觸發(fā)的數(shù)據(jù)轉換為DDR2存儲器的雙沿時鐘觸發(fā)的數(shù)據(jù),即將DDR2 SDRAM復雜的讀寫時序轉化為用戶簡單的讀寫時序,使用戶像操作普通RAM一樣控制DDR2 SDRAM。同時,控制器還要產(chǎn)生周期性的刷新命令來維持DDR2 SDRAM 內(nèi)的數(shù)據(jù)不需要用戶的干預。由于是采用Altera公司提供的IP核altmemphy 來設計,該控制器通過用戶接口建立FPGA內(nèi)部控制邏輯到DDR2的連接,用戶不需要管理DDR2初始化、寄存器配置等復雜的控制邏輯,只需要控制用戶接口的讀寫操作。這樣可以縮短開發(fā)周期,減少設計人員的工作量,簡化了系統(tǒng)設計。因此控制器實際上在用戶與存儲器間充當一個接口的作用,如圖2所示。

      用戶只需利用quartusII的Megawizard宏功能向導選擇對應的芯片型號, 總線寬度和速度級別,并設置CAS延遲、突發(fā)長度、引腳分配等參數(shù),即可生成DDR2 SDRAM控制器, 包括HDL代碼和sdc時序約束等文件。由圖2控制器的邏輯框圖可知,設計者可以通過控制器的用戶端接口直接操縱內(nèi)存控制器。控制器工作時,由用戶設計端提供一個50 M的系統(tǒng)開發(fā)板標準時鐘,控制器內(nèi)的altmemphy核則產(chǎn)生一個100 MHz和200 Mhz的時鐘信號phy_clk、ck分別給用戶端、存儲器端,由于控制器接口兩端的工作頻率不一樣,故數(shù)據(jù)處理速率也不一致,用戶端數(shù)據(jù)處理速率應為存儲器端的兩倍。例如,用戶端的讀寫數(shù)據(jù)寬度為128位時,則依靠ck時鐘上下邊沿觸發(fā)讀寫操作的存儲器端的數(shù)據(jù)寬度dq為32位。當存儲器信號reset復位延時一段時間,F(xiàn)PGA的pll鎖存的時鐘信號即可穩(wěn)定下來后, 用戶設計者只要接受到接口的反饋的init_done信號有效,即知道存儲器初始化完成。至于初始化的序列命令都由控制器接口自動產(chǎn)生。接下來,用戶設計端即可在phy_clk接口時鐘的控制下通過發(fā)出讀/寫(read_req /writ_req)請求來寫入或讀出數(shù)據(jù)。由于DDR2的突發(fā)讀寫長度為8個字,可能用戶端讀寫時,存儲器并不一定處于空閑狀態(tài),因此要通過控制接口反饋的local_ready來判斷。另外讀數(shù)據(jù)存在列選擇信號cas_n有效到數(shù)據(jù)讀出來存在若干周期的延時,因此還需通過接口反饋的data_valid來判斷存儲器數(shù)據(jù)是否讀出到總線上。

      3 DDR2控制器的FPGA引腳分配及驗證

      在FPGA中,為了更好地發(fā)揮出DDR2的性能, DQS、DQ、DM等引腳都需要連接指定專用FPGA管腳[3],且對DDR引腳的分配做相關的約束。即DDR2 SDRAM都只能按照DQ/DQS組連接。一個完整的DQ/DQS組應該包含DQ,DQS和DM三類信號。以EP4CE30 F484封裝為例,該FPGA共有上、下、左、右4個側邊,每個側邊又都分有2個區(qū)(bank)[4]。不同區(qū)可以用不同的IO電壓,可以用不同的IO標準,同一BANK中只能用相同電壓IO標準。故本設計將所有的DDR2引腳都分配在下側邊的bank3,bank4區(qū)。由于DDR2采用1.8 V的SSTL電平進行數(shù)據(jù)傳輸,為了實現(xiàn)更高的信號頻率,輸入信號需要和一個參考電壓(VREF)進行比較輸出后才被認為是實際輸入,故DDR2所在FPGA 的Bank電壓必須是1.8 V,所以DDR2引腳的IO電平標準設置為 SSTL-18 ClassI ,可通過在硬件電路上將FPGA芯片2個區(qū)所有的VCCIO、VREF引腳分別接入1.8 V、0.9 V電源來加以保障。

      對于CycloneIV E型號的FPAG芯片,每個區(qū)有9個DQ引腳和對應的DQS(數(shù)據(jù)選通) 、DQM(數(shù)據(jù)屏蔽)引腳。DQS XY的引腳分布,如圖3所示, 其中X代表DQS組的序號,Y代表這個組所在的側邊(SIDE),由圖可知,左邊和右邊支持的DQS較少,分別只有4個,而上邊和下邊則較多,分別有6個。所以在選擇FPGA與DDR2相連的邊時,對較多的DDR引腳DQ組,應盡量約束在FPGA芯片的上側邊或是下側邊區(qū)域。另外提供給內(nèi)部鎖相PLL的晶振時鐘clk及DDR的時鐘CK、ck_n也必須采用FPGA的專用時鐘引腳。而且DDR2顆粒的工作時鐘使用差分時鐘線ck、ck_n,能夠減少共模干擾和時鐘的抖動,提高了時鐘信號的質量。而DDR2的地址和控制線在FPGA上沒有專用管腳,可以任意使用其它普通IO管腳。 DDR2以外的管腳,如從晶振引入的時鐘和全局復位信號等,只需要設定為默認的 2.5 V LVTTL(default)類型。

      引腳分配好后,即可將程序下載到FPGA開發(fā)板中驗證。開發(fā)板所采用的FPGA芯片型號為Cyclone EP4CE30,DDR2 存儲芯片型號為 MT47H64M16,數(shù)量為兩片,每片數(shù)據(jù)寬度為16 bit。軟件編譯工具采用 QuartusII 12.0,實時數(shù)據(jù)采集工具為quartusII自帶的嵌入式邏輯分析儀SignaltapII 。

      圖3 Cyclone 4CE30芯片的DQS引腳分布圖

      DDR2驗證平臺結構如圖4所示,主要包括DDR2 控制器和測試模塊兩部分。控制器由Quartus 軟件的 Megacore 功能調(diào)用產(chǎn)生[5],其中PHY接口核保證讀寫過程中 DQS信號能夠以精確的相位偏移發(fā)送和采集數(shù)據(jù)。測試模塊主要提供讀數(shù)據(jù)信號給整個驗證平臺。為了比較讀寫數(shù)據(jù)是否一致,可以將寫入的數(shù)據(jù)同時放入FIFO中,然后將DDR2中讀出的數(shù)據(jù)與FIFO數(shù)據(jù)進行比較。由于FIFO讀寫有延時,這樣增加了測試程序時序控制的復雜性。而本文的測試模塊則是采用線性反饋寄存器來產(chǎn)生偽隨機的數(shù)據(jù),該數(shù)據(jù)實際上是周期性重復出現(xiàn)的數(shù)據(jù)序列。寫操作完成后再將數(shù)據(jù)從DDR單元中讀出來時,即可直接與線性反饋寄存器的周期性數(shù)據(jù)比較。該驗證平臺可用Verilog HDL硬件描述語言構建,其功能可先通過ModelSim進行仿真。功能仿真時采用的DDR2模型由Micron公司提供。

      圖4 DDR2驗證平臺結構圖

      驗證平臺仿真無誤后,下載到開發(fā)板,用SignalTAPII抓取的DDR2芯片數(shù)據(jù)波形如圖5所示。觀察到接口信號local_init_done跳為高電平時,表明DDR2已初始化成功;local_read_req 為高電平,表示DDR控制器發(fā)出讀數(shù)據(jù)請求;dgen_load信號有效,則是控制線性反饋寄存器重復出現(xiàn)寫入的周期性數(shù)據(jù),以便比較讀寫是否正確。DDR反饋的local_rdata_valid有效,則表示經(jīng)歷了若干讀周期延遲讀出的數(shù)據(jù)開始出現(xiàn)在DDR引腳上。local_rdata為讀出的數(shù)據(jù),local_wdata為前面時間段寫入的周期性數(shù)據(jù)。 比較結果則用pnf表示,其為高電平代表128位讀數(shù)據(jù)都正確,即讀寫數(shù)據(jù)是一致的。

      圖5 SignaTapII實時抓取的DDR2接口的信號波形圖

      4 結論

      通過對DDR2操作原理的分析,給出了DDR2控制器的設計及實現(xiàn)方法,并將DDR2控制器及其驗證平臺仿真通過后,下載到CycloneIV FPGA芯片的開發(fā)板上進行驗證。通過邏輯分析儀工具SignaltapII抓取數(shù)據(jù),能觀察到存儲器引腳上穩(wěn)定的讀寫數(shù)據(jù)。在雙沿時鐘頻率 200 MHz下,比較寫入數(shù)據(jù)和讀出數(shù)據(jù),兩者相同, DDR2控制器達到了設計要求。其工作穩(wěn)定可靠,占用邏輯資源較少,且具有較高的可移植性以及簡單的用戶接口。在此基礎上進行系統(tǒng)開發(fā),將縮短系統(tǒng)開發(fā)周期,同時也降低了系統(tǒng)成本。

      [1] Altera Corporation. External Memory Interface Handbook Volume 5[Z].Altera Corporation,2011.

      [2] Micron Corporation. 1Gb: x4, x8, x16 DDR2 SDRAM[Z].Micron Corporation,2004.

      [3] Altera Corporation. Pin Information for the Cyclone IV EP4CE30 Device (Version1.3)[Z].Altera Corporation,2014.

      [4] Altera Corporation. Cyclone IV Device Handbook[Z].Altera Corporation,2011.

      [5] 李 圣. DDR2 SDRAM控制器的研究與實現(xiàn)[D].西安:西安電子科技大學,2011.

      Design and Implementation of DDR2 SDRAM Controller Interface on FPGA

      Wang Meng, Jiang Feng, Xie Haolan

      (Central South University of Forestry and Technology, Changsha 410001,China)

      DDR2 SDRAM, as the second generation dynamic random memory, is applied widely because of its large capacity, high speed and good compatibility. Because the control of DDR2 chip is more complex, a simplified work flow chart based on its characteristics and working mechanism is proposed to solve the problem of chip driver and function verification for DDR2. Furthermore, the overall design,verification method and pin assignment of DDR2 controller in FPGA device are given. A test platform of the DDR2 controller IP core is built using Verilog HDL language in the verification method,which test successfully the simulation model of DDR2 by Modelsim software. And then the real-time signals in FPGA evaluation board are captured by adopting SignalTapII Logic Analyzer embedded in QuartusII software. The verification results in evaluation board show that the initialization of DDR2 chip is successful; pins of DDR2 chip have stable read and write data; the write data and read data are consistent under the dual edges clock with 200 MHz frequency. Therefore, the DDR2 controller meets design requirements, and it has simple interface, better stability and transplantablity.

      FPGA device; DDR2 SDRAM interfaces; chip driver; verification

      2016-04-02;

      2016-07-22。

      湖南省教育廳一般科研項目(13C1162);湖南省教育廳優(yōu)秀青年項目(2015B251);中南林業(yè)科技大學校級大學生創(chuàng)新項目。

      王 夢(1976-),男,博士,講師,主要從事數(shù)字集成電路、半導體器件設計方向的研究。

      1671-4598(2016)12-0119-03

      10.16526/j.cnki.11-4762/tp.2016.12.034

      TN47

      A

      猜你喜歡
      開發(fā)板存儲器時鐘
      別樣的“時鐘”
      靜態(tài)隨機存儲器在軌自檢算法
      古代的時鐘
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      有趣的時鐘
      淺析單片機開發(fā)板的設計與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      時鐘會開“花”
      存儲器——安格爾(墨西哥)▲
      Mouser為您呈上開發(fā)關鍵之STMicroelectronics Nucleo開發(fā)板
      Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
      若尔盖县| 留坝县| 卓尼县| 合阳县| 宜昌市| 大城县| 烟台市| 宕昌县| 南召县| 广西| 江永县| 唐海县| 泰顺县| 揭阳市| 岚皋县| 革吉县| 吐鲁番市| 新沂市| 公安县| 萍乡市| 青神县| 庄浪县| 韩城市| 祁东县| 厦门市| 前郭尔| 东乌| 墨江| 开封市| 肇源县| 巴彦淖尔市| 芦溪县| 乌鲁木齐市| 永州市| 曲阜市| 无极县| 蓬莱市| 沙洋县| 嘉义市| 宝坻区| 景泰县|