• 
    

    
    

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

      ?

      基于FPGA的DDR3 SDRAM控制器設(shè)計(jì)及實(shí)現(xiàn)

      2016-12-22 02:13:33進(jìn)張覽劉
      大眾科技 2016年10期
      關(guān)鍵詞:預(yù)充電傳輸層內(nèi)存

      韓 進(jìn)張 覽劉 鍇

      (1.山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,山東 青島 266590;2.山東高云半導(dǎo)體科技有限公司,山東 濟(jì)南 250000)

      基于FPGA的DDR3 SDRAM控制器設(shè)計(jì)及實(shí)現(xiàn)

      韓 進(jìn)1張 覽1劉 鍇2

      (1.山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,山東 青島 266590;2.山東高云半導(dǎo)體科技有限公司,山東 濟(jì)南 250000)

      文章基于Verilog語(yǔ)言設(shè)計(jì)并實(shí)現(xiàn)了一款基于高云FPGA芯片的DDR3 SDRAM控制器系統(tǒng)。本設(shè)計(jì)以GW2A55作為核心,參照J(rèn)ESD79-3F工業(yè)標(biāo)準(zhǔn)定義的DDR3 SDRAM時(shí)序操作、狀態(tài)轉(zhuǎn)換、接口定義等規(guī)范,實(shí)現(xiàn)了控制器的設(shè)計(jì)。設(shè)計(jì)主要分為控制層和物理傳輸層兩個(gè)邏輯層級(jí)。通過(guò)綜合驗(yàn)證本設(shè)計(jì)數(shù)據(jù)傳輸接口的速率可達(dá)到800Mhz,高負(fù)載運(yùn)行下錯(cuò)誤數(shù)據(jù)校準(zhǔn)率為100%,芯片邏輯資源占用率低于6.5%,因此能夠滿足用戶對(duì)高速數(shù)據(jù)傳輸以及可靠性和低資源占用的要求,同時(shí)具備同家族芯片可移植性強(qiáng)的優(yōu)勢(shì),并給出了系統(tǒng)功能仿真的驗(yàn)證結(jié)果。

      FPGA;高云GW2A55;DDR3 SDRAM控制器;JESD79-3F

      1 引言

      DDR3 SDRAM是由 JEDEC在 DDR SDRAM 的基礎(chǔ)上進(jìn)行開(kāi)發(fā)的內(nèi)存技術(shù)標(biāo)準(zhǔn),相對(duì)于 DDR SDRAM,其優(yōu)勢(shì)非常明顯,使用SSTL 1.5作為核心電壓具有更低的功耗,采用“Fly-by”拓?fù)浣Y(jié)構(gòu)提高了信號(hào)完整性,具有8n-bit預(yù)取結(jié)構(gòu)且在時(shí)鐘的上下沿均傳輸數(shù)據(jù),從而大大提高了傳輸速率。但是由于DDR3 SDRAM操作時(shí)序繁多,模式寄存器參數(shù)眾多,工作狀態(tài)轉(zhuǎn)換復(fù)雜,需要有專門(mén)的控制器對(duì)它的讀取、寫(xiě)入、刷新、預(yù)充電等進(jìn)行控制。本設(shè)計(jì)目的就是充分利用FPGA邏輯資源,設(shè)計(jì)一種合理、可靠、符合實(shí)際應(yīng)用且成本低的DDR3 SDRAM 控制器。論文給出整個(gè)控制器的系統(tǒng)設(shè)計(jì)方案,并搭建了testbench用于驗(yàn)證設(shè)計(jì)的有效性,同時(shí)給出讀寫(xiě)數(shù)據(jù)的RTL級(jí)仿真測(cè)試結(jié)果。

      2 系統(tǒng)硬件設(shè)計(jì)

      本設(shè)計(jì)的硬件平臺(tái)使用高云半導(dǎo)體55nm 制程PBGA484封裝的GW2A55芯片,擁有320個(gè)用戶可用管腳,具有低功耗、高性能和豐富的邏輯資源,且支持DDR3 SDRAM所使用的所有單端和差分電平標(biāo)準(zhǔn)。搭載GW2A55的開(kāi)發(fā)板配置有外置鎂光 128MB X8位 DDR3 SDRAM 存儲(chǔ)芯片MT47H64M16HR-3,PCB上與GW2A55使用點(diǎn)對(duì)點(diǎn)連接,其電路連接原理圖如圖1所示。

      圖1 DDR3 SDRAM連接管腳圖

      GW2A55產(chǎn)品的I/O 包括8個(gè)Bank,每個(gè)Bank有獨(dú)立的I/O 電源VCCO。為支持SSTL、HSTL 等I/O 輸入標(biāo)準(zhǔn),每個(gè)Bank還提供一個(gè)獨(dú)立的參考電壓VREF。GW2A 系列FPGA 產(chǎn)品不同的Bank支持不同的片上電阻設(shè)置,包括單端電阻和差分電阻兩種。單端電阻用于SSTL、HSTL的輸入輸出,差分電阻用于LVDS輸入。開(kāi)發(fā)板中提供了一個(gè)外部輸入50MHz晶振和一個(gè)100MHz晶振,這兩個(gè)時(shí)鐘均可以作為FPGA內(nèi)部PLL的時(shí)鐘輸入。通過(guò)PLL的分倍頻可以輸出不同的時(shí)鐘并經(jīng)過(guò)通用IO輸出。時(shí)鐘原理圖如圖2所示。

      圖2 時(shí)鐘電路圖

      為了方便FPGA程序調(diào)試,在FPGA外面加了一個(gè)硬復(fù)位電路,通過(guò)按鍵K8、R16、C8電路實(shí)現(xiàn)。SYSRST_N對(duì)應(yīng)FPGA管腳為N19。電路原理圖如圖3所示。

      圖3 復(fù)位電路連接圖

      3 系統(tǒng)軟件設(shè)計(jì)

      控制器屏蔽了內(nèi)存操作的復(fù)雜性,用戶只需要對(duì)控制器提供的接口進(jìn)行簡(jiǎn)單的時(shí)序操作就可以對(duì)內(nèi)存進(jìn)行高效的讀寫(xiě)。DDR3 SDRAM控制器邏輯體系結(jié)構(gòu)主要由物理傳輸層及控制層構(gòu)成,同時(shí)也包含時(shí)鐘模塊。用戶層將內(nèi)存訪問(wèn)請(qǐng)求發(fā)送到控制層,控制層對(duì)用戶請(qǐng)求進(jìn)行處理后再發(fā)送到物理傳輸層,最終由物理傳輸層按照內(nèi)存的時(shí)序操作要求將命令、地址、數(shù)據(jù)傳輸至內(nèi)存。物理傳輸層也會(huì)接受來(lái)自內(nèi)存的信號(hào),并將信號(hào)處理后發(fā)送至控制層,然后將信號(hào)轉(zhuǎn)換成用戶能識(shí)別的信號(hào)格式發(fā)送到用戶層??刂破饔蒝erilog語(yǔ)言實(shí)現(xiàn),軟件開(kāi)發(fā)環(huán)境使用高云半導(dǎo)體自主研發(fā)的新一代FPGA開(kāi)發(fā)環(huán)境,支持 GW2A系列FPGA產(chǎn)品,能夠完成綜合、布局、布線、產(chǎn)生數(shù)據(jù)流文件及bit流下載等一站式工作。控制器邏輯結(jié)構(gòu)設(shè)計(jì)圖如下圖4所示。

      圖4 控制器邏輯結(jié)構(gòu)框圖

      3.1 控制器控制層設(shè)計(jì)

      DDR3 SDRAM控制器控制層主要完成以下功能:

      ①將來(lái)自用戶的對(duì) DDR3 SDRAM的操作請(qǐng)求進(jìn)行轉(zhuǎn)換,包括激活、讀、寫(xiě)、自動(dòng)預(yù)充電讀、自動(dòng)預(yù)充電寫(xiě)以及預(yù)充電等命令。

      ②地址空間映射,將用戶發(fā)送的地址映射到相應(yīng)的Bank、Row、Col,進(jìn)入、退出自刷新模式。

      ③支持Burst Mode為4n、8n,以及OTF。

      ④支持ECC數(shù)據(jù)校驗(yàn)(數(shù)據(jù)位寬為64位時(shí))。

      控制層介于用戶層和物理傳輸層之間,控制層的內(nèi)部采用的是模塊化設(shè)計(jì),依照控制層要完成的功能以及相關(guān)的特征需要對(duì)控制層按照不同功能進(jìn)行劃分包括如下功能模塊:Rank及Bank管理模塊、數(shù)據(jù)管理模塊、初始化管理模塊、Core核心處理模塊、ECC數(shù)據(jù)校驗(yàn)?zāi)K、數(shù)據(jù)通道模塊及FIFO模塊??刂茖舆壿嬁驁D如圖5所示。

      圖5 控制器控制層邏輯框圖

      3.2 控制器物理傳輸層設(shè)計(jì)

      物理傳輸層用于連接控制層和DDR3 SDRAM。物理傳輸層與控制層之間的接口符合 DDR PHY Interface(DFI)工業(yè)標(biāo)準(zhǔn),同時(shí)兼容DDR2 SDRAM(通過(guò)Parameter進(jìn)行配置),最高支持800Mhz的數(shù)據(jù)傳輸速率,DQ(物理傳輸層數(shù)據(jù)位)可以配置成8至72之間各種不同位寬,支持Burst Length4、Burst Length8和OTF模式,支持CWL、CL和AL等參數(shù)不同值的配置。

      DDR3物理傳輸層主要完成以下工作:

      ①接收來(lái)自DDR3 SDRAM內(nèi)存控制器控制層的命令,對(duì)DDR3 SDRAM進(jìn)行數(shù)據(jù)讀寫(xiě)操作。

      ②完成DDR3 SDRAM的初始化,對(duì)DDR3 SDRAM各個(gè)模式寄存器進(jìn)行配置。

      ③完成初始化過(guò)程中DDR3 SDRAM的時(shí)鐘和復(fù)位信號(hào)的處理。

      為了滿足信號(hào)的完整性要求,時(shí)鐘、地址、命令在 PCB版走線時(shí)可采用“Fly-by”拓?fù)浣Y(jié)構(gòu),但會(huì)造成DQS和時(shí)鐘信號(hào)之間的歪斜,因此物理傳輸層必須支持寫(xiě)平衡。寫(xiě)平衡就是完成自動(dòng)補(bǔ)償各個(gè) DQS信號(hào)組和時(shí)鐘信號(hào)組之間的歪斜。時(shí)鐘信號(hào)組和各個(gè)DQS信號(hào)組組內(nèi)的信號(hào)不用調(diào)整,因?yàn)閮?nèi)存芯片PCB走線時(shí)采用分組對(duì)齊的策略,組內(nèi)的信號(hào)都是對(duì)齊的。同時(shí),也必須支持讀平衡,讀平衡則是為了使得DQ能夠被正確的捕獲到,主要是根據(jù)DQS的相位來(lái)調(diào)整用于捕獲DQ的時(shí)鐘相位。物理傳輸層的邏輯結(jié)構(gòu)如圖6所示。

      圖6 物理傳輸層

      控制通道需要完成地址、命令時(shí)鐘域的轉(zhuǎn)換,然后將控制層的命令、地址信號(hào)轉(zhuǎn)化成符合DDR3 SDRAM命令格式的信號(hào),最后調(diào)用 ODDR硬核按照操作時(shí)序發(fā)送給 DDR3 SDRAM。數(shù)據(jù)通道用來(lái)處理用戶數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)化成內(nèi)存芯片能識(shí)別的數(shù)據(jù)格式。每一個(gè)數(shù)據(jù)通道能夠處理一位DQS和8位DQ,調(diào)用多少個(gè)通道由DQS及DQ的寬度決定。該模塊工作時(shí)會(huì)調(diào)用 FIFO對(duì)發(fā)送和接受的數(shù)據(jù)進(jìn)行時(shí)鐘域的轉(zhuǎn)換,然后調(diào)用輸入解串器ISEDES4、輸出解串器OSERDES4和處理DQS的硬核模塊,最終使用IO口完成數(shù)據(jù)的發(fā)送和接受。物理傳輸層的初始化模塊配合控制層完成 DDR3 SDRAM的初始化工作,同時(shí)也包括寫(xiě)平衡、讀平衡兩個(gè)重要的處理過(guò)程。

      在GW2A55中,控制器是使用DQS硬核的輸出DQSW0來(lái)產(chǎn)生DQS信號(hào)的,在DQS硬核模塊中DQSW0會(huì)根據(jù)輸入 WSTEP[7∶0]的值產(chǎn)生延遲,因此調(diào)整 WSTEP[7∶0]的值可以調(diào)整DQS的相位,也就可以實(shí)現(xiàn)寫(xiě)平衡調(diào)整。如圖7、圖8是寫(xiě)平衡的調(diào)整圖。

      圖7 寫(xiě)平衡調(diào)整之前

      圖8 寫(xiě)平衡調(diào)整之后

      從仿真波形中可以看到,寫(xiě)平衡調(diào)整之前到達(dá) DDR3 SDRAM端的CK和DQS之間有歪斜,寫(xiě)平衡通過(guò)調(diào)整DQS的延時(shí)使得最終DQS和CK對(duì)齊。DDR3 SDRAM在PCB布線時(shí)遵守分組對(duì)齊的原則,所以DQS與CK的對(duì)齊保證了數(shù)據(jù)信號(hào)線和控制信號(hào)線的對(duì)齊。

      讀平衡的目的之一是恢復(fù)出正確的 DQSR90,物理傳輸層會(huì)用DQSR90捕獲DQ,主要是通過(guò)調(diào)整DQS硬核模塊中的 RCLKSEL[2∶0]和 READ[3∶0]的值來(lái)實(shí)現(xiàn)。如圖 9、圖 10所示是讀平衡的仿真波形,由圖可以看出經(jīng)過(guò)讀平衡調(diào)整之后DQSR90才是DQSIN經(jīng)過(guò)90度相位延遲之后的信號(hào),此時(shí)DQSR90的邊沿剛好在DQ數(shù)據(jù)的中間,數(shù)據(jù)的穩(wěn)定性最強(qiáng),所以系統(tǒng)就會(huì)用這個(gè)時(shí)鐘來(lái)捕獲正確的DQ。

      圖9 讀平衡之前

      圖1 0 讀平衡之后

      3.3 時(shí)鐘模塊

      圖11 時(shí)鐘設(shè)計(jì)圖

      控制層與物理傳輸層的時(shí)鐘比例為固定的 1∶4,從 PCB板上引入的時(shí)鐘CLK經(jīng)過(guò)PLL之后生成了同頻的clk_x1、4

      倍頻的clk_x4、clk_x4_p,clk_x4經(jīng)過(guò)CLKDIV模塊之后被2分頻生成了clk_x2。物理傳輸層內(nèi)部會(huì)用到clk_x1、clk_x2、clk_x4、clk_x4_p這四個(gè)時(shí)鐘,控制層工作在clk_x1時(shí)鐘域,且發(fā)送給物理傳輸層的所有信號(hào)都應(yīng)該與 clk_x1同步。PLL的倍頻倍數(shù)根據(jù)需要進(jìn)行調(diào)整,比如PCB板載50Mhz時(shí)鐘源,需要使用800Mhz的數(shù)據(jù)傳輸速率,那就需要對(duì)50Mhz進(jìn)行8倍頻產(chǎn)生400Mhz的時(shí)鐘信號(hào),時(shí)鐘信號(hào)上下沿均采樣數(shù)據(jù),則就會(huì)產(chǎn)生所需要的800MHz的數(shù)據(jù)傳輸速率。

      4 仿真驗(yàn)證結(jié)果

      功能仿真是FPGA軟件設(shè)計(jì)和應(yīng)用中的重要一步,設(shè)計(jì)完成之后需要對(duì)其進(jìn)行RTL級(jí)功能仿真,來(lái)驗(yàn)證本設(shè)計(jì)是否與預(yù)期一致,以及是否符合設(shè)計(jì)規(guī)范,同時(shí)也可以檢查設(shè)計(jì)中的不足之處來(lái)予以改進(jìn)。以下是搭建testbench之后實(shí)際的仿真結(jié)果。如圖12所示為寫(xiě)數(shù)據(jù)仿真結(jié)果。

      圖12 寫(xiě)同Bank同行仿真結(jié)果圖

      在圖12中,給出了連續(xù)4次寫(xiě)同一個(gè)Bank的同一行的情況。由控制層首先生成一個(gè)激活命令,激活該行,然后后面生成四個(gè)寫(xiě)命令,完成之后跟一個(gè)預(yù)充電命令。

      如圖13所示為帶預(yù)充電、不帶預(yù)充電的寫(xiě)操作及含有數(shù)據(jù)掩碼的仿真結(jié)果。

      圖13 預(yù)充電及數(shù)據(jù)掩碼仿真結(jié)果

      圖13給出了寫(xiě)同一個(gè)Bank不同行的情況。由控制層首先生成激活Bank及行的命令,然后生成帶預(yù)充的寫(xiě)命令(地址位A10為1),最后行地址增加激活同Bank及不同行,生成不帶預(yù)充電的寫(xiě)命令。圖中的第二個(gè)寫(xiě)操作給出的數(shù)據(jù)掩碼為8’h09,可以觀察到在控制層的mc_wrdata_mask信號(hào)中也出現(xiàn)了該值。

      如圖14所示為讀數(shù)據(jù)仿真結(jié)果圖。

      圖14 讀數(shù)據(jù)結(jié)果圖

      從圖14仿真結(jié)果圖中可以看出用戶層給出了讀請(qǐng)求,在控制層解析產(chǎn)生了相應(yīng)的命令并傳遞給了物理傳輸層,最終由DDR3 SDRAM相應(yīng)用戶請(qǐng)求讀出用戶之前寫(xiě)入的數(shù)據(jù)。

      如圖15給出了Burst Mode為4,ECC為“ON”的情況下,寫(xiě)入數(shù)據(jù)的仿真圖,64位的數(shù)據(jù)在經(jīng)過(guò)ECC校驗(yàn)之后,生成8bit校驗(yàn)碼,將一共72bit數(shù)據(jù)發(fā)送給物理傳輸層。

      圖15 ECC校驗(yàn)仿真圖

      5 結(jié)語(yǔ)

      通過(guò)對(duì)JESD79-3F規(guī)定的DDR3 SDRAM規(guī)范、操作時(shí)序、特性以及物理結(jié)構(gòu)進(jìn)行分析,將控制器分成控制層及物理傳輸層兩層邏輯結(jié)構(gòu),使用Verilog語(yǔ)言實(shí)現(xiàn)了控制器的設(shè)計(jì),同時(shí)對(duì)設(shè)計(jì)進(jìn)行了功能仿真,結(jié)果證明了設(shè)計(jì)的可行性,能夠滿足對(duì)DDR3 SDRAM的高速讀寫(xiě)操作。該設(shè)計(jì)可在所有高云GW2A家族芯片之間進(jìn)行高效的移植,縮短了軟件設(shè)計(jì)的開(kāi)發(fā)周期,降低了開(kāi)發(fā)成本。

      [1] 王巍.高性能FPGA系統(tǒng):時(shí)序設(shè)計(jì)與分析[M].北京∶高等教育出版社,2014∶58-102.

      [2] 楊軍.基于FPGA的DDR3控制器IP設(shè)計(jì)與研究[D].南京∶南京航空大學(xué),2015:44-59.

      [3] 劉梅.DDR3 SDRAM 控制器物理層DLL的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙∶國(guó)防科技大學(xué),2011∶11-18.

      [4] 張永志.DDR2 內(nèi)存控制器的模塊設(shè)計(jì)和驗(yàn)證平臺(tái)技術(shù)研究[D].合肥∶合肥工業(yè)大學(xué),2010∶33-36.

      Design and implementation of DDR3 SDRAM controller based on FPGA

      Using Verilog -HDL, Design and Implementation of DDR3 SDRAM Controller Based on Gowin FPGA, development Board useing GW2A55 as the core chip of the design. Refersto JESD79-3F Industry Standard which definition DDR3 SDRAM Operation Timing, finally Implementing the design.The design,data rate 800Mhz,calibration rate 100%,occupancy rate 6.5%,can meet the requirement of high-speed data transmission, system reliability, low resource utilization, high portability, at last given the waveform result of simulation.

      FPGA; Gowin GW2A55; DDR3 SDRAM controller; JESD79-3F

      TP399

      A

      1008-1151(2016)10-0001-04

      2016-09-10

      山東省自然科學(xué)基金資助(ZR2015DM013)。

      韓進(jìn)(1968-),女,山東青島人,山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院教授,博士,碩士生導(dǎo)師,研究方向?yàn)榍度胧接?jì)算機(jī)控制、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、電子電路;張覽(1990-),男,山東菏澤人,山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院碩士研究生,研究方向?yàn)榍度胧较到y(tǒng)技術(shù);劉鍇(1986-),男,山東煙臺(tái)人,山東高云半導(dǎo)體科技有限公司高級(jí)軟件工程師,碩士研究生,研究方向?yàn)榍度胧较到y(tǒng)技術(shù)。

      猜你喜歡
      預(yù)充電傳輸層內(nèi)存
      動(dòng)力電池預(yù)充設(shè)計(jì)及溫升特性研究
      電動(dòng)汽車(chē)預(yù)充電保護(hù)設(shè)計(jì)
      基于Python語(yǔ)言的網(wǎng)絡(luò)傳輸層UDP協(xié)議攻擊性行為研究
      電動(dòng)汽車(chē)分級(jí)預(yù)充電回路及預(yù)充電阻選型匹配方法研究
      ZnO電子傳輸層在有機(jī)無(wú)機(jī)雜化鈣鈦礦太陽(yáng)能電池中的應(yīng)用
      “春夏秋冬”的內(nèi)存
      物聯(lián)網(wǎng)無(wú)線通信傳輸層動(dòng)態(tài)通道保障機(jī)制
      基于物聯(lián)網(wǎng)GIS的消防智能巡檢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      基于變頻器的新型預(yù)充電電路的研究
      基于內(nèi)存的地理信息訪問(wèn)技術(shù)
      久治县| 东方市| 白水县| 高尔夫| 山西省| 八宿县| 桃园市| 永春县| 台北市| 奇台县| 田阳县| 镇巴县| 高州市| 丰原市| 建瓯市| 兴山县| 高平市| 盐津县| 江阴市| 丰原市| 馆陶县| 安平县| 福州市| 新疆| 彭山县| 辉县市| 和平区| 黑水县| 赤城县| 孝感市| 怀仁县| 柘城县| 台南县| 都匀市| 英山县| 庆安县| 广宗县| 安国市| 彝良县| 新竹县| 常山县|