999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2013-08-13 05:06:34王曉嬌張治中
電視技術(shù) 2013年5期
關(guān)鍵詞:設(shè)計(jì)

王曉嬌,張治中

(重慶郵電大學(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ù)的封裝處理和讀寫(xiě)控制方法難以很好地兼顧數(shù)據(jù)訪問(wèn)的可靠性和有效性,且容錯(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作為一種用戶接口,提供地址/命令、寫(xiě)數(shù)據(jù)和讀數(shù)據(jù)3個(gè)FIFO。前2個(gè)FIFO由不同的用戶后端邏輯加載,而讀數(shù)據(jù)FIFO則由PHY控制器訪問(wèn),以將采集的數(shù)據(jù)存儲(chǔ)在每個(gè)讀周期上。通過(guò)用戶接口,可以發(fā)出命令,向DDR存儲(chǔ)器提供寫(xiě)數(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ù)讀寫(xiě)訪問(wèn)所存在的不足,提出一種基于FPGA實(shí)現(xiàn)的模塊化設(shè)計(jì),采用多數(shù)據(jù)包重組和轉(zhuǎn)義思想,以及讀寫(xiě)控制方法,其模塊設(shè)計(jì)框圖如圖2所示。DDR控制器主要包括:多凈荷包組裝模塊、寫(xiě)轉(zhuǎn)義模塊、讀反向轉(zhuǎn)義模塊、多凈荷包解封裝模塊、讀寫(xiě)控制邏輯以及存儲(chǔ)器接口邏輯。

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

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

2.2 基本工作流程

DDR控制器存儲(chǔ)和讀取數(shù)據(jù)的基本流程如圖3所示。首先,對(duì)多個(gè)凈荷包進(jìn)行組裝并進(jìn)行寫(xiě)轉(zhuǎn)義處理;然后,在處于寫(xiě)操作時(shí)鐘周期時(shí),將寫(xiě)轉(zhuǎn)義處理后的數(shù)據(jù)寫(xiě)入到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ǔ)器寫(xiě)入數(shù)據(jù)前,對(duì)數(shù)據(jù)進(jìn)行兩級(jí)預(yù)處理。多凈荷包組裝是第一級(jí)數(shù)據(jù)預(yù)處理,該方法旨在有效減少短包對(duì)CPU的中斷次數(shù),降低資源開(kāi)銷(xiāo),提高DDR控制器的處理效率。多凈荷包組裝模塊封裝的數(shù)據(jù)包格式如圖4所示。

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

多凈荷包組裝過(guò)程:首先,將一個(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 寫(xiě)轉(zhuǎn)義的邏輯設(shè)計(jì)

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

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

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

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

讀反向轉(zhuǎn)義是寫(xiě)轉(zhuǎn)義的逆過(guò)程,解析從DDR緩存所讀取的數(shù)據(jù)流。讀反向轉(zhuǎn)義變換的規(guī)則是:從有SOF、EOF和轉(zhuǎn)義標(biāo)識(shí)符的數(shù)據(jù)流中讀出并過(guò)濾掉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)含義見(jiàn)表2(RTM是Reverse Transferred Meaning的英文縮寫(xiě))。

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

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

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

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

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

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

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

寫(xiě)地址寄存器存放寫(xiě)入數(shù)據(jù)的地址。在寫(xiě)入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ù)。在寫(xiě)入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)換

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

4.3 讀寫(xiě)均衡控制

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

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

5 仿真測(cè)試

為了驗(yàn)證方案中轉(zhuǎn)義處理的可靠性和有效性,圖8給出了寫(xiě)轉(zhuǎn)義和讀反向轉(zhuǎn)義的FPGA仿真圖。圖8a中B_TM是寫(xiě)轉(zhuǎn)義前的數(shù)據(jù),A_TM是寫(xiě)轉(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。從圖中,可以看出寫(xiě)轉(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í)延問(wèn)題(發(fā)送讀命令后,期望的數(shù)據(jù)要在幾十個(gè)時(shí)鐘周期后出現(xiàn)在讀數(shù)據(jù)總線上)可以得到有效解決。

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

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

本文提出一種基于FPGA實(shí)現(xiàn)的DDR控制器設(shè)計(jì)方案,采用了多凈荷包組裝,轉(zhuǎn)義與反向轉(zhuǎn)義方法以及讀寫(xiě)控制的流量均衡算法設(shè)計(jì),改進(jìn)了數(shù)據(jù)封裝與解析方式以及讀寫(xiě)控制方法。該DDR控制器統(tǒng)籌兼顧了數(shù)據(jù)讀寫(xiě)的可靠性和有效性,有效提高了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]門(mén)亮,王立欣.基于FPGA的DDR SDRAM控制器在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].電子產(chǎn)品世界,2007(C00):99-103.

[4]姚瑋,趙海慶,陳金樹(shù).基于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.

猜你喜歡
設(shè)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專(zhuān)
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 58av国产精品| 亚洲中文精品久久久久久不卡| 国内a级毛片| a级毛片免费看| 又猛又黄又爽无遮挡的视频网站| 中文无码伦av中文字幕| 91精品伊人久久大香线蕉| 欧美劲爆第一页| 欧美亚洲第一页| 亚洲天堂网2014| 国产黑丝视频在线观看| 国产精品私拍在线爆乳| 婷婷亚洲视频| 国产传媒一区二区三区四区五区| 欧美精品在线免费| 亚洲天堂免费观看| 一本久道久综合久久鬼色| 91精品啪在线观看国产91九色| 国产内射一区亚洲| 在线中文字幕日韩| 一本色道久久88综合日韩精品| 97se亚洲综合在线韩国专区福利| 特级做a爰片毛片免费69| 人与鲁专区| 超清无码一区二区三区| 日韩精品专区免费无码aⅴ| 日韩欧美中文字幕一本| 久草视频中文| 激情国产精品一区| 制服丝袜 91视频| 久草视频福利在线观看| 成人毛片在线播放| 999国产精品| 91蜜芽尤物福利在线观看| 亚洲成人动漫在线观看| 成人国产精品2021| 91亚洲视频下载| 香蕉久人久人青草青草| 日韩在线网址| 久久免费看片| 国产精品欧美激情| 国产女人18毛片水真多1| 中国一级毛片免费观看| 亚洲免费黄色网| 青青草综合网| 五月婷婷丁香综合| 喷潮白浆直流在线播放| 久久综合九色综合97网| 国产精品亚洲欧美日韩久久| 无码区日韩专区免费系列| 22sihu国产精品视频影视资讯| 欧美日韩资源| 精品乱码久久久久久久| 国产成人亚洲欧美激情| 青青草91视频| 免费激情网站| 国产福利一区视频| 国产精品观看视频免费完整版| 极品私人尤物在线精品首页| 国产成人精品一区二区免费看京| 91原创视频在线| 中文字幕久久亚洲一区| 亚洲国产精品日韩专区AV| 国产高清在线观看91精品| 麻豆精品在线播放| 欧美激情视频二区| 亚洲天堂区| 国产成年女人特黄特色毛片免 | 色精品视频| 国产成人区在线观看视频| 伊人久久福利中文字幕| 一本大道东京热无码av | 欧美黄网在线| 91高清在线视频| 精品撒尿视频一区二区三区| 久久人搡人人玩人妻精品一| 真实国产精品vr专区| 国产一级小视频| 巨熟乳波霸若妻中文观看免费| 中文无码精品A∨在线观看不卡| 国产精品任我爽爆在线播放6080 | 青青青国产视频|