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