專利名稱:由可運行的芯片總體規(guī)格及核心邏輯制定的交換機及路由器芯片及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及超大規(guī)模集成電路的設(shè)計流程,提出了由可運行的芯片總體規(guī)格及核心邏輯制定芯片的方法,適合2層/3層網(wǎng)絡交換機和路由器芯片的制定。屬于通訊技術(shù)中專用集成電路ASIC的設(shè)計。
背景技術(shù):
傳統(tǒng)交換機和路由器芯片的確定步驟如下1.設(shè)計工程師根據(jù)網(wǎng)絡交換協(xié)議和數(shù)據(jù)包所需信息數(shù)據(jù)等,用文字敘述方式制定芯片的設(shè)計方案和規(guī)格。2.設(shè)計工程師把文字敘述轉(zhuǎn)換成運行程序;3.驗證工程師根據(jù)設(shè)計方案確定驗證程序;4.最后將運行程序和驗證程序在計算機內(nèi)運行并加以驗證,確定集成電路和芯片。首先,因為交換邏輯是由很多網(wǎng)絡交換協(xié)議組合而成,用文字進行交換邏輯設(shè)計,工程師需要相當長時間去理解文字敘述并進行轉(zhuǎn)換,延長了芯片設(shè)計時間,且不能及時反映設(shè)計中的不足。其二,在交換邏輯的設(shè)計中,大約有幾百個寄存器和約20多個表格,其中任意一項配置不相同和根據(jù)進入交換機和路由器的數(shù)據(jù)包的不同,可產(chǎn)生多種不同的交換邏輯,這是一個極其復雜的組合邏輯;由於文字敘述清晰度上的差異,造成邏輯設(shè)計和邏輯驗證不準確,出現(xiàn)不同結(jié)果,降低了制定芯片的效率,制約了芯片的性能。
發(fā)明內(nèi)容
本發(fā)明旨在改進制定網(wǎng)絡交換機和路由器芯片上述設(shè)計流程中的不足,縮短芯片確定周期,改善性能。其技術(shù)方案如下由可運行的芯片總體規(guī)格及核心邏輯制定的交換機及路由器芯片,包括集成電路、端口、寄存器、表格,其特征是該集成電路如下形成芯片總體規(guī)格及核心邏輯程序的確定是用可運行的計算機語言來實現(xiàn)的,包括以此種方式進行的芯片設(shè)計流程和以此種方式所確定的集成電路。
該芯片的確定還包括可運行的驗證程序,也就是把上述的可運行的芯片總體規(guī)格及核心邏輯程序作為驗證程序,由它們所確定的集成電路。上述芯片還可以包括按用戶特殊要求或/和網(wǎng)絡發(fā)展新增功能的要求,在計算機中用計算機語言編寫芯片的總體規(guī)格及核心邏輯程序,也是驗證程序,由它所確定的集成電路。上述芯片還可以包括在交換或路由邏輯程序中每個功能處設(shè)一個可控開關(guān),并寄存在寄存器或表格中,根據(jù)可控開關(guān)的狀態(tài)用計算機語言編寫不同交換或路由邏輯程序,也是驗證程序,由它所確定的集成電路。
由可運行的芯片總體規(guī)格及核心邏輯制定交換機及路由器芯片的方法,在計算機上進行的步驟包括(C)經(jīng)驗證后獲得的設(shè)計程序A,確定集成電路A的步驟;其特征是該方法在計算機上進行,還包括如下步驟(a)將交換或路由中所需數(shù)據(jù)和信息輸入并寄存於各種寄存器和表格中;在計算機內(nèi)用可運行的計算機語言編寫芯片的總體規(guī)格及核心邏輯程序A,也為驗證程序A;(b)輸入數(shù)據(jù)包的步驟及對設(shè)計程序A加以驗證的步驟。
該方法在計算機上進行,還包括下列步驟上述步驟(a)和(b)和(c)分別還包括下列步驟(1)和(2)~(7)和(8)
1.將交換或路由中所需數(shù)據(jù)和信息輸入并寄存於各種寄存器和表格中這些數(shù)據(jù)和信息可隨網(wǎng)絡交換協(xié)議或用戶需求的改變進行修改;輸入的這些數(shù)據(jù)和信息可用此三部分產(chǎn)生1a.工程師根據(jù)驗證要求配置相應數(shù)據(jù),1b.由工程師設(shè)定范圍,計算機在此范圍內(nèi)隨機產(chǎn)生數(shù)據(jù);1c.完全由計算機隨機產(chǎn)生數(shù)據(jù);此3部分產(chǎn)生的數(shù)據(jù),由相應的計算機程序輸入,以這3種方式產(chǎn)生的信息和數(shù)據(jù),可真實摸擬網(wǎng)絡交換或路由中數(shù)據(jù)的輸入。
用於確定用何種網(wǎng)絡交換協(xié)議的確定步驟(如對以太網(wǎng)選擇網(wǎng)絡交換協(xié)議以IEEE802.3為標準);在計算機內(nèi)用可運行的計算機語言編寫芯片總體規(guī)格及核心邏輯程序A,也為驗證程序A;2.用於輸入數(shù)據(jù)包的步驟;3.根據(jù)網(wǎng)絡交換協(xié)議對數(shù)據(jù)包進行類型分類(如分為主播包、單播包、多播包),并檢測數(shù)據(jù)包長度,根據(jù)分類以及數(shù)據(jù)包內(nèi)信息與寄存器和表格內(nèi)數(shù)據(jù)相比較,確定有效數(shù)據(jù)包的比較選擇步驟;4.根據(jù)數(shù)據(jù)包的分類和目的地址、源地址以及數(shù)據(jù)包內(nèi)信息確定是做2層交換還是3層路由或不做交換或路由的選擇步驟;5.檢查數(shù)據(jù)包內(nèi)數(shù)據(jù)與表格內(nèi)數(shù)據(jù)是否匹配或根據(jù)網(wǎng)絡交換協(xié)議,確定是否做3層路由或2層交換或不做交換或路由的比較選擇步驟;6.經(jīng)驗證后獲得一個芯片總體規(guī)格及核心邏輯程序A,也為驗證程序A;7.由該邏輯程序A,對設(shè)計程序A再加以驗證的步驟;8.經(jīng)驗證后獲得的設(shè)計程序A,確定芯片集成電路A的步驟。
在上述核心邏輯程序基礎(chǔ)上,增加功能程序,在上述步驟中,增加用戶特殊需求或/和網(wǎng)絡發(fā)展新增功能需求,并進行選擇確定的步驟。
在運作上述各種步驟時,驗證、邏輯檢測也同時進行,為滿足需要,每項功能都設(shè)有一個可控開關(guān),用戶可按需要開或關(guān),此方法是在邏輯程序的每個功能處設(shè)置可控開關(guān),根據(jù)可控開關(guān)狀態(tài)進行選擇確定的步驟。
以上涉及選擇的步驟可以都可由可控開關(guān)來控制,用戶對寄存器和表格配置不同,作出不同選擇,比如用戶開啟一個數(shù)據(jù)包送中央處理器CPU的開關(guān),可以針對不同的端口或不同的數(shù)據(jù)包而決定數(shù)據(jù)包是否送CPU,若關(guān)閉此開關(guān),所有的數(shù)據(jù)包都不會送去CPU。
本發(fā)明的有益效果如下(1).以一個可運行的芯片總體規(guī)格及核心邏輯程序替代傳統(tǒng)的文字敘述,增強了方案的可讀性,邏輯更為清晰,設(shè)計工程師可迅速轉(zhuǎn)換成設(shè)計程序,大大縮短了芯片設(shè)計周期。(2).這個可運行核心邏輯程序同時也是一個驗證程序,不僅及時驗證設(shè)計程序中的錯誤,而且可利用驗證結(jié)果的不同,反證方案中的不足并迅速加以改進;縮短了編譯、自我檢測、邏輯檢測的周期,提高了效率,大大改善了芯片的性能。(3).可按用戶特殊需求,隨時改進方案,并立即在計算機上實現(xiàn)驗證(仿真模擬),高效的將信息反饋給用戶,提高再加工效率和擴大芯片使用性能。(4).可按網(wǎng)絡發(fā)展需要新增功能,擴大芯片使用性能。(5).每功能都設(shè)有一個可控開關(guān),滿足各種狀況需求。
圖1本發(fā)明實施例確定路由器和交換機芯片的流程框2本發(fā)明實施例路由器和交換機芯片制定方法的計算機程序圖具體實施例方式見圖1,根據(jù)網(wǎng)絡交換協(xié)議、寄存器和表格中數(shù)據(jù)和信息,在計算機內(nèi)用計算機語言編寫芯片的總體規(guī)格及核心交換或路由邏輯程序A(也是驗證程序A),將數(shù)據(jù)包輸入并進行驗證,對設(shè)計程序加以驗證和邏輯檢測而獲得設(shè)計程序A,由它制定出芯片集成電路A,并由集成電路A制作出芯片A。
見圖1,本發(fā)明芯片還可以在上述核心交換或路由邏輯程序A的基礎(chǔ)上,根據(jù)用戶特殊需求和網(wǎng)絡發(fā)展新功能,用可運行的計算機語言編寫芯片的總體規(guī)格及交換或路由邏輯程序B(也是驗證程序B),增加新程序并加以驗證和邏輯檢測,獲得設(shè)計程序B,由它制定出芯片集成電路B,并由集成電路B制作出芯片B。該增加新程序并驗證后可反饋信息給用戶,經(jīng)改進并再加工后,可作為新的用戶的特殊需求加入到芯片總體規(guī)格及交換或路由邏輯程序B中。
見圖1,本發(fā)明芯片還可以在上述芯片總體規(guī)格及交換或路由邏輯程序B的基礎(chǔ)上,在每個功能處設(shè)-個控制開關(guān),并寄存在表格和寄存器中,用可運行的計算機語言編寫芯片的總體規(guī)格及交換或路由邏輯程序C(也是驗證程序C),經(jīng)對開啟或關(guān)閉控制開關(guān)的邏輯檢測及驗證,獲得設(shè)計程序C,由它制定出芯片集成電路C,并由集成電路C制作出芯片C。
見圖1,進行邏輯檢測后獲得可運行的芯片總體規(guī)格及核心交換或路由邏輯程序C(也是驗證程序C),并由它驗證獲得設(shè)計程序C。
見圖2,本發(fā)明實施例中路由器和交換機芯片的制定方法包括可運行的芯片總體規(guī)格及核心邏輯(驗證程序),還包括考慮用戶特殊需求,網(wǎng)絡發(fā)展新增功能,設(shè)置控制開關(guān)等綜合特征產(chǎn)生的2層/3層交換機和路由器芯片的制定方法。該制定方法在計算機上進行,包括下列具體步驟1.將交換或路由中所需數(shù)據(jù)、信息及可控開關(guān)狀態(tài)輸入并寄存於各種寄存器和表格中這些數(shù)據(jù)和信息及可控開關(guān)狀態(tài)可隨網(wǎng)絡交換協(xié)議或用戶需求的改變進行修改;輸入的這些數(shù)據(jù)、信息和可控開關(guān)狀態(tài)的產(chǎn)生可用如下三部分產(chǎn)生1a.工程師根據(jù)驗證要求配置相應數(shù)據(jù),1b.由工程師設(shè)定范圍,計算機在此范圍內(nèi)隨機產(chǎn)生數(shù)據(jù);1c.完全由計算機隨機產(chǎn)生數(shù)據(jù);此3部分產(chǎn)生的數(shù)據(jù),由相應的計算機程序輸入,以這3種方式產(chǎn)生的信息和數(shù)據(jù),可真實摸擬網(wǎng)絡交換或路由中數(shù)據(jù)的輸入。
用於確定用何種網(wǎng)絡交換協(xié)議的確定步驟,如對以太網(wǎng)選擇網(wǎng)絡交換協(xié)議以IEEE802.3為標準。
用於輸入用戶特殊要求和網(wǎng)絡發(fā)展新增功能的要求的步驟;在計算機內(nèi)用可運行的計算機語言編寫芯片總體規(guī)格及核心交換或路由邏輯程序C,為驗證程序C(根據(jù)網(wǎng)絡交換協(xié)議,用戶特殊需求,網(wǎng)絡發(fā)展新增,功能,控制開關(guān)狀態(tài)等進行);2用於輸入數(shù)據(jù)包的步驟。
3.劃分數(shù)據(jù)包的類型和確定有效數(shù)據(jù)包此項分為如下四個步驟(3.1)根據(jù)網(wǎng)絡交換協(xié)議對敉據(jù)包進行類型分類。例如分為主播包、單播包、多播包。(3.2)檢測敉據(jù)包長度是否符合協(xié)議的要求。例如以太網(wǎng)要求包長不能小於64字節(jié)或大於1536字節(jié),在有效字節(jié)內(nèi)的數(shù)據(jù)為有效數(shù)據(jù)包。(3.3)根據(jù)敉據(jù)包分類,確定是否為有效敉據(jù)包。例如對橋接協(xié)議敉據(jù)單元(BPDU),按其目的地址的不同作為是否為有效數(shù)據(jù)包的依據(jù)。(3.4)根據(jù)數(shù)據(jù)包內(nèi)的信息,查找表格中寄存的數(shù)據(jù),符合要求的為有效數(shù)據(jù)包。例如數(shù)據(jù)包帶有VLAN幀標識符,查表發(fā)現(xiàn)這個標識符為無效標識符,則數(shù)據(jù)包為無效數(shù)據(jù)包。
4.確定是做2層交換還是3層路由或不做交換或路由。此項分為如下兩步驟(4.1)根據(jù)數(shù)據(jù)包的分類,確定其是否做交換或路由。例如廣播包(broadcast),一定是做2層交換,但是用戶開啟了一個可控開關(guān)來控制單位時間內(nèi)通過該端口的廣播包數(shù)量,如果單位時間內(nèi)廣播包數(shù)量超過一個門限值,這個廣播包將不做正常交換。(4.2)根據(jù)目的地址及數(shù)據(jù)包內(nèi)信息,確定數(shù)據(jù)包是2層包或3層包,然后再檢查可控開關(guān)的狀態(tài)來確定做2層交換或3層路由。例如數(shù)據(jù)包是一個3層多播包,但是用戶關(guān)閉了3層多播包交換的開關(guān),這個數(shù)據(jù)包只會當成2層多播包進行交換。
5.此程序內(nèi)包括如下兩步驟(5.1)檢查數(shù)據(jù)包內(nèi)的數(shù)據(jù)是否和表格內(nèi)的數(shù)據(jù)相匹配,如果在表格內(nèi)沒找到相匹配的數(shù)據(jù),則根據(jù)網(wǎng)絡交換協(xié)議或用戶要求來確定是否正常交換或路由。例如用數(shù)據(jù)包的MAC地址去表格內(nèi)查找相匹配的數(shù)據(jù),如果查找失敗,則不做交換或路由或根據(jù)需求做交換或路由。(5.2)檢查數(shù)據(jù)包內(nèi)的數(shù)據(jù)是否和表格內(nèi)的數(shù)據(jù)相匹配,如果在表格內(nèi)沒有找到相匹配的數(shù)據(jù),則根據(jù)網(wǎng)絡交換協(xié)議或用戶要求來確定是否做3層路由,如果不做3層路由,根據(jù)網(wǎng)絡交換協(xié)議或用戶要求來決定是否需要做2層交換或不做交換。例如用3層多播包的IP地址查找表格中相匹配的數(shù)據(jù),如果查找失敗,則把其當作2層多播包處理。
6.進行正常交換或路由或丟包,直到結(jié)束。在圖2中,對程序3中的否(即無效數(shù)據(jù)包)和程序4、5中的[否]即到[不做交換或路由],數(shù)據(jù)包自動丟棄。
7.產(chǎn)生設(shè)計程序并由此程序?qū)υO(shè)計程序加以驗證(包括邏輯檢測)(見圖1、2)。
8.獲得設(shè)計程序C并確定對應的集成電路C(見圖1、圖2)。由上述所確定的集成電路C制造出網(wǎng)絡交換機和路由器芯片C(見圖1)。
本
具體實施例方式
中2層/3層交換或路由的選擇是由網(wǎng)絡發(fā)展需要所確定的。
權(quán)利要求
1.由可運行的芯片總體規(guī)格及核心邏輯制定的交換機及路由器芯片,包括集成電路、端口、寄存器、表格,其特征是芯片的總體規(guī)格及核心邏輯的確定是用可運行的計算機語言實現(xiàn)的,包括以此種方式進行的芯片設(shè)計流程和以此種方式所確定的集成電路。
2.按權(quán)利要求1所述芯片,其特征是該集成電路的確定還包括可運行的驗證程序,也就是把上述可運行的芯片總體規(guī)格及核心邏輯程序作為驗證程序,由它驗證所確定的集成電路。
3.按權(quán)利要求2所述芯片,其特征是該芯片還包括按用戶特殊要求或/和網(wǎng)絡發(fā)展新增功能的要求,在計算機中用計算機語言編寫的芯片的總體規(guī)格及核心邏輯程序,也是驗證程序,由它所確定的集成電路。
4.按權(quán)利要求2或3所述芯片,其特征是在交換或路由邏輯程序的每個功能處各設(shè)有一個可控開關(guān),并寄存在寄存器或表格中。根據(jù)可控開關(guān)的狀態(tài)不同,在計算機中用計算機語言編寫的交換或路由邏輯程序,也是驗證程序,由它所確定的集成電路。
5.由可運行的芯片總體規(guī)格及核心邏輯制定的交換機及路由器芯片的方法,在計算機上進行的步驟包括(c)由經(jīng)驗證后獲得的設(shè)計程序A來確定集成電路A的步驟;其特征是該方法在計算機上進行,還包括如下步驟(a)將交換或路由中所需數(shù)據(jù)和信息輸入并寄存於各種寄存器和表格中;在計算機內(nèi)用可運行的計算機語言編寫芯片的總體規(guī)格及核心邏輯程序A,也為驗證程序A;(b)輸入數(shù)據(jù)包的步驟及對設(shè)計程序A加以驗證的步驟。
6.按權(quán)利要求5所述的芯片制定方法,其特征是該方法在計算機上進行,還包括下列步驟上述步驟(a)和(b)和(c)分別還包括下列步驟(1)和(2)~(7)和(8)(1)將交換或路由中所需數(shù)據(jù)和信息輸入并寄存於各種寄存器和表格中;確定用何種網(wǎng)絡交換協(xié)議的確定步驟;在計算機內(nèi)用可運行的計算機語言編寫芯片的總體規(guī)格及核心邏輯程序A,也為驗證程序A;(2)用於輸入數(shù)據(jù)包的步驟;(3)根據(jù)網(wǎng)絡交換協(xié)議對數(shù)據(jù)包進行類型分類,并檢測數(shù)據(jù)包長度,根據(jù)分類以及把數(shù)據(jù)包內(nèi)信息與寄存器和表格內(nèi)數(shù)據(jù)相比較,確定有效數(shù)據(jù)包的比較選擇步驟;(4)根據(jù)數(shù)據(jù)包的分類和目的地址、源地址以及數(shù)據(jù)包內(nèi)信息,確定是做2層交換還是做3層路由或不做交換和路由的選擇步驟;(5)檢查數(shù)據(jù)包內(nèi)數(shù)據(jù)與表格內(nèi)數(shù)據(jù)是否匹配,并根據(jù)網(wǎng)絡交換協(xié)議來確定是做3層路由還是做2層交換或不做交換和路由的比較選擇步驟;(6)經(jīng)驗證后獲得一個芯片總體規(guī)格及核心邏輯程序A,也為驗證程序A;(7)由該邏輯程序A,對設(shè)計程序A再加以驗證的步驟;(8)經(jīng)驗證后獲得的設(shè)計程序A,確定芯片集成電路A的步驟。
7.按權(quán)利要求6所述的芯片的制定方法,其特征是該方法在上述步驟中增加了用戶特殊要求或/和網(wǎng)絡發(fā)展新增功能的要求,并根據(jù)要求進行選擇確定的步驟。
8.按權(quán)利要求6或7所述的芯片的制定方法,其特征是該方法在上述步驟中,增加了在每個功能處設(shè)置可控開關(guān),并根據(jù)開關(guān)的開或關(guān)閉進行選擇確定的步驟。
全文摘要
本發(fā)明涉及超大規(guī)模集成電路的設(shè)計流程,屬于通訊技術(shù)中專用集成電路ASIC設(shè)計。用于2層/3層網(wǎng)絡交換機和路由器芯片的設(shè)計。該方法由網(wǎng)絡交換協(xié)議、寄存器和表格中數(shù)據(jù)信息、數(shù)據(jù)包的信息等,在計算機中編寫芯片的總體規(guī)格及核心邏輯程序,也是驗證程序,由此確定集成電路及芯片。還可增加按用戶特殊要求或網(wǎng)絡發(fā)展新增功能,以及設(shè)置的可控開關(guān)狀態(tài)等,編寫可運行的交換或路由邏輯程序來確定集成電路。用可運行計算機程序替代傳統(tǒng)工程師文字敘述的芯片設(shè)計,可讀性強,邏輯清晰;可在機上隨時驗證修改;縮短編譯,自我檢測,邏輯檢測周期;可按用戶需求隨時改進;將信息高效反饋給用戶,提高再加工效率。加可控開關(guān)可滿足各種狀況需求。極大提高芯片設(shè)計效率及改善擴大芯片性能。
文檔編號H01L21/82GK1591822SQ03135678
公開日2005年3月9日 申請日期2003年8月27日 優(yōu)先權(quán)日2003年8月27日
發(fā)明者李為民, 華海宏, 林昕, 孫杰, 陳卓, 楊成勇 申請人:四川南山之橋微電子有限公司