0 引言
在EPON(Ethernet Passive Optical Network,以太無源光網(wǎng)絡(luò))系統(tǒng)中.OLT需要同時(shí)和多個(gè)ONU進(jìn)行通信.準(zhǔn)確無誤地解析和發(fā)送數(shù)據(jù)是系統(tǒng)成功的關(guān)鍵之一。OLT根據(jù)LUD和MAC地址來尋找發(fā)送幀的目的地或查找接收幀的源地址.因此OLT系統(tǒng)內(nèi)部必須擁有一個(gè)高速的LUD和MAC對(duì)應(yīng)關(guān)系的查找表模塊.這樣才能完成相應(yīng)的功能。
本文根據(jù)10G EPON全球化標(biāo)準(zhǔn)IEEE802.3av提出了一種利用CAM(Content Addressable Memory)IP核實(shí)現(xiàn)10G EPON OLT系統(tǒng)中MAC/LLID(Logical Link Identifier.邏輯鏈路標(biāo)識(shí))多隊(duì)列管理的設(shè)計(jì)方案.并基于Xilinx公司的Vitex5 FXT FPGA開發(fā)平臺(tái)進(jìn)行設(shè)計(jì)開發(fā)和驗(yàn)證。
1 Xilinx CAM IP核
多數(shù)的存儲(chǔ)器是基于地址串行查找.而CAM作為內(nèi)容查找存儲(chǔ)器在進(jìn)行查找操作的時(shí)候不僅是并行的.而且采用陣列式存儲(chǔ)方式,并提供優(yōu)于其他搜索算法的操作性能.所以常被用在網(wǎng)絡(luò)、通信、存儲(chǔ)等等需要高速處理的場(chǎng)合。典型的CAM結(jié)構(gòu)如圖1所示。CAM的操作分為查找操作(也叫讀操作、匹配操作)和寫操作。

圖1典型的CAM結(jié)構(gòu)
當(dāng)執(zhí)行查找操作時(shí).CAM接收到外部的輸入匹配數(shù)據(jù)時(shí),先將數(shù)據(jù)存儲(chǔ)到比較寄存器中。掩碼寄存器的功能是屏蔽無需比較的數(shù)據(jù)位。比較寄存器和掩碼寄存器的內(nèi)容共同組成一個(gè)查找字廣播到存儲(chǔ)器組中,與不同的相關(guān)聯(lián)字進(jìn)行并行匹配.結(jié)果被反饋到優(yōu)先譯碼器中.得到一個(gè)具有最高優(yōu)先權(quán)的匹配地址和匹配成功標(biāo)識(shí)。
當(dāng)執(zhí)行寫操作時(shí).字選擇寄存器會(huì)根據(jù)輸入的地址來產(chǎn)生對(duì)l到N個(gè)相關(guān)聯(lián)字進(jìn)行操作的信號(hào)。
對(duì)FPGA器件來說.IP(Intellectual Propertyl就是已經(jīng)設(shè)計(jì)好的模塊.是待用的HDL代碼或者網(wǎng)表級(jí)文件。Xilinx提供的CAM IP核具備典型CAM的功能。
2 10G EPON OLT MAC/LLID隊(duì)列
EPON系統(tǒng)具有點(diǎn)到多點(diǎn)的拓?fù)浣Y(jié)構(gòu).LLID在其中的作用是標(biāo)識(shí)通過點(diǎn)到點(diǎn)仿真子層建立起來的邏輯鏈接.位于前導(dǎo)碼的第六個(gè)字節(jié)到第七個(gè)字節(jié)。在一個(gè)EPON系統(tǒng)中.下行數(shù)據(jù)以廣播方式傳輸?shù)礁鱾€(gè)ONU,ONU接收自身LLID或者廣播LLID的數(shù)據(jù)包。
根據(jù)IEEE 802.3av協(xié)議規(guī)定.在10G EPON OLT系統(tǒng)中.下行數(shù)據(jù)和上行數(shù)據(jù)在幀頭替換時(shí)處理方式有所不同。數(shù)據(jù)在上行時(shí)需添加統(tǒng)一的以太標(biāo)準(zhǔn)幀頭。而下行處理時(shí)需要根據(jù)每個(gè)幀的不同目的MAC地址添加對(duì)應(yīng)的LLID.并要求對(duì)LLID域進(jìn)行CRC8校驗(yàn)。因此.需要設(shè)計(jì)一個(gè)MAC/LLID查找添加模塊。考慮到10G EPON系統(tǒng)具有高速的查找要求.所以在設(shè)計(jì)過程中采用CAM IP核來實(shí)現(xiàn)MAC/LLID存儲(chǔ)部分。
3 利用CAM核實(shí)現(xiàn)MAC/LUD多隊(duì)列管理
MAC/LLID多隊(duì)列管理系統(tǒng)的總體框圖如圖2所示,主要分為2個(gè)模塊,分別是CAM存儲(chǔ)模塊和外圍功能模塊。

