麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種低功耗、高數據吞吐量的SDRSDRAM控制器及其工作方法與流程

文檔序號:11154903閱讀:885來源:國知局
一種低功耗、高數據吞吐量的SDR SDRAM控制器及其工作方法與制造工藝

本發明涉及一種低功耗、高數據吞吐量的SDR SDRAM控制器及其工作方法,屬于FPGA IP核設計的技術領域。



背景技術:

IP核全稱知識產權核(Intellectual Property Core),是指某一方提供的形式為邏輯單元、芯片設計的可重用模塊。設計人員能夠以IP核為基礎進行專用集成電路或現場可編程邏輯門陣列的邏輯設計,以減少設計周期。

SDR SDRAM具有很好的性價比,在很多領域中得到廣泛應用,但SDR SDRAM有比較嚴格的時序要求,邏輯控制比較復雜,需要有一個專門控制器來實現數據讀寫控制,該控制器可以使用Verilog HDL或VHDL語言來實現。

FPGA具有可重構、邏輯資源豐富、I/O接口靈活等特點,基于FPGA的SDR SDRAM控制器設計能夠在很大程度上簡化設計方法,縮短產品設計者開發周期。

目前常見SDR SDRAM控制器的內部時鐘和端口I/O時鐘都工作在一個時鐘頻率上,而目前SDR SDRAM的工作時鐘頻率達到了200MHz,越高的內部時鐘頻率意味著功耗的增加和器件性能要求的提高,隨之帶來成本的提升,對于消費電子領域應用,確實帶來了不小的挑戰。



技術實現要素:

針對現有技術的不足,本發明提供一種低功耗、高數據吞吐量的SDR SDRAM控制器。

本發明還提供一種上述控制器的工作方法。

本發明利用FPGA芯片I/O邏輯的速率專換PHY(OSER/IDES)資源,通過增加數據位寬的辦法將I/O時鐘速率進一步提高,而控制器工作時鐘僅為I/O時鐘速率的一半,既增加了讀寫數據吞吐量,又降低了器件功耗和成本。

技術術語解釋:

PLL(Phase Locked Loop):為鎖相回路或鎖相環電路。

本發明的技術方案如下:

一種低功耗、高數據吞吐量的SDR SDRAM控制器,包括PLL、自動刷新模塊、用戶接口模塊、命令控制模塊和CLKDIV模塊、OSER/IDES接口模塊。本發明通過上述模塊間的相互協作實現對SDR SDRAM初始化、自動刷新和數據讀寫功能,所述SDR SDRAM指一種存儲類型的IC芯片,SDR SDRAM控制器為控制SDRAM工作的IP核。

所述PLL為FPGA芯片內部自帶的鎖相環電路,通過PLL產生SDR SDRAM控制器所需的時鐘信號,包括CLKDIV時鐘和SDR SDRAM時鐘;所述CLKDIV時鐘為所述CLKDIV模塊提供時鐘源,與SDR SDRAM時鐘的頻率值相等;SDR SDRAM時鐘為SDR SDRAM提供工作時鐘。

所述自動刷新模塊為命令控制模塊提供自動刷新請求信號,用于SDR SDRAM刷新控制。保證數據存儲的有效性。

所述用戶接口模塊介于用戶接口與命令控制模塊中間,實現數據處理、地址處理和空閑指示處理;用戶接口模塊與用戶接口間的信號包括讀寫數據、讀寫地址、讀寫使能、讀寫長度、空閑指示、讀寫響應、讀有效指示和時鐘。用戶接口模塊根據空閑指示和自身需求來決定是否進行數據讀寫。

所述命令控制模塊的作用包括:完成初始化處理、自動刷新處理、控制器時序控制和命令數據收發處理;

所述命令控制模塊與用戶接口模塊間信號包括讀寫使能、讀寫地址、讀寫數據、空閑指示和讀有效指示;

所述命令控制模塊與自動刷新模塊間信號包括自動刷新請求、自動刷新響應;

所述命令控制模塊與存儲器接口間接口信號包括地址、數據、控制;上電后,命令控制模塊首先進行初始化等待,然后對SDR SDRAM進行初始化,完成后進入空閑狀態,根據自動刷新請求或讀寫請求進行工作。

所述初始化處理用于進行初始化等待,并初始化SDR SDRAM控制器;

所述自動刷新處理用于SDR SDRAM的刷新控制,保證數據存儲的有效性;

所述控制器時序控制用于產生SDR SDRAM控制器的初始化、刷新、讀寫操作的工作時序;

所述命令數據收發處理用于產生發送到SDR SDRAM的各種控制和讀寫命令。

