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