【導(dǎo)讀】當(dāng)產(chǎn)品的設(shè)計涉及到更多的協(xié)議和數(shù)十億門設(shè)計,還要最大程度降低能耗,軟件也變得日益繁多復(fù)雜,對于網(wǎng)絡(luò)應(yīng)用,還存在數(shù)百個交換機和路由器端口,因此,可擴展的虛擬硬件仿真是必須的。
我們需要進行大量驗證,來設(shè)計用于組成物聯(lián)網(wǎng) (IoT) 和網(wǎng)絡(luò)生態(tài)系統(tǒng)的產(chǎn)品和網(wǎng)絡(luò)。這些都是非常復(fù)雜的大規(guī)模設(shè)計。它們使用大量的軟件,而且必須滿足嚴格的低功耗要求。因此,它們需要經(jīng)過大量的驗證周期,才能得到充分的運用和調(diào)試。
IoT 設(shè)計和網(wǎng)絡(luò)設(shè)計的五大特征對驗證工作具有重大影響。這兩種設(shè)計具有以下四大共同特征:“每顆芯片實現(xiàn)更多的協(xié)議”會更好、設(shè)計規(guī)模更大且更加復(fù)雜、對低功耗的要求更高,以及更多軟件。網(wǎng)絡(luò)系統(tǒng)還面臨著第五個挑戰(zhàn):交換機和路由器端口的數(shù)量持續(xù)增加。
圖 1.IoT 設(shè)計面臨的四大難題。
只有硬件仿真才能夠提供足夠的容量、速度和功能,讓您能夠高效地完成大量驗證。現(xiàn)在,我們還需要認真考慮應(yīng)該如何使用硬件仿真。傳統(tǒng)的電路內(nèi)仿真 (ICE)不僅無法支持迅速增長的互聯(lián)網(wǎng)芯片端口數(shù)的需求,對于測試IoT設(shè)備上的眾多接口協(xié)議也不實用。我們需要舍棄傳統(tǒng)的電路內(nèi)仿真,而轉(zhuǎn)向以軟件為中心的虛擬硬件仿真。
首先,我們將討論這些挑戰(zhàn),然后再介紹它們的解決方案。
IoT 和網(wǎng)絡(luò)設(shè)計的主要挑戰(zhàn)
1.每個芯片需承載更多協(xié)議
由于更多應(yīng)用程序和功能需要同時連接到網(wǎng)絡(luò),因此每個設(shè)備所使用的協(xié)議數(shù)量在不斷增加。例如,手機需要連接到云存儲空間、播放流媒體格式的音視頻、運行各種應(yīng)用程序以及撥打接聽電話和收發(fā)文本信息。
所有這些協(xié)議本身可能非常復(fù)雜。但因為在不同協(xié)議之間以及它們與設(shè)計的其余部分之間存在如此多的通信和交互,因此它們會呈現(xiàn)出許多棘手的需要檢查甚至調(diào)試的場景和邊界情況。
將所有這些協(xié)議都置于單個 SoC 上,將會大幅增加硬件復(fù)雜度。芯片的內(nèi)外部通信協(xié)議越多,驗證設(shè)計所需的驗證周期就越長。
圖 2.IoT 提高了每顆芯片的協(xié)議使用要求。
2.設(shè)計規(guī)模更大
設(shè)計規(guī)模更大的協(xié)議集成會增加復(fù)雜度和尺寸。此外,各種功能、多處理器和嵌入式軟件也會增加其復(fù)雜度和尺寸。消費者希望產(chǎn)品能夠處理更多功能。這些設(shè)備必須提供集成的數(shù)字、音頻、語音和數(shù)據(jù)功能,且始終保持運行和連接狀態(tài)。
集成的功能數(shù)量越多,運行的并發(fā)性也就越高。這使得驗證系統(tǒng)變得越發(fā)困難,因為一個系統(tǒng)可能包含數(shù)十億門。因此,我們必須重新考慮驗證技術(shù),這是不言而喻的。
圖 3.更多集成、多功能、多處理器、嵌入式軟件提高了復(fù)雜性。
3.功耗更低
設(shè)計決策需要考慮到功耗、面積和性能。IoT 設(shè)計尤其重視功耗。這使得系統(tǒng)級功耗分析和管理成為一項重要工作。
在設(shè)計流程早期提供精確功耗分析的驗證解決方案,有助于確保您的設(shè)計決策能夠顯著降低能耗。此類分析的準(zhǔn)確度取決于測量會最終在SoC上運行的特定應(yīng)用場景的功耗。這正是傳統(tǒng)基于測試平臺的驗證方法的不足之處。我們需要一種更好的方法,來提供符合 IoT 設(shè)計人員需求的分析。
圖 4.數(shù)據(jù)軟件仿真測試平臺無法捕獲精確的功耗測量數(shù)據(jù)。
4.更高端的軟件內(nèi)容
在軟件模擬器上運行傳統(tǒng)軟件驗證正逐漸被淘汰。軟件仿真進展太慢,無法對運行數(shù)十億周期或數(shù)據(jù)幀的 SoC 執(zhí)行充分的壓力測試。如果設(shè)計人員完全或很大程度地依賴軟件仿真,他們就不得不在功能方面做出妥協(xié)。他們不能完全理解系統(tǒng)或 SoC 中究竟發(fā)生了什么情況,因為他們無法生成和隔離可能在實際應(yīng)用中導(dǎo)致問題的邊界情況。
同樣,較多的軟件內(nèi)容會大大增加 SoC 的開發(fā)成本,因為根據(jù)經(jīng)驗法則,軟件要求為每位硬件工程師配備五到十名軟件工程師。這些軟件工程師需要盡可能高效地執(zhí)行相關(guān)驗證。
您的編程團隊需要一種能夠提升 OS 性能的驗證解決方案,并在硬件原型可用之前于目標(biāo)硬件上運行軟件應(yīng)用程序。并且該解決方案還需具備執(zhí)行全面驗證軟件所需的數(shù)十億周期的容量和速度。
圖 5.增加軟件內(nèi)容可推動 SoC 開發(fā)和成本節(jié)約。
5.增加網(wǎng)絡(luò)交換機和路由器活動
IoT 正在不斷推動網(wǎng)絡(luò)發(fā)展,因為消費者需要更多的帶寬、更加豐富的多媒體,以及更多視頻流和音頻流。因此,網(wǎng)絡(luò)公司必須提供更高的帶寬、更優(yōu)異的計算性能以及更多專注于內(nèi)容的應(yīng)用程序。業(yè)界正在擴展和/或推出以太網(wǎng)和其他網(wǎng)絡(luò)標(biāo)準(zhǔn)以滿足這些需求,并通過更快速的網(wǎng)絡(luò)協(xié)議和更多端口來改善網(wǎng)絡(luò)服務(wù)。
例如,為滿足需求而產(chǎn)生的大量網(wǎng)絡(luò)配置迫使較新網(wǎng)絡(luò)芯片的開發(fā)人員不得不將數(shù)以千計的以太網(wǎng)端口置于單個 SoC 上。如此一來,在一個硬件測試環(huán)境中為所有這些端口提供連接就變得幾乎不可能。因此,網(wǎng)絡(luò)公司需要在軟件中采取某種方式來實施他們的設(shè)計。
針對 IoT 網(wǎng)絡(luò)以硬件仿真為主的驗證
當(dāng)今的硬件和軟件需要大量的驗證。產(chǎn)品開發(fā)工作不會變得更加簡單,而只會變得日益困難。要記住,開發(fā)人員需要在不斷縮短的時間期限內(nèi)開發(fā)出產(chǎn)品,這也會加大開發(fā)難度。那么,硬件仿真如何幫助您應(yīng)對這些壓力呢?為什么硬件仿真會成為驗證過程的一個“必需”環(huán)節(jié)?
Mentor Graphics 仿真團隊認為,改進復(fù)雜 IoT 和網(wǎng)絡(luò)系統(tǒng)驗證的最佳方式是使用 Veloce 平臺來重復(fù) IoT 公司進行設(shè)計的過程。這種方法包括斷開運行于手機和其他產(chǎn)品上的應(yīng)用程序與硬件和操作系統(tǒng)間的關(guān)系。此方法是可行的,因為最終用戶往往比較關(guān)注自己想要使用的應(yīng)用程序,并希望這些應(yīng)用程序可以在其所擁有的任何操作系統(tǒng)或設(shè)備上都可以運行。
因此,Veloce 硬件仿真平臺經(jīng)過量身定制,讓設(shè)計人員能夠使用 Veloce 應(yīng)用程序以相同方式測試設(shè)計。驗證應(yīng)用程序(例如覆蓋范圍、軟件調(diào)試、低功耗等)獨立于操作系統(tǒng) (OS)。因此,Veloce OS 為 Veloce 驗證應(yīng)用程序以及內(nèi)部或第三方開發(fā)的應(yīng)用程序提供了一個仿真器界面。由于 Veloce OS 與任何版本或任何型號的 Veloce 仿真硬件系列都兼容,因此用戶可從一個平臺無縫遷移到下一代平臺,這將會保護客戶的投資,并在他們的性能和容量需求增加時提供可擴展性。
圖 6.Veloce OS 和硬件仿真應(yīng)用程序。
此外,Veloce OS 還支持企業(yè)服務(wù)器。企業(yè)服務(wù)器可使用負載分享管理軟件優(yōu)化資源使用量,并提供作業(yè)隊列和優(yōu)先級排序。利用企業(yè)服務(wù)器,用戶可以將工作從其桌面提交到位于全球任何地方的數(shù)據(jù)中心的 Veloce 硬件仿真資源中。它支持為多個項目、團隊、用戶和使用模式并行使用 Veloce 硬件仿真。他可以以最有效的方式將單個或多個項目分配到某個位置,以確保最高效地利用 Veloce 資源。因此,全球用戶可以隨時隨地高效地訪問易于數(shù)據(jù)中心管理的硬件仿真資源。
但是,如果執(zhí)行設(shè)計所需的外圍設(shè)備和協(xié)議本身并非基于軟件,那么所有這些操作都將是徒勞。這正是 Mentor 開發(fā) VirtuaLAB 的原因所在。VirtuaLAB 已經(jīng)改變了執(zhí)行基于 SoC 的硬件仿真的方式,并為企業(yè)服務(wù)器功能做好準(zhǔn)備,將實驗室環(huán)境轉(zhuǎn)變成只需硬件仿真器和工作站來執(zhí)行協(xié)議模型軟件版本的數(shù)據(jù)中心。由于 VirtuaLAB 使用與 ICE 硬件解決方案相同的協(xié)議 IP 和軟件堆棧,因此可以利用軟件的靈活性和可重復(fù)結(jié)果,提供與基于傳統(tǒng) ICE 驗證相同的功能,進而為用戶提供硬件準(zhǔn)確度。
圖 7.VirtuaLAB 企業(yè)服務(wù)器為多個用戶和項目提供全天候的全球訪問。
但它的優(yōu)點不止于此。與 ICE 相比,它具有實實在在的優(yōu)勢:
您可以獲得更高的可靠性,因為硬件仿真系統(tǒng)消除了常會引發(fā)故障的外部硬件和布纜。
利用高效的多用戶環(huán)境,您可以提高效率,并能通過只改變其編譯參數(shù)(而不是換入/換出混亂不堪的外部硬件底板和纜線)遠程重新配置 VirtuaLAB 模型。
您可以部署可靠、低成本的工作站,用于執(zhí)行軟件模型,而無需連接硬件(包括昂貴的測試儀),從而降低總體成本。
您可將硬件仿真功能從實驗室移入數(shù)據(jù)中心,使得全球多個團隊可以隨時隨地使用硬件仿真功能,就像一個服務(wù)器場,從而提高投資回報。
由于基于軟件的解決方案具有較高的調(diào)試可見性,而且設(shè)計人員可以訪問在物理環(huán)境中很難使用的軟件協(xié)議檢查器和分析儀,因此您可以實現(xiàn)更高質(zhì)量的結(jié)果。
讓我們一起來了解下基于 Veloce 軟件的環(huán)境如何具體地解決 IoT 和網(wǎng)絡(luò)開發(fā)人員面臨的五大技術(shù)挑戰(zhàn)。
1a.協(xié)議解決方案
在某種程度上,軟件解決方案可以更加輕松地獲得準(zhǔn)確的結(jié)果,因為硬件解決方案即使在使用相同的激勵時也可產(chǎn)生不同的結(jié)果(結(jié)果取決于硬件啟動時所處的狀態(tài))。因此,在設(shè)計中為協(xié)議采用基于軟件的環(huán)境非常重要。Veloce 為多個細分市場提供協(xié)議解決方案,其中包括可提供主機/外圍設(shè)備模型、協(xié)議試驗程序/分析儀以及軟件調(diào)試接口的一系列解決方案。
2a.大規(guī)模設(shè)計
隨著設(shè)計尺寸的持續(xù)增加,硬件仿真容量也必須跟上節(jié)奏。Veloce 利用可擴展硬件仿真平臺來應(yīng)對這一挑戰(zhàn)??蛻糇畛蹩赡軙褂?Veloce Quattro 來滿足他們的需求。Quattro 可為每個系統(tǒng)和多達 16 個用戶處理多達 2.56 億門。隨后,他們可能會使用的下一個型號是支持多達 64 個用戶的十億門 Veloce Maximus。接下來是 Double Maximus 系統(tǒng),它具有多達 20 億門和 128 個用戶的容量。所有 Veloce 型號和版本都使用相同的 Veloce OS,運行相同的應(yīng)用程序,并且完全向后兼容。確保硬件仿真容量的增長具有可擴展性,并保護現(xiàn)有投資。
圖 8.Veloce 可擴展硬件仿真平臺滿足不斷提高的容量需求。
3a.低功耗
Veloce 非常適合進行低功耗分析,因為它能夠提供很高的精確度,這一精確度僅可在真實應(yīng)用環(huán)境下運行設(shè)計方能得以實現(xiàn)。
Veloce 具有適當(dāng)?shù)乃俣群腿萘?,可以啟?OS 和完全運行軟件應(yīng)用所需的數(shù)十億周期,即使在硬件具有數(shù)十億門時也如此。Mentor 創(chuàng)建了一個動態(tài)波形 API 流程,以直接與集成到 Veloce 硬件仿真器中的功率分析工具相連接。通過與行業(yè)領(lǐng)先的第三方功率分析工具(例如 ANSYS)集成,客戶可以在設(shè)計流程初期獲得準(zhǔn)確的功率數(shù)。因此,他們能夠針對功耗、區(qū)域和性能做出明智的設(shè)計決策。
這是其他硬件仿真器無法做到的,也令Veloce功耗分析應(yīng)用程序比任何其他低功耗解決方案都要準(zhǔn)確得多。
圖 9.加快的 Veloce 功耗分析流程。
4a.軟件調(diào)試
運行于芯片上的軟件必須與硬件同時進行驗證。硬件仿真與軟件仿真一樣易于調(diào)試,對于較大規(guī)模的設(shè)計,硬件仿真比軟件仿真要快數(shù)千甚至數(shù)百萬倍。Veloce 包含大量解決方案,以滿足軟件工程師調(diào)試其嵌入式軟件之需。
Veloce 針對使用軟件仿真的實時交互式調(diào)試提供虛擬探針。這些虛擬探針可提供與軟件調(diào)試程序的虛擬連接,無需再使用硬件 JTAG 探針。這不僅消除了 JTAG 探針的部分固有問題,還充分利用了企業(yè)服務(wù)器。然而,交互式調(diào)試會極大占據(jù)硬件加速器寶貴的機時,尤其是在軟件工程師停頓時鐘并進行主動調(diào)試的時候。在調(diào)試時將硬件的時鐘停止對于使用硬件加速器來說是一種非常浪費的方式。因此,交互式調(diào)試應(yīng)僅在絕對必要時方可使用。
當(dāng)交互式調(diào)試不是那么必要的時候,Veloce Codelink 可以支持離線和重放調(diào)試。Codelink 提供標(biāo)準(zhǔn)軟件開發(fā)人員工具的調(diào)試功能,包括將軟件調(diào)試程序中運行的代碼與硬件波形中顯示的位置相關(guān)聯(lián)。通過 Codelink 軟件,硬件仿真器會生成多個數(shù)據(jù)庫,這些數(shù)據(jù)庫可用于離線軟件調(diào)試。這是一個非常高效的環(huán)境,可釋放硬件仿真器用于其他任務(wù)和用戶,同時又能夠離線執(zhí)行軟件調(diào)試。
圖 10.Codelink 支持多個并行用戶的離線調(diào)試。
5a.交換機和路由器端口
擁有成百上千個端口的設(shè)計需要與硬件擁有非常多的連接,而這些連接全都需要接線纜,這就使得在 ICE 環(huán)境中驗證網(wǎng)絡(luò)交換機和路由器設(shè)計不再可行。此外,一個128 端口的以太網(wǎng)設(shè)計等可能具有數(shù)億甚至數(shù)十億個門的尺寸。
Veloce VirtuaLAB 可通過將大多數(shù)的測試環(huán)境轉(zhuǎn)移到軟件中來克服硬件環(huán)境的障礙,并在可運行多達20億門設(shè)計的可擴展 Veloce 平臺上運行。另外,VirtuaLAB 協(xié)議解決方案還可滿足網(wǎng)絡(luò)交換機或路由器公司在驗證其芯片時的關(guān)鍵目標(biāo):數(shù)據(jù)包延遲、帶寬、數(shù)據(jù)包丟失、亂序序列以及流量分析。
在典型的 VirtuaLAB 環(huán)境中,SoC 將被載入 Veloce 硬件仿真器中。硬件仿真器通過一個或多個軟件連接與工作臺上的用戶環(huán)境相連。通過這些連接,工程師能夠與在仿真中運行的 DUT 進行交互。對于以太網(wǎng),工作站上運行的 VirtuaLAB 以太網(wǎng)數(shù)據(jù)包生成器和監(jiān)視器 (EPGM) 應(yīng)用程序?qū)商摂M以太網(wǎng)流量。EPGM 會生成測試數(shù)據(jù)包并對以太網(wǎng)流量提供可見性、分析和用戶控制。
圖 11.VirtuaLAB EPGM 設(shè)置。
企業(yè)硬件仿真和 IoT
IoT以及它所需要的不斷增長的網(wǎng)絡(luò)基礎(chǔ)設(shè)施使得我們當(dāng)前面臨的驗證挑戰(zhàn)變得更加嚴峻,而且還帶來了新的挑戰(zhàn)。如果公司希望及時將產(chǎn)品推向市場,同時確保在產(chǎn)品設(shè)計中沒有出現(xiàn)錯誤,他們就需要強大的技術(shù)手段來幫助完成如此復(fù)雜的任務(wù)。只有硬件仿真能夠應(yīng)對這一挑戰(zhàn)。
因此,通過企業(yè)驗證平臺 (EVP),Mentor Graphics 開發(fā)了一系列以 Veloce VirtuaLAB 為核心且專門針對 IoT 的硬件仿真解決方案,。此解決方案靈活性更強、可見性更高,并且能夠根據(jù) IoT 和網(wǎng)絡(luò)系統(tǒng)設(shè)計的容量和復(fù)雜度的增加而進行擴展。VirtuaLAB 能夠提高工作效率并改善設(shè)計質(zhì)量。它還提供很多 ICE 傳統(tǒng)功能,但無需額外的線纜和硬件設(shè)備。
由于所有這些功能和技術(shù)都是建立在企業(yè)硬件仿真理念之上,因此所有硬件仿真資源均位于數(shù)據(jù)中心,并可由多個團隊、用戶和項目隨時隨地進行遠程訪問。VirtuaLAB 環(huán)境為所有 IoT 市場提供軟件和硬件驗證,從而為多協(xié)議、復(fù)雜設(shè)計、加速低功耗應(yīng)用程序以及硬件-軟件協(xié)同調(diào)試提供高速驗證解決方案。
圖 12.EVP 為實現(xiàn)高效驗證集成了一整套工具。