前言
本系列文章將建立一些定義,并概述試圖通過基于FPGA原型設(shè)計(jì)來克服的挑戰(zhàn)。
我們將探討基于soc的系統(tǒng)的復(fù)雜性及其在驗(yàn)證過程中所面臨的挑戰(zhàn),還將比較和對(duì)比基于FPGA的原型與其他原型方法,包括系統(tǒng)級(jí)虛擬建模。在這后續(xù),將和大家一起深入研究基于FPGA的原型技術(shù)如何有利于一些實(shí)際項(xiàng)目,并為基于FPGA的原型技術(shù)提供一些指導(dǎo)。那么開始吧!
摩爾是對(duì)滴
自從Gordon E. Moore描述了在集成電路上可以廉價(jià)放置多少晶體管的趨勢(shì)以來,由半導(dǎo)體設(shè)計(jì)來實(shí)現(xiàn)的電子設(shè)計(jì)已經(jīng)以一種難以想象的速度發(fā)展起來。
晶體管每?jī)赡攴环内厔?shì)已經(jīng)持續(xù)了半個(gè)多世紀(jì),盡管人們一再預(yù)測(cè)它將很快結(jié)束,但預(yù)計(jì)它暫時(shí)不會(huì)停止。
本章后面對(duì)驅(qū)動(dòng)芯片設(shè)計(jì)的主要趨勢(shì)的詳細(xì)回顧將闡明為什么原型設(shè)計(jì)在采用中不斷增長,甚至在許多公司中被認(rèn)為是強(qiáng)制性的。為了進(jìn)一步理解這一趨勢(shì),需要了解典型的項(xiàng)目動(dòng)態(tài)及其工作分布。
1 SOC一個(gè)定義…至少對(duì)于這本書
為了本書的目的,我們將芯片系統(tǒng)(SoC)定義為為特定目的設(shè)計(jì)和制造,供特定所有者獨(dú)家使用的設(shè)備。
有些人可能會(huì)認(rèn)為SoC是ASIC(特定于應(yīng)用的集成電路)的一種特殊形式,它們是正確的,但為了本書的目的,我們將只參考SoC。我們將堅(jiān)持SoC始終包含至少一個(gè)CPU并運(yùn)行嵌入式軟件的定義。相比之下,ASIC并不一定包含CPU,在此程度上,SoC可以被認(rèn)為是ASIC的超集。
我們并不是說那些正在創(chuàng)建ASIC、ASSP(特定于應(yīng)用程序的硅產(chǎn)品)或由COT(客戶自己的工具)或第三方鑄造廠生產(chǎn)的硅的人應(yīng)該讀另一本書。
對(duì)于基于FPGA的原型設(shè)計(jì)目的來說,技術(shù)并不是相互獨(dú)特的,事實(shí)上,許多基于FPGA的原型設(shè)計(jì)項(xiàng)目都是ASSP,甚至只是IP的一部分,可以用于許多不同的SoC設(shè)計(jì)中。
就基于FPGA的原型設(shè)計(jì)而言,如果它適用于SoC,那么它將適用于上述任何一種設(shè)備類型。這本書關(guān)注SoC的原因是,基于FPGA的原型設(shè)計(jì)的最大價(jià)值在于其獨(dú)特的能力,能夠提供一個(gè)快速和準(zhǔn)確的SoC模型,以允許對(duì)軟件進(jìn)行驗(yàn)證。
2 SoC設(shè)計(jì)的經(jīng)濟(jì)學(xué)
SoC的設(shè)計(jì)就在我們身邊。我們可以在所有引人矚目的引人注目的消費(fèi)電子產(chǎn)品中,以及不起眼的純研究項(xiàng)目的角落,以及星際探測(cè)器的引導(dǎo)系統(tǒng)中找到它們。
特別是對(duì)于消費(fèi)品,人們對(duì)智能手機(jī)、攝像頭或便攜式媒體播放器等設(shè)備的最大智能和功能的需求似乎有著永不滿足的渴望。
為了滿足這些需求一個(gè)典型的SoC設(shè)計(jì)將包括幾個(gè)微處理器,一個(gè)或多個(gè)數(shù)字信號(hào)處理器和一些不同的接口,如藍(lán)牙或WLAN,高分辨率圖形等等。
這一切加起來就是很多軟件??紤]到集成電路的開發(fā)和制造,在圖1中是一個(gè)倒三角形。所顯示的數(shù)據(jù)是2009年的,我們看到芯片開發(fā)是一個(gè)約854億美元的市場(chǎng),是由EDA工具、設(shè)計(jì)服務(wù)、IP和嵌入式軟件工具的86億美元市場(chǎng)實(shí)現(xiàn)的。
在這種半導(dǎo)體設(shè)計(jì)和制造的支持下,是一個(gè)價(jià)值11.16億美元的巨大電子系統(tǒng)市場(chǎng),其中包括我們作為終端消費(fèi)者所渴望的所有消費(fèi)電子產(chǎn)品、無線設(shè)備和電子產(chǎn)品。
圖2:消費(fèi)設(shè)備的硬件-軟件拆分
EDA工具,包括設(shè)計(jì)中不同階段的各種類型的原型,最近專注于從IP提供商、半導(dǎo)體提供商、集成商和oem的設(shè)計(jì)鏈。
原型在這些交互中起著關(guān)鍵作用,因?yàn)?strong>早期原型允許客戶與供應(yīng)商進(jìn)行需求溝通,并從供應(yīng)商為客戶進(jìn)行早期軟件開發(fā)和驗(yàn)證。
為了理解多種形式的原型設(shè)計(jì)可以實(shí)現(xiàn)的影響,讓我們考慮一個(gè)典型的復(fù)雜SoC設(shè)計(jì)。圖2顯示了一個(gè)典型的智能手機(jī)的拆卸情況。最終用戶體驗(yàn)在很大程度上受到它們所呈現(xiàn)的應(yīng)用程序的影響。
好的舊硬件,模擬設(shè)備和天線的設(shè)計(jì)顯然仍然很重要,但用戶只有在它們出錯(cuò)時(shí)才會(huì)真正注意到它們!
用戶應(yīng)用程序由中間件、操作系統(tǒng)和驅(qū)動(dòng)程序組成的軟件堆棧來實(shí)現(xiàn);所有這些都是專門設(shè)計(jì)的,使軟件盡可能獨(dú)立于硬件。
例如,應(yīng)用程序開發(fā)人員不能直接訪問設(shè)備的硬件內(nèi)存、定時(shí)或其他低級(jí)硬件方面。軟件堆棧由硬件元素堆棧進(jìn)行匹配。終端設(shè)備使用幾個(gè)板,由幾個(gè)外圍設(shè)備和芯片組成,其中包含不同的塊,要么作為IP重用,要么由芯片供應(yīng)商專門開發(fā)來區(qū)分他們的硬件。
硬件和軟件的依賴性導(dǎo)致了不同公司類型之間的復(fù)雜關(guān)系。
知識(shí)產(chǎn)權(quán)提供商向半導(dǎo)體供應(yīng)商銷售, 半導(dǎo)體供應(yīng)商向集成商 集成商又是oem銷售商 所有這些供應(yīng)商都為軟件開發(fā)人員提供支持。這些交互的啟用可以說已經(jīng)成為當(dāng)今工具供應(yīng)商要解決的最大問題。
這種實(shí)現(xiàn)的主要挑戰(zhàn)已經(jīng)成為今天:
?(a)盡早實(shí)現(xiàn)軟件開發(fā)。?(b)在目標(biāo)系統(tǒng)環(huán)境中的硬件/軟件的驗(yàn)證。?(c)設(shè)計(jì)和重用芯片處理器加速器外周互連結(jié)構(gòu)(如ARM互連AMBA互連)從基本構(gòu)建塊組裝的芯片的?(d)架構(gòu)設(shè)計(jì)。
2.1.案例研究:一個(gè)典型的SoC開發(fā)項(xiàng)目
考慮到圖2中硬件堆棧的底部三層,讓我們來分析一個(gè)特定的芯片開發(fā)項(xiàng)目和原型設(shè)計(jì)的潛在影響。
選擇的例子是一家大型半導(dǎo)體公司設(shè)計(jì)的無線耳機(jī),在主流65納米技術(shù)。芯片的目標(biāo)是高容量,快速移動(dòng)市場(chǎng)和預(yù)計(jì)生產(chǎn)運(yùn)行27個(gè)月,平均每月150萬臺(tái)和平均銷售價(jià)格55.50美元。
在開發(fā)過程中情況進(jìn)展順利,只需要一個(gè)金屬掩模旋轉(zhuǎn),允許在第一個(gè)硅可用后進(jìn)行6個(gè)月的客戶和現(xiàn)場(chǎng)評(píng)估。根據(jù)國際業(yè)務(wù)系統(tǒng)研究中描述的開發(fā)成本模型,該項(xiàng)目的開發(fā)成本總計(jì)估計(jì)為31,650,000美元。
現(xiàn)在讓我們考慮圖3,它說明了芯片開發(fā)成本如何在典型的12個(gè)月的硬件設(shè)計(jì)周期中分布,從完整的規(guī)范到最終驗(yàn)證的RTL,準(zhǔn)備布局。
(這顏色真的是看出個(gè)pi-圖3:一個(gè)65nm無線耳機(jī)設(shè)計(jì)的項(xiàng)目付出)
實(shí)際上,RTL驗(yàn)證消耗了大部分的工作,并且是決定12個(gè)月的項(xiàng)目長度的關(guān)鍵因素。
設(shè)計(jì)中具有重大影響的另一部分是伴隨代碼實(shí)際開發(fā)的整體設(shè)計(jì)管理。
物理設(shè)計(jì)完成于項(xiàng)目開始后約15個(gè)月(即RTL驗(yàn)證后3個(gè)月),然后在第17個(gè)月準(zhǔn)備封測(cè)。
硅驗(yàn)證后在19個(gè)月增加工程樣品,需要幾個(gè)月的時(shí)間
如圖3進(jìn)一步說明,當(dāng)RTL得到大量驗(yàn)證和穩(wěn)定時(shí),該項(xiàng)目的軟件開發(fā)會(huì)增加。
它被分為操作系統(tǒng)支持和移植、低級(jí)軟件開發(fā)和高級(jí)應(yīng)用軟件開發(fā)。
這里所有的軟件開發(fā)工作仍然是芯片供應(yīng)商的責(zé)任,而不是第三方供應(yīng)商。
總的來說,軟件開發(fā)消耗了該設(shè)計(jì)總成本的40%,并將項(xiàng)目計(jì)劃擴(kuò)展到總共27個(gè)月。
當(dāng)將開發(fā)和生產(chǎn)成本攤銷為預(yù)期銷售時(shí),該項(xiàng)目在約34個(gè)月后,即在產(chǎn)品發(fā)布7個(gè)月后,但在產(chǎn)品開發(fā)開始近3年后,達(dá)到盈虧平衡。這個(gè)例子中的挑戰(zhàn)是,我們必須提前近三年預(yù)測(cè)高銷量,以確定我們的芯片。怎么能使這種幾乎無法忍受的情況變得更容易呢?
答案是“更早地啟動(dòng)軟件”。
使用計(jì)算器的投資回報(bào)率(ROI)由全球半導(dǎo)體協(xié)會(huì)(GSA),它可以計(jì)算,如果軟件開發(fā)和驗(yàn)證開始七個(gè)月前在我們的例子項(xiàng)目,生產(chǎn)可以開始三個(gè)月前,隨后的時(shí)間平衡減少了五個(gè)月。此外,由于該芯片額外的首次市場(chǎng)設(shè)計(jì)勝利,預(yù)計(jì)將獲得5000萬美元的收入增長。
這正是其許多形式的原型設(shè)計(jì)所能實(shí)現(xiàn)的目標(biāo)。通過原型設(shè)計(jì)提供的軟件開發(fā)和驗(yàn)證的早期開始意味著它對(duì)投資回報(bào)率的影響可能非常顯著。
為了更深入地理解原型設(shè)計(jì)的需求和好處,讓我們來看看現(xiàn)在從虛擬到基于FPGA的不同類型的原型設(shè)計(jì)。
3 虛擬平臺(tái):沒有硬件的原型設(shè)計(jì)
我們可以在我們的項(xiàng)目中使用各種各樣的原型設(shè)計(jì)。在一個(gè)項(xiàng)目中,最早出現(xiàn)的是虛擬原型。它們代表了soc、板、虛擬化io和用戶界面的功能完整但時(shí)間松散的軟件模型,所有這些都運(yùn)行在基于主機(jī)的模擬上。
虛擬原型可以在處理器指令集模擬器上執(zhí)行未經(jīng)修改的生產(chǎn)軟件代碼,并且它們可以接近實(shí)時(shí)運(yùn)行。作為完全基于主機(jī)的虛擬原型,它們還可以提供良好的系統(tǒng)可見性和控制,這對(duì)于在多核cpu上的調(diào)試特別有用。虛擬原型也可以有虛擬的用戶界面,允許與我們這些慢速的人類進(jìn)行實(shí)時(shí)交互。圖4中所示的屏幕截圖摘錄來自于一個(gè)運(yùn)行在同步系統(tǒng)創(chuàng)新者工具上的OMAP設(shè)計(jì)的虛擬原型。
在這里,我們不僅看到了可識(shí)別的模擬窗口,還看到了板上鍵控制的表示和來自虛擬攝像頭的輸入,在這種情況下,連接到運(yùn)行模擬的主機(jī)電腦上的網(wǎng)絡(luò)攝像頭,所有這些都沒有硬件完成。我們將在第13章中討論基于FPGA的原型與simulation的鏈接。
雖然虛擬原型在使用時(shí)間松散的模型時(shí),提供了非常高的速度(多個(gè)MIPS),但它們不能提供硬件設(shè)計(jì)團(tuán)隊(duì)首選的計(jì)時(shí)精度。更精確的軟件模型可以添加到虛擬原型中,但它們的模擬速度將下降到個(gè)位數(shù)的MIPS范圍,甚至更低,這取決于周期精確與松散時(shí)間的模型的混合。
然而,虛擬原型在流程中最早是可用的,假設(shè)模型可用,所以它們是早期軟件調(diào)試的完美選擇。虛擬原型提供了對(duì)系統(tǒng)行為的幾乎完整的洞察力,而且它們也很容易為多個(gè)用戶進(jìn)行復(fù)制。
最后,因?yàn)樗鼈兪窃赗TL之前創(chuàng)建的,所以虛擬原型允許硬件架構(gòu)和早期軟件的協(xié)同開發(fā)。例如,如果虛擬原型顯示產(chǎn)品的并發(fā)應(yīng)用程序沒有足夠的處理帶寬,則可能會(huì)添加額外的或不同的cpu。
3.1.SDK:一個(gè)非常常見的原型設(shè)計(jì)環(huán)境
與虛擬原型相關(guān)的是所謂的軟件開發(fā)工具包,或稱SDK,其中一個(gè)非常常見的例子是用于為蘋果iPhone開發(fā)應(yīng)用程序的SDK。
這個(gè)SDK在可用的頭幾天就被下載了超過10萬次,所以我們可以認(rèn)為這是一個(gè)非常廣泛可用的原型平臺(tái)。雖然相比之下很簡(jiǎn)單,但sdk提供了完整虛擬原型的許多優(yōu)點(diǎn),但是它們的精度往往更有限,因?yàn)樗鼈兛赡懿荒芟裉摂M原型那樣準(zhǔn)確地表示實(shí)際的寄存器。
他們的目標(biāo)是擁有“足夠的準(zhǔn)確性”,以欺騙應(yīng)用程序,讓它以為它是在最終的平臺(tái)上運(yùn)行的。sdk允許通過更高層次的應(yīng)用程序編程接口(API)接口到平臺(tái)。所開發(fā)的軟件通常是為主機(jī)上編譯的SDK執(zhí)行它,然后在程序員驗(yàn)證了SDK上的功能后,需要重新編譯到實(shí)際的目標(biāo)處理器。
圖5顯示了一個(gè)安卓SDK的屏幕截圖。應(yīng)用程序的編程是使用高級(jí)操作系統(tǒng)api完成的。編程是完全獨(dú)立于實(shí)際的目標(biāo)硬件,所以當(dāng)實(shí)際針對(duì)最終設(shè)備時(shí),重新編譯是必要的。
目標(biāo)設(shè)備的用戶界面——如圖5所示,可以進(jìn)行建模,以便可以虛擬地體驗(yàn)最終用戶環(huán)境。
在這里插入圖片描述
3.2.FPGA:在半導(dǎo)體的原型…前硅
在設(shè)計(jì)流程的后期,但仍然是在真正的硅片之前,一個(gè)基于FPGA的原型也可以作為軟件開發(fā)和驗(yàn)證的工具。
基于FPGA的原型驗(yàn)證是soc、板和IOs的全功能硬件表示。因?yàn)樗鼈儗?shí)現(xiàn)了與SoC相同的RTL代碼,并且在所有外部接口和刺激連接下幾乎以實(shí)時(shí)的速度運(yùn)行,所以它們非常準(zhǔn)確。
它們提供了更高的系統(tǒng)可見性和控制比實(shí)際硅將提供可用,但不匹配的調(diào)試和控制能力虛擬平臺(tái),或任何其他模擬器,所以它們不是我們將選擇的用來調(diào)試所有RTL的第一個(gè)平臺(tái)。
基于FPGA的原型的關(guān)鍵優(yōu)勢(shì)是它們能夠高速運(yùn)行,每個(gè)建模的CPU產(chǎn)生數(shù)十個(gè)MIPS,同時(shí)保持RTL的準(zhǔn)確性。
它們通常在設(shè)計(jì)流程中可用,因?yàn)镽TL需要可用且相對(duì)成熟。由于將RTL映射到基于FPGA的原型的復(fù)雜性和努力,在RTL驗(yàn)證穩(wěn)定之前使用它們是不可行的。
出于同樣的原因,基于FPGA的原型并不打算用作硬件/軟件協(xié)同開發(fā)平臺(tái),因?yàn)樵赟oC設(shè)計(jì)流程中,硬件(即RTL)幾乎是固定的,并且部分驗(yàn)證。
在基于FPGA的原型運(yùn)行之前,設(shè)計(jì)團(tuán)隊(duì)對(duì)于更改硬件架構(gòu)將會(huì)非常猶豫,除非發(fā)現(xiàn)了一些主要的架構(gòu)瓶頸。
最后,一旦穩(wěn)定和可用,基于FPGA的原型的復(fù)制和交付成本高于基于軟件的虛擬平臺(tái),但仍然比模擬器便宜得多,我們接下來將討論。
3.3.模擬器:原型設(shè)計(jì)還是驗(yàn)證?
仿真提供了另一種基于硬件的替代方案來實(shí)現(xiàn)軟件開發(fā),但與基于FPGA的原型設(shè)計(jì)的不同之處在于,它的目標(biāo)是較低的性能,但具有更多的自動(dòng)化。
模擬器有更多的將RTL自動(dòng)映射到硬件中,以及更快的編譯時(shí)間,但是執(zhí)行速度會(huì)更低,通常會(huì)下降到單mips級(jí)別以下。仿真的成本也經(jīng)常被視為在軟件開發(fā)中容易復(fù)制它的一種威懾,盡管仿真器由于其易于使用而受到軟件工程師的歡迎。
與基于FPGA的原型一樣,仿真器也不是硬件軟件協(xié)同開發(fā)的現(xiàn)實(shí)平臺(tái),因?yàn)樗鼈冃枰猂TL可用。模擬器更有可能的用途是作為正常RTL模擬的加速器,因此許多人認(rèn)為仿真不是一個(gè)原型平臺(tái),而是作為對(duì)正常驗(yàn)證環(huán)境的擴(kuò)展;一種更快的模擬器。然而,只有當(dāng)軟件需要循環(huán)精度和高可見性,并且可以容忍非常慢的運(yùn)行速度時(shí),模擬器實(shí)際上可以用于軟件開發(fā)。
軟件將需要被限制在短時(shí)間的運(yùn)行中,比如啟動(dòng)ROM代碼,因?yàn)榫徛倪\(yùn)行速度將意味著運(yùn)行時(shí)可能很長;當(dāng)然對(duì)于長的軟件任務(wù)來說太長了,比如用戶應(yīng)用程序或操作系統(tǒng)啟動(dòng)。
3.4.第一批硅片作為一個(gè)原型平臺(tái)
最后,在實(shí)際的硅可用之后,使用第一個(gè)硅樣品的早期原型板可以在實(shí)際的硅上實(shí)現(xiàn)軟件開發(fā)。
一旦芯片投入生產(chǎn),就可以提供非常低成本的開發(fā)板。此時(shí),原型機(jī)將以實(shí)時(shí)速度和全精度運(yùn)行。軟件調(diào)試通常是通過使用JTAG接口和連接到標(biāo)準(zhǔn)軟件調(diào)試器的特定硬件連接器來實(shí)現(xiàn)的。
雖然使用實(shí)際硅的原型板可能是成本最低的選擇,但它們?cè)谠O(shè)計(jì)流程中很晚,幾乎不允許軟件開發(fā)領(lǐng)先。
此外,對(duì)硬件原型的控制和調(diào)試洞察力非常有限,除非提供特定的片上儀器儀表(OCI)功能。與虛擬原型相比,它們也更難復(fù)制——通過互聯(lián)網(wǎng)下載提供一個(gè)虛擬平臺(tái)比發(fā)布電路板和處理定制、升級(jí)和對(duì)物理硬件的潛在損壞要容易得多。
從這個(gè)概述中可以看出,原型設(shè)計(jì)專注于提供硬件的早期表現(xiàn),特別是芯片及其周圍的外設(shè)。原型驗(yàn)證適用于不同的使用模型,作為交換,它們會(huì)對(duì)需求產(chǎn)生影響。
4 原型使用模型
如前所述,今天我們使用不同的執(zhí)行引擎來完成原型設(shè)計(jì)。一旦一個(gè)芯片開發(fā)項(xiàng)目開始,項(xiàng)目經(jīng)理幾乎被要求立即為各種目的提供“未來芯片”的早期表示——原型,例如:
?市場(chǎng)營銷需要材料和基本的文檔來與早期的采用者進(jìn)行互動(dòng)。?軟件開發(fā)人員希望正在開發(fā)的設(shè)計(jì)的可執(zhí)行表示,以允許他們開始移植操作系統(tǒng)。?硬件開發(fā)人員也希望可執(zhí)行規(guī)范來驗(yàn)證他們的實(shí)現(xiàn)是正確的。?原型從第一天開始就開始需求量很大!
這種需求是由三個(gè)主要的使用模型驅(qū)動(dòng)的:體系結(jié)構(gòu)探索、軟件開發(fā)和驗(yàn)證。
4.1.針對(duì)架構(gòu)探索的原型設(shè)計(jì)
在項(xiàng)目開始時(shí),架構(gòu)探索允許芯片架構(gòu)師就芯片拓?fù)浣Y(jié)構(gòu)、性能、功耗和片上通信結(jié)構(gòu)做出基本決策。
例如,早期收集的關(guān)于緩存利用率、處理器性能、總線帶寬、突發(fā)率和內(nèi)存利用率的信息驅(qū)動(dòng)著基本的體系結(jié)構(gòu)決策。
在一個(gè)理想的世界里,芯片架構(gòu)師將希望獲得具有全精確模型的原型——代表設(shè)計(jì)的所有內(nèi)部部分——同時(shí)以全速運(yùn)行。不幸的是,這兩個(gè)特征通常不能通過同一模型來實(shí)現(xiàn)。在最終芯片從制造中回來之前,或至少在設(shè)計(jì)周期后期RTL可用和驗(yàn)證之前,才能收集完全準(zhǔn)確的數(shù)據(jù)。此時(shí),FPGA原型可以用于接近實(shí)時(shí)地執(zhí)行設(shè)計(jì)。
芯片架構(gòu)師還可以與“早期采用者”客戶進(jìn)行交互,理想情況下,他們希望使用可執(zhí)行的規(guī)范來演示設(shè)計(jì)的關(guān)鍵特性。
然而,在現(xiàn)實(shí)中,芯片架構(gòu)師主要依賴于像微軟Excel這樣的工具來進(jìn)行基本的、靜態(tài)的架構(gòu)分析。他們通常不得不依靠他們的經(jīng)驗(yàn)和信封背面的評(píng)估。因此,與早期采用者客戶的互動(dòng)是基于書面規(guī)范和在白板上進(jìn)行的大量聯(lián)合討論而進(jìn)行的。
4.2.用于軟件開發(fā)的原型設(shè)計(jì)
理想情況下,軟件開發(fā)人員希望從一開始就開始移植遺留代碼和開發(fā)新的軟件功能,即當(dāng)硬件開發(fā)開始時(shí)。
他們希望接收芯片的可執(zhí)行表示,它實(shí)時(shí)運(yùn)行,準(zhǔn)確地反映所有與硬件相關(guān)的軟件相關(guān)接口(如寄存器映像)。
根據(jù)正在開發(fā)的軟件類型,用戶可能需要與底層原型不同的精度。要開發(fā)的軟件類型直接決定了對(duì)硬件執(zhí)行精度的要求:
?應(yīng)用軟件的開發(fā)往往不考慮實(shí)際目標(biāo)硬件的精度。這是sdk的主要前提,它允許對(duì)表示硬件的高級(jí)api進(jìn)行編程。?對(duì)于中間件和驅(qū)動(dòng)程序,可能需要一些定時(shí)的表示。對(duì)于性能分析的基本情況,對(duì)緩存和內(nèi)存管理單元的計(jì)時(shí)注釋可能就足夠了,因?yàn)樵谏婕暗叫阅芊矫?,它們通常比指令的靜態(tài)計(jì)時(shí)更重要。?對(duì)于實(shí)時(shí)軟件,指令的高級(jí)周期定時(shí)與微架構(gòu)效果相結(jié)合是很重要的。?對(duì)于時(shí)間關(guān)鍵的軟件,例如,中斷服務(wù)例程(ISRs)的精確響應(yīng)行為,完全循環(huán)精確的表示是首選。
通常直到今天,開發(fā)人員仍會(huì)基于寄存器規(guī)范“盲目地”開始軟件開發(fā),但隨后卻會(huì)與硬件團(tuán)隊(duì)仍然可能對(duì)寄存器規(guī)范做出的更改不同步。
對(duì)于衍生產(chǎn)品系列,應(yīng)用軟件通常使用高級(jí)api開發(fā),它可以在上一代芯片上執(zhí)行。稍后可用的底層驅(qū)動(dòng)程序、操作系統(tǒng)和中間件可以確保api保持不變,并且不會(huì)破壞遺留軟件。
4.3.原型設(shè)計(jì)的驗(yàn)證
在早期,芯片環(huán)境是使用跟蹤和流量生成器來表示。早期的測(cè)試臺(tái)基本上定義了正在開發(fā)的芯片的使用模型場(chǎng)景。
在一個(gè)典型的設(shè)計(jì)中,在測(cè)試臺(tái)中隱藏的錯(cuò)誤和在實(shí)際設(shè)計(jì)本身一樣多。因此,盡早開發(fā)測(cè)試臺(tái)是很重要的。理想情況下,驗(yàn)證工程師希望從一開始就能提供“被測(cè)設(shè)備”(DUT)的可執(zhí)行表示形式。類似于軟件開發(fā)對(duì)不同模型的需求,驗(yàn)證也有對(duì)不同精度級(jí)別的要求。
DUT的高級(jí)模型將使驗(yàn)證場(chǎng)景的開發(fā)成為可能。具有精確寄存器和DUT行為的純功能表示的DUT模型滿足了相當(dāng)比例的測(cè)試臺(tái)開發(fā)。為了驗(yàn)證時(shí)間和詳細(xì)的管道延遲,時(shí)間近似最初可能是足夠的,但最終將需要在寄存器傳輸級(jí)別(RTL)上進(jìn)行周期準(zhǔn)確的表示。
硬件驗(yàn)證的一個(gè)重要趨勢(shì)是功能驗(yàn)證轉(zhuǎn)向軟件,軟件在嵌入在設(shè)計(jì)中的處理器上執(zhí)行。為了回答最近的調(diào)查問題:“您在設(shè)計(jì)中是否使用運(yùn)行在嵌入式處理器上的軟件來驗(yàn)證周圍的硬件?”,超過50%的受訪者回答說,他們已經(jīng)在使用嵌入式軟件進(jìn)行驗(yàn)證,其中十分之一的受訪者也在使用該軟件,重點(diǎn)是硅后驗(yàn)證。(就是整成開發(fā)板進(jìn)行驗(yàn)證)
這種基于cpu的方法的優(yōu)點(diǎn)是驗(yàn)證重用:
?測(cè)試是在處理器上執(zhí)行的,最初使用快速指令-精確的處理器模型與DUT的事務(wù)級(jí)模型(TLM)交互,通過其寄存器接口訪問它。?之后,這些測(cè)試可以在混合TLM/RTL模擬以及將處理器映射到RTL的純RTL模擬中重用。?這些測(cè)試仍然可以用于硬件原型,其中處理器在工作站上作為TLM執(zhí)行,并通過高速TLM接口連接到硬件。執(zhí)行測(cè)試的?處理器也可以在FPGA原型中以RTL的形式運(yùn)行,也可以作為插件板上的芯片帶到FPGA原型中。?最后,當(dāng)芯片從制造中回來時(shí),基于軟件的測(cè)試也可以用于硅后驗(yàn)證。
5 原型設(shè)計(jì)中的用戶優(yōu)先級(jí)
隨著所有這些趨勢(shì)的結(jié)合,芯片的原型設(shè)計(jì)正成為成功的芯片設(shè)計(jì)的明確要求。
然而,不同的用戶優(yōu)先級(jí)會(huì)導(dǎo)致不同的原型設(shè)計(jì)選項(xiàng)作為最佳的解決方案。我們可以用多種方式列出它們,但在我們的案例中,我們選擇突出顯示12個(gè)不同的優(yōu)先級(jí),如下所示。
?可用時(shí)間:一旦我們的設(shè)計(jì)規(guī)范被凍結(jié),軟件驗(yàn)證環(huán)境的交付延遲將直接影響我們?cè)赟oC項(xiàng)目的軟件部分啟動(dòng)和進(jìn)展的速度。
?執(zhí)行速度:理想情況下,所選的開發(fā)方法提供了真實(shí)硬件執(zhí)行速度的準(zhǔn)確表示。對(duì)于軟件回歸,比實(shí)時(shí)速度更快的執(zhí)行可能是有益的。?精度:正在開發(fā)的軟件類型決定了開發(fā)方法的準(zhǔn)確性,以表示實(shí)際的目標(biāo)硬件,確保在硬件/軟件邊界識(shí)別的問題不會(huì)被開發(fā)方法本身引入。
?容量:原型機(jī)是否可以處理最大的SoC設(shè)計(jì),還是不需要這樣做?性能和成本如何隨著設(shè)計(jì)尺寸的增加而變化?平臺(tái)是否能升級(jí)為更大的設(shè)計(jì)?
?開發(fā)成本:開發(fā)方法的成本包括實(shí)際的實(shí)際成本,以及在其中引入硬件/軟件設(shè)計(jì)的開銷成本。生產(chǎn)成本決定了如何進(jìn)行生產(chǎn)一個(gè)簡(jiǎn)單的開發(fā)方法可以被復(fù)制來提供軟件開發(fā)團(tuán)隊(duì)。
?提升成本:除了獲得硅所需的開發(fā)方法之外所需的任何活動(dòng)都可以被認(rèn)為是開銷。通常,軟件團(tuán)隊(duì)在獲得硬件的早期表示時(shí)所面臨的巨大壓力決定了是否考慮對(duì)提升成本的投資。
?部署成本:如果我們要?jiǎng)?chuàng)建原型的多個(gè)副本,那么我們需要知道在最終用戶的實(shí)驗(yàn)室中創(chuàng)建、部署、維護(hù)和支持將花費(fèi)多少成本。
?調(diào)試洞察力:分析設(shè)計(jì)內(nèi)部的能力,即能夠訪問信號(hào)、寄存器和硬件/軟件設(shè)計(jì)的狀態(tài)。
?執(zhí)行控制:在調(diào)試期間,使用硬件中的斷言或斷點(diǎn)停止目標(biāo)硬件的表示是很重要的,特別是對(duì)于具有多個(gè)處理器的設(shè)計(jì),所有組件必須以同步的方式停止。
?系統(tǒng)接口:如果目標(biāo)設(shè)計(jì)是SoC,那么能夠?qū)⒄陂_發(fā)中的設(shè)計(jì)與實(shí)際接口連接起來是很重要的。例如,如果涉及到一個(gè)USB接口,則該軟件將需要連接到真正的USB協(xié)議堆棧。同樣,對(duì)于網(wǎng)絡(luò)和無線接口,連接到真實(shí)世界的軟件是優(yōu)先考慮的。
周轉(zhuǎn)時(shí)間:從一組新的源文件中,無論是SystemC模型還是原始的RTL,創(chuàng)建一個(gè)新版本的原型需要多長時(shí)間?它是否以分鐘、小時(shí)、天或周為單位來衡量,以及在任何情況下項(xiàng)目需要什么?
?價(jià)值鏈接到低功耗和驗(yàn)證:原型不必是獨(dú)立的平臺(tái),如果它們可以鏈接到SoC設(shè)計(jì)團(tuán)隊(duì)的其他部分,特別是用于驗(yàn)證,它可能會(huì)增加價(jià)值。在插入各種實(shí)現(xiàn)步驟之前和之后進(jìn)行原型化,例如修改以降低功率,也將是有價(jià)值的。
可能沒有用戶同時(shí)關(guān)心過所有這些決策標(biāo)準(zhǔn),而且對(duì)于任何給定的SoC項(xiàng)目,有些項(xiàng)目會(huì)覆蓋其他的。在我們閱讀這本書時(shí),我們將重新審視大多數(shù)這些標(biāo)準(zhǔn)。在書的最后,我們將展望原型作為一個(gè)整體的未來,以及基于FPGA的原型在未來的位置。展望未來,我們需要意識(shí)到最近在SoC和更廣泛的用戶基礎(chǔ)和行業(yè)中正在出現(xiàn)的過去和趨勢(shì)?,F(xiàn)在讓我們來看看這些趨勢(shì)。
6.芯片設(shè)計(jì)趨勢(shì)
我們將希望在未來的SoC項(xiàng)目中使用我們的原型環(huán)境,但是這些項(xiàng)目會(huì)是什么樣子的呢?
了解芯片設(shè)計(jì)的八個(gè)主要趨勢(shì)將導(dǎo)致對(duì)未來的項(xiàng)目的更好的準(zhǔn)備和更靈活的內(nèi)部原型方法。
推動(dòng)半導(dǎo)體設(shè)計(jì)需求的八個(gè)主要趨勢(shì)是:
?進(jìn)一步小型化到更小的技術(shù)節(jié)點(diǎn)。?整體設(shè)計(jì)的減少就開始了。?可編程性結(jié)合了嵌入式軟件內(nèi)容的快速增加。?IP重用。?應(yīng)用程序的特異性。?采用多核架構(gòu)。?低功率。?芯片的模擬/混合信號(hào)部分的增加。
所有這些都對(duì)原型需求產(chǎn)生了深遠(yuǎn)的影響,我們將快速地查看它們及其支持的趨勢(shì)數(shù)據(jù)
6.1.小型化到更小的技術(shù)節(jié)點(diǎn)
在處理器設(shè)計(jì)中,晶體管的數(shù)量從1979年定義X86的29,000個(gè)晶體管增加到2005年定義雙核離子的17.2億個(gè)晶體管。這比26年增長了近6萬倍。這一趨勢(shì)一直持續(xù),并且可能在未來繼續(xù),從較小的技術(shù)節(jié)點(diǎn)開始進(jìn)行的設(shè)計(jì)數(shù)量將會(huì)增加,如圖6所示。該圖表(由加州洛斯加托斯的國際商業(yè)戰(zhàn)略公司(IBS)的行業(yè)分析師提供)顯示了每個(gè)節(jié)點(diǎn)占所有ASIC和SoC設(shè)計(jì)開始的百分比。
65nm和45nm節(jié)點(diǎn)的設(shè)計(jì)始于2007年,現(xiàn)在已成為主流。因此,需要形成原型的設(shè)計(jì)的規(guī)模穩(wěn)步增加,對(duì)基于軟件和硬件的原型都需要越來越多的容量。
基于軟件的原型的速度自然受到傳統(tǒng)軟件串行執(zhí)行的限制。這進(jìn)一步增加了提高軟件模擬速度的壓力,特別是對(duì)于處理器模型。
雖然自20世紀(jì)90年代末以來,已經(jīng)使用專有技術(shù)建立了快速模擬模型,但標(biāo)準(zhǔn)化現(xiàn)在已經(jīng)允許將來自各種來源的模型組合成基于系統(tǒng)c的模擬,而不會(huì)使用開放的TLM-2.0api實(shí)現(xiàn)顯著的速度下降。
對(duì)于基于硬件的原型,這一趨勢(shì)進(jìn)一步增加了采用更高密度的fpga進(jìn)行原型設(shè)計(jì)的壓力。考慮到FPGA原型設(shè)計(jì)的能力受到可用FPGA能力的限制,唯一的選擇是劃分和征服,并且只對(duì)設(shè)計(jì)的較小部分作為原型。為了解決這種情況,F(xiàn)PGA原型使用堆疊和擴(kuò)展的標(biāo)準(zhǔn)接口變得更加可擴(kuò)展。最后,在要在正在開發(fā)的芯片的系統(tǒng)上下文中測(cè)試一個(gè)原型的情況下,設(shè)計(jì)的劃分可能是困難的??紤]到每個(gè)原型板的fpga數(shù)量將增加以允許足夠的容量,對(duì)跨FPGAs自動(dòng)劃分設(shè)計(jì)的要求也增加了。
6.2.整體設(shè)計(jì)開始減少
小型化趨勢(shì)的另一方面是設(shè)計(jì)開始次數(shù)的減少。如圖7所示,soc的設(shè)計(jì)總數(shù)就開始了預(yù)計(jì)將會(huì)顯著減少。乍一看,現(xiàn)代設(shè)計(jì)的開發(fā)成本是如此之高,以至于更少的公司能夠負(fù)擔(dān)得起SoC的開發(fā)。
然而,在現(xiàn)實(shí)中,最大的下降將是對(duì)舊技術(shù)的設(shè)計(jì)開始,即130納米及以上。設(shè)計(jì)團(tuán)隊(duì)將繼續(xù)為那些軟件內(nèi)容和對(duì)原型設(shè)計(jì)的需求最大的前沿流程進(jìn)行設(shè)計(jì)。
這一趨勢(shì)的直接結(jié)果是,每個(gè)設(shè)計(jì)的風(fēng)險(xiǎn)急劇增加,越來越多的公司已經(jīng)要求在設(shè)計(jì)之前對(duì)其設(shè)計(jì)進(jìn)行原型設(shè)計(jì),以驗(yàn)證正確性和避免昂貴的重新旋轉(zhuǎn)。原型設(shè)計(jì)可以在設(shè)計(jì)流程的不同點(diǎn)上使用各種不同的技術(shù)進(jìn)行。總的來說,設(shè)計(jì)開始階段的減少只會(huì)進(jìn)一步增加每個(gè)項(xiàng)目的風(fēng)險(xiǎn),因此原型設(shè)計(jì)將變得更加重要。
6.3.增加了可編程性和軟件功能
絕大多數(shù)的電子系統(tǒng)和產(chǎn)品現(xiàn)在都包含了一些可編程性的元素,這在本質(zhì)上是延遲的功能,它有好幾種形式。首先,對(duì)ASIC、ASPP和FPGAs設(shè)計(jì)開始的相對(duì)數(shù)量的估計(jì)表明,大量的設(shè)計(jì)開始是在FPGAs和其他可編程邏輯設(shè)備中;這顯然是一個(gè)可編程硬件。
其次,包括微處理器在內(nèi)的FPGA設(shè)計(jì)的數(shù)量也在快速增長。這為可編程硬件增加了軟件的可編程性。
此外,相當(dāng)大比例的ASIC和ASSP設(shè)計(jì)開始時(shí)也包含嵌入式處理器。因此,該軟件甚至增加了專用SoC芯片的可編程性。因此,軟件的重要性正在顯著增加,即使是在SoC項(xiàng)目中也是如此。
圖8說明了預(yù)計(jì)的軟件工作占技術(shù)節(jié)點(diǎn)的研發(fā)費(fèi)用的百分比。在65納米處,預(yù)期的軟件研發(fā)費(fèi)用已經(jīng)超過了硬件開發(fā)。
總的來說,軟件已經(jīng)成為芯片開發(fā)的關(guān)鍵路徑,其努力正在超過硬件。在傳統(tǒng)的串行設(shè)計(jì)流程中,軟件開發(fā)開始得很晚,也就是說,當(dāng)硬件順利進(jìn)行時(shí),甚至在最終的原型芯片可用之后。因此,軟件的可用性可以阻礙芯片的發(fā)展達(dá)到主流生產(chǎn)。
從原型化的角度來看,這代表了在項(xiàng)目中盡早開始軟件開發(fā)的原型化的另一個(gè)驅(qū)動(dòng)因素。由于軟件在很大程度上決定了一個(gè)設(shè)計(jì)的功能,它注定也會(huì)改變驗(yàn)證流程。對(duì)原型的軟件驗(yàn)證將進(jìn)一步重要,軟件也將成為硬件驗(yàn)證的驅(qū)動(dòng)因素。作為使用VHDL或系統(tǒng)版本編碼的測(cè)試臺(tái)的經(jīng)典驗(yàn)證的替代方法,使用軟件的定向測(cè)試最近得到了更多的采用。
順便說一句,如前面所述,這允許在開發(fā)的各個(gè)階段中使用一種新的驗(yàn)證重用形式。為了支持這種類型的驗(yàn)證重用,盡早構(gòu)建硬件原型將成為強(qiáng)制化的??紤]到驗(yàn)證在不同開發(fā)階段的無縫重用,不同原型技術(shù)之間的接口也變得更加重要。如今的虛擬原型可以連接到基于硬件的原型上,以允許基于硬件和軟件的混合執(zhí)行,提供了各種優(yōu)勢(shì):
?首先,避免必須重新建模RTL中已經(jīng)可用的設(shè)計(jì)部分,可以減少開發(fā)工作,并支持硬件輔助的虛擬平臺(tái)。?其次,硬件原型可以更快地提出,因?yàn)闇y(cè)試臺(tái)——傳統(tǒng)上可以包含總體缺陷的50%——已經(jīng)被驗(yàn)證和穩(wěn)定,因?yàn)樗鼈円郧耙呀?jīng)應(yīng)用于虛擬原型。?第三,通過混合使用基于硬件和軟件的技術(shù),可以更靈活地管理原型的準(zhǔn)確性、速度和可用性時(shí)間之間的權(quán)衡。?最后,在系統(tǒng)上下文中驗(yàn)證硬件/軟件原型需要與正在開發(fā)的芯片環(huán)境的接口。來自硬件原型的接口可以接近,甚至在實(shí)時(shí)執(zhí)行。使用虛擬原型的接口甚至可以在實(shí)際硬件可用性之前就可用。例如,USB 3.0驅(qū)動(dòng)程序已經(jīng)在虛擬平臺(tái)上的事務(wù)級(jí)模型上開發(fā)出來,甚至在實(shí)際的電纜可用之前。
6.4.知識(shí)產(chǎn)權(quán)塊重用
另一個(gè)重要的趨勢(shì)是IP塊的重用。隨著芯片復(fù)雜性的不斷增加,IP重用已成為保持設(shè)計(jì)生產(chǎn)率增長的一種重要途徑。圖9顯示了重用的百分比繼續(xù)增加,雖然沒有在此圖中顯示,但自2007年以來,塊的重用從45%增加到55%,即大多數(shù)塊現(xiàn)在在其他設(shè)計(jì)中被重用。
同時(shí),直到每個(gè)芯片的平均IP塊數(shù)量從28個(gè)增長到50個(gè),如圖10所示。這兩個(gè)數(shù)據(jù)點(diǎn)都來自于Semico研究公司的一項(xiàng)研究。考慮到這些IP趨勢(shì),芯片設(shè)計(jì)本身正成為一項(xiàng)通過互連結(jié)構(gòu)組裝現(xiàn)有塊的任務(wù)。芯片的差異化可以通過定制的塊、定制的協(xié)處理器,當(dāng)然,還有軟件來實(shí)現(xiàn)。
在這里插入圖片描述
增加IP重用對(duì)原型化有各種影響。首先,預(yù)定義的IP模型在FPGA原型中進(jìn)行預(yù)先映射和預(yù)驗(yàn)證,以減少啟動(dòng)時(shí)間和減少不必要的工作重復(fù)。IP的用戶也越來越多在項(xiàng)目的不同階段和作為IP交付本身的一部分的不同抽象級(jí)別上請(qǐng)求模型庫。這在處理器領(lǐng)域已經(jīng)很普遍了,用戶要求ARM、MIPS、ARC和擴(kuò)展等IP提供商提供可用于早期軟件開發(fā)和驗(yàn)證的處理器模型
雖然在過去,這些模型的開發(fā)是一個(gè)挑戰(zhàn),因?yàn)樗鼈儽仨氝m應(yīng)各種專有的模擬環(huán)境,但這種模型的開發(fā)最近在商業(yè)上變得可行。
隨著OSCI系統(tǒng)c TLM-2.0等標(biāo)準(zhǔn)的出現(xiàn),處理器、外圍設(shè)備和互連的模型已經(jīng)可以在不同的系統(tǒng)c兼容的仿真引擎之間進(jìn)行互操作。標(biāo)準(zhǔn)化意味著從早期采用者階段到主流階段的過渡,因此IP模型的可用性已經(jīng)大大提高。
6.5.應(yīng)用特異性和混合信號(hào)設(shè)計(jì)
芯片開發(fā)的目標(biāo)應(yīng)用市場(chǎng)對(duì)芯片開發(fā)本身有著深遠(yuǎn)的影響。圖11根據(jù)國際半導(dǎo)體技術(shù)路線圖(ITRS),圖11總結(jié)了不同目標(biāo)應(yīng)用的一些定義特征。
ITRS區(qū)分了芯片設(shè)計(jì)的四種主要類別——soc、微處理器單元(MPUs)、混合信號(hào)設(shè)計(jì)和嵌入式內(nèi)存。每個(gè)類別都有特定的要求。在保持模具面積不變的同時(shí)提高性能對(duì)mpu很重要。降低電源電壓是混合信號(hào)產(chǎn)生的一個(gè)關(guān)鍵問題。
在SoC域內(nèi),ITRS將網(wǎng)絡(luò)應(yīng)用程序與消費(fèi)者便攜式和消費(fèi)者固定式分離開來,其各種子需求如 圖11所示
總的來說,最終應(yīng)用對(duì)于芯片設(shè)計(jì)要求和SoCs變得更加重要。因此,不同應(yīng)用領(lǐng)域的原型需要特定應(yīng)用程序的分析以及特定應(yīng)用程序的系統(tǒng)接口,其中大多數(shù)具有顯著的混合信號(hào)內(nèi)容。除了其他特性外,外部接口的速度還決定了一個(gè)原型是可以直接使用還是需要減慢。
6.6.多核架構(gòu)和低功耗
幾十年來,處理器速度的擴(kuò)展?jié)M足了軟件應(yīng)用程序?qū)π阅苋找嬖鲩L的需求,但行業(yè)一直了cpu4 GHz和嵌入式處理器1 GHz的限制。這種限制的原因在于功耗,當(dāng)縮放到更高的程度時(shí),它只是超過了功率包絡(luò)。這種真正而困難的限制導(dǎo)致了一種轉(zhuǎn)向多核架構(gòu)的趨勢(shì)。簡(jiǎn)單地說,在更低的頻率下,更多的核將比簡(jiǎn)單地?cái)U(kuò)展一個(gè)核導(dǎo)致更少的功耗。圖12中的圖表證實(shí)了CPU和數(shù)據(jù)處理引擎(DPE)在消費(fèi)者應(yīng)用程序中使用的這一趨勢(shì)。
例如,我們可以看到,從2007年到2011年,dpe的平均數(shù)量幾乎增加了兩倍,而且預(yù)計(jì)將進(jìn)一步增加。雖然這在硬件方面是一個(gè)很好的解決方案,但現(xiàn)在的挑戰(zhàn)已經(jīng)轉(zhuǎn)移到了軟件方面。
傳統(tǒng)上,順序軟件現(xiàn)在需要分布在多個(gè)核上。對(duì)于原型設(shè)計(jì)來說,這意味著調(diào)試(查看硬件/軟件執(zhí)行的能力)以及啟動(dòng)、暫停、恢復(fù)和停止硬件/軟件執(zhí)行的能力已經(jīng)變得更加重要。
今天的虛擬原型已經(jīng)提供了非干擾性調(diào)試設(shè)計(jì)的智能技術(shù),并且可以在任何給定的時(shí)間啟動(dòng)和停止它們。對(duì)基于硬件的原型的調(diào)試和控制的需求也增加了,但基于FPGA的原型的調(diào)試能力仍然落后于虛擬原型。
7.總結(jié)
所有形式的原型都為驗(yàn)證硬件設(shè)計(jì)和驗(yàn)證軟件提供了強(qiáng)大的方法,模型或多或少地模仿了目標(biāo)環(huán)境。基于FPGA的原型設(shè)計(jì)在項(xiàng)目的關(guān)鍵后期階段尤其有益。用戶有幾個(gè)原型設(shè)計(jì)選項(xiàng)根據(jù)他們的主要需求,可以選擇各種基于軟件和硬件的技術(shù)來原型他們的設(shè)計(jì)。
由于設(shè)計(jì)驗(yàn)證和軟件開發(fā)現(xiàn)在主導(dǎo)著SoC的開發(fā)工作,原型設(shè)計(jì)的使用在減少項(xiàng)目持續(xù)時(shí)間和設(shè)計(jì)成本方面從未像現(xiàn)在這樣重要過。上面提到的各種IC趨勢(shì)也使我們只得出一個(gè)結(jié)論:原型已經(jīng)成為芯片設(shè)計(jì)的必要元素,在未來將變得更加重要,我們將在本書的最后一章看到。
在本章中,我們已經(jīng)介紹了許多術(shù)語和一些完全不同的原型設(shè)計(jì)類型。它們?cè)诂F(xiàn)實(shí)生活中都有多普遍?為了回答這個(gè)問題,我們參考圖14,它總結(jié)了對(duì)2009年8月SoC虛擬會(huì)議期間進(jìn)行的使用調(diào)查的116個(gè)回復(fù)。當(dāng)被問及“您將使用什么方法來為您的設(shè)計(jì)項(xiàng)目開發(fā)依賴于硬件的軟件(例如,驅(qū)動(dòng)程序、固件)時(shí)?”,研究結(jié)果顯示,用戶確實(shí)能識(shí)別出各種不同的原型設(shè)計(jì)解決方案。結(jié)果表明,前面描述的所有原型技術(shù)都在積極使用中——這是上面討論的不同優(yōu)先級(jí)的明顯結(jié)果——有利于不同的原型選項(xiàng)。在下一章中,我們將放大基于FPGA的原型設(shè)計(jì)的好處,特別是對(duì)軟件團(tuán)隊(duì)和整個(gè)SoC項(xiàng)目的好處。
編輯:黃飛
?
評(píng)論
查看更多