《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 賽靈思FPGA SPARTAN3A 的DDR2接口設計
賽靈思FPGA SPARTAN3A 的DDR2接口設計
摘要: 基于FPGA的SDRAM控制器,以高可靠性、強可移植性、易于集成的特點,逐漸取代以往的專用控制器而成為主流解決方案。本文采用Xilinx公司的Spartan-3A系列FPGA和Hynix公司的DDR2 SDRAM器件HY5PS121621實現DDR2控制器的設計。
關鍵詞: FPGA SDRAM DDR2
Abstract:
Key words :

 1 引言

DDR2(Double Data Rate2)SDRAM是由JEDEC(電子設備工程聯合委員會)制定的新生代內存技術標準,它與上一代DDR內存技術標準最大的不同:雖然采用時鐘的上升/下降沿同時傳輸數據的基本方式,但DDR2卻擁有2倍的DDR預讀取能力(即4位預存取技術)。此外,DDR2還增加ODT(內建核心終結電阻器)功能,內建合適的端接電阻,避免了以往因片外連接大片終結電阻帶來的制板成本增加。

基于FPGA的SDRAM控制器,以高可靠性、強可移植性、易于集成的特點,逐漸取代以往的專用控制器而成為主流解決方案。本文采用Xilinx公司的Spartan-3A系列FPGA和Hynix公司的DDR2 SDRAM器件HY5PS121621實現DDR2控制器的設計。

2 FPGA與DDR2存儲器接口

圖1所示為DDR2與FPGA的外圍接口連接圖,DDR2的信號線分為:時鐘信號線CK/CK ;數據信號線Data/DQS/DM;地址信號線Address/BA1/BA0;命令信號線RAS/CAS/WE;控制信號線CS/CKE/ODT。FPGA除與DDR2的所有信號線相連外,還引出外部環回信號線(圖中虛線所示),此信號輸出送至輸入輸出模塊(IOB),以補償FPGA與存儲器之間的IOB、器件和跡線的延遲。


差分時鐘線CK/CK為DDR2數據傳輸提供時鐘,在CK的上升沿和下降沿均有數據被觸發;雙向差分線DQS/DQS看作數據的同步信號,寫入時由控制器發出,讀取時由DDR2產生DQS向控制器發送,它與讀數據邊沿對齊而與寫數據中心對齊。DN為數據信號屏蔽位在突發寫傳輸時屏蔽不存儲的數據;RAS/CAS/WE作為命令信號線向DDR2發出讀取、寫人、刷新或預充電命令;片內終結信號線ODT控制是否需要DDR2進行片內終結。

3 DDR2控制器的設計原理

基于FPGA的DDR2控制器設計是由時鐘生成模塊、存儲控制模塊和讀寫數據接口模塊組成如圖2所示。


控制器中所有模塊時鐘均來自于時鐘生成模塊,它由數字時鐘管理器(DCM)控制,輸出90°、180°和270°時鐘。該模塊還包含延遲校準監視器,用于校準讀取數據(DQ)對讀取數據選通脈沖(DQS)的延遲,以便讀取數據選通脈沖邊沿能夠正確對齊DQ有效窗口的中間位置。

讀寫數據接口模塊是整個控制器設計的關鍵,它負責將用戶寫入的數據DQ和DOS按照DDR2 SDRAM時序要求發送給DDR2,DDR2在DQS的每一個時鐘沿采集寫數據。在讀取數據時,DDR2 SDRAM將DQS和相關數據發送到與DQ對齊邊沿的FPGA。FPGA將接收到的DQS信號經過延遲校準,作為內部存儲讀數據的FIFO的寫時鐘。FPGA為DDR2的每個數據位配置一對讀寫異步的FIFO,每個數據位都輸入到上升沿(FIFO0)和下降沿(FIFO1)的FIFO中,實現原理如圖3所示。


存儲控制模塊用于產生DDR2所需的地址和命令信號。DDR2在正常的讀寫操作前要初始化,因此需向DDR2發送初始化命令,待初始化完成后才能發送讀寫命令。對DDR2 SDRAM的讀寫訪問為突發模式。突發寫操作需向DDR2提供寫命令(User_command)、寫數據(User_input_data)和寫地址(User_address)信號,在最后一個寫地址發送突發操作完成信號(User_burst_done),并保持2個時鐘周期有效下終止寫操作,突發寫時序如圖4所示。突發讀操作需向DDR2提供讀命令(User_comm-and)和讀地址(User-address),在最后一讀地址發送突發完成信號(User-burst_done),并保持2個周期有效下終止讀操作,突發讀時序如圖5所示


4 DDR2控制器的設計及應用

為了縮短開發周期,采用Xilinx的MIG軟件工具直接生成DDR2控制器設計模塊,包括HDL代碼和約束文件。用戶可在MIG的GUI圖形界面選擇對應模板、總線寬度和速度級別,并設置CAS延遲、突發長度、引腳分配等關鍵參數。如果設計者所選器件與MIG所列模板不相符,可在代碼生成后靈活修改代碼,達到系統要求。代碼添加到工程前需硬件驗證,采用MIG自動生成的測試模塊進行驗證。該模塊向存儲器發出一系列的寫入命令和讀取命令,并對寫入數據和讀回數據進行比較,通過比較信號(led_error)驗證控制器的正確與否。用ChipScope抓取的讀數據和相關控制信號時序分別如圖6和圖7所示,讀寫比較信號(led_error)在檢測到讀寫數據相等時輸出'0'電平。

在硬件驗證通過后,把控制器代碼導入到系統工程中,設計者只需輸入相應命令(包括讀、寫和初始化命令),控制器模塊將自動產生命令和控制信號并按照DDR2的時序要求送至DDR2,命令發送完畢提供給用戶一個命令應答信號(User_cmd_ack),設計者根據這一信號判斷是否可以發送下一個命令。至于自動刷新、激活和預充電命令則由控制器自動完成,無需用戶干涉。

5 結束語

通過MIG工具輔助設計,實現500 M/s帶寬的DDR2接口數據采集,占用FPGA資源分別為15%IOB資源,17%邏輯Slice資源和2個DCM。在FPGA中實現DDR2控制器,節省功耗和空間,并縮短系統開發周期,滿足大多數低成本系統設計要求。

本文來源于與非網 

原文地址:http://www.eefocus.com/article/10-09/2075521283948931.html

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 真人一级毛片 | 毛片看看 | 全国男人的天堂天堂网 | 欧美一区二区三区日韩免费播 | 免费观看欧美一级毛片 | 国产专区一区 | 男女性男女刺激大片免费观看 | 精品午夜久久网成年网 | 欧美三级真做在线观看 | 欧美观看一级毛片 | 美女叉开腿让男人捅 | 国产精品久久久精品视频 | 亚洲欧美一区二区三区久本道 | 国产不卡在线视频 | 久久88香港三级台湾三级中文 | 一区二区不卡在线 | 亚洲国产一区在线二区三区 | 亚洲七七久久精品中文国产 | 在线观看日韩www视频免费 | 色噜噜国产精品视频一区二区 | 国产成人一区二区三中文 | 一级做a爰片久久毛片苍井优 | 很黄很色的免费视频 | 最新更新国内自拍视频 | 久久国产精品久久精品国产 | 免费一区区三区四区 | a亚洲天堂 | 美女一级毛片毛片在线播放 | 国产精品亚洲精品久久成人 | 性做久久久久久久免费看 | 日韩 亚洲 制服 欧美 综合 | 欧美一区二 | 操你.com| 色午夜在线 | 日韩一级片播放 | 天天躁夜夜躁狠狠躁2024 | 亚洲成人黄色片 | 国产偷国产偷亚洲高清在线 | 成年男女免费视频网站播放 | 天天干亚洲 | 欧美真人毛片动作视频 |