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

評論