所述CLKDIV模塊為FPGA芯片內部資源,為OSER/IDES接口模塊提供數據時鐘:由CLKDIV模塊產生2分頻得到控制器工作時鐘,為自動刷新模塊、用戶接口模塊和命令控制模塊提供時鐘信號。

所述OSER/IDES接口模塊包括OSER接口模塊和IDES接口模塊;所述OSER/IDES接口模塊的鏈路時鐘來自CLKDIV時鐘,數據時鐘來自CLKDIV模塊的分頻時鐘。

優選的,所述OSER/IDES接口模塊的速率比為1:4。

一種低功耗、高數據吞吐量的SDR SDRAM控制器的工作方法,包括初始化、自動刷新、數據地址處理、數據讀寫操作和預充電處理。

根據本發明優選的,一種低功耗、高數據吞吐量的SDR SDRAM控制器的工作方法,具體步驟包括:

(1)命令控制模塊首先進行初始化等待,待達到預設等待時間后,進入步驟(2);

(2)然后命令控制模塊對SDR SDRAM進行初始化;

(3)判斷初始化SDR SDRAM控制器是否完成,如果完成,進入步驟(4),否則,返回步驟(2);

(4)SDR SDRAM控制器置于空閑狀態;

(5)命令控制模塊判斷所述自動刷新模塊是否發出自動刷新請求,如果是,所述命令控制模塊開始對SDR SDRAM執行自動刷新操作,刷新完成后返回步驟(4);否則,進入步驟(6);

(6)用戶接口模塊判斷用戶接口是否有讀寫請求,如果有,用戶接口模塊對收到的數據、地址分別進行緩存處理、地址映射,然后向命令控制模塊發送讀寫請求,進入步驟(7);如果沒有,返回步驟(4);

(7)命令控制模塊根據用戶接口模塊的讀寫請求向SDR SDRAM發送激活、讀寫指令,并通過OSER/IDES接口模塊完成并串轉換后發給SDR SDRAM,進入步驟(8);

(8)命令控制模塊根據用戶接口模塊發送來的數據長度進行讀寫,同時讀寫數據通過OSER/IDES接口模塊完成并串/串并轉換;

(9)命令控制模塊判斷讀寫是否結束,如果是,進入步驟(10);否則,返回步驟(9);

(10)命令控制模塊對SDR SDRAM進行預充電,完成后進入步驟(4)。

本發明的優點在于:

本發明所述一種低功耗、高數據吞吐量的SDR SDRAM控制器及其工作方法,具有電路實現靈活、可移植性好等特點;本發明利用了FPGA芯片I/O邏輯的速率專換PHY(OSER/IDES),通過增加數據位寬的辦法將I/O速率進一步提高,而控制器工作時鐘僅為I/O時鐘速率的一半,既增加了讀寫數據吞吐量,又降低了器件功耗和成本,提升了消費電子等領域產品的競爭力。

基于目前SDR SDRAM控制器的吞吐量、功耗和成本問題,通過FPGA芯片內部豐富的邏輯、PLL和OSER/IDES資源實現一種低功耗、高數據吞吐量的SDRSDRAM控制器電路,實現了既提高讀寫數據吞吐量,又降低器件功耗和成本的目的。

本發明充分利用FPGA芯片資源豐富、電路實現靈活和代碼好移植等特點,通過FPGA芯片內部豐富的邏輯、PLL和OSER/IDES資源實現低功耗高數據吞吐量SDR SDRAM控制器。

附圖說明

圖1是本發明所述控制器的電路模塊連接示意圖;

圖2是本發明所述方法的流程圖。

具體實施方式

下面結合實施例和說明書附圖對本發明做詳細的說明,但不限于此。

如圖1、2所示。

實施例1、

一種低功耗、高數據吞吐量的SDR SDRAM控制器,包括PLL、自動刷新模塊、用戶接口模塊、命令控制模塊和CLKDIV模塊、OSER/IDES接口模塊。

所述PLL為FPGA芯片內部自帶的鎖相環電路,通過PLL產生SDR SDRAM控制器所需的時鐘信號,包括CLKDIV時鐘和SDR SDRAM時鐘;所述CLKDIV時鐘為所述CLKDIV模塊提供時鐘源,與SDR SDRAM時鐘的頻率值相等;SDR SDRAM時鐘為SDR SDRAM提供工作時鐘。

所述自動刷新模塊為命令控制模塊提供自動刷新請求信號,用于SDR SDRAM刷新控制。

所述用戶接口模塊介于用戶接口與命令控制模塊中間,實現數據處理、地址處理和空閑指示處理;用戶接口模塊與用戶接口間的信號包括讀寫數據、讀寫地址、讀寫使能、讀寫長度、空閑指示、讀寫響應、讀有效指示和時鐘。

