FPGA設(shè)計的基本原則、技巧與時序電路設(shè)計_第1頁
FPGA設(shè)計的基本原則、技巧與時序電路設(shè)計_第2頁
FPGA設(shè)計的基本原則、技巧與時序電路設(shè)計_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

FPGA設(shè)計的基本原則、技巧與時序電路設(shè)計FPGA設(shè)計的基本原則面積與速度折衷原則面積和速度是ASIC芯片設(shè)計中一對相互制約、影響成本和性能的指標(biāo),貫穿FPGA設(shè)計的始終。在FPGA設(shè)計中,面積是指一個設(shè)計消耗的FPGA內(nèi)部邏輯資源的數(shù)量,可以用消耗的觸發(fā)器和查找表的個數(shù)或者是等效邏輯門數(shù)來衡量;速度是指一個設(shè)計在FPGA上穩(wěn)定運(yùn)行時所能達(dá)到的最高頻率,由設(shè)計時序狀態(tài)決定。關(guān)于面積和速度的折衷,應(yīng)在滿足設(shè)計時序和工作頻率要求的前提下,占用最小的芯片面積;或者在所規(guī)定的面積下,使得設(shè)計的時序余量最大,能夠在更高的頻率上穩(wěn)定運(yùn)行。通常,在資源足夠的情況下,更多是選擇速度的最優(yōu),這也是FPGA的特點(diǎn)。在具體設(shè)計中,應(yīng)根據(jù)具體性能指標(biāo)要求,在保證系統(tǒng)功能和性能的同時,降低資源消耗從而降低功耗和成本。硬件原則第二個原則是硬件原則。首先,要注意FPGA的邏輯設(shè)計所采用的硬件描述語言VHDL或Verilog與軟件語言C和C++有本質(zhì)區(qū)別,在使用硬件描述語言進(jìn)行設(shè)計時,不應(yīng)片面追求代碼的簡潔。其次,要采用正確的編碼方法。要對所需實(shí)現(xiàn)的硬件電路的結(jié)構(gòu)和相互連接有清晰的理解和構(gòu)想,然后再用適當(dāng)?shù)腣HDL語言表達(dá)出來。實(shí)際上綜合軟件對所寫的代碼在進(jìn)行推論的時候,得到的硬件結(jié)果會因編碼方式的不會而不同,直接影響硬件的實(shí)現(xiàn)。系統(tǒng)原則第三個原則是系統(tǒng)原則。FPGA作為硬件系統(tǒng)設(shè)計,應(yīng)該對設(shè)計全局進(jìn)行宏觀上的合理安排,包括邏輯功能模塊劃分、時鐘域信號的產(chǎn)生和驅(qū)動、模塊復(fù)用、時序或引腳約束、面積速度折衷等。這些系統(tǒng)上的考慮不僅關(guān)系到是否能夠最大程度地發(fā)揮項(xiàng)目成員的協(xié)同設(shè)計能力,而且直接決定著設(shè)計的綜合、實(shí)現(xiàn)效果和相關(guān)的操作時間。模塊化設(shè)計是系統(tǒng)原則的一個很好體現(xiàn),它是自頂向下、模塊劃分、分工協(xié)作設(shè)計思路的集中體現(xiàn),是大型復(fù)雜系統(tǒng)的推薦設(shè)計方法。圖1是模塊化設(shè)計的簡單流程。同步原則在設(shè)計電路時,可以有異步電路和同步電路兩種實(shí)現(xiàn)方法。異步電路使用組合邏輯電路實(shí)現(xiàn),沒有統(tǒng)一的時鐘信號,容易產(chǎn)生毛刺和競爭冒險;同步時序電路使用組合邏輯和觸發(fā)器實(shí)現(xiàn)電路功能,主要信號和輸出信號都由時鐘驅(qū)動觸發(fā)器產(chǎn)生,能夠避免毛刺,信號穩(wěn)定。·從資源使用方面考慮,推薦使用同步設(shè)計。雖然在ASIC設(shè)計中同步電路比異步電路占用的面積大,但是在FPGA中,是以邏輯單元衡量電路面積的,所以同步設(shè)計并不比異步設(shè)計浪費(fèi)資源?!难舆t設(shè)計方面考慮,異步電路的延時靠門延時來實(shí)現(xiàn),比較難預(yù)測;同步電路使用計數(shù)器或觸發(fā)器實(shí)現(xiàn)延時?!ね皆O(shè)計時鐘信號的質(zhì)量和穩(wěn)定性決定了同步時序電路的性能,F(xiàn)PGA的內(nèi)部有專用的時鐘資源,如全局時鐘布線資源、專用的時鐘管理模塊DUL、PLL等?!つ壳吧逃玫腇PGA都是面向同步的電路設(shè)計而優(yōu)化的,同步時序電路可以很好地避免毛刺,提倡在設(shè)計中全部使用同步邏輯電路。特別注意,不同的時鐘域的接口需要進(jìn)行同步。FPGA設(shè)計的技巧乒乓操作圖2是乒乓操作流程圖。從圖中可以看出,數(shù)據(jù)經(jīng)過兩個緩沖模塊,在向緩沖模塊1輸入數(shù)據(jù)的時候,緩沖模塊2的數(shù)據(jù)會送到下一級進(jìn)行處理,從外部看數(shù)據(jù)流沒有停頓。所以乒乓操作能夠提高處理速度。實(shí)際上,乒乓操作是用一種低速模塊來處理高速數(shù)據(jù)流,即用兩個緩沖模塊實(shí)現(xiàn)了串并轉(zhuǎn)換,用兩個預(yù)處理模塊并行,利用面積換速度。串并轉(zhuǎn)換串并轉(zhuǎn)換是FPGA設(shè)計的一個重要技巧,是數(shù)據(jù)流處理的常用手段,也是面積與速度互換思想的直接體現(xiàn)。串并轉(zhuǎn)換的實(shí)現(xiàn)方法多種多樣,根據(jù)數(shù)據(jù)的排序和數(shù)量要求,可以選用以下方式:小的設(shè)計用寄存器、數(shù)據(jù)量比較大的用ROM、復(fù)雜的串并轉(zhuǎn)換用狀態(tài)機(jī),或者直接利用功能模塊來實(shí)現(xiàn)。流水線操作流水線操作是高速設(shè)計中一個經(jīng)常用到的設(shè)計手段。如果某個數(shù)據(jù)的處理流程分為若干步驟,而且整個數(shù)據(jù)處理是“單流向”的,即沒有反饋或者迭代運(yùn)算,前一個步驟的輸出是下一個步驟的輸入,則可以采用流水線設(shè)計方法提高系統(tǒng)的工作頻率?!ち魉€設(shè)計時,要對時序進(jìn)行合理安排,每個操作步驟的劃分要合理,仔細(xì)考慮各個步驟間的數(shù)據(jù)流量?!と绻凹壊僮?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論