圖2 MAC/LLID多隊(duì)列管理系統(tǒng)框圖
CAM存儲(chǔ)模塊主要實(shí)現(xiàn)多MAC的存儲(chǔ).利用CAM IP核實(shí)現(xiàn)。
假設(shè)每個(gè)ONU下帶2個(gè)MAC.則16個(gè)ONU總計(jì)使用32個(gè)MAC地址。根據(jù)IEEE 802.3av中定義,若下行1Gb/s、上行IGb/s。LLID廣播取值為Ox7FFF;若下行10Gb/s、上行1Gb/s(非對(duì)稱10G系統(tǒng))。亦或下行10Gb/s、上行10Gb/s(對(duì)稱10G系統(tǒng)),LLID廣播取值為0x7FFE:而0x7FFD~0x7F00為保留值。因此,根據(jù)協(xié)議規(guī)定.在邏輯設(shè)計(jì)中可取0x6F00~0x6FOF為16個(gè)LLID注冊(cè)分配值。如此分配的LLID只有最后4比特不同.所以在邏輯設(shè)計(jì)中可將LLID映射為IP核的寫入地址線.具體操作方法為:寫入的地址線的后4位取自LLID的最后4個(gè)比特.地址線最高位區(qū)別一個(gè)LLID所帶的2個(gè)不同的MAC。所以配置CAM深度為32,得到CAM輸入信號(hào)wr_addr[4:0]。
根據(jù)以太幀格式.目的MAC地址為6個(gè)字節(jié).所以配置CAM數(shù)據(jù)寬度為48比特.得到CAM輸入信號(hào)din[47:0]。
3.2外圍功能模塊
CAM IP核的外圍模塊主要實(shí)現(xiàn)MAC或LLID在CAM中查詢或者寫入前的數(shù)據(jù)處理工作和之后的輸出工作.這部分由邏輯設(shè)計(jì)完成。邏輯設(shè)計(jì)中特別定義了registered-nag[15:0]寄存器,寄存器中每一個(gè)比特位對(duì)應(yīng)了16個(gè)LLID預(yù)定范圍內(nèi)的某個(gè)特定值。在注冊(cè)的時(shí)候.與分配的LLID對(duì)應(yīng)的REG相應(yīng)位將置上,表示此LLID已被使用。利用此點(diǎn)可以很方便地在上行查找時(shí)驗(yàn)證LLID是否已經(jīng)有效.或者利用這個(gè)REG刪除CAM中存儲(chǔ)的LLID/MAC數(shù)據(jù)。
外圍模塊實(shí)現(xiàn)的主要功能可以分為:注冊(cè)(為多點(diǎn)控制協(xié)議MPCP中一部分.發(fā)生在上行)、上行查找、上行記錄以及下行查找.
①注冊(cè):若ONU發(fā)送注冊(cè)請(qǐng)求.OLT分配一個(gè)LLID給ONU.同時(shí)在LLID映射的地址線內(nèi)將MAC值寫入CAM。
②上行查找:OLT收到ONU發(fā)送的數(shù)據(jù)幀時(shí).首先根據(jù)收到的LLID查找registered_flag[15:0]寄存器,判斷該LLID是否有效。當(dāng)LLID有效.則繼續(xù)判斷該幀的源MAC是否已經(jīng)存入CAM中.方法是將該MAC值輸入到CAM中進(jìn)行匹配。若匹配.輸出匹配MAC值。說明上行傳輸有效。
③上行記錄:若上行MAC值在CAM中沒有匹配項(xiàng).則在LLID對(duì)應(yīng)的地址線內(nèi)將MAC值寫入CAM中。與注冊(cè)時(shí)寫入不同的是.對(duì)應(yīng)的地址線需變換最高位以區(qū)別2個(gè)不同的MAC。
④下行查找:當(dāng)OLT收到一個(gè)下行數(shù)據(jù)的時(shí)候,判斷該數(shù)據(jù)的目的MAC是否存儲(chǔ)在CAM中。如果已存儲(chǔ),那么根據(jù)匹配所在的地址.根據(jù)映射規(guī)則.得到LLID.下行傳輸有效.以便于后續(xù)模塊添加802.3av前導(dǎo)碼;反之,不做操作。
3.3數(shù)據(jù)流實(shí)現(xiàn)
CAM存儲(chǔ)模塊和外圍功能模塊內(nèi)部信號(hào)互連如圖3所示,模塊左列為輸入項(xiàng),右列為輸出項(xiàng)。cam_pre模塊實(shí)現(xiàn)CAM存儲(chǔ)模塊的外圍功能,cam_mac是本設(shè)計(jì)中生成的CAM IP核。

