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