亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        高速數(shù)據(jù)采集卡DDR控制器的設(shè)計(jì)與實(shí)現(xiàn)

        2013-08-13 05:06:34王曉嬌張治中
        電視技術(shù) 2013年5期
        關(guān)鍵詞:標(biāo)識(shí)符荷包存儲(chǔ)器

        王曉嬌,張治中

        (重慶郵電大學(xué)通信網(wǎng)與測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

        隨著網(wǎng)絡(luò)流量的日益龐大,鏈路帶寬的不斷提升,在高速數(shù)據(jù)采集系統(tǒng)中,對(duì)雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Double Data Rate Synchronously Dynamic RAM,DDR SDRAM)[1]所提供的大容量緩沖技術(shù)也提出了挑戰(zhàn)。

        現(xiàn)有技術(shù)中,DDR控制器對(duì)數(shù)據(jù)的封裝處理和讀寫控制方法難以很好地兼顧數(shù)據(jù)訪問的可靠性和有效性,且容錯(cuò)糾錯(cuò)能力較低、內(nèi)存管理復(fù)雜。本文研究并設(shè)計(jì)了一種改進(jìn)型高性能DDR控制器,保證了數(shù)據(jù)存儲(chǔ)取的正確性、高效性和連續(xù)性,有效提高DDR存儲(chǔ)器的管理效率和內(nèi)存利用率。適用于多光口/電口的千兆線速數(shù)據(jù)采集系統(tǒng),提供高速大容量的緩沖能力,在網(wǎng)絡(luò)流量峰值時(shí),能夠?qū)崿F(xiàn)動(dòng)態(tài)均衡,平滑處理,可顯著提高數(shù)據(jù)采集密度與速率。

        1 DDR控制器工作原理

        基于FPGA實(shí)現(xiàn)的DDR控制器通常主要包括前端主控模塊和后端用戶模塊。以目前主流的Virtex-5 FPGA器件參考設(shè)計(jì)結(jié)構(gòu)為例,如圖1所示。

        前端主控模塊由PHY控制器、主控制器和前端FIFO組成。PHY控制器完成DDR存儲(chǔ)器初始化狀態(tài)和讀數(shù)據(jù)采集時(shí)序校準(zhǔn)邏輯功能,主控制器實(shí)現(xiàn)DDR控制器狀態(tài)機(jī)和用于地址/命令/數(shù)據(jù)的FIFO邏輯,前端FIFO作為一種用戶接口,提供地址/命令、寫數(shù)據(jù)和讀數(shù)據(jù)3個(gè)FIFO。前2個(gè)FIFO由不同的用戶后端邏輯加載,而讀數(shù)據(jù)FIFO則由PHY控制器訪問,以將采集的數(shù)據(jù)存儲(chǔ)在每個(gè)讀周期上。通過用戶接口,可以發(fā)出命令,向DDR存儲(chǔ)器提供寫數(shù)據(jù)或者讀數(shù)據(jù)操作[1-3]。因此,在前端主控模塊的設(shè)計(jì)結(jié)構(gòu)相對(duì)固定的情況下,后端用戶模塊以及與前端模塊對(duì)接方式的良好設(shè)計(jì),對(duì)提升DDR控制器的整體性能具有重要作用。

        圖1 DDR SDRAM存儲(chǔ)器控制器的參考設(shè)計(jì)結(jié)構(gòu)

        2 DDR控制器模塊設(shè)計(jì)

        2.1 基于FPGA的模塊化設(shè)計(jì)

        針對(duì)現(xiàn)有的DDR控制器對(duì)外部DDR 存儲(chǔ)器數(shù)據(jù)讀寫訪問所存在的不足,提出一種基于FPGA實(shí)現(xiàn)的模塊化設(shè)計(jì),采用多數(shù)據(jù)包重組和轉(zhuǎn)義思想,以及讀寫控制方法,其模塊設(shè)計(jì)框圖如圖2所示。DDR控制器主要包括:多凈荷包組裝模塊、寫轉(zhuǎn)義模塊、讀反向轉(zhuǎn)義模塊、多凈荷包解封裝模塊、讀寫控制邏輯以及存儲(chǔ)器接口邏輯。

        圖2 DDR控制器模塊設(shè)計(jì)框圖

        其中,多凈荷包組裝模塊將把從前一級(jí)處理模塊送入的多個(gè)凈荷數(shù)據(jù)包拼接為一個(gè)較大的數(shù)據(jù)包;寫轉(zhuǎn)義模塊完成對(duì)預(yù)寫入DDR存儲(chǔ)器數(shù)據(jù)的轉(zhuǎn)義處理;讀反向轉(zhuǎn)義模塊則實(shí)現(xiàn)對(duì)從DDR存儲(chǔ)器讀出的數(shù)據(jù)流進(jìn)行反向轉(zhuǎn)義,解析出正確的原始組裝凈荷包;多凈荷包解封裝模塊將提取出原始單個(gè)凈荷包;讀寫控制邏輯模塊負(fù)責(zé)對(duì)DDR存儲(chǔ)器的讀寫訪問進(jìn)行控制;存儲(chǔ)器接口邏輯模塊主要實(shí)現(xiàn)圖1中的前端主控功能,完成對(duì)外部DDR存儲(chǔ)器的讀寫訪問,并為應(yīng)用提供命令、讀、寫接口。

        2.2 基本工作流程

        DDR控制器存儲(chǔ)和讀取數(shù)據(jù)的基本流程如圖3所示。首先,對(duì)多個(gè)凈荷包進(jìn)行組裝并進(jìn)行寫轉(zhuǎn)義處理;然后,在處于寫操作時(shí)鐘周期時(shí),將寫轉(zhuǎn)義處理后的數(shù)據(jù)寫入到DDR存儲(chǔ)器中。當(dāng)?shù)竭_(dá)讀操作時(shí)鐘周期時(shí),從DDR存儲(chǔ)器中讀取數(shù)據(jù),并對(duì)讀出的數(shù)據(jù)流進(jìn)行讀反向轉(zhuǎn)義和解封裝,恢復(fù)出原始單個(gè)凈荷包。

        圖3 DDR控制器存儲(chǔ)和讀取數(shù)據(jù)基本流程示意圖

        3 數(shù)據(jù)預(yù)處理與解析

        3.1 多凈荷包的組裝

        向DDR存儲(chǔ)器寫入數(shù)據(jù)前,對(duì)數(shù)據(jù)進(jìn)行兩級(jí)預(yù)處理。多凈荷包組裝是第一級(jí)數(shù)據(jù)預(yù)處理,該方法旨在有效減少短包對(duì)CPU的中斷次數(shù),降低資源開銷,提高DDR控制器的處理效率。多凈荷包組裝模塊封裝的數(shù)據(jù)包格式如圖4所示。

        圖4 多凈荷包組裝模塊封裝的數(shù)據(jù)包結(jié)構(gòu)示意圖

        多凈荷包組裝過程:首先,將一個(gè)或一個(gè)以上原始數(shù)據(jù)凈荷包分別增加一個(gè)標(biāo)識(shí)有該包長(zhǎng)度信息的數(shù)據(jù)包包頭后級(jí)聯(lián)在一起,并在第一個(gè)數(shù)據(jù)包包頭前標(biāo)識(shí)級(jí)聯(lián)在一起的數(shù)據(jù)包的個(gè)數(shù);然后,將級(jí)聯(lián)在一起的數(shù)據(jù)包組裝為一個(gè)復(fù)合數(shù)據(jù)包;在組裝的同時(shí),在復(fù)合數(shù)據(jù)包的頭部加上64 bit特定的數(shù)據(jù)包起始標(biāo)識(shí)符(Start of Frame,SOF),在數(shù)據(jù)包的尾部加上64 bit特定的數(shù)據(jù)包結(jié)束標(biāo)識(shí)符(End of Frame,EOF)。其中,SOF和EOF可以在解析讀出的數(shù)據(jù)流時(shí),定位有效數(shù)據(jù)的起始位置與結(jié)束位置。

        3.2 寫轉(zhuǎn)義的邏輯設(shè)計(jì)

        寫轉(zhuǎn)義是第二級(jí)數(shù)據(jù)預(yù)處理,可避免在組裝后的原始數(shù)據(jù)包中出現(xiàn)與SOF、EOF以及轉(zhuǎn)義標(biāo)識(shí)符相同的有效數(shù)據(jù),從而影響數(shù)據(jù)的正確解析。寫轉(zhuǎn)義變換的規(guī)則是對(duì)相應(yīng)的64 bit原始數(shù)據(jù)的最高位進(jìn)行反碼轉(zhuǎn)換,并在其起始位置加上64 bit特定的轉(zhuǎn)義標(biāo)識(shí)符。寫轉(zhuǎn)義變換的實(shí)現(xiàn)流程如圖5所示,其對(duì)應(yīng)的寫轉(zhuǎn)義各狀態(tài)含義見表1(TM是Transferred Meaning的英文縮寫,表示轉(zhuǎn)義)。

        圖5 寫轉(zhuǎn)義狀態(tài)機(jī)

        表1 寫轉(zhuǎn)義狀態(tài)機(jī)各狀態(tài)說明

        3.3 讀反向轉(zhuǎn)義的邏輯設(shè)計(jì)

        讀反向轉(zhuǎn)義是寫轉(zhuǎn)義的逆過程,解析從DDR緩存所讀取的數(shù)據(jù)流。讀反向轉(zhuǎn)義變換的規(guī)則是:從有SOF、EOF和轉(zhuǎn)義標(biāo)識(shí)符的數(shù)據(jù)流中讀出并過濾掉SOF、EOF和轉(zhuǎn)義標(biāo)識(shí)符,同時(shí)將轉(zhuǎn)義標(biāo)識(shí)符后的64 bit數(shù)據(jù)的最高位進(jìn)行反碼轉(zhuǎn)換,以恢復(fù)出原始數(shù)據(jù)。讀反向轉(zhuǎn)義的實(shí)現(xiàn)流程如圖6所示,其對(duì)應(yīng)的轉(zhuǎn)義各狀態(tài)含義見表2(RTM是Reverse Transferred Meaning的英文縮寫)。

        圖6 讀反向轉(zhuǎn)義狀態(tài)機(jī)

        表2 讀反向轉(zhuǎn)義狀態(tài)機(jī)各狀態(tài)說明

        4 讀寫控制邏輯設(shè)計(jì)

        本方案中對(duì)DDR的讀寫控制主要有兩個(gè)關(guān)鍵點(diǎn),一個(gè)是64 bit和256 bit數(shù)據(jù)轉(zhuǎn)換,另一個(gè)是讀寫均衡控制。前者的目的在于更有效地利用接口寬度和轉(zhuǎn)義數(shù)據(jù)的讀寫粒度,存儲(chǔ)、讀取和解析數(shù)據(jù)。后者則以平均、輪流占用時(shí)間片的方式實(shí)現(xiàn)讀、寫操作所占用時(shí)間的均勻分配。

        4.1 存儲(chǔ)管理寄存器

        在讀寫控制邏輯模塊定義3個(gè)256 bit位寬的存儲(chǔ)管理寄存器,分別用于寫地址計(jì)數(shù)、讀地址計(jì)數(shù)和存儲(chǔ)數(shù)量計(jì)數(shù)。3個(gè)寄存器的協(xié)同工作運(yùn)轉(zhuǎn)過程如圖7所示。

        圖7 存儲(chǔ)管理寄存器協(xié)同工作運(yùn)轉(zhuǎn)過程示意圖

        寫地址寄存器存放寫入數(shù)據(jù)的地址。在寫入1個(gè)256 bit的數(shù)據(jù)后,寄存器值加1,當(dāng)達(dá)到1 Gbit容量的DDR存儲(chǔ)器上限值時(shí),寄存器值回到0。

        讀地址寄存器存放讀取數(shù)據(jù)的地址。讀地址寄存器在讀出1個(gè)256 bit的數(shù)據(jù)后加1,當(dāng)達(dá)到1 Gbit容量的DDR存儲(chǔ)器上限值時(shí),寄存器值回到0。

        存儲(chǔ)數(shù)量寄存器存放DDR存儲(chǔ)器中當(dāng)前存儲(chǔ)的數(shù)據(jù)個(gè)數(shù)。在寫入1個(gè)256 bit數(shù)據(jù)后加1,在讀出1個(gè)256 bit數(shù)據(jù)后減1。當(dāng)存儲(chǔ)數(shù)量寄存器等于DDR存儲(chǔ)器的容量大小時(shí),表示存儲(chǔ)器已滿;當(dāng)存儲(chǔ)數(shù)量寄存器等于0時(shí),表示DDR存儲(chǔ)器為空。

        4.2 64 bit和256 bit的轉(zhuǎn)換

        為了將寫轉(zhuǎn)義和讀反向轉(zhuǎn)義時(shí),數(shù)據(jù)按64 bit粒度進(jìn)行變換和解析,為達(dá)到存儲(chǔ)器提供的256 bit讀寫接口的數(shù)據(jù)總線要求,在寫轉(zhuǎn)義后,對(duì)輸出數(shù)據(jù)進(jìn)行64 bit—256 bit的轉(zhuǎn)換。而在讀反向轉(zhuǎn)義前,首先通過256 bit—64 bit FIFO將輸入256 bit寬度的數(shù)據(jù)轉(zhuǎn)換為64 bit位寬,為下一步反向轉(zhuǎn)義做好數(shù)據(jù)準(zhǔn)備。

        4.3 讀寫均衡控制

        為實(shí)現(xiàn)對(duì)DDR總線的分時(shí)復(fù)用[4-5],在讀寫控制模塊中定義一個(gè)讀寫計(jì)數(shù)器,完成讀寫均衡控制中的計(jì)數(shù)功能。在連續(xù)寫入固定量數(shù)據(jù)后,切換到讀狀態(tài);在連續(xù)讀出固定量數(shù)據(jù)后,又切換回寫入狀態(tài),如此反復(fù),可使讀寫吞吐量基本一致且足夠大。

        經(jīng)仿真測(cè)試和計(jì)算單位時(shí)間內(nèi)讀寫的數(shù)據(jù)個(gè)數(shù),如果每次讀寫數(shù)據(jù)為4 kbyte,讀、寫操作的總速率可達(dá)到18 Gbit/s,每個(gè)單向具有9 Gbit/s的速率。寫入數(shù)據(jù)時(shí),如果連續(xù)寫入數(shù)量未達(dá)到4 kbyte,卻出現(xiàn)沒有數(shù)據(jù)輸入或DDR存儲(chǔ)器已滿時(shí),將主動(dòng)切換到讀數(shù)據(jù)狀態(tài)。在讀數(shù)據(jù)時(shí),在連續(xù)讀出數(shù)量未達(dá)到4 kbyte,卻出現(xiàn)DDR存儲(chǔ)器已空時(shí),將切換到寫數(shù)據(jù)狀態(tài)。

        5 仿真測(cè)試

        為了驗(yàn)證方案中轉(zhuǎn)義處理的可靠性和有效性,圖8給出了寫轉(zhuǎn)義和讀反向轉(zhuǎn)義的FPGA仿真圖。圖8a中B_TM是寫轉(zhuǎn)義前的數(shù)據(jù),A_TM是寫轉(zhuǎn)義后的數(shù)據(jù),設(shè)置SOF標(biāo)識(shí)為64 bit特定數(shù)據(jù)0x7e1234567e123456,EOF標(biāo)識(shí)為64 bit特定數(shù)據(jù)0x7e12345d7e12345d,轉(zhuǎn)義標(biāo)識(shí)符為64 bit特定數(shù)據(jù)0x7e12345f7e12345f。從圖中,可以看出寫轉(zhuǎn)義前的數(shù)據(jù)為0x7e1234567e123456,0x7e12345f7e12345f,0x300000004,……,其中,SOF標(biāo)識(shí)后的第1個(gè)64 bit有效數(shù)據(jù)與轉(zhuǎn)義標(biāo)識(shí)符相同,于是對(duì)其進(jìn)行轉(zhuǎn)義變換為0x7e12345f7e12345f,0xfe12345f7e12345f,如圖 8b 所示,B_ITM是從DDR存儲(chǔ)器讀出數(shù)據(jù)后,讀反向轉(zhuǎn)義前的數(shù)據(jù)。圖8c中的A_ITM是讀反轉(zhuǎn)義后的數(shù)據(jù),與原始數(shù)據(jù)一致。采用轉(zhuǎn)義的方法后,讀數(shù)據(jù)時(shí)的時(shí)延問題(發(fā)送讀命令后,期望的數(shù)據(jù)要在幾十個(gè)時(shí)鐘周期后出現(xiàn)在讀數(shù)據(jù)總線上)可以得到有效解決。

        圖8 DDR控制器寫轉(zhuǎn)義與讀反向轉(zhuǎn)義仿真圖(截圖)

        6 結(jié)束語(yǔ)

        本文提出一種基于FPGA實(shí)現(xiàn)的DDR控制器設(shè)計(jì)方案,采用了多凈荷包組裝,轉(zhuǎn)義與反向轉(zhuǎn)義方法以及讀寫控制的流量均衡算法設(shè)計(jì),改進(jìn)了數(shù)據(jù)封裝與解析方式以及讀寫控制方法。該DDR控制器統(tǒng)籌兼顧了數(shù)據(jù)讀寫的可靠性和有效性,有效提高了DDR存儲(chǔ)器的管理效率和內(nèi)存利用率。經(jīng)實(shí)際應(yīng)用測(cè)試,該DDR控制器在千兆線速數(shù)據(jù)采集卡中已得到有效運(yùn)用,保證了高速大容量的數(shù)據(jù)緩沖功能,具有廣泛適用性和較高的應(yīng)用價(jià)值。

        [1]DOUBLE DATA RATE(DDR)SDRAM Specification[EB/OL].[2012-06-10].http://download.csdn.net/detail/macrojiali/3069228.

        [2]使用Virtex-5 FPGA器件實(shí)現(xiàn)DDR SDRAM控制器[EB/OL].[2012-06-10].http://www.docin.com/p -9751883.html.

        [3]門亮,王立欣.基于FPGA的DDR SDRAM控制器在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].電子產(chǎn)品世界,2007(C00):99-103.

        [4]姚瑋,趙海慶,陳金樹.基于Stratix器件的高速DDR緩存系統(tǒng)優(yōu)化設(shè)計(jì)[J].電視技術(shù),2005,29(S1):69-72.

        [5]ZHOU Zude,CHENG Songlin,LIU Quan.Application of DDR Controller for High-speed Data Acquisition Board[C]//Proc.Innovative Computing Information and Control,ICICIC '06.Beijing,China:[s.n.],2006:611-614.

        猜你喜歡
        標(biāo)識(shí)符荷包存儲(chǔ)器
        淺析5G V2X 通信應(yīng)用現(xiàn)狀及其側(cè)鏈路標(biāo)識(shí)符更新技術(shù)
        剪下個(gè)荷包樣
        基于底層虛擬機(jī)的標(biāo)識(shí)符混淆方法
        繡荷包
        靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
        基于區(qū)塊鏈的持久標(biāo)識(shí)符系統(tǒng)①
        戴荷包
        繡荷包(女聲無伴奏合唱)
        數(shù)字美術(shù)館“數(shù)字對(duì)象唯一標(biāo)識(shí)符系統(tǒng)”建設(shè)需求淺議
        存儲(chǔ)器——安格爾(墨西哥)▲
        免费无码又爽又刺激聊天app| 国产精品麻豆A在线播放| 国产精品综合久久久久久久免费| 亚洲国产香蕉视频欧美| 女同成片av免费观看| 91亚洲最新国语中文字幕| 国产一区三区二区视频在线观看 | 人人妻人人玩人人澡人人爽 | 国产三级在线观看播放视频| 女同中的p是什么意思| 无码成年性午夜免费网站蜜蜂| av毛片一区二区少妇颜射| 久久国产女同一区二区| 女人天堂国产精品资源麻豆| 久久热免费最新精品视频网站| 亚洲av无码日韩av无码网站冲| 美女脱了内裤张开腿让男人桶网站| 亚洲精品熟女国产| 久久精品国产91久久性色tv| 久久久亚洲精品蜜桃臀| 一区二区三区手机看片日本韩国| 国产av剧情刺激对白| 午夜福利理论片在线观看| 国产午夜视频在线观看| 亚洲午夜成人片| 大量老肥熟女老女人自拍| 精品人妻av中文字幕乱| 嫩草伊人久久精品少妇av| 乱码丰满人妻一二三区| 久久99精品久久久久久hb无码| 亚洲老熟妇愉情magnet| 男女啪啪免费视频网址| 丰满少妇被爽的高潮喷水呻吟| 亚洲色图三级在线观看| 国产精品久久777777| 人禽伦免费交视频播放| 亚洲av无码片在线播放| 日韩精品免费一区二区中文字幕| 国产日韩精品中文字幕| 极品老师腿张开粉嫩小泬| 亚洲色爱免费观看视频|