設(shè)計(jì)用于網(wǎng)絡(luò)應(yīng)用程序的ASIC面臨著獨(dú)特的挑戰(zhàn)。一是這些設(shè)備的帶寬和延遲性能測(cè)試需要比其他類(lèi)型的IC所需的仿真周期大得多的仿真周期。當(dāng)然,擴(kuò)展的模擬會(huì)減慢整個(gè)設(shè)計(jì)過(guò)程。為了解決這些以及其他問(wèn)題,思科工程師采用了將仿真與仿真相結(jié)合的做法,以改善和加速驗(yàn)證過(guò)程。
過(guò)去,思科會(huì)為每個(gè)新的IC追求獨(dú)特的驗(yàn)證機(jī)制。為了節(jié)省工作量和時(shí)間,該公司與其工具供應(yīng)商Mentor Graphics合作,對(duì)可應(yīng)用于多種設(shè)計(jì)的方法進(jìn)行了標(biāo)準(zhǔn)化。
思科系統(tǒng)公司Core ASIC Group的驗(yàn)證經(jīng)理Afzal Malik說(shuō):“向現(xiàn)成的仿真產(chǎn)品遷移非常有益,特別是大型芯片和系統(tǒng)的出現(xiàn)?!盡alik參與了針對(duì)企業(yè)和園區(qū)交換網(wǎng)絡(luò)的專(zhuān)用集成電路(ASIC)系列的仿真,Catalyst 9000系列是思科最成功的產(chǎn)品系列之一。
Malik的小組使用仿真來(lái)針對(duì)難以發(fā)現(xiàn)的深度循環(huán)漏洞。沒(méi)有仿真,這些類(lèi)型的錯(cuò)誤最終會(huì)在硅片中實(shí)現(xiàn),而修復(fù)它們的成本非常高。該小組設(shè)定的目標(biāo)是通過(guò)仿真來(lái)檢測(cè)所有錯(cuò)誤,在正式發(fā)布之前將正式的驗(yàn)證仿真和硬件仿真相結(jié)合,從而達(dá)到100%的覆蓋率。達(dá)到這些目標(biāo)將縮短產(chǎn)品上市時(shí)間。
挑戰(zhàn)僅始于帶寬和等待時(shí)間性能測(cè)試,這些測(cè)試需要如此長(zhǎng)的仿真運(yùn)行時(shí)間。由于過(guò)多的構(gòu)建和運(yùn)行時(shí)間,因此很難在仿真中測(cè)試復(fù)雜系統(tǒng)中的多芯片交互。隨著接口不斷發(fā)展,設(shè)計(jì)驗(yàn)證小組花時(shí)間開(kāi)發(fā)驅(qū)動(dòng)程序和監(jiān)視器。某些網(wǎng)絡(luò)協(xié)議(例如PTP 1588和鏈接暫停和優(yōu)先級(jí)流控制(PFC))需要大量仿真,并且運(yùn)行時(shí)間很長(zhǎng)才能達(dá)到穩(wěn)定狀態(tài)。
網(wǎng)絡(luò)ASIC通常是大型設(shè)計(jì),這意味著代碼覆蓋和功能覆蓋需要更多時(shí)間。此外,對(duì)最新網(wǎng)絡(luò)標(biāo)準(zhǔn)的驗(yàn)證要求增強(qiáng)測(cè)試平臺(tái)組件。最后的挑戰(zhàn)是硬件/軟件的協(xié)同驗(yàn)證,這涉及在磁帶輸出之前在硬件上運(yùn)行實(shí)際的軟件。
Malik指出,仿真對(duì)于塊級(jí)驗(yàn)證和基本集成測(cè)試是不可替代的,但是隨著設(shè)計(jì)尺寸的增加,仿真性能會(huì)下降,尤其是在使用多個(gè)ASIC的系統(tǒng)上。為了克服挑戰(zhàn),僅憑仿真是不夠的。
與驗(yàn)證過(guò)程相關(guān)的一些術(shù)語(yǔ)應(yīng)在此處定義。后門(mén)初始化和前門(mén)初始化是指如何從內(nèi)存中加載或提取內(nèi)容。前門(mén)流程意味著設(shè)計(jì)本身用于將數(shù)據(jù)移入和移出內(nèi)存。后門(mén)流程是測(cè)試平臺(tái)或軟件在不使用設(shè)計(jì)的情況下將數(shù)據(jù)移入和移出內(nèi)存的一種方式。測(cè)試工程師經(jīng)常想預(yù)加載內(nèi)存內(nèi)容,或者在測(cè)試運(yùn)行結(jié)束時(shí)或在測(cè)試過(guò)程中途從內(nèi)存中提取數(shù)據(jù),而后門(mén)訪問(wèn)通常用于這種類(lèi)型的內(nèi)存加載或提取。
Malik報(bào)告說(shuō),他的小組在90%以上的測(cè)試中使用后門(mén)初始化模擬。模擬不是前門(mén)驗(yàn)證的理想解決方案。當(dāng)軟件配置ASIC并運(yùn)行生產(chǎn)軟件時(shí),前門(mén)初始化成為必要條件。
為了應(yīng)對(duì)挑戰(zhàn),思科的設(shè)計(jì)驗(yàn)證工程師針對(duì)這種ASIC設(shè)計(jì)引入了Mentor Graphics的Veloce2仿真器。仿真的運(yùn)行速度比仿真快一千倍,并且其運(yùn)行時(shí)性能不會(huì)隨著設(shè)計(jì)尺寸的增加而降低。
與FPGA系統(tǒng)不同,基于Veloce的仿真環(huán)境提供了完整的調(diào)試可見(jiàn)性。編譯和運(yùn)行步驟與模擬相似,因此易于使用。Malik指出,例如,可以在仿真中重用各種各樣的驗(yàn)證組件,尤其是記分板,檢查器和功能覆蓋點(diǎn)。
該小組使用仿真技術(shù)進(jìn)行設(shè)計(jì)培訓(xùn)。馬利克(Malik)確認(rèn),即使在仿真中進(jìn)行多單元級(jí)驗(yàn)證也是在芯片級(jí)獲得前幾個(gè)數(shù)據(jù)包的良好起點(diǎn)。
仿真不僅可以幫助您發(fā)現(xiàn)深層的漏洞,而這些漏洞本來(lái)就很費(fèi)時(shí)間進(jìn)行檢測(cè),但它還可以幫助您執(zhí)行真正的軟件,在芯片上運(yùn)行性能測(cè)試以及進(jìn)行系統(tǒng)級(jí)驗(yàn)證。對(duì)于線速測(cè)試,流量控制和Internet混合(IMIX)測(cè)試,仿真也很方便。在仿真中可以有效地執(zhí)行暫停測(cè)試,數(shù)據(jù)路徑測(cè)試和負(fù)載平衡。
軟件和硬件團(tuán)隊(duì)都使用Cisco的ASIC驗(yàn)證環(huán)境。虛擬PCIe接口(左)通常供軟件團(tuán)隊(duì)在通過(guò)標(biāo)準(zhǔn)PCIe接口與交換ASIC進(jìn)行通信的控制平面上引導(dǎo)其OS或內(nèi)核。從軟件的角度來(lái)看,軟件團(tuán)隊(duì)的運(yùn)作就像在使用ASIC一樣。但是,設(shè)計(jì)本身在仿真器中。資料來(lái)源:思科
對(duì)于功能驗(yàn)證,思科做了兩件事。它為前門(mén)初始化設(shè)計(jì)了一個(gè)測(cè)試平臺(tái)。它進(jìn)行了所有C ++ / System C測(cè)試檢查器和模擬檢查,甚至是實(shí)時(shí)檢查,并將其移植到仿真器上。它還使用Mentor的以太網(wǎng)數(shù)據(jù)包生成器監(jiān)視器(EPGM)作為生成以太網(wǎng)數(shù)據(jù)包或不同類(lèi)型數(shù)據(jù)包的IP。
思科提出設(shè)計(jì)的步驟包括:
- 從模型庫(kù)中選擇一個(gè)模型,該模型具有他們?yōu)榇艓л敵鲞x擇的內(nèi)存模型規(guī)范。
- TCAM,SRAM模型必須與Veloce支持的存儲(chǔ)器模型綜合。
- 最小的時(shí)鐘和PLL變化
標(biāo)識(shí)設(shè)計(jì)中未仿真的部分,例如,測(cè)試設(shè)計(jì)(DFT)邏輯。有些問(wèn)題可能會(huì)導(dǎo)致捆綁,導(dǎo)致編譯器在編譯仿真器設(shè)計(jì)時(shí)將其刪除。
Testbench問(wèn)題包括:
- 創(chuàng)建一個(gè)對(duì)Veloce友好的事務(wù)處理程序以配置ASIC
- 部署EPGM以發(fā)送和分析以太網(wǎng)數(shù)據(jù)包
- 在SystemC和C ++中創(chuàng)建模擬檢查結(jié)束
- 綜合仿真器的功能范圍
設(shè)計(jì)調(diào)試的主要功能包括:
- EPGM分析窗口
- 觸發(fā)交易器以捕獲波形
- 其他自定義觸發(fā)波形生成
硬件實(shí)現(xiàn)的斷言和它們可以生成的監(jiān)視器(這些關(guān)鍵斷言是觸發(fā)的異常,可以自動(dòng)生成用于調(diào)試的波形。)
完整的波形上傳
思科與Mentor共同開(kāi)發(fā)了EPGM,這是一種用于聯(lián)網(wǎng)ASIC的虛擬解決方案,為期數(shù)年。它支持多核模型并擴(kuò)展性能。它具有基于TCL的界面,可以相當(dāng)快速地編寫(xiě)復(fù)雜的測(cè)試用例,并具有預(yù)置的觸發(fā)器來(lái)捕獲波形??勺?a target="_blank">端口組是最近增加的一種超級(jí)端口模式,它允許單個(gè)構(gòu)建支持多種端口模式,而不是針對(duì)芯片的可能配置進(jìn)行多次構(gòu)建。
在調(diào)試分析方面,Cisco獲取每流統(tǒng)計(jì)信息,例如帶寬/等待時(shí)間/總幀數(shù),所有錯(cuò)誤-不按順序,CRC和前導(dǎo)錯(cuò)誤-由EPGM捕獲并報(bào)告。此外,該小組在ASIC內(nèi)實(shí)現(xiàn)了自定義檢查程序和費(fèi)率監(jiān)視器。
關(guān)于加速的結(jié)果可能會(huì)有所不同,具體取決于ASIC和應(yīng)用程序的大小。在前門(mén)中,通過(guò)仿真進(jìn)行初始化大約需要6,000分鐘。在仿真中,該小組將時(shí)間縮短到30分鐘–在這些復(fù)雜的ASIC上進(jìn)行了數(shù)以萬(wàn)計(jì)的前門(mén)寫(xiě)操作。通過(guò)使用Mentor的入站流進(jìn)行新的優(yōu)化流程,Malik的團(tuán)隊(duì)將其縮減到不到五分鐘的時(shí)間,而前門(mén)初始化只需幾分鐘。僅使用模擬,該過(guò)程通常需要幾天的時(shí)間。
借助給定配置的運(yùn)行時(shí)性能,Cisco可以在仿真中每分鐘處理40個(gè)數(shù)據(jù)包,而在仿真中則可以每分鐘處理60萬(wàn)個(gè)數(shù)據(jù)包。比仿真高15,000倍!
馬利克指出,所描述的方法不是專(zhuān)有的。他說(shuō):“這是我們對(duì)Mentor Strato解決方案所提供功能的實(shí)現(xiàn)?!?/p>
現(xiàn)在,Malik和他的團(tuán)隊(duì)是經(jīng)驗(yàn)豐富的仿真用戶,他們計(jì)劃將其用于其他驗(yàn)證任務(wù)。硅前軟件開(kāi)發(fā),多芯片系統(tǒng)驗(yàn)證,硅就緒性和硅前功率分析是您關(guān)注的幾個(gè)領(lǐng)域。例如,在進(jìn)行硅前軟件開(kāi)發(fā)期間,他們可以啟動(dòng)控制平面OS,并在磁帶輸出之前在實(shí)際的ASIC上運(yùn)行應(yīng)用程序。該領(lǐng)域是有益的,尤其是對(duì)于診斷和系統(tǒng)軟件團(tuán)隊(duì)而言。
Malik的團(tuán)隊(duì)也希望在軟件開(kāi)發(fā)領(lǐng)域進(jìn)行投資,以證明其在仿真方面所做的努力是合理的。對(duì)于Malik及其團(tuán)隊(duì)而言,在磁帶發(fā)布之前開(kāi)發(fā)和驗(yàn)證診斷軟件非常重要。使用實(shí)際系統(tǒng)軟件的新驗(yàn)證功能也需要在流片之前在硬件中進(jìn)行驗(yàn)證。診斷,內(nèi)核和應(yīng)用程序軟件團(tuán)隊(duì)現(xiàn)在可以開(kāi)始調(diào)試,并在仿真平臺(tái)上迅速提高速度。
多芯片驗(yàn)證仍然是另一個(gè)領(lǐng)域。思科的系統(tǒng)很復(fù)雜–模塊化系統(tǒng)具有管理卡和帶有多個(gè)ASIC相互通信的線卡。這些都是可擴(kuò)展的系統(tǒng),嘗試在仿真中驗(yàn)證它們是一個(gè)挑戰(zhàn)。
硅長(zhǎng)大和準(zhǔn)備就緒是另一種可能的應(yīng)用。當(dāng)芯片返回時(shí),該小組將進(jìn)行測(cè)試和ASIC認(rèn)證以進(jìn)行芯片驗(yàn)證。當(dāng)芯片回到實(shí)驗(yàn)室時(shí),仿真將為您提供領(lǐng)先優(yōu)勢(shì)。硅前功率分析,Mentor支持的領(lǐng)域以及Veloce用戶Cisco的領(lǐng)域正在積極調(diào)查中。
Malik已經(jīng)為思科的驗(yàn)證流程展望了未來(lái),該流程將統(tǒng)一用于回歸和覆蓋范圍分析。這種流程需要對(duì)標(biāo)準(zhǔn)功能覆蓋流程進(jìn)行一些更改,在這些功能中,需要在設(shè)計(jì)內(nèi)部合成和映射覆蓋范圍。功率分析是一個(gè)正在積極研究的領(lǐng)域,高級(jí)趨勢(shì)和分析功能也正在將其納入流程。當(dāng)然,為了提高性能,正在對(duì)流程進(jìn)行逐步改進(jìn)。
總而言之,Malik保持的仿真幫助思科設(shè)計(jì)驗(yàn)證小組達(dá)到了確定其ASIC所需的高度信心。使軟件準(zhǔn)備好用于硅啟動(dòng)是一個(gè)很大的好處。仿真通常有助于將產(chǎn)品推向市場(chǎng)的時(shí)間左移。
Malik總結(jié)說(shuō),仿真是整體驗(yàn)證策略的重要補(bǔ)充??焖賳?dòng),成熟的編譯和全面的可見(jiàn)性是關(guān)鍵。盡管正在開(kāi)發(fā)出色的技術(shù),但沒(méi)有什么可以像仿真那樣提供完整的可見(jiàn)性和完整的調(diào)試的。
Lauro Rizzatti博士是硬件仿真方面的驗(yàn)證顧問(wèn)和行業(yè)專(zhuān)家。
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1629文章
21748瀏覽量
603912 -
asic
+關(guān)注
關(guān)注
34文章
1202瀏覽量
120529 -
仿真器
+關(guān)注
關(guān)注
14文章
1018瀏覽量
83781
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論