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

如何建立適合團(tuán)隊(duì)的FPGA原型驗(yàn)證系統(tǒng)平臺與技術(shù)?
什么是FPGA原型驗(yàn)證?如何用FPGA對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)證呢?

評論