目錄
題目
核心思路
答案
FPGA全貌
題目
FPGA如何進(jìn)行資源評(píng)估
核心思路
八股文咯
答案
大家在項(xiàng)目中一般會(huì)要遇到需要資源評(píng)估的情況,例如立了新項(xiàng)目,前期需要確定使用什么FPGA片子,做到成本越小越好。這就要對(duì)即將要實(shí)現(xiàn)的功能進(jìn)行下資源評(píng)估。
如何評(píng)估
1、你需要一個(gè)參考工程
一般來說你首先需要一個(gè)參考工程,不會(huì)什么代碼都沒編寫的時(shí)候就進(jìn)行資源評(píng)估,再怎么厲害也不至于憑空就能想象出一個(gè)大型工程會(huì)用到多少資源。
所以我們?cè)谧鲆粋€(gè)全新系列的項(xiàng)目時(shí),設(shè)計(jì)要先行。要把代碼編寫的七七八八后才能進(jìn)行資源評(píng)估,功能不要求正確,但該有的模塊必須都掛上,這樣才能比較準(zhǔn)確的通過vivado工具來得到大致的資源消耗2、如果是大部分的模塊都是比較成熟的情況下
那么我們可以在之前的項(xiàng)目中,就把那些重點(diǎn)模塊的資源都統(tǒng)計(jì)出來。在新的衍生項(xiàng)目中,畫出基本的實(shí)現(xiàn)框圖后,基本就可以清楚新的項(xiàng)目中這些模塊哪些需要用到,用到的需要例化幾次,這樣就能夠快速得到評(píng)估結(jié)果。哪些資源需要評(píng)估
主要是以下四類
LUT 邏輯資源
FF 觸發(fā)器資源
BRAM 存儲(chǔ)器資源
DSP 乘法器資源?那么得到評(píng)估結(jié)果后是不是這四種資源都不超過100%,就是可以實(shí)現(xiàn)的呢。
那肯定不是的了,按照個(gè)人經(jīng)驗(yàn)
一般來說LUT和FF最好在70%左右,再多有可能會(huì)出現(xiàn)編譯不過的情況了,BRAM和DSP可以更多一點(diǎn)。這個(gè)東西沒有一個(gè)絕對(duì)的說法,跟主觀經(jīng)驗(yàn)有關(guān)
如果同類型的項(xiàng)目做的比較多,對(duì)資源的把握也就心里有數(shù)了
?
FPGA全貌
第1節(jié) 什么是 FPGA
FPGA 的全稱為 Field-Programmable Gate Array,即現(xiàn)場(chǎng)可編程門陣列。 FPGA 是在 PAL、 GAL、 CPLD 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物, 是作為專用集成電路( ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。 簡(jiǎn)而言之, FPGA 就是一個(gè)可以通過編程來改變內(nèi)部結(jié)構(gòu)的芯片。FPGA 功能實(shí)現(xiàn):需要通過編程即設(shè)計(jì)硬件描述語(yǔ)言,經(jīng)過 EDA 工具編譯、綜合、布局布線成后轉(zhuǎn)換為可燒錄的文件,
最終加載到 FPGA 器件中去,改變 FPGA 內(nèi)部的連線,最終完成所實(shí)現(xiàn)的功能。FPGA 性能對(duì)比:FPGA 相比于單片機(jī)、 CPU 等集成電路芯片擁有效率更高、功耗更低的特點(diǎn),但是易于開發(fā)程度遠(yuǎn)遠(yuǎn)不如單片機(jī)、 CPU; 在數(shù)字芯片設(shè)計(jì)領(lǐng)域, FPGA 雖然相比 ASIC 具有更短的開發(fā)周期與開發(fā)難度, 但是其存在著成本過高、性能較差并且在資源的利用率上遠(yuǎn)不及 ASIC 等問題,不能真正的替代 ASIC。
第2節(jié) FPGA 的基本結(jié)構(gòu)
FPGA 可編程的特性決定了其實(shí)現(xiàn)數(shù)字邏輯的結(jié)構(gòu)不能像專用 ASIC 那樣通過固定的邏輯門電路來完成,而只能采用一種可以重復(fù)配置的結(jié)構(gòu)來實(shí)現(xiàn), 而查找表(LUT)可以很好地滿足這一要求,目前主流的 FPGA 芯片仍是基于 SRAM 工藝的查找表結(jié)構(gòu)。FPGA 芯片參數(shù)指標(biāo):包含可編程邏輯模塊的數(shù)量、固定功能邏輯模塊(如乘法器)的數(shù)目及存儲(chǔ)器資源(如嵌入式 RAM)的大小。
在最底層的可配置邏輯模塊(如片上的邏輯單元) 上,存在著基本的兩種部件:觸發(fā)器和查找表( LUT) , 而觸發(fā)器和查找表的組合方式不同,是各個(gè) FPGA 家族之間區(qū)別的重要依據(jù), 并且查找表本身的結(jié)構(gòu)也可能各不相同( 有 4 輸入或 6 輸入或其他)。
查找表( Look-Up-Table)簡(jiǎn)稱為 LUT, 其本質(zhì)上就是一個(gè) RAM。目前 FPGA 內(nèi)部中多使用 4輸入的 LUT,每一個(gè) LUT 可以看成一個(gè)有 4 位地址線的 RAM。
當(dāng)用戶在 EDA 工具上通過原理圖或 硬件描述語(yǔ)言設(shè)計(jì)了一個(gè)邏輯電路以后, FPGA 開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能結(jié)果,并把真值表(即結(jié)果)事先寫入 RAM 中。 這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查找表操作, 通過地址找到對(duì)應(yīng)的 RAM 中的結(jié)果, 最后將其輸出。以實(shí)現(xiàn)數(shù)字邏輯 Y=A&B&C 的功能為例。如果是在專用 ASIC 中,為了實(shí)現(xiàn)該邏輯,邏輯門都已經(jīng)事先確定好, Y 的輸出值為兩個(gè)邏輯與運(yùn)算后的結(jié)果,其基本的實(shí)現(xiàn)結(jié)構(gòu)如下圖所示:
對(duì)Y=A&B&C 的 利用FPGA 實(shí)現(xiàn)基本結(jié)構(gòu) :
第3節(jié) 更為復(fù)雜的 FPGA 架構(gòu)
隨著技術(shù)的發(fā)展和工藝節(jié)點(diǎn)的進(jìn)步, FPGA 的容量和性能在不斷提高的同時(shí), 其功耗卻不斷的優(yōu)化減少。 2006 年以前四輸入查找表一直被廣泛使用, 在一些高端器件可能會(huì)用上六輸入、八輸入或更多輸入端口的查找表。 而一個(gè)多輸入的查找表又可以分解成較小輸入的查找表, 即能夠分裂成許多更小的功能。 例如一個(gè)八輸入的查找表可以分解成兩個(gè)四輸入的查找表或分解成一個(gè)三輸入加一個(gè)五輸入的查找表。在實(shí)際的高端器件中,這種可編程構(gòu)造可以描述相當(dāng)于百萬級(jí)(有時(shí)甚至千萬級(jí))的原始邏輯門。在 FPGA 內(nèi)部,利用 FPGA 的可編程性在芯片內(nèi)部構(gòu)造實(shí)現(xiàn)了一個(gè)計(jì)數(shù)器邏輯,有著“軟內(nèi)核”與“硬內(nèi)核”之分。
軟內(nèi)核(軟功能):在構(gòu)造計(jì)數(shù)器邏輯過程中使用到的功能便可以被稱為軟功能。
硬內(nèi)核(硬功能):功能若是直接利用芯片實(shí)現(xiàn)的,則是利用了芯片內(nèi)部的硬功能。文章來源:http://www.zghlxwxcb.cn/news/detail-830821.html
軟內(nèi)核與硬內(nèi)核之間優(yōu)勢(shì)互補(bǔ),軟內(nèi)核的優(yōu)勢(shì)在于可以在利用芯片資源的基礎(chǔ)上利用編程設(shè)計(jì)讓其完成需要實(shí)現(xiàn)的任何功能(注意是數(shù)字功能,不包括模擬功能)。 而**硬內(nèi)核由于是實(shí)現(xiàn)固定功能的器件,因此其優(yōu)勢(shì)在于資源利用率高且功耗較低, 占用硅片的面積也較小, 并具有較高的性能。最重要的區(qū)別**在于:與軟內(nèi)核相比硬內(nèi)核可用于實(shí)現(xiàn)模擬功能, 例如鎖相環(huán)的倍頻功能,這個(gè)功能需要在模擬電路下實(shí)現(xiàn),所以這一部分是在 FPGA 內(nèi)部用硬件來實(shí)現(xiàn)的 。文章來源地址http://www.zghlxwxcb.cn/news/detail-830821.html
到了這里,關(guān)于FPGA面試題【FPGA如何進(jìn)行資源評(píng)估】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!