在現(xiàn)代SoC芯片驗(yàn)證過(guò)程中,不可避免的都會(huì)使用FPGA原型驗(yàn)證,或許原型驗(yàn)證一詞對(duì)你而言非常新鮮,但是FPGA上板驗(yàn)證應(yīng)該是非常熟悉的場(chǎng)景了。通常有三種方式:第一種,自己制作FPGA電路板,用來(lái)驗(yàn)證自身SoC設(shè)計(jì);第二種,購(gòu)買FPGA原廠的開發(fā)板,用來(lái)搭建FPGA原型驗(yàn)證系統(tǒng);第三種,對(duì)于大型的SoC芯片,一般會(huì)購(gòu)買專業(yè)的FPGA原型驗(yàn)證平臺(tái),用來(lái)搭建其原型驗(yàn)證平臺(tái)。
為什么SoC驗(yàn)證一定需要FPGA原型驗(yàn)證呢??
基于FPGA原型驗(yàn)證,可以提供更高的驗(yàn)證精度和驗(yàn)證性能;
基于FPGA原型驗(yàn)證,可以提供更加真實(shí)的現(xiàn)實(shí)世界接口模擬;
基于FPGA原型驗(yàn)證,可以在實(shí)驗(yàn)室真實(shí)硬件環(huán)境測(cè)試與展示。
FPGA原型驗(yàn)證可以用來(lái)做什么?
由于其高精度和高性能,可以測(cè)試實(shí)時(shí)數(shù)據(jù)流,更早期地進(jìn)行軟硬件的協(xié)同,同步進(jìn)行硬件與軟件的早期開發(fā)與驗(yàn)證;
由于其真實(shí)世界的模擬,可以在SoC流片之前進(jìn)行真實(shí)世界數(shù)據(jù)交互效果,可以測(cè)到在仿真環(huán)境中無(wú)法模擬的罕見(jiàn)的一些隨機(jī)場(chǎng)景,并且可以進(jìn)行人機(jī)交互的測(cè)試;
由于其真實(shí)硬件展示的特性,可以進(jìn)行可行性評(píng)估與展示,以此給投資者信心。
雖然在Simulation階段已經(jīng)對(duì)RTL進(jìn)行了大量的測(cè)試,但是原型驗(yàn)證可以結(jié)合軟件進(jìn)一步擴(kuò)展RTL的驗(yàn)證與調(diào)試。
01
高性能和高精度
只有基于FPGA的原型設(shè)計(jì)才能提供正確測(cè)試設(shè)計(jì)的許多方面所需的速度和精度,這是團(tuán)隊(duì)進(jìn)行原型設(shè)計(jì)的最可能的根本原因。整個(gè)團(tuán)隊(duì)的目標(biāo)可能是驗(yàn)證SoC相關(guān)的嵌入式軟件系統(tǒng),看它如何在真實(shí)硬件上快速運(yùn)行。
02
實(shí)時(shí)數(shù)據(jù)流
驗(yàn)證SoC很難的部分原因是,SoC的狀態(tài)取決于許多變量,包括其先前的狀態(tài)、輸入序列和SoC輸出的更廣泛的系統(tǒng)影響。以實(shí)時(shí)速度運(yùn)行SoC設(shè)計(jì),將其連接到系統(tǒng)的其他部分,使我們能夠看到實(shí)時(shí)條件、輸入和系統(tǒng)反饋的即時(shí)影響。
一個(gè)高清媒體數(shù)據(jù)流通過(guò)一個(gè)處理器核心的原型被路由到一個(gè)高清顯示器。當(dāng)我們?cè)谠椭锌紤]IP使用時(shí),在圖的底部,有來(lái)自接收器的音頻和高清視頻數(shù)據(jù)流通過(guò)原型實(shí)時(shí)傳輸?shù)酵獠勘O(jiān)視器的實(shí)時(shí)HDMI PHY連接。只有基于FPGA的原型設(shè)計(jì)才允許這種實(shí)時(shí)數(shù)據(jù)流,這不僅給這種多媒體應(yīng)用帶來(lái)了巨大的好處,也給許多其他需要對(duì)輸入數(shù)據(jù)流進(jìn)行實(shí)時(shí)響應(yīng)的應(yīng)用帶來(lái)了極大的好處。
03
軟硬件早期集成
在上面的例子中,有一個(gè)小的MicroBlaze原型中的CPU以及外圍設(shè)備和存儲(chǔ)器,因此SoC中所有熟悉的模塊都存在。在這種設(shè)計(jì)中,CPU中運(yùn)行的軟件主要用于加載和控制AV處理,然而,在許多SoC設(shè)計(jì)中,它是需要大部分設(shè)計(jì)工作的軟件。
鑒于軟件已經(jīng)成為SoC開發(fā)工作的主導(dǎo),軟件工作處于項(xiàng)目進(jìn)度的關(guān)鍵路徑上的情況越來(lái)越普遍。軟件開發(fā)和驗(yàn)證決定了SoC能夠有效達(dá)到批量生產(chǎn)的實(shí)際完成日期。在這種情況下,系統(tǒng)團(tuán)隊(duì)可以做什么來(lái)提高軟件開發(fā)和驗(yàn)證的生產(chǎn)力?硬件系統(tǒng)盡早搭建完成可以及早的進(jìn)行軟硬件系統(tǒng)的協(xié)同驗(yàn)證,而FPGA原型驗(yàn)證,正是順應(yīng)了這種趨勢(shì)。
04
軟件開發(fā)的SoC建模
任何級(jí)別的SoC建模都需要我們表示硬件和堆棧,直到當(dāng)前級(jí)別以下的層,以進(jìn)行驗(yàn)證,并且最佳情況下,我們應(yīng)該以足夠的精度進(jìn)行工作,以實(shí)現(xiàn)最大性能。
例如,堆棧頂部的應(yīng)用程序開發(fā)人員可以在真實(shí)的SoC或模型上測(cè)試他們的代碼。在這種情況下,模型只需要足夠精確,以欺騙應(yīng)用程序,使其認(rèn)為它運(yùn)行在真正的SoC上,即,它不需要硬件的周期精度或細(xì)粒度可見(jiàn)性。然而,速度很重要,因?yàn)樵谠S多情況下,多個(gè)應(yīng)用程序?qū)⑼瑫r(shí)運(yùn)行并與真實(shí)世界數(shù)據(jù)交互。這種模型對(duì)軟件層具有“剛剛足夠的精度”的方法導(dǎo)致了SoC項(xiàng)目期間不同軟件開發(fā)人員在不同時(shí)間使用的許多不同建模環(huán)境。
可以使用事務(wù)級(jí)模擬,以SystemC等語(yǔ)言建模,以創(chuàng)建以低精度運(yùn)行但以足夠高的速度運(yùn)行許多應(yīng)用程序的模擬器模型。如果實(shí)時(shí)、真實(shí)世界數(shù)據(jù)的處理并不重要,那么我們最好考慮采用這種虛擬原型方法。然而,當(dāng)整個(gè)軟件堆棧必須一起運(yùn)行或必須處理真實(shí)數(shù)據(jù)時(shí),基于FPGA的原型設(shè)計(jì)變得最有用。
總結(jié)
今天的SoC是許多不同專家的工作組合,從算法研究人員到硬件設(shè)計(jì)師,到軟件工程師,再到芯片布局團(tuán)隊(duì),隨著項(xiàng)目的進(jìn)展,每個(gè)SoC都有自己的需求。SoC項(xiàng)目的成功在很大程度上取決于上述專家使用的硬件驗(yàn)證、硬件-軟件聯(lián)合驗(yàn)證和軟件驗(yàn)證方法?;贔PGA的原型設(shè)計(jì)為這些專家?guī)?lái)了不同的好處:
對(duì)于硬件團(tuán)隊(duì)來(lái)說(shuō),驗(yàn)證工具的速度對(duì)驗(yàn)證吞吐量起著重要作用。在大多數(shù)SoC開發(fā)中,隨著項(xiàng)目的成熟,有必要進(jìn)行多次模擬和重復(fù)回歸測(cè)試。仿真器和模擬器是用于該類型RTL驗(yàn)證的最常用平臺(tái)。然而,由于運(yùn)行時(shí)間長(zhǎng),即使使用基于TLM的模擬和建模,RTL內(nèi)或RTL與外部刺激之間的某些交互也無(wú)法在模擬或仿真中重新創(chuàng)建。。因此,一些團(tuán)隊(duì)使用基于FPGA的原型設(shè)計(jì)為此類硬件測(cè)試提供更高性能的平臺(tái)。例如,我們可以相對(duì)實(shí)時(shí)地運(yùn)行整個(gè)OS引導(dǎo),從而節(jié)省幾天的模擬時(shí)間來(lái)實(shí)現(xiàn)相同的目標(biāo)。
對(duì)于軟件團(tuán)隊(duì)來(lái)說(shuō),基于FPGA的原型設(shè)計(jì)為目標(biāo)硅提供了一個(gè)獨(dú)特的硅前模型,該模型足夠快速和準(zhǔn)確,能夠在接近最終條件下調(diào)試軟件。
對(duì)于整個(gè)團(tuán)隊(duì)來(lái)說(shuō),SoC項(xiàng)目的一個(gè)關(guān)鍵階段是軟件和硬件首次相互介紹。硬件將由最終軟件以硬件驗(yàn)證計(jì)劃未單獨(dú)設(shè)想或預(yù)測(cè)的方式進(jìn)行測(cè)試,從而暴露出新的硬件問(wèn)題。這在多核系統(tǒng)或運(yùn)行并發(fā)實(shí)時(shí)應(yīng)用程序的系統(tǒng)中尤為普遍。如果這種硬件軟件的引入是在第一次硅制造之后才發(fā)生的,那么溫和地說(shuō),在那個(gè)時(shí)候發(fā)現(xiàn)新的bug是不理想的。
基于FPGA的原型允許盡早將軟件引入硬件的周期準(zhǔn)確和快速模型。SoC團(tuán)隊(duì)經(jīng)常告訴我們,基于FPGA的原型設(shè)計(jì)的最大好處是,當(dāng)?shù)谝粔K硅可用時(shí),系統(tǒng)和軟件一天就能啟動(dòng)并運(yùn)行。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1645文章
22034瀏覽量
617994 -
HDMI
+關(guān)注
關(guān)注
33文章
1830瀏覽量
155274 -
soc
+關(guān)注
關(guān)注
38文章
4385瀏覽量
222612 -
RTL
+關(guān)注
關(guān)注
1文章
389瀏覽量
61050
原文標(biāo)題:為什么要做FPGA原型驗(yàn)證?
文章出處:【微信號(hào):于博士Jacky,微信公眾號(hào):于博士Jacky】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
驗(yàn)證中的FPGA原型驗(yàn)證 FPGA原型設(shè)計(jì)面臨的挑戰(zhàn)是什么?
高頻RFID芯片的FPGA原型驗(yàn)證平臺(tái)設(shè)計(jì)及驗(yàn)證
FPGA原型驗(yàn)證的技術(shù)進(jìn)階之路
基于FPGA原型的GPS基帶驗(yàn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的驗(yàn)證平臺(tái)及有效的SoC驗(yàn)證過(guò)程和方法

如何建立適合團(tuán)隊(duì)的FPGA原型驗(yàn)證系統(tǒng)平臺(tái)與技術(shù)?
什么是FPGA原型驗(yàn)證?如何用FPGA對(duì)ASIC進(jìn)行原型驗(yàn)證
SoC設(shè)計(jì)的IO PAD怎么移植到FPGA原型驗(yàn)證
SoC設(shè)計(jì)的IO PAD怎么移植到FPGA原型驗(yàn)證

從SoC仿真驗(yàn)證到FPGA原型驗(yàn)證的時(shí)機(jī)

為什么SoC驗(yàn)證一定需要FPGA原型驗(yàn)證呢?

評(píng)論