專(zhuān)利名稱(chēng):一種fpga邏輯版本的加載方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種FPGA邏輯版本的加載方法和設(shè)備。
背景技術(shù):
現(xiàn)有的通信設(shè)備中,通常會(huì)采用通用CPU (Central Processing Unit,中央處理 器)、NP (Network Processor,網(wǎng)絡(luò)處理器)以及 ASIC (Application SpecificIntegrated Circuit,專(zhuān)用集成電路)做為報(bào)文轉(zhuǎn)發(fā)引擎。但是,這樣的轉(zhuǎn)發(fā)機(jī)制分別存在相應(yīng)的缺陷(1)采用通用CPU做轉(zhuǎn)發(fā)引擎時(shí),會(huì)受限于CPU的處理能力,即使采用目前業(yè)界最 強(qiáng)的多核處理器,其轉(zhuǎn)發(fā)能力也有限。(2)采用NP做轉(zhuǎn)發(fā)引擎,受限于NP的編程資源以及編程復(fù)雜度,僅能滿(mǎn)足簡(jiǎn)單應(yīng) 用場(chǎng)景的轉(zhuǎn)發(fā)高性能,無(wú)法滿(mǎn)足帶業(yè)務(wù)的高性能轉(zhuǎn)發(fā)需求。(3)采用ASIC做轉(zhuǎn)發(fā)引擎,其針對(duì)性很強(qiáng),僅能滿(mǎn)足特定的使用場(chǎng)合,另外,開(kāi)發(fā) 一款A(yù)SIC的周期也會(huì)很長(zhǎng),前期研制成本過(guò)高。由此可見(jiàn),要快速開(kāi)發(fā)一款高性能、多業(yè)務(wù)的通信設(shè)備,若采用上述三種方案,總 會(huì)有這樣或那樣的不足。因此,尋求其他設(shè)計(jì)方案來(lái)滿(mǎn)足需求,已成趨勢(shì)和必然。FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)技術(shù),相比與前述的 三種技術(shù),具有更好的可編程特性和更高的性能,因此,在通信設(shè)備上采用FPGA芯片做轉(zhuǎn) 發(fā)引擎,不僅可以具有高性能,而且,同樣可以滿(mǎn)足復(fù)雜業(yè)務(wù)轉(zhuǎn)發(fā)的需求,其技術(shù)原理示意 圖如圖1所示。在實(shí)際應(yīng)用中,采用FPGA芯片作為通信設(shè)備的轉(zhuǎn)發(fā)引擎的工作原理如下首先,根據(jù)通信設(shè)備的轉(zhuǎn)發(fā)和業(yè)務(wù)需求,軟件編寫(xiě)FPGA邏輯版本。系統(tǒng)啟動(dòng)后,CPU將FPGA邏輯版本加載到FPGA芯片內(nèi)部并使能,F(xiàn)PGA芯片就會(huì)按 FPGA邏輯版本的設(shè)計(jì)工作起來(lái)。當(dāng)接口卡收到報(bào)文后,提交到FPGA芯片,F(xiàn)PGA芯片內(nèi)部各模塊協(xié)同工作完成報(bào)文 轉(zhuǎn)發(fā)。在上述的整個(gè)轉(zhuǎn)發(fā)過(guò)程中,都不需要CPU或其他軟件的參與,滿(mǎn)足了高性能的轉(zhuǎn) 發(fā)需求。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題隨著通信設(shè)備需要滿(mǎn)足的業(yè)務(wù)需求的數(shù)量的增多,F(xiàn)PGA邏輯版本的大小就會(huì)相應(yīng) 的增加,而FPGA邏輯版本所占用的FPGA芯片的空間資源也會(huì)隨之越多。在應(yīng)用過(guò)程中,通信設(shè)備的業(yè)務(wù)需求規(guī)格(通信設(shè)備所能滿(mǎn)足的業(yè)務(wù)需求的數(shù) 量)自然是越多越好,這樣,通信設(shè)備的需求規(guī)格和FPGA芯片的空間資源便成為了一對(duì)不 可調(diào)和的矛盾。在FPGA芯片的空間資源一定的前提下,只能滿(mǎn)足該FPGA芯片的空間資源所能承 受的需求規(guī)格,如果該通信設(shè)備想實(shí)現(xiàn)更多的業(yè)務(wù)需求,便只能升級(jí)具有更多空間資源的 FPGA芯片,而升級(jí)FPGA芯片就會(huì)導(dǎo)致設(shè)備成本的大幅提高。
因此,如何在FPGA芯片的空間資源量一定的前提下,在通信設(shè)備中實(shí)現(xiàn)更多的業(yè) 務(wù)需求,便成了現(xiàn)有技術(shù)方案所無(wú)法解決的一個(gè)難題。
發(fā)明內(nèi)容
本發(fā)明提供一種FPGA邏輯版本的加載方法和設(shè)備,用以解決在FPGA芯片的空間 資源一定的情況下,如何高效的利用空間資源承載更多的業(yè)務(wù)需求的問(wèn)題。為達(dá)到上述目的,本發(fā)明一方面提供了一種FPGA邏輯版本的加載方法,應(yīng)用于包 含F(xiàn)PGA芯片的通信設(shè)備中,所述方法至少包括以下步驟所述通信設(shè)備將預(yù)設(shè)的FPGA測(cè)試邏輯版本加載到所述FPGA芯片中,并通過(guò)所述 FPGA測(cè)試邏輯版本對(duì)所述通信設(shè)備自身進(jìn)行硬件檢測(cè);所述通信設(shè)備保存所述硬件檢測(cè)的結(jié)果信息;所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中,根據(jù)保存的 所述硬件檢測(cè)的結(jié)果信息配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述通信設(shè) 備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。優(yōu)選的,所述預(yù)設(shè)的FPGA測(cè)試邏輯版本,具體為用于實(shí)現(xiàn)對(duì)所述FPGA芯片及所述 通信設(shè)備中的相應(yīng)的硬件進(jìn)行狀態(tài)檢測(cè)的一個(gè)或多個(gè)FPGA邏輯版本;所述預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本,具體為用于根據(jù)所述通信設(shè)備的業(yè)務(wù)需求進(jìn)行 相應(yīng)的報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本。優(yōu)選的,當(dāng)所述預(yù)設(shè)的FPGA測(cè)試邏輯版本具體為多個(gè)FPGA邏輯版本時(shí),所述方法 具體為所述通信設(shè)備將所述多個(gè)FPGA測(cè)試邏輯版本中的一個(gè)FPGA測(cè)試邏輯版本加載到 所述FPGA芯片中,通過(guò)當(dāng)前加載的FPGA測(cè)試邏輯版本對(duì)所述通信設(shè)備進(jìn)行相應(yīng)的硬件檢 測(cè);所述通信設(shè)備保存所述硬件檢測(cè)的結(jié)果信息;所述通信設(shè)備繼續(xù)將所述多個(gè)FPGA測(cè)試邏輯版本中的其他FPGA測(cè)試邏輯版本加 載到所述FPGA芯片中,進(jìn)行其他硬件檢測(cè);直至所述通信設(shè)備分別根據(jù)所述多個(gè)FPGA測(cè)試邏輯版本中所有的FPGA測(cè)試邏 輯版本完成了相應(yīng)的硬件檢測(cè)后,所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述 FPGA芯片中,根據(jù)保存的所述硬件檢測(cè)的結(jié)果信息配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā) 邏輯版本對(duì)所述通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。優(yōu)選的,當(dāng)所述預(yù)設(shè)的FPGA測(cè)試邏輯版本具體為多個(gè)FPGA邏輯版本時(shí),所述方法 具體為 所述通信設(shè)備將所述多個(gè)FPGA測(cè)試邏輯版本中的全部FPGA測(cè)試邏輯版本加載到 所述FPGA芯片中,分別通過(guò)當(dāng)前加載的各FPGA測(cè)試邏輯版本對(duì)所述通信設(shè)備進(jìn)行相應(yīng)的 硬件檢測(cè);所述通信設(shè)備保存所述硬件檢測(cè)的結(jié)果信息;所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中,根據(jù)保存的 所述硬件檢測(cè)的結(jié)果信息配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述通信設(shè) 備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
優(yōu)選的,所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中,根據(jù) 保存的所述硬件檢測(cè)的結(jié)果信息配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述 通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā),具體包括所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中;所述通信設(shè)備將保存的所述硬件檢測(cè)的結(jié)果信息,寫(xiě)入到所述FPGA芯片相對(duì)應(yīng) 的寄存器序列中;所述FPGA芯片根據(jù)所述寄存器序列中的結(jié)果信息,配置自身相對(duì)應(yīng)的RAM控制 器;所述通信設(shè)備使能所述FPGA轉(zhuǎn)發(fā)邏輯版本,對(duì)所述通信設(shè)備所接收到報(bào)文進(jìn)行 轉(zhuǎn)發(fā)。另一方面,本發(fā)明還提供了一種通信設(shè)備,包含F(xiàn)PGA芯片,所述通信設(shè)備包括存儲(chǔ)模塊,用于存儲(chǔ)FPGA測(cè)試邏輯版本和FPGA轉(zhuǎn)發(fā)邏輯版本;加載模塊,用于將所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè)試邏輯版本加載到所述FPGA芯 片中,在所述FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,將所述存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯 版本加載到所述FPGA芯片中;處理模塊,用于通過(guò)所述加載模塊加載到所述FPGA芯片中的FPGA測(cè)試邏輯版本 進(jìn)行硬件檢測(cè),將所述硬件檢測(cè)的結(jié)果信息保存到所述存儲(chǔ)模塊中,并在所述加載模塊將 所述存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中后,根據(jù)所述存儲(chǔ)模塊 所存儲(chǔ)的所述硬件檢測(cè)結(jié)果配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述通信 設(shè)備接收到的報(bào)文進(jìn)行轉(zhuǎn)發(fā)。優(yōu)選的,所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè)試邏輯版本,具體為用于實(shí)現(xiàn)對(duì)所述FPGA 芯片及所述通信設(shè)備中的相應(yīng)的硬件進(jìn)行狀態(tài)檢測(cè)的一個(gè)或多個(gè)FPGA邏輯版本;所述存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本,具體為用于根據(jù)所述通信設(shè)備的業(yè) 務(wù)需求進(jìn)行相應(yīng)的報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本。優(yōu)選的,當(dāng)所述所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè)試邏輯版本具體為多個(gè)FPGA邏輯 版本時(shí),所述加載模塊,具體用于將所述存儲(chǔ)模塊所存儲(chǔ)的多個(gè)FPGA測(cè)試邏輯版本中的一個(gè)FPGA測(cè)試邏輯版本加 載到所述FPGA芯片中,在所述FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,繼續(xù)將所述多個(gè)FPGA 測(cè)試邏輯版本中的其他FPGA測(cè)試邏輯版本加載到所述FPGA芯片中,直至所述多個(gè)FPGA測(cè) 試邏輯版本中所有的FPGA測(cè)試邏輯版本均完成了相應(yīng)的硬件檢測(cè)后,將所述存儲(chǔ)模塊所 存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中。優(yōu)選的,當(dāng)所述所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè)試邏輯版本具體為多個(gè)FPGA邏輯 版本時(shí),所述加載模塊,具體用于將所述存儲(chǔ)模塊所存儲(chǔ)的多個(gè)FPGA測(cè)試邏輯版本中的全部FPGA測(cè)試邏輯版本加 載到所述FPGA芯片中,在所有的FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,將所述存儲(chǔ)模塊所存 儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中。優(yōu)選的,在所述加載模塊將所述存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所 述FPGA芯片中后,所述處理模塊,具體用于將所述存儲(chǔ)模塊所保存的所述硬件檢測(cè)的結(jié)果信息寫(xiě)入
6所述FPGA芯片相對(duì)應(yīng)的寄存器序列中,以使所述FPGA芯片根據(jù)所述寄存器序列中的結(jié)果 信息配置所述FPGA芯片中相應(yīng)的RAM控制器,并在所述FPGA芯片的配置過(guò)程完成之后,使 能所述FPGA轉(zhuǎn)發(fā)邏輯版本,對(duì)所述通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)通過(guò)應(yīng)用本發(fā)明的技術(shù)方案,將用于硬件檢測(cè)的FPGA邏輯版本與用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本進(jìn)行拆分,優(yōu)先加載用于硬件檢測(cè)的FPGA邏輯版本,在其硬件檢測(cè)的功能 執(zhí)行完畢之后,才進(jìn)行用于報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本的加載,從而,可以使用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本在加載到FPGA芯片之后,獲得更多的空間資源,實(shí)現(xiàn)在FPGA芯片的空間 資源量一定的前提下,使通信設(shè)備可以支持更多的業(yè)務(wù)需求的目的,提高通信設(shè)備的轉(zhuǎn)發(fā) 性能以及FPGA芯片的空間資源利用率。
圖1為現(xiàn)有技術(shù)中FPGA技術(shù)的技術(shù)原理示意圖;圖2為本發(fā)明所提出的一種FPGA邏輯版本的加載方法的流程示意圖;圖3為現(xiàn)有技術(shù)的通信設(shè)備中的FPGA邏輯版本的加載流程的示意圖;圖4為本發(fā)明實(shí)施例提出的技術(shù)方案中第一次加載FPGA邏輯版本的流程示意 圖;圖5為本發(fā)明實(shí)施例提出的技術(shù)方案中第二次加載FPGA邏輯版本的流程示意 圖;圖6為本發(fā)明所提出的一種通信設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式如背景技術(shù)所述,現(xiàn)有通信設(shè)備中的FPGA芯片的FPGA邏輯版本的加載策略中,需 要將全部的FPGA邏輯版本一次性加載到FPGA芯片中,但事實(shí)上,F(xiàn)PGA邏輯版本中,除了包 含轉(zhuǎn)發(fā)和業(yè)務(wù)等必須的功能所對(duì)應(yīng)的內(nèi)容外,還包含了一部分在邏輯必須存在,但僅需要 執(zhí)行一次的功能所對(duì)應(yīng)的內(nèi)容,這樣的功能包括FPGA芯片自檢、DDR(Double Data Rate,雙 倍速率)RAM (Random Access Memory,隨機(jī)存儲(chǔ)器)自檢、DDR Training (訓(xùn)練)等,這部分 功能在系統(tǒng)啟動(dòng)時(shí)執(zhí)行一次后,便再不會(huì)執(zhí)行,但其所對(duì)應(yīng)的內(nèi)容在FPGA芯片中卻固定的 占有著一部分空間資源,這無(wú)疑造成了有限的FPGA芯片的空間資源的浪費(fèi)。為方便說(shuō)明,在后文中,將上述的這部分功能稱(chēng)為邏輯測(cè)試功能。在實(shí)際應(yīng)用中, 邏輯測(cè)試功能所對(duì)應(yīng)的FPGA邏輯版本的內(nèi)容會(huì)占用FPGA芯片約15 20%的空間資源。 如果能節(jié)省掉這一部分空間資源的占用,而將這部分空間資源提供給轉(zhuǎn)發(fā)和業(yè)務(wù)等必須的 功能所對(duì)應(yīng)的內(nèi)容的話(huà),將極大的提高FPGA芯片的空間資源利用率。基于這樣的思路,本發(fā)明通過(guò)應(yīng)用FPGA邏輯版本的多次加載技術(shù),有效地提高 FPGA芯片中空間資源的利用率。如圖2所示,為本發(fā)明提出的一種FPGA邏輯版本的加載方法的流程示意圖,該方 法應(yīng)用于包含F(xiàn)PGA芯片的通信設(shè)備中,具體包括以下步驟步驟S201、通信設(shè)備將預(yù)設(shè)的FPGA測(cè)試邏輯版本加載到FPGA芯片中,并通過(guò) FPGA測(cè)試邏輯版本對(duì)通信設(shè)備自身進(jìn)行硬件檢測(cè)。
步驟S202、通信設(shè)備保存硬件檢測(cè)的結(jié)果信息。步驟S203、通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到FPGA芯片中,根據(jù)保存的 硬件檢測(cè)的結(jié)果信息配置該FPGA芯片,通過(guò)FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)通信設(shè)備所接收到報(bào)文 進(jìn)行轉(zhuǎn)發(fā)。在本步驟執(zhí)行的過(guò)程中,加載到FPGA芯片中的FPGA轉(zhuǎn)發(fā)邏輯版本完成了對(duì)步驟 S201中加載到FPGA芯片中的FPGA測(cè)試邏輯版本的覆蓋。在上述的處理過(guò)程中,預(yù)先將現(xiàn)有的完整的FPGA邏輯版本劃分為兩種類(lèi)型,即 FPGA測(cè)試邏輯版本和FPGA轉(zhuǎn)發(fā)邏輯版本,其中(1) FPGA測(cè)試邏輯版本即前述的邏輯測(cè)試功能所對(duì)應(yīng)的內(nèi)容所組成的FPGA邏輯版本,在實(shí)際的應(yīng)用中, 可以將所有類(lèi)型的邏輯測(cè)試功能所對(duì)應(yīng)的內(nèi)容集合在一起生成一個(gè)FPGA邏輯版本,作為 FPGA測(cè)試邏輯版本,也可以分別將一個(gè)或多個(gè)類(lèi)型的邏輯測(cè)試功能生成相應(yīng)的FPGA邏輯 版本,即生成了多個(gè)FPGA測(cè)試邏輯版本。在實(shí)際應(yīng)用中,F(xiàn)PGA測(cè)試邏輯版本具體是一個(gè)還是多個(gè)FPGA邏輯版本可以根據(jù) 實(shí)際需要進(jìn)行調(diào)整,這樣的變化并不影響本發(fā)明的保護(hù)范圍??紤]到FPGA測(cè)試邏輯版本所執(zhí)行的功能均是基于通信設(shè)備和FPGA芯片的硬件部 分的檢測(cè)功能,所以,上述的FPGA測(cè)試邏輯版本具體可以根據(jù)通信設(shè)備的硬件配置信息以 及相應(yīng)的硬件檢測(cè)策略生成。(2) FPGA轉(zhuǎn)發(fā)邏輯版本即前述的報(bào)文轉(zhuǎn)發(fā)功能所對(duì)應(yīng)的內(nèi)容所組成的FPGA邏輯版本,是FPGA芯片的核 心功能所需的FPGA邏輯版本,具體為根據(jù)該通信設(shè)備的業(yè)務(wù)需求所生成的FPGA邏輯版本。進(jìn)一步的,由于FPGA測(cè)試邏輯版本可能為一個(gè)FPGA邏輯版本,也可能為多個(gè)FPGA 邏輯版本,因此,相應(yīng)的處理過(guò)程也會(huì)存在相應(yīng)的區(qū)別,其中,如果FPGA測(cè)試邏輯版本只是 一個(gè)FPGA邏輯版本,那么,可以按照上述的步驟S201和步驟S202進(jìn)行相應(yīng)的處理,而如果 FPGA測(cè)試邏輯版本是由多個(gè)FPGA邏輯版本組成,那么,在具體的實(shí)施場(chǎng)景中,上述的步驟 S201和步驟S202的具體處理過(guò)程根據(jù)FPGA測(cè)試邏輯版本的加載策略的差異,可以分為以 下兩種情況情況一、將多個(gè)FPGA測(cè)試邏輯版本分多次進(jìn)行加載在此種情況中,相應(yīng)的處理過(guò)程如下首先,通信設(shè)備將多個(gè)FPGA測(cè)試邏輯版本中的一個(gè)FPGA測(cè)試邏輯版本加載到 FPGA芯片中,通過(guò)當(dāng)前加載的FPGA測(cè)試邏輯版本對(duì)通信設(shè)備進(jìn)行相應(yīng)的硬件檢測(cè)。在硬件檢測(cè)完成后,通信設(shè)備保存該次硬件檢測(cè)的結(jié)果信息。然后,通信設(shè)備繼續(xù)將多個(gè)FPGA測(cè)試邏輯版本中的其他FPGA測(cè)試邏輯版本加載 到FPGA芯片中,進(jìn)行其他硬件檢測(cè)。上述的過(guò)程相當(dāng)于針對(duì)多個(gè)FPGA測(cè)試邏輯版本中的每個(gè)FPGA測(cè)試邏輯版本都執(zhí) 行一次上述的步驟S201和步驟S202的操作,即分別根據(jù)每個(gè)FPGA測(cè)試邏輯版本對(duì)通信設(shè) 備進(jìn)行相對(duì)應(yīng)的硬件檢測(cè)。在具體的實(shí)現(xiàn)過(guò)程中,對(duì)于加載各FPGA測(cè)試邏輯版本的順序可以根據(jù)實(shí)際需要 進(jìn)行調(diào)整,這樣的變化并不影響本發(fā)明的保護(hù)范圍。
在通信設(shè)備分別根據(jù)多個(gè)FPGA測(cè)試邏輯版本中所有的FPGA測(cè)試邏輯版本都完成 了相應(yīng)的硬件檢測(cè)之后,該通信設(shè)備執(zhí)行前述的步驟S203,將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加 載到FPGA芯片中,根據(jù)保存的硬件檢測(cè)的結(jié)果信息配置該FPGA芯片中相應(yīng)的硬件,通過(guò) FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。情況二、將多個(gè)FPGA測(cè)試邏輯版本一次性進(jìn)行加載在此種情況中,相應(yīng)的處理過(guò)程如下通信設(shè)備將多個(gè)FPGA測(cè)試邏輯版本中的全部FPGA測(cè)試邏輯版本一次性加載到 FPGA芯片中,并分別通過(guò)當(dāng)前加載的各FPGA測(cè)試邏輯版本對(duì)通信設(shè)備進(jìn)行相應(yīng)的硬件檢 測(cè)。通信設(shè)備保存硬件檢測(cè)的結(jié)果信息。上述的過(guò)程相當(dāng)于同時(shí)對(duì)多個(gè)FPGA測(cè)試邏輯版本中的每個(gè)FPGA測(cè)試邏輯版本執(zhí) 行上述的步驟S201和步驟S202的操作,即同步進(jìn)行多個(gè)FPGA測(cè)試邏輯版本相對(duì)應(yīng)的硬件 檢測(cè)。而在所有的FPGA測(cè)試邏輯版本均完成了相應(yīng)的硬件檢測(cè)之后,該通信設(shè)備執(zhí)行 前述的步驟S203,通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到FPGA芯片中,根據(jù)保存的硬 件檢測(cè)的結(jié)果信息配置該FPGA芯片中相應(yīng)的硬件,通過(guò)FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)通信設(shè)備所 接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。在具體的實(shí)施場(chǎng)景中,前述的步驟S203的處理過(guò)程中進(jìn)一步包括對(duì)已保存的硬 件檢測(cè)的結(jié)果信息的配置過(guò)程,具體說(shuō)明如下通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到FPGA芯片中。通信設(shè)備將保存的硬件檢測(cè)的結(jié)果信息,寫(xiě)入FPGA芯片中相應(yīng)的寄存器序列中。FPGA芯片的內(nèi)部邏輯進(jìn)一步根據(jù)寄存器序列中的結(jié)果信息配置該FPGA芯片中相 應(yīng)的RAM控制器。通信設(shè)備使能FPGA轉(zhuǎn)發(fā)邏輯版本,對(duì)通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)通過(guò)應(yīng)用本發(fā)明的技術(shù)方案,將用于硬件檢測(cè)的FPGA邏輯版本與用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本進(jìn)行拆分,優(yōu)先加載用于硬件檢測(cè)的FPGA邏輯版本,在其硬件檢測(cè)的功能 執(zhí)行完畢之后,才進(jìn)行用于報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本的加載,從而,可以使用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本在加載到FPGA芯片之后,獲得更多的空間資源,實(shí)現(xiàn)在FPGA芯片的空間 資源量一定的前提下,使通信設(shè)備可以支持更多的業(yè)務(wù)需求的目的,提高通信設(shè)備的轉(zhuǎn)發(fā) 性能以及FPGA芯片的空間資源利用率。為了進(jìn)一步闡述本發(fā)明的技術(shù)思想,現(xiàn)結(jié)合具體的應(yīng)用場(chǎng)景,對(duì)本發(fā)明的技術(shù)方 案進(jìn)行說(shuō)明。為了描述更加清楚,后續(xù)的說(shuō)明中將現(xiàn)有的通信設(shè)備中的FPGA邏輯版本的加載 流程與本發(fā)明實(shí)施例所提出的FPGA邏輯版本的加載流程進(jìn)行比較說(shuō)明,為了便于描述,在 后續(xù)的說(shuō)明中,本發(fā)明實(shí)施例具體的以將完整的FPGA邏輯版本劃分為一個(gè)FPGA測(cè)試邏輯 版本和一個(gè)FPGA轉(zhuǎn)發(fā)邏輯版本的情況為例進(jìn)行處理流程的說(shuō)明,對(duì)于多個(gè)FPGA測(cè)試邏輯 版本可以參照前述的說(shuō)明,在此不再重復(fù)敘述。首先,在一臺(tái)通信設(shè)備進(jìn)行出廠(chǎng)設(shè)置時(shí),軟件開(kāi)發(fā)兩個(gè)FPGA邏輯版本
9
一個(gè)為FPGA測(cè)試邏輯版本,完成邏輯測(cè)試功能。另一個(gè)為FPGA轉(zhuǎn)發(fā)邏輯版本,完成正常業(yè)務(wù)轉(zhuǎn)發(fā)功能,與完整的FPGA邏輯版本相 比,此FPGA轉(zhuǎn)發(fā)邏輯版本已剔除了完整的FPGA邏輯版本中的邏輯測(cè)試功能。上述的兩個(gè)FPGA邏輯版本可以預(yù)先存儲(chǔ)于該通信設(shè)備內(nèi)的存儲(chǔ)資源空間中,如 該通信設(shè)備的物理內(nèi)存,緩存或者該通信設(shè)備內(nèi)部其他硬件的存儲(chǔ)資源空間(如CPU的本 地內(nèi)存等)內(nèi),具體存儲(chǔ)位置的變化并不會(huì)影響本發(fā)明的保護(hù)范圍。在系統(tǒng)在啟動(dòng)時(shí),通信設(shè)備分兩次加載上述的FPGA邏輯版本第一次加載FPGA測(cè)試邏輯版本,完成邏輯測(cè)試功能;第二次加載FPGA轉(zhuǎn)發(fā)邏輯版本,覆蓋FPGA測(cè)試邏輯版本,做正常的業(yè)務(wù)轉(zhuǎn)發(fā)?,F(xiàn)將現(xiàn)有的通信設(shè)備中的FPGA邏輯版本的加載流程與本發(fā)明實(shí)施例所提出的 FPGA邏輯版本的加載流程進(jìn)行比較,詳細(xì)描述二次加載技術(shù)的實(shí)現(xiàn)原理以及其先進(jìn)性。如圖3所示,為現(xiàn)有技術(shù)的通信設(shè)備中的FPGA邏輯版本的加載流程的示意圖,其 中沒(méi)有使用本發(fā)明實(shí)施例所提出的技術(shù)方案,具體的處理過(guò)程如下步驟S301、通信設(shè)備中的CPU將FPGA邏輯版本加載到FPGA芯片。步驟S302、FPGA芯片中的測(cè)試模塊根據(jù)FPGA邏輯版本做FPGA芯片自檢和DDR RAM自檢,并做DDR訓(xùn)練。步驟S303、FPGA芯片中的測(cè)試模塊將FPGA芯片自檢和DDR RAM自檢的結(jié)果寫(xiě)到 指定的寄存器序列中,并將DDR訓(xùn)練的訓(xùn)練結(jié)果配置到RAM控制器。步驟S304、通信設(shè)備中的CPU讀取指定的寄存器序列,獲取到FPGA芯片自檢和DDR RAM自檢的結(jié)果。步驟S305、通信設(shè)備中的CPU使能FPGA邏輯版本中與業(yè)務(wù)轉(zhuǎn)發(fā)相關(guān)的邏輯,F(xiàn)PGA 芯片中的轉(zhuǎn)發(fā)模塊開(kāi)始工作。由此可見(jiàn),對(duì)于現(xiàn)有的實(shí)現(xiàn)方案,在FPGA芯片上,僅在步驟S302至步驟S303中用 到進(jìn)行自檢和DDR訓(xùn)練過(guò)程的測(cè)試模塊,在步驟S305后則不會(huì)用到,但該測(cè)試模塊仍舊占 用著FPGA芯片中的空間資源,按照經(jīng)驗(yàn)估計(jì),F(xiàn)PGA芯片中約有20 %的空間資源被測(cè)試模 塊占用,而這部分空間資源在開(kāi)始進(jìn)行業(yè)務(wù)轉(zhuǎn)發(fā)后卻沒(méi)有再起到任何作用,因此,這對(duì)FPGA 芯片的空間資源造成一定程度的浪費(fèi)。為了避免上述的空間資源的浪費(fèi),本發(fā)明實(shí)施例提出了一種具體應(yīng)用場(chǎng)景中的 FPGA邏輯版本的加載方法,分兩次對(duì)FPGA邏輯版本進(jìn)行加載,具體的處理過(guò)程如下首先,如圖4所示,為本發(fā)明實(shí)施例提出的技術(shù)方案中第一次加載FPGA邏輯版本 的流程示意圖,在此次加載過(guò)程中,通信設(shè)備向FPGA芯片中加載了 FPGA測(cè)試邏輯版本。步驟S401、通信設(shè)備的CPU將FPGA測(cè)試邏輯版本加載到FPGA芯片。步驟S402、FPGA測(cè)試邏輯版本對(duì)FPGA芯片和DDR RAM做自檢以及DDR訓(xùn)練。步驟S403、FPGA測(cè)試邏輯版本將FPGA芯片自檢結(jié)果、DDR RAM自檢結(jié)果以及DDR 訓(xùn)練結(jié)果寫(xiě)入指定的寄存器序列。步驟S404、通信設(shè)備的CPU讀取寄存器序列,并將存儲(chǔ)于其中的結(jié)果信息存儲(chǔ)到 CPU本地內(nèi)存。至此,F(xiàn)PGA芯片中的測(cè)試階段已全部完成,而相應(yīng)的測(cè)試結(jié)果信息也已被提取存 儲(chǔ)到CPU的本地內(nèi)存,F(xiàn)PGA測(cè)試邏輯版本在后續(xù)處理中將不再有用,因此,CPU在可以在后續(xù)的過(guò)程中向FPGA芯片中加載FPGA轉(zhuǎn)發(fā)邏輯版本,對(duì)FPGA測(cè)試邏輯版本進(jìn)行覆蓋,將 FPGA芯片中的空間資源完全用于FPGA轉(zhuǎn)發(fā)邏輯版本,實(shí)現(xiàn)空間資源的有效利用。
如圖5所示,為本發(fā)明實(shí)施例提出的技術(shù)方案中第二次加載FPGA邏輯版本的流程 示意圖,在此次加載過(guò)程中,通信設(shè)備向FPGA芯片中加載了 FPGA轉(zhuǎn)發(fā)邏輯版本。
步驟S405、通信設(shè)備的CPU將FPGA轉(zhuǎn)發(fā)邏輯版本加載到FPGA芯片。步驟S406、通信設(shè)備的CPU讀取其本地內(nèi)存,將其中存儲(chǔ)的DDR訓(xùn)練結(jié)果寫(xiě)入到寄 存器序列。步驟S407、FPGA芯片上的內(nèi)部邏輯讀取寄存器序列中的DDR訓(xùn)練結(jié)果,并據(jù)此配 置RAM控制器。步驟S408、通信設(shè)備的CPU使能已加載在FPGA芯片上的FPGA轉(zhuǎn)發(fā)邏輯版本,使 FPGA轉(zhuǎn)發(fā)邏輯版本開(kāi)始執(zhí)行正常的業(yè)務(wù)轉(zhuǎn)發(fā)??梢钥吹降诙渭虞d的FPGA轉(zhuǎn)發(fā)邏輯版本與現(xiàn)有的完整的FPGA邏輯版本之間的 區(qū)別在于已經(jīng)剔除了邏輯測(cè)試功能,因此,F(xiàn)PGA芯片中更多的空間資源可以用于業(yè)務(wù)轉(zhuǎn)發(fā), 按照前述的邏輯測(cè)試功能占用20%空間資源的標(biāo)準(zhǔn)來(lái)推斷,相當(dāng)于在實(shí)際的業(yè)務(wù)轉(zhuǎn)發(fā)過(guò)程 中節(jié)約了 FPGA芯片近20%的空間資源,從而,在FPGA芯片的空間資源量一定的前提下,使 通信設(shè)備可以支持更多的業(yè)務(wù)需求。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)通過(guò)應(yīng)用本發(fā)明的技術(shù)方案,將用于硬件檢測(cè)的FPGA邏輯版本與用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本進(jìn)行拆分,優(yōu)先加載用于硬件檢測(cè)的FPGA邏輯版本,在其硬件檢測(cè)的功能 執(zhí)行完畢之后,才進(jìn)行用于報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本的加載,從而,可以使用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本在加載到FPGA芯片之后,獲得更多的空間資源,實(shí)現(xiàn)在FPGA芯片的空間 資源量一定的前提下,使通信設(shè)備可以支持更多的業(yè)務(wù)需求的目的,提高通信設(shè)備的轉(zhuǎn)發(fā) 性能以及FPGA芯片的空間資源利用率。為了實(shí)現(xiàn)本發(fā)明的技術(shù)方案,基于前述的說(shuō)明,本發(fā)明還提出了一種通信設(shè)備,該 通信設(shè)備中包含F(xiàn)PGA芯片,其結(jié)構(gòu)示意圖如圖6所示,該通信設(shè)備具體包括存儲(chǔ)模塊61,用于存儲(chǔ)FPGA測(cè)試邏輯版本和FPGA轉(zhuǎn)發(fā)邏輯版本。在實(shí)際的應(yīng)用中,上述的存儲(chǔ)模塊61具體可以為該通信設(shè)備內(nèi)的存儲(chǔ)資源空間, 如該通信設(shè)備的物理內(nèi)存,緩存或者該通信設(shè)備內(nèi)部其他硬件的存儲(chǔ)資源空間(如CPU的 本地內(nèi)存等)內(nèi),具體形式的變化并不會(huì)影響本發(fā)明的保護(hù)范圍。加載模塊62,用于將存儲(chǔ)模塊61所存儲(chǔ)的FPGA測(cè)試邏輯版本加載到FPGA芯片 中,在FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,將存儲(chǔ)模塊61所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加 載到FPGA芯片中,在具體的應(yīng)用場(chǎng)景中,加載模塊62相當(dāng)于前述的圖4所述的處理流程中 通信設(shè)備的CPU。處理模塊63,用于通過(guò)加載模塊62加載到FPGA芯片中的FPGA測(cè)試邏輯版本進(jìn)行 硬件檢測(cè),將硬件檢測(cè)的結(jié)果信息保存到存儲(chǔ)模塊61中,并在加載模塊62將存儲(chǔ)模塊61 所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到FPGA芯片中后,根據(jù)存儲(chǔ)模塊61所存儲(chǔ)的前述的硬件 檢測(cè)結(jié)果配置FPGA芯片,之后,通過(guò)FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)該通信設(shè)備接收到的報(bào)文進(jìn)行轉(zhuǎn) 發(fā)。在具體的應(yīng)用場(chǎng)景中,上述的處理模塊63相當(dāng)于前述的圖4所示的處理流程中的FPGA芯片的本地邏輯,通過(guò)加載于該FPGA芯片中的邏輯版本實(shí)現(xiàn)相應(yīng)的處理功能,在具體的應(yīng)用場(chǎng)景中,存儲(chǔ)模塊61所存儲(chǔ)的FPGA測(cè)試邏輯版本和FPGA轉(zhuǎn)發(fā)邏輯 版本同樣為將現(xiàn)有的完整的FPGA邏輯版本拆分后所形成的FPGA邏輯版本,相應(yīng)的具體解 釋參照前文的說(shuō)明,在此不再重復(fù)敘述。同樣的,由于FPGA測(cè)試邏輯版本可能為一個(gè)FPGA邏輯版本,也可能為多個(gè)FPGA 邏輯版本,因此,相應(yīng)的處理過(guò)程也會(huì)存在相應(yīng)的區(qū)別,如果FPGA測(cè)試邏輯版本是由多個(gè) FPGA邏輯版本組成,那么,在具體的實(shí)施場(chǎng)景中,根據(jù)FPGA測(cè)試邏輯版本的加載策略的差 異,加載模塊62的具體處理過(guò)程可以分為以下兩種情況情況一、加載模塊62將存儲(chǔ)模塊61所存儲(chǔ)的多個(gè)FPGA測(cè)試邏輯版本中的一個(gè) FPGA測(cè)試邏輯版本加載到FPGA芯片中,在FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,繼續(xù)將多 個(gè)FPGA測(cè)試邏輯版本中的其他FPGA測(cè)試邏輯版本加載到FPGA芯片中,直至多個(gè)FPGA測(cè) 試邏輯版本中所有的FPGA測(cè)試邏輯版本均完成了相應(yīng)的硬件檢測(cè)后,將存儲(chǔ)模塊61所存 儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到FPGA芯片中。情況二、加載模塊62將存儲(chǔ)模塊61所存儲(chǔ)的多個(gè)FPGA測(cè)試邏輯版本中的全部 FPGA測(cè)試邏輯版本加載到FPGA芯片中,在所有的FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,將存 儲(chǔ)模塊61所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到FPGA芯片中。在具體的應(yīng)用場(chǎng)景中,在加載模塊62將存儲(chǔ)模塊61所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本 加載到FPGA芯片中后,處理模塊63具體用于將存儲(chǔ)模塊61所保存的硬件檢測(cè)的結(jié)果信息 寫(xiě)入FPGA芯片相對(duì)應(yīng)的寄存器序列中,以使該FPGA芯片根據(jù)寄存器序列中的結(jié)果信息配 置該FPGA芯片中相應(yīng)的RAM控制器,進(jìn)一步的,處理模塊63還用于在FPGA芯片的配置過(guò) 程完成之后,使能FPGA轉(zhuǎn)發(fā)邏輯版本,對(duì)該通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)通過(guò)應(yīng)用本發(fā)明的技術(shù)方案,將用于硬件檢測(cè)的FPGA邏輯版本與用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本進(jìn)行拆分,優(yōu)先加載用于硬件檢測(cè)的FPGA邏輯版本,在其硬件檢測(cè)的功能 執(zhí)行完畢之后,才進(jìn)行用于報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本的加載,從而,可以使用于報(bào)文轉(zhuǎn)發(fā) 的FPGA邏輯版本在加載到FPGA芯片之后,獲得更多的空間資源,實(shí)現(xiàn)在FPGA芯片的空間 資源量一定的前提下,使通信設(shè)備可以支持更多的業(yè)務(wù)需求的目的,提高通信設(shè)備的轉(zhuǎn)發(fā) 性能以及FPGA芯片的空間資源利用率。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通 過(guò)硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā) 明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ) 介質(zhì)(可以是⑶-ROM,U盤(pán),移動(dòng)硬盤(pán)等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可 以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施場(chǎng)景所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施場(chǎng)景的示意圖,附圖中的模塊或 流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施場(chǎng)景中的裝置中的模塊可以按照實(shí)施場(chǎng)景描述進(jìn) 行分布于實(shí)施場(chǎng)景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施場(chǎng)景的一個(gè)或多個(gè)裝 置中。上述實(shí)施場(chǎng)景的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明序號(hào)僅僅為了描述,不代表實(shí)施場(chǎng)景的優(yōu)劣。
以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施場(chǎng)景,但是,本發(fā)明并非局限于此,任何本 領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種現(xiàn)場(chǎng)可編程門(mén)陣列FPGA邏輯版本的加載方法,應(yīng)用于包含F(xiàn)PGA芯片的通信設(shè) 備中,其特征在于,所述方法至少包括以下步驟所述通信設(shè)備將預(yù)設(shè)的FPGA測(cè)試邏輯版本加載到所述FPGA芯片中,并通過(guò)所述FPGA 測(cè)試邏輯版本對(duì)所述通信設(shè)備自身進(jìn)行硬件檢測(cè);所述通信設(shè)備保存所述硬件檢測(cè)的結(jié)果信息;所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中,根據(jù)保存的所述 硬件檢測(cè)的結(jié)果信息配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述通信設(shè)備所 接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
2.如權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)的FPGA測(cè)試邏輯版本,具體為用于實(shí)現(xiàn)對(duì)所述FPGA芯片及所述通信設(shè)備中 的相應(yīng)的硬件進(jìn)行狀態(tài)檢測(cè)的一個(gè)或多個(gè)FPGA邏輯版本;所述預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本,具體為用于根據(jù)所述通信設(shè)備的業(yè)務(wù)需求進(jìn)行相應(yīng) 的報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本。
3.如權(quán)利要求2所述的方法,其特征在于,當(dāng)所述預(yù)設(shè)的FPGA測(cè)試邏輯版本具體為多 個(gè)FPGA邏輯版本時(shí),所述方法具體為所述通信設(shè)備將所述多個(gè)FPGA測(cè)試邏輯版本中的一個(gè)FPGA測(cè)試邏輯版本加載到所述 FPGA芯片中,通過(guò)當(dāng)前加載的FPGA測(cè)試邏輯版本對(duì)所述通信設(shè)備進(jìn)行相應(yīng)的硬件檢測(cè);所述通信設(shè)備保存所述硬件檢測(cè)的結(jié)果信息;所述通信設(shè)備繼續(xù)將所述多個(gè)FPGA測(cè)試邏輯版本中的其他FPGA測(cè)試邏輯版本加載到 所述FPGA芯片中,進(jìn)行其他硬件檢測(cè);直至所述通信設(shè)備分別根據(jù)所述多個(gè)FPGA測(cè)試邏輯版本中所有的FPGA測(cè)試邏輯版本 完成了相應(yīng)的硬件檢測(cè)后,所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯 片中,根據(jù)保存的所述硬件檢測(cè)的結(jié)果信息配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版 本對(duì)所述通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
4.如權(quán)利要求2所述的方法,其特征在于,當(dāng)所述預(yù)設(shè)的FPGA測(cè)試邏輯版本具體為多 個(gè)FPGA邏輯版本時(shí),所述方法具體為所述通信設(shè)備將所述多個(gè)FPGA測(cè)試邏輯版本中的全部FPGA測(cè)試邏輯版本加載到所述 FPGA芯片中,分別通過(guò)當(dāng)前加載的各FPGA測(cè)試邏輯版本對(duì)所述通信設(shè)備進(jìn)行相應(yīng)的硬件 檢測(cè);所述通信設(shè)備保存所述硬件檢測(cè)的結(jié)果信息;所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中,根據(jù)保存的所述 硬件檢測(cè)的結(jié)果信息配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述通信設(shè)備所 接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
5.如權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,所述通信設(shè)備將預(yù)設(shè)的 FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中,根據(jù)保存的所述硬件檢測(cè)的結(jié)果信息配置所 述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā),具體包 括所述通信設(shè)備將預(yù)設(shè)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中;所述通信設(shè)備將保存的所述硬件檢測(cè)的結(jié)果信息,寫(xiě)入到所述FPGA芯片相對(duì)應(yīng)的寄存器序列中;所述FPGA芯片根據(jù)所述寄存器序列中的結(jié)果信息,配置自身相對(duì)應(yīng)的RAM控制器;所述通信設(shè)備使能所述FPGA轉(zhuǎn)發(fā)邏輯版本,對(duì)所述通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
6.一種通信設(shè)備,包含F(xiàn)PGA芯片,其特征在于,所述通信設(shè)備包括存儲(chǔ)模塊,用于存儲(chǔ)FPGA測(cè)試邏輯版本和FPGA轉(zhuǎn)發(fā)邏輯版本;加載模塊,用于將所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè)試邏輯版本加載到所述FPGA芯片中, 在所述FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,將所述存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本 加載到所述FPGA芯片中;處理模塊,用于通過(guò)所述加載模塊加載到所述FPGA芯片中的FPGA測(cè)試邏輯版本進(jìn)行 硬件檢測(cè),將所述硬件檢測(cè)的結(jié)果信息保存到所述存儲(chǔ)模塊中,并在所述加載模塊將所述 存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中后,根據(jù)所述存儲(chǔ)模塊所存 儲(chǔ)的所述硬件檢測(cè)結(jié)果配置所述FPGA芯片,通過(guò)所述FPGA轉(zhuǎn)發(fā)邏輯版本對(duì)所述通信設(shè)備 接收到的報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
7.如權(quán)利要求6所述的通信設(shè)備,其特征在于,所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè)試邏輯版本,具體為用于實(shí)現(xiàn)對(duì)所述FPGA芯片及所述 通信設(shè)備中的相應(yīng)的硬件進(jìn)行狀態(tài)檢測(cè)的一個(gè)或多個(gè)FPGA邏輯版本;所述存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本,具體為用于根據(jù)所述通信設(shè)備的業(yè)務(wù)需 求進(jìn)行相應(yīng)的報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本。
8.如權(quán)利要求7所述的通信設(shè)備,其特征在于,當(dāng)所述所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè) 試邏輯版本具體為多個(gè)FPGA邏輯版本時(shí),所述加載模塊,具體用于將所述存儲(chǔ)模塊所存儲(chǔ)的多個(gè)FPGA測(cè)試邏輯版本中的一個(gè)FPGA測(cè)試邏輯版本加載到 所述FPGA芯片中,在所述FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,繼續(xù)將所述多個(gè)FPGA測(cè)試 邏輯版本中的其他FPGA測(cè)試邏輯版本加載到所述FPGA芯片中,直至所述多個(gè)FPGA測(cè)試邏 輯版本中所有的FPGA測(cè)試邏輯版本均完成了相應(yīng)的硬件檢測(cè)后,將所述存儲(chǔ)模塊所存儲(chǔ) 的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中。
9.如權(quán)利要求7所述的通信設(shè)備,其特征在于,當(dāng)所述所述存儲(chǔ)模塊所存儲(chǔ)的FPGA測(cè) 試邏輯版本具體為多個(gè)FPGA邏輯版本時(shí),所述加載模塊,具體用于將所述存儲(chǔ)模塊所存儲(chǔ)的多個(gè)FPGA測(cè)試邏輯版本中的全部FPGA測(cè)試邏輯版本加載到 所述FPGA芯片中,在多有的FPGA測(cè)試邏輯版本完成硬件檢測(cè)后,將所述存儲(chǔ)模塊所存儲(chǔ)的 FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中。
10.如權(quán)利要求6至9中任意一項(xiàng)所述的通信設(shè)備,其特征在于,在所述加載模塊將所 述存儲(chǔ)模塊所存儲(chǔ)的FPGA轉(zhuǎn)發(fā)邏輯版本加載到所述FPGA芯片中后,所述處理模塊,具體用于將所述存儲(chǔ)模塊所保存的所述硬件檢測(cè)的結(jié)果信息寫(xiě)入所述 FPGA芯片相對(duì)應(yīng)的寄存器序列中,以使所述FPGA芯片根據(jù)所述寄存器序列中的結(jié)果信息 配置所述FPGA芯片中相應(yīng)的RAM控制器,并在所述FPGA芯片的配置過(guò)程完成之后,使能所 述FPGA轉(zhuǎn)發(fā)邏輯版本,對(duì)所述通信設(shè)備所接收到報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
全文摘要
本發(fā)明公開(kāi)了一種FPGA邏輯版本的加載方法和設(shè)備,將用于硬件檢測(cè)的FPGA邏輯版本與用于報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本進(jìn)行拆分,優(yōu)先加載用于硬件檢測(cè)的FPGA邏輯版本,在其硬件檢測(cè)的功能執(zhí)行完畢之后,才進(jìn)行用于報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本的加載,從而,可以使用于報(bào)文轉(zhuǎn)發(fā)的FPGA邏輯版本在加載到FPGA芯片之后,獲得更多的空間資源,實(shí)現(xiàn)在FPGA芯片的空間資源量一定的前提下,使通信設(shè)備可以支持更多的業(yè)務(wù)需求的目的,提高通信設(shè)備的轉(zhuǎn)發(fā)性能以及FPGA芯片的空間資源利用率。
文檔編號(hào)H04L12/56GK102148754SQ20101061275
公開(kāi)日2011年8月10日 申請(qǐng)日期2010年12月30日 優(yōu)先權(quán)日2010年12月30日
發(fā)明者白穎云 申請(qǐng)人:杭州華三通信技術(shù)有限公司