SoC設(shè)計(jì)之虛擬原型技術(shù)詳解
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要
近期SoC的開發(fā)使虛擬原型對(duì)于軟件和模型開發(fā)人員都更易于使用。本文闡述了虛擬原型驗(yàn)證技術(shù)將如何幫助數(shù)量不斷增長(zhǎng)的開發(fā)團(tuán)隊(duì)將更高質(zhì)量的軟件解決方案快速推向市場(chǎng)。
開發(fā)復(fù)雜的嵌入式系統(tǒng)是一門越來(lái)越昂貴的生意。根據(jù)研究公司IBS調(diào)查結(jié)果:系統(tǒng)級(jí)芯片(SoC)的開發(fā)成本從90納米的兩千萬(wàn)美元飆升到32納米的接近一億美元,同時(shí)軟件開發(fā)成為開銷增長(zhǎng)最快的部分。通常,56%的嵌入式項(xiàng)目會(huì)被拖延,因?yàn)殚_發(fā)人員要花費(fèi)將近四分之一的時(shí)間來(lái)進(jìn)行測(cè)試和除錯(cuò)。此外,軟件糾錯(cuò)在許多項(xiàng)目中成為了開發(fā)人員面對(duì)的一個(gè)關(guān)鍵問(wèn)題,并且被看作是一個(gè)項(xiàng)目能否取得成功的最重要的部分。
另一方面,那些較早進(jìn)入市場(chǎng)的公司則擁可有更高的產(chǎn)量,并且一直保持著大幅度的增長(zhǎng)。在一個(gè)兩年半的開發(fā)周期中將軟件開發(fā)提速縮減7個(gè)月的時(shí)間,則在產(chǎn)品生命周期中可以額外增加5千萬(wàn)美元的收益(如圖2)。
于是,順理成章的是越來(lái)越多的軟件團(tuán)隊(duì)會(huì)欣然接受一些可以幫助他們加速開發(fā)周期和編寫更高質(zhì)量代碼的技術(shù)和流程。然后,當(dāng)需要抉擇時(shí)他們可以繼續(xù)使用這些技術(shù),如董事會(huì)會(huì)因?yàn)閷?duì)更好的開發(fā)人員產(chǎn)品開發(fā)工作的賞識(shí)而給開發(fā)人員一種優(yōu)勢(shì)。
在虛擬原型驗(yàn)證解決方案出現(xiàn)在市場(chǎng)上的幾年間,軟件復(fù)雜度的增加以及開發(fā)成本的暴增正在驅(qū)動(dòng)著主流用戶對(duì)其的需求。
什么是虛擬原型?
虛擬原型是被開發(fā)系統(tǒng)的快速且具有完整功能的軟件模型。因?yàn)樘摂M原型可以執(zhí)行未修改的產(chǎn)品代碼,工程師不需要等到硬件(芯片或開發(fā)板)完成就可以開發(fā)軟件。相對(duì)于傳統(tǒng)的方法,這能夠?yàn)檐浖_發(fā)團(tuán)隊(duì)在開發(fā)嵌入式系統(tǒng)時(shí)帶來(lái)9~12個(gè)月的優(yōu)勢(shì),并且在硬件真正完成時(shí)更易于配置系統(tǒng)。一旦硬件得以實(shí)現(xiàn),虛擬原型可被用來(lái)調(diào)試發(fā)現(xiàn)難以查找的問(wèn)題,為開發(fā)過(guò)程提供了更多的系統(tǒng)級(jí)可見(jiàn)度。
虛擬原型通過(guò)結(jié)合軟件行為與硬件來(lái)提供一種平臺(tái)級(jí)視圖來(lái)加速軟件糾錯(cuò)。這種視圖使開發(fā)人員能夠在數(shù)小時(shí)之內(nèi)就能夠辨識(shí)出缺陷的根本原因,而不是數(shù)天或數(shù)周。開發(fā)人員可以設(shè)置和重設(shè)硬件寄存器的值,停止和啟動(dòng)調(diào)試周期,或者在一個(gè)特定的、有問(wèn)題的區(qū)域內(nèi)放大觀察,而無(wú)需對(duì)軟件進(jìn)行大的改變。
因?yàn)樗鼈儗⒂布蛙浖噙B,虛擬原型使設(shè)計(jì)團(tuán)隊(duì)能夠更高效地溝通。使用者可以識(shí)別和糾正潛在的規(guī)格或闡釋錯(cuò)誤,并在整個(gè)硬件上使用各種軟件驅(qū)動(dòng)的腳本來(lái)驗(yàn)證系統(tǒng)。
虛擬原型還可以通過(guò)提升測(cè)試覆蓋率來(lái)提高質(zhì)量。開發(fā)人員可以進(jìn)行更多的邊界測(cè)試,更好地理解問(wèn)題的潛在根本原因,以及通過(guò)生成和自動(dòng)地對(duì)軟件和硬件進(jìn)行基于腳本的測(cè)試。
易于使用,易于導(dǎo)入
盡管虛擬原型技術(shù)被越來(lái)越多地采用,一些開發(fā)人員仍然堅(jiān)持他們的觀點(diǎn),即虛擬原型技術(shù)很難使用和部署到他們的流程中。但是,業(yè)界一直以來(lái)都在努力克服這些曾經(jīng)存在的導(dǎo)入障礙。
快速而準(zhǔn)確的事務(wù)級(jí)模型的出現(xiàn)是成功的虛擬原型的關(guān)鍵。現(xiàn)在許多處理器供應(yīng)商都發(fā)布虛擬模型以實(shí)現(xiàn)與其最新的內(nèi)核的匹配。例如,Synopsys自有的DesignWare 知識(shí)產(chǎn)權(quán)(IP)庫(kù)包含了完整的接口IP解決方案,由控制器、物理層(PHY)和驗(yàn)證IP組成,可適應(yīng)于各種廣為使用的協(xié)議、模擬IP、嵌入式存儲(chǔ)器、邏輯庫(kù)、處理器內(nèi)核和子系統(tǒng)。
另一項(xiàng)已落實(shí)到位的重要資源是行業(yè)性的事務(wù)級(jí)模型(TLM)列表網(wǎng)站,它被稱為TLMCentral。TLMCentral是事務(wù)級(jí)模型的一個(gè)行業(yè)性網(wǎng)絡(luò)門戶,可為全行業(yè)提供多達(dá)970種模型。它為模型開發(fā)人員、架構(gòu)師和軟件工程師提供了一條在模型與建模方法上進(jìn)行合作以及虛擬原型推廣方面的途徑。TLMCentral為與系統(tǒng)級(jí)和軟件開發(fā)社群相關(guān)的新聞、論壇和博客提供了一個(gè)集中的基礎(chǔ)平臺(tái)。
最終,通過(guò)引入其Virtualizer Development Kit(VDK),Synopsys為軟件開發(fā)人員將虛擬原型演化成一套現(xiàn)成可用的參考開發(fā)工具包。這樣可將工具及開發(fā)人員熟知的SoC的參考虛擬原型交到軟件開發(fā)人員的手中,用以測(cè)試驅(qū)動(dòng)、擴(kuò)展和進(jìn)行定制。
這些資源為開發(fā)人員建立模型帶來(lái)了一個(gè)良好的開端,使他們能夠?yàn)樗麄兊脑O(shè)計(jì)填充許多需要使用的已存在的模型,而不必從頭開始去創(chuàng)造他們。
改善工具和流程
除了更多樣化的可用模型外,更成熟的工具和開發(fā)人員環(huán)境使專家和新手都可用虛擬原型來(lái)實(shí)現(xiàn)更高產(chǎn)能。
Synopsys推出的用于生成虛擬原型的工具包Virtualizer的最新版本具備許多增強(qiáng)功能,它們專注于提高生產(chǎn)率和使用方便性。例如,一個(gè)新的圖形化仿真分析器可使仿真團(tuán)隊(duì)更方便地發(fā)現(xiàn)并解決仿真瓶頸。
新的模型建立界面簡(jiǎn)化并自動(dòng)進(jìn)行帶有新功能的模型的生成,如自動(dòng)設(shè)計(jì)規(guī)則校驗(yàn)和設(shè)計(jì)靈敏的設(shè)計(jì),可使虛擬原型專家以及那些缺乏經(jīng)驗(yàn)的新手都提高生產(chǎn)效率。
Virtualizer還可以使用戶導(dǎo)入現(xiàn)已有的、采用流行格式IP規(guī)范,如IP-XACT、Excel和Word,并通過(guò)生成SystemC模型和TLM-2.0總線接口而進(jìn)一步加速了模型開發(fā)。
與軟件工具更緊密地集成
各種Virtualizer開發(fā)工具包(VDK) 就像一個(gè)真實(shí)的器件那樣運(yùn)行,并確保了對(duì)多核平臺(tái)的完全控制,也是更早得到器件、增強(qiáng)的除錯(cuò)及易于部署的關(guān)鍵。
與流行的除錯(cuò)程序和安裝程序相結(jié)合,各種VDK 確保了有效地進(jìn)行除錯(cuò)和分析。Virtualizer為流行軟件除錯(cuò)程序中的各種最新應(yīng)用程序接口(API)提供了開箱即用的支持,例如Lauterbach的TRACE32系統(tǒng)和ARM的Development Studio 5 (DS-5),這就使得軟件開發(fā)團(tuán)隊(duì)能使用VDK為非侵入性的多核軟件調(diào)試創(chuàng)建一個(gè)強(qiáng)大的集成化環(huán)境。
這種集成使工程師在虛擬原型的設(shè)計(jì)流程中能早早開始軟件的開發(fā),而當(dāng)他們過(guò)渡到真實(shí)的硬件時(shí)無(wú)需切換到其它調(diào)試工具。
用戶關(guān)注重點(diǎn)
設(shè)計(jì)師和開發(fā)人員現(xiàn)正在多樣化的開發(fā)任務(wù)中使用虛擬原型。它們包括軟件集成、驅(qū)動(dòng)開發(fā)、軟件移植、操作系統(tǒng)啟動(dòng)、軟件測(cè)試、硬件驗(yàn)證、SoC 集成和完整的系統(tǒng)驗(yàn)證和測(cè)試。
雖然半導(dǎo)體公司一直最早采用虛擬原型技術(shù),主流應(yīng)用則已經(jīng)擴(kuò)展到那些專注于移動(dòng)、消費(fèi)電子和汽車的原始設(shè)備制造商(OEM)和芯片開發(fā)商,以及開發(fā)各種工業(yè)應(yīng)用的客戶。
成功案例
理光使用了包括Virtualizer在內(nèi)的多種Synopsys的產(chǎn)品,以加速其專用集成電路(ASIC)和系統(tǒng)級(jí)芯片(SoC)的開發(fā)。理光的設(shè)計(jì)規(guī)模及復(fù)雜度都在不斷地增加,同時(shí)軟件內(nèi)容也在不斷升級(jí),因此自然的契合是采用一種系統(tǒng)級(jí)的方法來(lái)準(zhǔn)確高效地實(shí)現(xiàn)他們的設(shè)計(jì)。采用這種方法的好處包括:
● 通過(guò)使用虛擬原型解決方案可加速其嵌入式軟件的開發(fā),節(jié)省數(shù)月時(shí)間;
● 除去Synopsys的工具易于與互補(bǔ)性的合作伙伴解決方案實(shí)現(xiàn)集成外,還能夠在一個(gè)仿真器上實(shí)現(xiàn)其主處理器與一個(gè)圖形處理器(GPU)的虛擬原型進(jìn)行聯(lián)合仿真;
● Synopsys方案的應(yīng)用案例多樣性,例如建筑勘探、軟件開發(fā)和硬件性能驗(yàn)證,可提高測(cè)試覆蓋范圍并縮短其設(shè)計(jì)的上市時(shí)間。
“通過(guò)使用Virtualizer,我們能在極短的時(shí)間段內(nèi)將整個(gè)SoC的設(shè)計(jì)概述到一個(gè)虛擬原型中,以便于很早開始軟件開發(fā)和硬/軟件的集成,”理光公司嵌入式平臺(tái)開發(fā)部的Satoshi Aoki說(shuō)道,“我們相信Virtualizer是SoC開發(fā)中必備的一種工具。”
參考文獻(xiàn):
[1]SoC FPGA Virtual Target: A Virtual Prototyping Application[R/OL]. https://event.on24.com/eventRegistration/prereg/register.jsp?eventid=411154&sessionid=1&key=BA9FA4905D668317AC63A0B1F6DC6277
[2]Synopsys Unveils Virtualizer Development Kits to Accelerate Software Development for ARM big.LITTLE Processing[R/OL]. http://news.synopsys.com/index.php?s=43&item=1011
[3]Virtual prototyping demo:VDK for ARM Cortex-A15 MPCore: Try it Today[R/OL].http://www.synopsys.com/Systems/VirtualPrototyping/Pages/VP-Learn-Experience.aspx
[4]Step On It: How to drive fast on the Autobahn and still arrive safely at your destination.(2012-12-18)[R/OL]. http://blogs.synopsys.com/viewfromtop/
[5] Tools to Build, Distribute and Use Virtual Prototypes and VDKs[R/OL]. http://www.synopsys.com/Systems/VirtualPrototyping/Pages/Virtualizer.aspx