圖3 CAM模塊和外圍模塊互連
當(dāng)cam_pre模塊接收到系統(tǒng)輸入信號(hào)up_flag為高電平時(shí),系統(tǒng)認(rèn)為此時(shí)為上行數(shù)據(jù)流。鎖存輸入信號(hào)llid和mac。檢查鎖存的llid是否在預(yù)分配范圍0x6F00~0x6FOF內(nèi)。若不在此范圍內(nèi),則認(rèn)為ONU未注冊(cè),需要檢查registered_flag[15:0]寄存器,尋找比特位為0的最低位位置.對(duì)應(yīng)的Uid分配給未注冊(cè)的ONU。同時(shí)registered_flag 寄存器對(duì)應(yīng)位置為l,輸出端we信號(hào)置為高電平.在 cam_mac中進(jìn)行在LLID映射的地址線內(nèi)存入鎖存MAC值的操作。若鎖存的llid在預(yù)分配范圍.檢查mac值是否在cam mac模塊中記錄:將we輸出信號(hào)置為低電平.cam_pre 模塊將鎖存的mac信號(hào)輸出到cam_mac中。在2個(gè)時(shí)鐘周期內(nèi)若有高電平match信號(hào)反饋到cam_pre中.則說明匹配成功.系統(tǒng)輸出mac值和mac值獲得標(biāo)識(shí)信號(hào);若無match反饋信號(hào).說明此mac值未被記錄到cam中.則輸出端we信號(hào)置為高電平.在cam_mac中進(jìn)行在LLID映射地址線內(nèi)存人鎖存MAC值的操作。
當(dāng)cam_pre模塊接收到系統(tǒng)輸入信號(hào)down_flag為高電平時(shí),系統(tǒng)認(rèn)為此時(shí)為下行數(shù)據(jù)流。鎖存輸入信號(hào)llid和mac。檢查mac值是否在cam_mac模塊中記錄:將we輸出信號(hào)置為低電平,cam_pre模塊將鎖存的mac信號(hào)輸出到cam_mac中。在2個(gè)時(shí)鐘周期內(nèi)若有高電平match信號(hào)反饋到cam_pre中.則說明匹配成功.cam_pre模塊得到cam_mac模塊反饋的地址,進(jìn)行反映射操作得到llid值。系統(tǒng)輸出Uid值和llid值獲得標(biāo)識(shí)信號(hào):若無match反饋信號(hào)。則不做操作。一旦mac或llid獲得標(biāo)識(shí)信號(hào)輸出高電平則說明上行或者下行傳輸數(shù)據(jù)幀可進(jìn)行后續(xù)幀處理。
3.4仿真及結(jié)果討論
在Xilinx virtex5平臺(tái)上對(duì)設(shè)計(jì)進(jìn)行編譯綜合。單獨(dú)綜合一個(gè)CAM核.最高速度205.255Mhz。系統(tǒng)期望速度200Mhz,若作為單系統(tǒng)仿真.由于輸出信號(hào)和cam_mac的反饋信號(hào)有關(guān).布線有延遲.所以系統(tǒng)綜合速度只能達(dá)到150~160MHz。但本系統(tǒng)作為OLT系統(tǒng)的內(nèi)部模塊使用,所以輸出端不設(shè)為output,則系統(tǒng)速度可達(dá)到200Mhz以上。調(diào)用Modelsim對(duì)設(shè)計(jì)進(jìn)行仿真驗(yàn)證.得到的時(shí)序仿真結(jié)果如圖4~圖6所示。

圖4 上行第一次注冊(cè)仿真圖

圖5 上行記錄MAC仿真圖

圖6 下行根據(jù)MAC查找LLID仿真圖
從仿真結(jié)果可以看出.本設(shè)計(jì)能完成MAC/LLID多隊(duì)列管理的基本功能,并具有單系統(tǒng)150MHz、內(nèi)部模塊200MHz的高處理速率。
4 結(jié)束語(yǔ)
本文基于IEEE 802.3av協(xié)議提出了一種利用Xilinx CAM IP核實(shí)現(xiàn)10G EPON OLT系統(tǒng)中MAC/LLID多隊(duì)列管理的方法.并通過模塊設(shè)計(jì)以及仿真驗(yàn)證.證明該方案能以200Mhz的內(nèi)部模塊處理速度應(yīng)用在OLT系統(tǒng)中。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF