FPGA原型驗(yàn)證在數(shù)字SoC系統(tǒng)項(xiàng)目當(dāng)中已經(jīng)非常普遍且非常重要,但對(duì)于一個(gè)SoC的項(xiàng)目而言,選擇合適的FPGA原型驗(yàn)證系統(tǒng)顯的格外重要,尤其對(duì)于首次使用基于FPGA的原型設(shè)計(jì)驗(yàn)證的工程師而言,從FPGA原型驗(yàn)證技術(shù)目標(biāo)的細(xì)節(jié)理解到掌握如何使用它來構(gòu)建芯片的原型,是一個(gè)質(zhì)的飛躍,做到這一點(diǎn),并非易事。下面我們來看一下如何Step by Step建立適合團(tuán)隊(duì)的FPGA原型驗(yàn)證系統(tǒng)平臺(tái)與技術(shù)。
FPGA的規(guī)模到底有多大?
芯片設(shè)計(jì)領(lǐng)域通常講到規(guī)模,我們第一反應(yīng)一定是邏輯規(guī)模,當(dāng)然對(duì)于芯片設(shè)計(jì)驗(yàn)證工程師而言,邏輯門數(shù)是規(guī)模的第一反應(yīng),但實(shí)際上FPGA是構(gòu)建SoC原型系統(tǒng)的最佳選擇,它不僅包含大量的組合邏輯和時(shí)序邏輯資源,還包含其他資源,比如各種類型的RAM存儲(chǔ)資源和DSP算術(shù)資源,以及時(shí)鐘資源、特殊的IO資源和高速互連接口與器件,這些都進(jìn)一步擴(kuò)大了FPGA技術(shù)用于芯片原型設(shè)計(jì)與驗(yàn)證的范圍。
邏輯資源:FPGA在高度可配置的單元中實(shí)現(xiàn)邏輯,將查找表與可選輸出FF、進(jìn)位邏輯和其他特殊元素相結(jié)合,以有效映射邏輯。
存儲(chǔ)資源:小容量內(nèi)存可以用查找表配置,大容量的專用內(nèi)存塊會(huì)分布在整個(gè)設(shè)備中,可以用作單端口或雙端口R/W同步內(nèi)存塊。這些存儲(chǔ)器塊可以連接在一起并形成更深或更寬的存儲(chǔ)器塊,并且可以使用附加的內(nèi)置邏輯來實(shí)現(xiàn)專用存儲(chǔ)器,例如單時(shí)鐘或雙時(shí)鐘FIFO。這些通常是從供應(yīng)商提供的專用內(nèi)存IP庫中配置的。
DSP資源:FPGA在整個(gè)設(shè)備中分布專用DSP資源(包括MAC等)也是常見的,(乘法/累加)塊、移位、幅度比較器和模式檢測等。此外,DSP塊具有級(jí)聯(lián)功能,允許它們連接在一起形成更廣泛的數(shù)學(xué)函數(shù),如DSP濾波器,而不使用邏輯FPGA資源。
IO接口資源:FPGA的IO可以多種方式配置,以符合各種標(biāo)準(zhǔn)、驅(qū)動(dòng)強(qiáng)度、差分對(duì)等。
互連資源:FPGA中最重要的資源可能是各種塊之間互連的手段。除了一些特殊緩沖區(qū)之外,這些資源通常不能由用戶明確控制,而是由布局布線工具和一些高級(jí)綜合工具隱含地使用,以便在FPGA上實(shí)現(xiàn)設(shè)計(jì)的連接(Chip2Chip)。
時(shí)鐘資源:專用于實(shí)現(xiàn)設(shè)計(jì)的時(shí)鐘。這些專用的可編程時(shí)鐘發(fā)生器,包括PLL、全局和區(qū)域時(shí)鐘緩沖器以及低偏斜分布網(wǎng)絡(luò)。
特殊用途的模塊:一些設(shè)備具有實(shí)現(xiàn)特定功能的硬核模塊,如以太網(wǎng)MAC、PCI Express接口、選定的CPU核心或高速串行收發(fā)器(例如SERDES)。這些特殊模塊有助于實(shí)現(xiàn)行業(yè)標(biāo)準(zhǔn)的外圍接口。
建議:鑒于專用資源的專用性,SoC邏輯可能不會(huì)透明地映射到這些資源中。為了使用專用資源,一些SoC設(shè)計(jì)塊可能需要與FPGA等效功能的模塊替換。當(dāng)進(jìn)行此類設(shè)計(jì)更改時(shí),應(yīng)理解新塊的功能行為可能與原始?jí)K不同。
關(guān)于FPGA資源的估算
FPGA資源豐富,我們通常希望很快地將這些資源應(yīng)用到SoC相關(guān)的功能設(shè)計(jì)中,但實(shí)際上能否快速的將SoC代碼快速移植到FPGA,一方面取決于工程師的經(jīng)驗(yàn),另一方面真的取決于SoC的架構(gòu)設(shè)計(jì)和代碼質(zhì)量,一般而言組合邏輯路徑較短的設(shè)計(jì)更容易porting到FPGA原型驗(yàn)證,也就是說善于運(yùn)用寄存器的設(shè)計(jì)更容易porting,另外合理的流水線設(shè)計(jì)也將更容易porting。通常需要很多步驟的從SoC代碼移植到FPGA代碼,才能順利的porting完成。
在資源換算上,通常我們常說ASIC門數(shù)目,而實(shí)際上ASIC的門數(shù)和FPGA的門數(shù)換算并沒有一個(gè)嚴(yán)格的計(jì)算公式,大多數(shù)都是不嚴(yán)謹(jǐn)?shù)墓浪悖鳛橐幻麌?yán)苛的工程師,很容易進(jìn)入到公式計(jì)算的思維定式,但實(shí)際上,很難有嚴(yán)苛的公式,大多是只是經(jīng)驗(yàn)之談,比如一個(gè)LUT大概換算多少邏輯門,一個(gè)FF大概換算多少門,而在ASIC芯片設(shè)計(jì)中,所謂的門更是通過綜合工具綜合結(jié)果而來。另外,在FPGA綜合工具中,即使代碼量差不多,綜合出來的結(jié)果也會(huì)千差萬別,說白了,還是取決于代碼質(zhì)量。建議首先根據(jù)特殊資源確定設(shè)計(jì)是否適合FPGA原型設(shè)計(jì)與驗(yàn)證,一旦設(shè)計(jì)代碼可綜合,就通過綜合工具運(yùn)行相關(guān)設(shè)計(jì)代碼,以獲得準(zhǔn)確的FPGA資源使用估計(jì)。如果設(shè)計(jì)是可綜合的,建議使用快速綜合評(píng)估,以表明預(yù)期的資源利用率。
一旦給定設(shè)計(jì)的FPGA資源利用水平可用,我們就需要為設(shè)計(jì)的成熟度建立利用水平目標(biāo)。一般來說,F(xiàn)PGA利用率越高,處理設(shè)計(jì)(合成、放置和布線等)所需的時(shí)間就越長,而且由于布線延遲更大,系統(tǒng)時(shí)鐘運(yùn)行速度也會(huì)越慢。此外,在原型項(xiàng)目期間,設(shè)計(jì)可能會(huì)發(fā)生變化,未來可能會(huì)添加一些診斷邏輯,因此系統(tǒng)中FPGA的數(shù)量應(yīng)保守考慮。
基于FPGA的原型設(shè)計(jì)的一個(gè)關(guān)鍵目標(biāo)是降低SoC項(xiàng)目的整體風(fēng)險(xiǎn),因此,將最后一點(diǎn)點(diǎn)的邏輯都要壓縮到FPGA中可能不是風(fēng)險(xiǎn)最低的方法。除了不留任何擴(kuò)展空間外,當(dāng)設(shè)備太滿時(shí),F(xiàn)PGA布局布線結(jié)果也會(huì)降低,運(yùn)行時(shí)間也會(huì)大大增加。指導(dǎo)方針可能是保持低于75%的利用率,這對(duì)于生產(chǎn)FPGA設(shè)計(jì)和原型項(xiàng)目來說是典型的,60%甚至50%都是合理的。這將縮短設(shè)計(jì)迭代時(shí)間,更容易達(dá)到目標(biāo)性能。
代碼設(shè)計(jì):好的設(shè)計(jì)代碼風(fēng)格比其他設(shè)計(jì)更有效地映射到FPGA資源中,因?yàn)樗鼈兣cFPGA架構(gòu)和資源的匹配程度。如上所述,由于FPGA技術(shù)含大量觸發(fā)器,具有較高FF與組合邏輯比的設(shè)計(jì)可能比具有較低比率的設(shè)計(jì)實(shí)現(xiàn)更高的有效門,簡單來講就是組合邏輯路徑不要太長。
時(shí)鐘資源:雖然有多個(gè)時(shí)鐘域,但FPGA的PLL資源、時(shí)鐘多路復(fù)用器資源和片上的布線資源都是有限的。對(duì)于多時(shí)鐘設(shè)計(jì),需要更仔細(xì)地查看所選FPGA中的可用時(shí)鐘資源和時(shí)鐘域限制。
布線資源:FPGA的可用邏輯可能受到布線資源可用性的限制,布線資源的可用性可能因設(shè)計(jì)而異。“高密度連接”設(shè)計(jì)可能會(huì)耗盡某些區(qū)域的FPGA布線資源,并限制對(duì)該區(qū)域FPGA資源的訪問,從而可能導(dǎo)致這些資源無法使用。此外,與“輕度擁塞”設(shè)計(jì)相比,此類設(shè)計(jì)可能以較低的時(shí)鐘速率運(yùn)行。
IO資源:在現(xiàn)代SoC設(shè)計(jì)中,多FPGA分區(qū)設(shè)計(jì)中的FPGA在耗盡邏輯或內(nèi)存之前耗盡引腳是非常常見的。平衡FPGA之間資源的分區(qū)可能仍然需要使用多路復(fù)用來路由FPGA之間的所有信號(hào)。
審核編輯:劉清
-
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
27118 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7629瀏覽量
166321 -
RAM
+關(guān)注
關(guān)注
8文章
1391瀏覽量
116711 -
SoC系統(tǒng)
+關(guān)注
關(guān)注
0文章
52瀏覽量
10897
原文標(biāo)題:如何給SoC項(xiàng)目評(píng)估FPGA原型驗(yàn)證系統(tǒng)?
文章出處:【微信號(hào):于博士Jacky,微信公眾號(hào):于博士Jacky】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
驗(yàn)證中的FPGA原型驗(yàn)證 FPGA原型設(shè)計(jì)面臨的挑戰(zhàn)是什么?
怎么采用FPGA原型系統(tǒng)加速物聯(lián)網(wǎng)設(shè)計(jì)?
高頻RFID芯片的FPGA原型驗(yàn)證平臺(tái)設(shè)計(jì)及驗(yàn)證
高頻RFID芯片的FPGA原型驗(yàn)證平臺(tái)的設(shè)計(jì)及結(jié)果介紹
FPGA原型驗(yàn)證的技術(shù)進(jìn)階之路
基于FPGA原型的GPS基帶驗(yàn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
FACE-VUP:大規(guī)模FPGA原型驗(yàn)證平臺(tái)
SoC的功能有多少可以通過FPGA原型驗(yàn)證平臺(tái)來驗(yàn)證?
什么是FPGA原型驗(yàn)證?如何用FPGA對(duì)ASIC進(jìn)行原型驗(yàn)證
多臺(tái)FPGA原型驗(yàn)證平臺(tái)可自由互連
多臺(tái)FPGA原型驗(yàn)證平臺(tái)系統(tǒng)如何實(shí)現(xiàn)自由互連
多片FPGA原型驗(yàn)證系統(tǒng)互連拓?fù)浞治?/a>

什么是FPGA原型驗(yàn)證?FPGA原型設(shè)計(jì)的好處是什么?
原型平臺(tái)是做什么的?proFPGA驗(yàn)證環(huán)境介紹

評(píng)論