所述命令控制模塊的作用包括:完成初始化處理、自動刷新處理、控制器時序控制和命令數據收發處理;

所述命令控制模塊與用戶接口模塊間信號包括讀寫使能、讀寫地址、讀寫數據、空閑指示和讀有效指示;

所述命令控制模塊與自動刷新模塊間信號包括自動刷新請求、自動刷新響應;

所述命令控制模塊與存儲器接口間接口信號包括地址、數據、控制;上電后,命令控制模塊首先進行初始化等待,然后對SDR SDRAM進行初始化,完成后進入空閑狀態,根據自動刷新請求或讀寫請求進行工作。

所述初始化處理用于進行初始化等待,并初始化SDR SDRAM控制器;

所述自動刷新處理用于SDR SDRAM的刷新控制,保證數據存儲的有效性;

所述控制器時序控制用于產生SDR SDRAM控制器的初始化、刷新、讀寫操作的工作時序;

所述命令數據收發處理用于產生發送到SDR SDRAM的各種控制和讀寫命令。

所述CLKDIV模塊為FPGA芯片內部資源,為OSER/IDES接口模塊提供數據時鐘:由CLKDIV模塊產生2分頻得到控制器工作時鐘,為自動刷新模塊、用戶接口模塊和命令控制模塊提供時鐘信號。

所述OSER/IDES接口模塊包括OSER接口模塊和IDES接口模塊;所述OSER/IDES接口模塊的鏈路時鐘來自CLKDIV時鐘,數據時鐘來自CLKDIV模塊的分頻時鐘。

所述OSER/IDES接口模塊的速率比為1:4。

寫SDR SDRAM時,要通過OSER接口模塊對地址、控制和寫數據做并串轉換,把命令控制模塊發來的兩路并行地址、控制和寫數據進行串行處理;一路信號送到OSER接口模塊的D0和D1端口,另一路送到OSER接口模塊的D2和D3端口。

讀SDR SDRAM時,要通過OSER接口模塊對地址、控制做并串轉換,把命令控制模塊發來的兩路并行地址、控制進行串行處理;一路信號送到OSER接口模塊的D0和D1端口,另一路送到OSER接口模塊的D2和D3端口。同時對從SDRSDRAM來的串行讀數據通過IDES接口模塊進行串并轉換,做數據對齊處理后,把從IDES接口模塊輸出端口Q0和Q2產生兩路數據送到命令控制模塊。

實施例2、

如實施例1所述的一種低功耗、高數據吞吐量的SDR SDRAM控制器的工作方法,具體步驟包括:

(1)命令控制模塊首先進行初始化等待,待達到預設等待時間后,進入步驟(2);

(2)然后命令控制模塊對SDR SDRAM進行初始化;

(3)判斷初始化SDR SDRAM控制器是否完成,如果完成,進入步驟(4),否則,返回步驟(2);

(4)SDR SDRAM控制器置于空閑狀態;

(5)命令控制模塊判斷所述自動刷新模塊是否發出自動刷新請求,如果是,所述命令控制模塊開始對SDR SDRAM執行自動刷新操作,刷新完成后返回步驟(4);否則,進入步驟(6);

(6)用戶接口模塊判斷用戶接口是否有讀寫請求,如果有,用戶接口模塊對收到的數據、地址分別進行緩存處理、地址映射,然后向命令控制模塊發送讀寫請求,進入步驟(7);如果沒有,返回步驟(4);

(7)命令控制模塊根據用戶接口模塊的讀寫請求向SDR SDRAM發送激活、讀寫指令,并通過OSER/IDES接口模塊完成并串轉換后發給SDR SDRAM,進入步驟(8);

(8)命令控制模塊根據用戶接口模塊發送來的數據長度進行讀寫,同時讀寫數據通過OSER/IDES接口模塊完成并串/串并轉換;

(9)命令控制模塊判斷讀寫是否結束,如果是,進入步驟(10);否則,返回步驟(9);

(10)命令控制模塊對SDR SDRAM進行預充電,完成后進入步驟(4)。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 泉州市| 万州区| 普兰店市| 原阳县| 杂多县| 阿拉善右旗| 三台县| 宜兴市| 屏东县| 昌宁县| 江陵县| 和静县| 木里| 南平市| 隆林| 玉门市| 齐齐哈尔市| 正安县| 司法| 靖宇县| 吉隆县| 台东县| 中宁县| 靖边县| 夹江县| 新津县| 嘉善县| 库伦旗| 县级市| 攀枝花市| 和硕县| 革吉县| 哈密市| 盐亭县| 衡阳县| 耒阳市| 昌图县| 吉林省| 同仁县| 新兴县| 济源市|