掌握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
特別推薦
- 高精度低噪聲 or 大功率強(qiáng)驅(qū)動(dòng)??jī)x表放大器與功率放大器選型指南
- 高壓BMS:電池儲(chǔ)能系統(tǒng)的安全守護(hù)者與壽命延長(zhǎng)引擎
- 2025西部電博會(huì)啟幕在即,中文域名“西部電博會(huì).網(wǎng)址”正式上線
- IOTE 2025上海物聯(lián)網(wǎng)展圓滿收官!AIoT+5G生態(tài)引爆智慧未來
- 如何設(shè)計(jì)高性能CCM反激式轉(zhuǎn)換器?中等功率隔離應(yīng)用解析
- 攻克次諧波振蕩:CCM反激斜坡補(bǔ)償?shù)墓β史旨?jí)指南
- 羅姆助力英偉達(dá)800V HVDC重塑AI數(shù)據(jù)中心能源架構(gòu)
技術(shù)文章更多>>
- 離座秒鎖屏!意法半導(dǎo)體新推人體存在檢測(cè)技術(shù)守護(hù)PC智能設(shè)備隱私安全
- 控制回路仿真入門:LTspice波特圖分析詳解
- EA電池模擬器:重構(gòu)電池研發(fā)全流程的技術(shù)引擎
- 造物數(shù)科亮相華為開發(fā)者大會(huì)2025:技術(shù)創(chuàng)新與數(shù)字服務(wù),加速電子電路產(chǎn)業(yè)數(shù)智化轉(zhuǎn)型
- 一文讀懂SiC Combo JFET技術(shù)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索