Ddr3接口中的fpga設(shè)備的復(fù)位、讀寫校準(zhǔn)方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及一種應(yīng)用在第三代雙倍數(shù)據(jù)速率(DoubleData Rate 3,DDR3)接口中的現(xiàn)場可編程門陣列的數(shù)據(jù)讀、寫校準(zhǔn)方法及現(xiàn)場可編程門陣列設(shè)備(Field Programmable Gate Array,F(xiàn)PGA)。
【背景技術(shù)】
[0002]在傳統(tǒng)設(shè)計[CN201310180043.8]中FPGA往往作為DDR控制器對主存儲器進(jìn)行訪存相關(guān)操作進(jìn)行合理調(diào)度,縮短訪存時間,提高主存儲器的帶寬目的,對于將FPGA作為DDR存儲器一端的設(shè)計比較少見。[CN200910119666.8]提出了一種FPGA位于DDR存儲器一端的設(shè)計,該設(shè)計能夠接受來自DDR控制器的讀寫操作。
[0003]但隨著集成電路的飛速發(fā)展,處理器主頻和帶寬有了很大的提高,處理器上會集成多個DDR控制器,這些DDR控制器進(jìn)行了多次版本升級,以滿足不斷推出的高速度、高帶寬、大容量主存儲器。根據(jù) 2010 年 JEDEC (Joint Electronic Devices EngineeringCouncil,聯(lián)合電子器件與設(shè)備委員會)頒布了新一代內(nèi)存規(guī)范JESD79-3E(即DDR3內(nèi)存規(guī)范),DDR3控制器向DDR3存儲器發(fā)出復(fù)位、讀寫校準(zhǔn)、讀寫操作等命令,DDR3存儲器按照規(guī)范定義正確響應(yīng)接收到的命令,完成數(shù)據(jù)的讀寫工作?,F(xiàn)有技術(shù)[CN200910119666.8]提出了一種FPGA位于DDR存儲器一端的設(shè)計方法沒有復(fù)位控制功能和讀寫校準(zhǔn)功能(WriteLeveling and Read Leveling),不符合規(guī)范的流程要求,因此,無法滿足DDR3控制器需求。
[0004]本發(fā)明主要提供了一種DDR3接口中的FPGA的復(fù)位、寫校準(zhǔn)、讀校準(zhǔn)的操作方法,使得DDR3控制器和FPGA組成的DDR3系統(tǒng)滿足規(guī)范需求。
【發(fā)明內(nèi)容】
[0005]為解決上述問題,本發(fā)明特提供了一種DDR3接口中的FPGA的復(fù)位、寫校準(zhǔn)、讀校準(zhǔn)的操作方法及FPGA設(shè)備,提出了一種滿足DDR3規(guī)范的DDR3系統(tǒng)。
[0006]—種DDR3接口中FPGA設(shè)備的復(fù)位操作方法包括以下步驟:
FPGA設(shè)備上電后等待電源和時鐘穩(wěn)定;
FPGA設(shè)備接收來自DDR3接口中DDR3控制器的信息發(fā)送端口的復(fù)位管腳的復(fù)位信號(Reset),收到Reset為高電平后,復(fù)位FPGA設(shè)備中的所有模塊。
[0007]—種DDR3接口中現(xiàn)場可編程門陣列FPGA設(shè)備的寫校準(zhǔn)方法包括以下步驟:
FPGA設(shè)備接收來自DDR3控制器的信息發(fā)送端口的差分時鐘信號(CK與CK#)和時鐘使能信號(CKE);
FPGA設(shè)備將自身的時鐘信號調(diào)整為接收到的DDR3控制器的信息發(fā)送端口的時鐘信號;FPGA設(shè)備接收來自DDR3控制器的信息發(fā)送端口的操作命令后,根據(jù)DDR3控制器的信息發(fā)送端口的時鐘信號對接收到的操作命令進(jìn)行譯碼,確定接收到寫校準(zhǔn)命令;
FPGA設(shè)備接收來自DDR3控制器的信息發(fā)送端口的數(shù)據(jù)選通信號(DQS與DQS#);
FPGA設(shè)備將接收到的差分時鐘信號(CK與CK#)對數(shù)據(jù)選通信號(DQS與DQS#)進(jìn)行上升沿采樣,采樣值到數(shù)據(jù)選通信號(DQS與DQS#)為高電平時,對數(shù)據(jù)信號(DQ)賦值為I。
[0008]一種DDR3接口中現(xiàn)場可編程門陣列FPGA設(shè)備的讀校準(zhǔn)方法包括以下步驟:
FPGA設(shè)備接收來自DDR3接口中DDR3控制器的信息發(fā)送端口的差分時鐘信號(CK與CK#)和時鐘使能信號(CKE);
FPGA設(shè)備將自身的時鐘信號調(diào)整為接收到的DDR3控制器的信息接收端口的時鐘信號;FPGA設(shè)備接收來自DDR3控制器的信息發(fā)送端口的操作命令后,根據(jù)DDR3控制器的信息發(fā)送端口的時鐘信號對接收到的操作命令進(jìn)行譯碼,確定接收到讀校準(zhǔn)命令;
FPGA設(shè)備按照DDR3控制器的信息接收端口的時鐘信號,將固定輸出突發(fā)長度為8bits的“O 111 I”數(shù)據(jù)輸出DDR3控制器。
[0009]一種DDR3接口中的FPGA設(shè)備,通過FPGA設(shè)備作為DDR3系統(tǒng)中的DDR3 memory—側(cè),F(xiàn)PGA根據(jù)DDR3控制器的復(fù)位、寫校準(zhǔn)、讀校準(zhǔn)命令,完成DDR3讀寫操作前的初始化,所述FPGA設(shè)備包括鎖相環(huán)模塊、命令譯碼模塊、地址轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)存儲模塊,其中:
鎖相環(huán)模塊,用于接收DDR3控制器的信息發(fā)送端口的時鐘信號,并將接收到的時鐘信號進(jìn)行相位和頻率調(diào)整后作為命令譯碼模塊、地址轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)儲存模塊的時鐘信號;
命令譯碼模塊,用于根據(jù)DDR3控制器的信息發(fā)送端口的時鐘信號,對來自DDR3控制器的操作命令進(jìn)行譯碼,將譯碼后的操作命令發(fā)送到數(shù)據(jù)處理模塊;
地址轉(zhuǎn)換模塊,用于在接收到來自DDR3控制器的操作命令后,根據(jù)DDR3控制器的信息發(fā)送端口的時鐘信號,將來自DDR3控制器的外部輸入地址轉(zhuǎn)換為FPGA設(shè)備內(nèi)部存儲地址;數(shù)據(jù)處理模塊,用于接收命令譯碼模塊的操作命令,根據(jù)操作命令進(jìn)行復(fù)位、寫校準(zhǔn)、讀校準(zhǔn)、ZQ校準(zhǔn)操作、寫操作和讀操作;
數(shù)據(jù)存儲模塊,用于存儲數(shù)據(jù)。
[0010]本發(fā)明的優(yōu)點(diǎn)在于:通過FPGA設(shè)備作為DDR3系統(tǒng)中的DDR3 memory—側(cè),F(xiàn)PGA根據(jù)DDR3控制器的復(fù)位、寫校準(zhǔn)、讀校準(zhǔn)命令,完成DDR3讀寫操作前的初始化。提出了一種由DDR3控制器與FPGA組成的DDR3系統(tǒng),該系統(tǒng)能夠按照DDR3規(guī)范完成數(shù)據(jù)的接收和發(fā)送。
【附圖說明】
[0011]圖1為本發(fā)明的DDR3接口中的FPGA設(shè)備的復(fù)位操作的執(zhí)行示意圖;
圖2為本發(fā)明的DDR3接口中的FPGA設(shè)備的寫校準(zhǔn)操作的執(zhí)行示意圖;
圖3為本發(fā)明的DDR3接口中的FPGA設(shè)備的讀校準(zhǔn)操作的執(zhí)行示意圖;
圖4為本發(fā)明的在DDR3接口中實(shí)現(xiàn)寫校準(zhǔn)的FPGA設(shè)備結(jié)構(gòu)示意圖;
圖5為本發(fā)明的在DDR3接口中實(shí)現(xiàn)讀校準(zhǔn)的FPGA設(shè)備結(jié)構(gòu)示意圖;
圖6為本發(fā)明的同時在DDR3接口中實(shí)現(xiàn)復(fù)位、寫校準(zhǔn)、讀校準(zhǔn)、ZQ校準(zhǔn)、寫操作、讀操作的FPGA設(shè)備結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0012]為了滿足DDR3系統(tǒng)的要求,本發(fā)明提出了擴(kuò)展現(xiàn)場可編程門陣列(FieldProgrammable Gate Array, FPGA)設(shè)備的功能,使其與DDR3控制器配合組成DDR3系統(tǒng),該系統(tǒng)按照DDR3規(guī)范要求進(jìn)行復(fù)位、讀寫校準(zhǔn)操作。
[0013]下面結(jié)合說明書附圖對本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
[0014]在由DDR3控制器和FPGA設(shè)備組成的DDR3系統(tǒng)中,DDR3控制器與FPGA設(shè)備間可以通過DDR3規(guī)范定義的信號線進(jìn)行通信,F(xiàn)PGA設(shè)備的操作包括復(fù)位、寫校準(zhǔn)、讀校準(zhǔn),下面分別對復(fù)位、寫校準(zhǔn)、讀校準(zhǔn)方法進(jìn)行描述。
[0015]如圖1所示,為本發(fā)明DDR3接口中的FPGA設(shè)備的復(fù)位操作的執(zhí)行示意圖,所述FPGA設(shè)備的復(fù)位操作包括以下步驟:
步驟101:FPGA設(shè)備上電后等待電源和時鐘穩(wěn)定。
[0016]步驟102:FPGA設(shè)備接收來自DDR3接口中DDR3接口控制器的信息發(fā)送端口的復(fù)位管腳的復(fù)位信號,檢測到Reset為低電平后,復(fù)位FPGA設(shè)備中的所有功能模塊。
[0017]FPGA設(shè)備復(fù)位過程采用自身的參考時鐘,一旦電源和時鐘穩(wěn)定后會進(jìn)行設(shè)備內(nèi)部復(fù)位,再等待DDR3控制器的復(fù)位信號。
[0018]DDR3接口控制器的信息發(fā)送端口的復(fù)