掌握FPGA設(shè)計(jì)三大黃金法則,讓你設(shè)計(jì)更輕松
發(fā)布時(shí)間:2016-12-12 責(zé)任編輯:susan
【導(dǎo)讀】FPGA采用了邏輯單元陣列LCA這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB、輸出輸入模塊IOB和內(nèi)部連線三個(gè)部分。現(xiàn)場(chǎng)可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu)。
FPGA利用小型查找表(16&TImes;1RAM)來實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。
不管你是一名邏輯設(shè)計(jì)師、硬件工程師或系統(tǒng)工程師,甚或擁有所有這些頭銜,只要你在任何一種高速和多協(xié)議的復(fù)雜系統(tǒng)中使用了FPGA,你就很可能需要努力解決好器件配置、電源管理、IP集成、信號(hào)完整性和其他的一些關(guān)鍵設(shè)計(jì)問題。
不過,你不必獨(dú)自面對(duì)這些挑戰(zhàn),因?yàn)樵诋?dāng)前業(yè)內(nèi)領(lǐng)先的FPGA公司里工作的應(yīng)用工程師每天都會(huì)面對(duì)這些問題,而且他們已經(jīng)提出了一些將令你的設(shè)計(jì)工作變得更輕松的設(shè)計(jì)指導(dǎo)原則和解決方案。掌握FPGA設(shè)計(jì)的三大黃金法則,讓你設(shè)計(jì)更輕松。
一、面積與速度的平衡互換原則
這里的面積指的是FPGA的芯片資源,包括邏輯資源和I/O資源等;這里的速度指的是FPGA工作的最高頻率(和DSP或者ARM不同,F(xiàn)PGA設(shè)計(jì)的工作頻率是不固定的,而是和設(shè)計(jì)本身的延遲緊密相連)。 在實(shí)際設(shè)計(jì)中,使用最小的面積設(shè)計(jì)出最高的速度是每一個(gè)開發(fā)者追求的目標(biāo),但是“魚和熊掌不可兼得”,取舍之間展示了一個(gè)開發(fā)者的智慧。
1.速度換面積
速度優(yōu)勢(shì)可以換取面積的節(jié)約。面積越小,就意味著可以用更低的成本來實(shí)現(xiàn)產(chǎn)品的功能。速度換面積的原則在一些較復(fù)雜的算法設(shè)計(jì)中常常會(huì)用到。在這些算法設(shè)計(jì)中,流水線設(shè)計(jì)常常是必須用到的技術(shù)。在流水線的設(shè)計(jì)中,這些被重復(fù)使用但是使用次數(shù)不同的模塊將會(huì)占用大量的FPGA資源。對(duì)FPGA的設(shè)計(jì)技術(shù)進(jìn)行改造,將被重復(fù)使用的算法模塊提煉出最小的復(fù)用單元,并利用這個(gè)最小的高速代替原設(shè)計(jì)中被重復(fù)使用但次數(shù)不同的模塊。當(dāng)然,在改造的過程中必然會(huì)增加一些其他的資源來實(shí)現(xiàn)這個(gè)代替的過程。但是只要速度具有優(yōu)勢(shì),那么增加的這部分邏輯依然能夠?qū)崿F(xiàn)降低面積提高速度的目的。
可以看到,速度換面積的關(guān)鍵是高速基本單元的復(fù)用。
2.面積換速度
在這種方法中面積的復(fù)制可以換取速度的提高。支持的速度越高,就意味著可以實(shí)現(xiàn)更高的產(chǎn)品性能。一些注重產(chǎn)品性能的應(yīng)用領(lǐng)域可以采用并行處理技術(shù),實(shí)現(xiàn)面積換速度。
二、硬件可實(shí)現(xiàn)原則
FPGA設(shè)計(jì)通常會(huì)使用HDL語言,比如Verilog HDL或者VHDL。當(dāng)采用HDL語言來描述一個(gè)硬件電路功能的時(shí)候,一定要確保代碼描述的電路是硬件可實(shí)現(xiàn)的。
Verilog HDL語言的語法與C語言很相似,但是它們之間有著本質(zhì)的區(qū)別。C語言是基于過程的高級(jí)語言,編譯后可以在CPU上運(yùn)行。而Verilog HDL語言描述的本身就是硬件結(jié)構(gòu),編譯后是硬件電路。因此,有些語句在C語言的環(huán)境中應(yīng)用是沒有問題的,但是在HDL語言環(huán)境下就會(huì)導(dǎo)致結(jié)果不正確或者不理想。如:
for(i=0;i《16;i++)
DoSomething();
在C語言中運(yùn)行沒有任何問題,但是在Verilog HDL的環(huán)境下編譯就會(huì)導(dǎo)致綜合后的資源嚴(yán)重浪費(fèi)。
三、同步設(shè)計(jì)原則
同步電路和異步電路是FPGA設(shè)計(jì)的兩種基本電路結(jié)構(gòu)形式。
異步電路的最大缺點(diǎn)是會(huì)產(chǎn)生毛刺。同步設(shè)計(jì)的核心電路是由各種觸發(fā)器構(gòu)成的。這類電路的任何輸出都是在某個(gè)時(shí)鐘的邊沿驅(qū)動(dòng)觸發(fā)器產(chǎn)生的。所以,同步設(shè)計(jì)可以很好地避免毛刺的產(chǎn)生。
FPGA基本特點(diǎn):
1)采用FPGA設(shè)計(jì)ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。
4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。
5)FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
主要FPGA生產(chǎn)廠商
1)Xilinx 開發(fā)平臺(tái)是ISE
2)Altera,開發(fā)平臺(tái)是Quartus II
3)Actel ,開發(fā)平臺(tái)是Libero
4)LatTIce
5)Atmel
特別推薦
- 帶寬可調(diào)+毫米波集成:緊湊型濾波器技術(shù)全景解析
- 電感傳感破局線控技術(shù)系統(tǒng)!汽車機(jī)械架構(gòu)的數(shù)字化革命
- 西南科技盛宴啟幕!第十三屆西部電博會(huì)7月9日蓉城集結(jié)
- 硬件加速+安全加密:三合一MCU如何簡(jiǎn)化電機(jī)系統(tǒng)設(shè)計(jì)
- 智能家電的“動(dòng)力心臟”:專用電機(jī)控制MCU技術(shù)全景解析
- 溫漂±5ppm的硬核科技:車規(guī)薄膜電阻在衛(wèi)星與6G中的關(guān)鍵作用
- 從誤報(bào)到精準(zhǔn)預(yù)警:多光譜MCU重構(gòu)煙霧探測(cè)邊界
技術(shù)文章更多>>
- 200kHz開關(guān)頻率破局!Wolfspeed聯(lián)合恩智浦推出牽引逆變器解決續(xù)航焦慮
- 四頻段開關(guān)+脈沖跳躍!意法半導(dǎo)體推出車規(guī)級(jí)6A大電流穩(wěn)壓器
- 三新驅(qū)動(dòng)西部崛起:第十三屆西部電子信息博覽會(huì)成都盛大啟幕
- 隔離式柵極驅(qū)動(dòng)器核心技術(shù)全景:安全、能效與國(guó)產(chǎn)破局路徑
- 奇瑞羅姆技術(shù)共創(chuàng)日,共繪汽車電子未來藍(lán)圖
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
LED保護(hù)元件
LED背光
LED調(diào)光
LED模擬調(diào)光
LED驅(qū)動(dòng)
LED驅(qū)動(dòng)IC
LED驅(qū)動(dòng)模塊
LED散熱
LED數(shù)碼管
LED數(shù)字調(diào)光
LED顯示
LED顯示屏
LED照明
LED照明設(shè)計(jì)
Lightning
Linear
Litepoint
Littelfuse
LTC
LTE
LTE功放
LTE基帶
Marvell
Maxim
MCU
MediaTek
MEMS
MEMS傳感器
MEMS麥克風(fēng)
MEMS振蕩器