Charley Selvidge是Mentor,a Siemens Business的首席工程經(jīng)理,待人謙遜有禮,同時(shí)深藏敏銳才智和精湛學(xué)識,能夠用通俗易懂的詞語解釋復(fù)雜概念。
正因如此,他在闡述硬件仿真發(fā)展前景時(shí)得心應(yīng)手,這也正是他頗為精通的領(lǐng)域。在20世紀(jì)90年代末,Charley在馬薩諸塞州劍橋市的麻省理工學(xué)院(MIT)附近創(chuàng)辦了 Virtual Machine Works公司。據(jù)了解,VMW于1998年被IKOS Systems收購,之后于2002年加入Mentor。
圖:Charley Selvidge
盡管Charley常年變動(dòng),甚至貫穿整個(gè)美國遷至加利福尼亞州,但期間他從未間斷設(shè)計(jì)和完善新型仿真器。最新版的Veloce硬件仿真平臺就是他的杰作,這是一種名為Veloce Strato的數(shù)據(jù)中心友好型仿真平臺。
最近,Charley一直認(rèn)為,硬件仿真器操作系統(tǒng)由仿真器軟件系統(tǒng)的自然演變而來。
為說明這一點(diǎn),他用計(jì)算機(jī)系統(tǒng)做類比?!霸谟?jì)算機(jī)出現(xiàn)的早期,計(jì)算機(jī)沒有操作系統(tǒng)。程序員很快發(fā)現(xiàn),在計(jì)算機(jī)硬件的低級操作和想要在計(jì)算機(jī)中運(yùn)行的高級任務(wù)或程序之間創(chuàng)建標(biāo)準(zhǔn)軟件是非常有用的。”分層方法將提供一系列一致的服務(wù),從而更容易地開發(fā)應(yīng)用和程序,無需重新設(shè)置或重復(fù)開發(fā)通用的底層功能、庫,如打開文件或與計(jì)算機(jī)進(jìn)行的其他交互應(yīng)用。
Charley 對比仿真器并指出:“硬件仿真器包括底部可用于運(yùn)行數(shù)字芯片硬件執(zhí)行平臺以及可以在仿真器上運(yùn)行的一系列應(yīng)用型任務(wù)?!边@些任務(wù)通常具有高級目標(biāo),例如對芯片功耗進(jìn)行特征提取或處理運(yùn)行于芯片內(nèi)部處理器上的軟件應(yīng)用。不論是哪種情況,整個(gè)芯片均需視為任務(wù)的一部分。
他補(bǔ)充道,這些確實(shí)是仿真器通常執(zhí)行的高級且復(fù)雜的任務(wù)。操作系統(tǒng)內(nèi)部仿真的一系列中間服務(wù)標(biāo)準(zhǔn)將高級任務(wù)和與仿真相關(guān)的低級、特定于機(jī)器的細(xì)節(jié)隔離開。
因此,Charley確定,操作系統(tǒng)對于仿真器而言是一個(gè)新穎的概念。
硬件仿真中的硬件和軟件可擴(kuò)展性
所有仿真器均基于某種建模元器件,也就是說,是一種可以對芯片建模的設(shè)備。大多數(shù)建模元器件是以少量、中等或大量形式組裝,可以創(chuàng)建不同規(guī)模的系統(tǒng)。在此底層硬件之上是一種軟件編譯系統(tǒng)。仿真編譯器讀取數(shù)據(jù)庫或集成電路模型,并寫入數(shù)據(jù)流以配置仿真器中的建模元器件陣列,以形成芯片映射。
通常情況,使用計(jì)算機(jī)程序設(shè)計(jì)集成電路,這種程序可以執(zhí)行以一種通常稱為硬件描述語言(HDL)的計(jì)算機(jī)語言編寫的電路描述。最常用的HDL是Verilog SystemVerilog和VHDL。電路描述確定了電路特性。將這些描述合并成一個(gè)真實(shí)的電路,并編譯成在仿真器上運(yùn)行的模型。
據(jù)Charley介紹,獲得芯片模型后,設(shè)計(jì)師可將其加載到仿真器上,這是由仿真器的OS軟件執(zhí)行的特定于機(jī)器的任務(wù)。OS還可以執(zhí)行一些其他任務(wù),包括運(yùn)行和停止時(shí)鐘、訪問設(shè)計(jì)可見性數(shù)據(jù),或?qū)⒓?lì)應(yīng)用于仿真模型以及收集其響應(yīng)。他還提醒我們注意,功能性設(shè)計(jì)驗(yàn)證任務(wù)包括向設(shè)備中寫入數(shù)據(jù)、從設(shè)備中提取數(shù)據(jù)、判斷設(shè)備是否正確,以及與之交互。
這些基本任務(wù)對于仿真器可以執(zhí)行的最高級作業(yè)而言很普遍。他舉了幾個(gè)例子,包括對功耗進(jìn)行特征提取、運(yùn)行軟件和其他一些活動(dòng)。這些最高級作業(yè)反過來調(diào)用底層服務(wù)的各種基本單元,以完成執(zhí)行。Charley以提取可見性數(shù)據(jù)以確定功耗為例。這涉及在測試環(huán)境中運(yùn)行設(shè)計(jì)、提取數(shù)據(jù)、處理數(shù)據(jù)以及向更多軟件提供數(shù)據(jù)以進(jìn)行功耗運(yùn)算。
擴(kuò)展軟件復(fù)雜性是擴(kuò)展的一個(gè)方面,也是一個(gè)好的示例。如果擁有如下OS會(huì)很有幫助:該OS能夠?yàn)楦鼜?fù)雜任務(wù)提供一系列以更高級抽象方式(換言之,計(jì)算機(jī)編程方式)管理的基本功能和服務(wù)。Charley補(bǔ)充說:“設(shè)計(jì)師不想使用匯編語言編程。他們不想編寫自己的文件服務(wù)程序?,F(xiàn)在,他們只需要編譯器和標(biāo)準(zhǔn)接口來實(shí)現(xiàn)功能。
仿真器OS擴(kuò)展的第二方面是對多種型號的設(shè)備建模。一方面,設(shè)計(jì)師可以選擇對小規(guī)模的知識產(chǎn)權(quán)(IP)模塊建模,以適應(yīng)一些小型仿真硬件資源。另一方面,設(shè)計(jì)師可以對CPU或大型互聯(lián)網(wǎng)開關(guān)芯片等完整片上系統(tǒng)(SoC)設(shè)計(jì)建模。這樣就產(chǎn)生了一系列面向軟件的挑戰(zhàn),這些挑戰(zhàn)就是開發(fā)用于處理小模型和大模型的軟件兼容性。
他表示:“大型設(shè)計(jì)難以管理,但針對多種規(guī)模做出適當(dāng)?shù)臋?quán)衡更具挑戰(zhàn)。一旦解決了軟件挑戰(zhàn),將有利于在一個(gè)標(biāo)準(zhǔn)化的地方存儲(chǔ)解決方案。這個(gè)地方就是OS?!?/p>
為可見性等功能提供OS中的服務(wù),能夠?yàn)樾⌒驮O(shè)計(jì)和大型設(shè)計(jì)提供適當(dāng)?shù)墓δ苤С?,并且無需設(shè)計(jì)師掌握高效擴(kuò)展的原理。
Charley說:“在以上這些方面中,OS是用于開發(fā)仿真器軟件的一種適當(dāng)?shù)能浖M織策略?!?/p>
硬件仿真應(yīng)用程序
這讓Charley對硬件仿真產(chǎn)生了新觀點(diǎn)。與PC或手機(jī)一樣,硬件仿真正在進(jìn)入“應(yīng)用程序”世界。硬件仿真通過與消費(fèi)類電子設(shè)備軟件基本相同的方式,為這些應(yīng)用程序提供服務(wù)。
當(dāng)處理“應(yīng)用程序”等特定于應(yīng)用的問題以及開發(fā)解決這些問題的軟件時(shí),以無需編寫軟件即可完成任務(wù)方式封裝的較低級服務(wù)很有幫助。這些服務(wù)可以由操作系統(tǒng)通過一組應(yīng)用程序編程接口(API)以可訪問的形式提供,API是一種較高級應(yīng)用獲取底層服務(wù)的方法。
通過實(shí)施這種軟件組織(指OS和應(yīng)用程序),設(shè)計(jì)師可以讓OS軟件平穩(wěn)化,并確定一系列有效且一致的API。這種方法可以高效開發(fā)應(yīng)用程序,無需考慮較低級細(xì)節(jié),且支持不同版本硬件仿真平臺。
使用OS的另一方面是能夠通過提供具有透明度的適應(yīng)層,將程序等較高級軟件元素與底層硬件中的變化隔離開。設(shè)計(jì)師使用這種方法開發(fā)的應(yīng)用程序不會(huì)因硬件平臺的發(fā)展而變化,可以保護(hù)原始投資,供將來加以利用。無需重建舊軟件便可在新平臺上工作,因此設(shè)計(jì)師可以潛心開發(fā)可在多代平臺運(yùn)行的新軟件。
他最后總結(jié)道:“像這樣的OS和“應(yīng)用程序”軟件組織方法對于設(shè)計(jì)師而言獨(dú)特而有利?!苯酉聛?,我們請Charley繼續(xù)考慮操作系統(tǒng),也許就會(huì)出現(xiàn)新一代的硬件仿真器。同時(shí),我們之后要考慮的是硬件仿真的未來發(fā)展?jié)摿Α?/p>
-
仿真器
+關(guān)注
關(guān)注
14文章
1037瀏覽量
85429 -
計(jì)算機(jī)系統(tǒng)
+關(guān)注
關(guān)注
0文章
290瀏覽量
24666 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50239
發(fā)布評論請先 登錄
計(jì)算機(jī)網(wǎng)絡(luò)入門指南

專業(yè)的第三類醫(yī)療器械經(jīng)營企業(yè)計(jì)算機(jī)系統(tǒng),確保合規(guī)無憂

評論