電子發(fā)燒友網(wǎng)核心提示:對(duì)初級(jí)FPGA工程師而言,必須掌握FPGA相關(guān)基礎(chǔ)知識(shí)、精通硬件描述語(yǔ)言、熟練數(shù)字電路設(shè)計(jì)、加強(qiáng)工程項(xiàng)目的實(shí)踐。應(yīng)廣大初級(jí)FPGA工程師/FPGA愛(ài)好者之需,電子發(fā)燒友網(wǎng)策劃整合并隆重推出《FPGA核心基礎(chǔ)知識(shí)詳解》系列技術(shù)文章,以后會(huì)陸續(xù)推出其他章節(jié),敬請(qǐng)廣大工程師朋友繼續(xù)關(guān)注和留意。
一、FPGA基礎(chǔ)知識(shí)
1. 什么是 FPGA?
現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA) 是由通過(guò)可編程互連連接的可配置邏輯塊 (CLB) 矩陣構(gòu)成的可編程半導(dǎo)體器件。相對(duì)于專(zhuān)為特定設(shè)計(jì)定制構(gòu)建的專(zhuān)用集成電路 (ASIC) 而言,F(xiàn)PGA 能通過(guò)編程來(lái)滿足應(yīng)用和功能要求。
雖然市面上也有一次性可編程 (OTP) FPGA,但絕大多數(shù)是基于 SRAM 的類(lèi)型,可隨著設(shè)計(jì)的演化進(jìn)行重編程。
請(qǐng)參考下面的內(nèi)容來(lái)具體了解方框圖中的各個(gè)突出顯示區(qū)域。
圖1.1 FPGA單元結(jié)構(gòu)
(1)IOB 細(xì)節(jié)
目前的 FPGA 可支持許多種 I/O 標(biāo)準(zhǔn),因而為您的系統(tǒng)提供了理想的接口橋接。FPGA 內(nèi)的 I/O 按 bank 分組 (見(jiàn)下圖) ,每個(gè) bank 能獨(dú)立支持不同的 I/O 標(biāo)準(zhǔn)。 目前最先進(jìn)的 FPGA 提供了十多個(gè) I/O bank,能夠提供靈活的 I/O 支持。
圖1.2 FPGA內(nèi)的 I/O 按bank分組圖示
(2)CLB 細(xì)節(jié)
可配置邏輯塊是 FPGA 的基本邏輯單元。實(shí)際數(shù)量和特性會(huì)依器件的不同而改變,但是每個(gè) CLB 都包含一個(gè)由 4 或 6 個(gè)輸入、一些選擇電路(多路復(fù)用器等)和觸發(fā)器組成的可配置開(kāi)關(guān)矩陣。開(kāi)關(guān)矩陣具有高度的靈活性,經(jīng)配置可以處理組合型邏輯、移位寄存器或 RAM。
圖1.3高層次的 CLB 簡(jiǎn)介
(3)DCM 細(xì)節(jié)
業(yè)界大多數(shù) FPGA 均提供數(shù)字時(shí)鐘管理(Xilinx 所有 FPGA 均具有此特性),幾乎消除了過(guò)去設(shè)計(jì)者在將全局信號(hào)設(shè)計(jì)到 FPGA 中時(shí)不得不面對(duì)的歪斜及其它問(wèn)題。
(4)FPGA 的常見(jiàn)特性
當(dāng)今的 FPGA 已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了如 RAM、時(shí)鐘管理和 DSP 這些常用功能的硬(ASIC 型)塊。 FPGA 的基本組件如下。
a.可配置邏輯塊 (CLB)
CLB 是 FPGA 的基本邏輯單元。實(shí)際數(shù)量和特性會(huì)依器件的不同而改變,但是每個(gè) CLB 都包含一個(gè)由 4 或 6 個(gè)輸入、一些選擇電路(多路復(fù)用器等)和觸發(fā)器組成的可配置開(kāi)關(guān)矩陣。開(kāi)關(guān)矩陣具有高度的靈活性,經(jīng)配置可以處理組合型邏輯、移位寄存器或 RAM。
b.互連
CLB 提供了邏輯性能,靈活的互連布線則負(fù)責(zé)在 CLB 和 I/O 之間傳遞信號(hào)。布線有幾種類(lèi)型,從設(shè)計(jì)用于專(zhuān)門(mén)實(shí)現(xiàn) CLB 互連、到器件內(nèi)的高速水平和垂直長(zhǎng)線、再到時(shí)鐘與其它全局信號(hào)的全局低歪斜布線。除非另行說(shuō)明,否則設(shè)計(jì)軟件會(huì)將互連布線任務(wù)隱藏起來(lái),用戶根本看不到,從而大幅降低了設(shè)計(jì)復(fù)雜性。
c.SelectIO (IOB)
目前的 FPGA 可支持許多種 I/O 標(biāo)準(zhǔn),因而為您的系統(tǒng)提供了理想的接口橋接。FPGA 內(nèi)的 I/O 按 bank 分組 (見(jiàn)下圖) ,每個(gè) bank 能獨(dú)立支持不同的 I/O 標(biāo)準(zhǔn)。目前最先進(jìn)的 FPGA 提供了十多個(gè) I/O bank,能夠提供靈活的 I/O 支持。
d.存儲(chǔ)器
大多數(shù) FPGA 中都提供嵌入式塊 RAM 存儲(chǔ)器,這樣可以在您的設(shè)計(jì)中實(shí)現(xiàn)片上存儲(chǔ)。這些能為您的設(shè)計(jì)實(shí)現(xiàn)片上存儲(chǔ)。Xilinx FPGA 提供高達(dá) 10 Mbits 的片上存儲(chǔ) (每個(gè)區(qū)塊大小為 36 Kbits),能夠支持真正的雙端口運(yùn)行。
e.完整的時(shí)鐘管理
業(yè)界大多數(shù) FPGA 都提供數(shù)字時(shí)鐘管理(所有 Xilinx FPGA 都具有此特性)Xilinx 推出的最高級(jí) FPGA 提供了數(shù)字時(shí)鐘管理和鎖相環(huán)鎖定功能,不僅提供了精確時(shí)鐘綜合功能,而且能夠降低抖動(dòng)和實(shí)現(xiàn)過(guò)濾。
(5)FPGA解決方案、應(yīng)用以及終端市場(chǎng)
由于其自身的可編程特性, FPGA 成為了眾多不同的市場(chǎng)的理想選擇。Xilinx 作為業(yè)界領(lǐng)先公司提供了包含 FPGA 器件、高級(jí)軟件和可配置即用型 IP 核等在內(nèi)的全套解決方案,可滿足以下市場(chǎng)和應(yīng)用的需求:
a.應(yīng)用方案
航空航天和軍用產(chǎn)品:用于實(shí)現(xiàn)圖形處理、波形生成和 SDR 部分重配置的抗輻射 FPGA 與 IP 核。
汽車(chē):用于實(shí)現(xiàn)網(wǎng)關(guān)與駕駛員輔助系統(tǒng)、舒適性、便捷性、車(chē)載信息娛樂(lè)的汽車(chē)芯片和 IP 解決方案。
廣播:在視頻和音頻被廣泛采用(從演播室到生產(chǎn)與傳輸,再到消費(fèi)類(lèi))的同時(shí),該解決方案也實(shí)現(xiàn)了一系列廣播鏈任務(wù)。
消費(fèi)類(lèi):高性?xún)r(jià)比解決方案支持新一代功能齊全的消費(fèi)類(lèi)應(yīng)用,如整合式手持設(shè)備、數(shù)字平板顯示器、信息家電、家庭網(wǎng)絡(luò)和住宅機(jī)頂盒等。
工業(yè)/科學(xué)/醫(yī)療:工業(yè)解決方案可以解決工業(yè)自動(dòng)化、電機(jī)控制和高端醫(yī)療成像領(lǐng)域中的特殊市場(chǎng)需求和挑戰(zhàn)。
存儲(chǔ)與服務(wù)器:針對(duì)網(wǎng)絡(luò)附加存儲(chǔ)(NAS)、存儲(chǔ)局域網(wǎng)(SAN)、服務(wù)器、存儲(chǔ)設(shè)備等的數(shù)據(jù)處理解決方案。
無(wú)線通信:針對(duì)無(wú)線設(shè)備的RF、基帶、連接、傳輸和網(wǎng)絡(luò)解決方案,可支持 WCDMA、HSDPA、WiMAX等標(biāo)準(zhǔn)。
有線通信:針對(duì)可編程網(wǎng)絡(luò)線卡包處理、成幀器/MAC、串行背板以及更多其它應(yīng)用的端對(duì)端解決方案
b.技術(shù)解決方案
DSP:Xilinx XtremeDSP? 計(jì)劃可幫助您開(kāi)發(fā)出高性能定制 DSP 解決方案,以滿足航空航天和軍用產(chǎn)品、數(shù)字通信、多媒體、視頻以及成像等行業(yè)需求
嵌入式處理:Xilinx 針對(duì)您獨(dú)特的餓嵌入式應(yīng)用提供了一系列高度靈活的創(chuàng)新型處理解決方案。
二、FPGA與ASIC
1.ASIC 和 FPGA 的優(yōu)劣勢(shì)分析
ASIC 和 FPGA 具有不同的價(jià)值主張,在作出選擇前必須仔細(xì)評(píng)估。兩種種技術(shù)對(duì)比。這里介紹了 ASIC 和 FPGA 的優(yōu)勢(shì)與劣勢(shì):
a.FPGA 的設(shè)計(jì)優(yōu)勢(shì)
更快的上市時(shí)間——無(wú)需布局、掩模和其它制造步驟;
無(wú)前期 NRE(非重發(fā)性設(shè)計(jì)成本)—— 與 ASIC 設(shè)計(jì)有關(guān)的成本;
縮短了設(shè)計(jì)周期——由于軟件可以處理很多布線、布局和時(shí)序問(wèn)題;
更加可預(yù)測(cè)的項(xiàng)目周期——由于消除了可能的重置、晶圓容量等階段;
現(xiàn)場(chǎng)可重編程能力——可以遠(yuǎn)程上傳的新比特流。
b.ASIC 的設(shè)計(jì)優(yōu)勢(shì)
全定制性能——實(shí)現(xiàn)設(shè)計(jì),因?yàn)槠骷鶕?jù)設(shè)計(jì)規(guī)范進(jìn)行生產(chǎn);
降低單位成本——用于實(shí)現(xiàn)大批量設(shè)計(jì);
小型化——因?yàn)槠骷鶕?jù)設(shè)計(jì)規(guī)范進(jìn)行生產(chǎn);
較高的原始內(nèi)部時(shí)鐘速度。
過(guò)去 FPGA 用于速度/復(fù)雜度/容量較低的設(shè)計(jì),而當(dāng)今的 FPGA 則可以輕松突破 500 MHz 的性能障礙。FPGA 能夠以更低的價(jià)格實(shí)現(xiàn)無(wú)可比擬的邏輯密度增加和眾多其它特性(如嵌入式處理器、DSP 模塊、時(shí)鐘技術(shù)和高速串行),現(xiàn)已幾乎成為任何設(shè)計(jì)的首選。
2.FPGA 和ASIC 的設(shè)計(jì)流程對(duì)比
圖2.1 FPGA與ASIC的設(shè)計(jì)流程對(duì)比
由于設(shè)計(jì)邏輯已綜合到通過(guò)驗(yàn)證的定義好的 FPGA 器件上,這樣 FPGA 設(shè)計(jì)流程就避免了項(xiàng)目中既復(fù)雜又耗時(shí)的平面規(guī)劃、布局布線、時(shí)間分析以及掩碼/項(xiàng)目階段。
然而,必要時(shí),Xilinx 還能夠提供先進(jìn)的布局規(guī)劃、層次化設(shè)計(jì)和時(shí)序工具,使用戶能夠?qū)⒁笞羁量痰脑O(shè)計(jì)的性能最大化
三、CPLD基礎(chǔ)知識(shí)
1.CPLD 是什么?
CPLD 由完全可編程與/或陣列以及宏單元庫(kù)構(gòu)成。 與/或陣列可重編程,能夠執(zhí)行眾多邏輯功能。宏單元是執(zhí)行組合邏輯或時(shí)序邏輯的功能塊,同時(shí)還提供了真值或補(bǔ)碼輸出和以不同的路徑反饋等更高靈活性。
傳統(tǒng)上, CPLD 采用模擬傳感放大器來(lái)提高架構(gòu)性能。This performance boost came at the cost of very high current requirements. Xilinx推出的CoolRunner?-II CPLD 采用創(chuàng)新型全數(shù)字內(nèi)核,能夠以極低的功耗達(dá)到同樣的性能水平。 這樣,設(shè)計(jì)人員能夠采用同一CPLD 架構(gòu)實(shí)現(xiàn)高性能和低功耗兩種不同設(shè)計(jì)。避免采用模擬傳感放大器還使架構(gòu)具有可擴(kuò)展能力,這樣隨著工藝技術(shù)一代一代的進(jìn)步,不僅大幅降低了成本,而且還實(shí)現(xiàn)了特性增強(qiáng)。
2.為何選用CPLD?
由于其具有獨(dú)特的功能,CPLD 在系統(tǒng)設(shè)計(jì)中可完成多種有用的功能
(1)可重編程
可根據(jù)需要,立即、隨意修改設(shè)計(jì),且不會(huì)帶來(lái)任何成本,能構(gòu)建可重配置系統(tǒng),修正ASIC錯(cuò)誤,隨時(shí)隨地升級(jí)系統(tǒng)功能,從而節(jié)約時(shí)間,降低成本,簡(jiǎn)化設(shè)計(jì)。
(2)簡(jiǎn)單易用
利用 CPLD 進(jìn)行設(shè)計(jì)即簡(jiǎn)單又容易,可輕松適應(yīng)已有的設(shè)計(jì)流程;節(jié)約時(shí)間,降低成本并簡(jiǎn)化設(shè)計(jì)。
(3)低成本
不僅可通過(guò)重編程來(lái)修正系統(tǒng)錯(cuò)誤,降低單位成本,而且還可取代 TTL 和 ASSP 解決方案,減少電路板組件數(shù)量并提高可靠性;從而降低了設(shè)計(jì)成本、系統(tǒng)成本和維護(hù)成本。
(4)非易失性
斷電模式下也能編程,當(dāng)系統(tǒng)上電時(shí) CPLD 功能立即可用,存儲(chǔ)的設(shè)計(jì)內(nèi)容幾乎不可能被竊取;提高安全性,簡(jiǎn)化了設(shè)計(jì)。
3.為何選用Xilinx CPLD?
做為可編程邏輯解決方案的市場(chǎng)領(lǐng)頭羊,Xilinx提供完整的解決方案來(lái)滿足設(shè)計(jì)人員的 CPLD 需求:
(1)高級(jí)芯片
成本優(yōu)化的芯片設(shè)計(jì)、高性能、低功耗運(yùn)行、最大范圍的封裝選擇、高級(jí)系統(tǒng)特性,每個(gè)宏單元 I/O 數(shù)量最多。
(2)功能強(qiáng)大的免費(fèi)設(shè)計(jì)工具
ISE WebPACK 設(shè)計(jì)工具提供了用于開(kāi)發(fā)所有 Xilinx CPLD 產(chǎn)品的最完善、簡(jiǎn)便易用的桌面軟件解決方案。
(3)各種其他支持
免費(fèi)的參考設(shè)計(jì)和應(yīng)用手冊(cè),可立即著手設(shè)計(jì)的完整設(shè)計(jì)套件, 龐大的分銷(xiāo)商網(wǎng)絡(luò)、銷(xiāo)售代表、現(xiàn)場(chǎng)應(yīng)用工程師和內(nèi)部技術(shù)支持網(wǎng)絡(luò),以及大量的在線技術(shù)文檔。
四、利用CPLD進(jìn)行設(shè)計(jì)
1.Xilinx CPLD 帶來(lái)了極大的設(shè)計(jì)優(yōu)勢(shì)
了解 CPLD 使用的特性與優(yōu)勢(shì), 有助于簡(jiǎn)化設(shè)計(jì)、降低開(kāi)發(fā)成本并加速產(chǎn)品上市進(jìn)程。CPLD 優(yōu)勢(shì)概覽:簡(jiǎn)化設(shè)計(jì);降低開(kāi)發(fā)成本;實(shí)現(xiàn)產(chǎn)品創(chuàng)收增長(zhǎng);縮小板級(jí)空間;提高系統(tǒng)可靠性;加速產(chǎn)品上市進(jìn)程 。
2.利用CPLD 進(jìn)行設(shè)計(jì)的4 個(gè)簡(jiǎn)單步驟
第 1 步:選擇 CPLD 器件
在為設(shè)計(jì)選擇合適的 CPLD 的過(guò)程中,需要考慮以下幾個(gè)方面(其優(yōu)先次序依設(shè)計(jì)的不同而不同):
(1)密度與 I/O
通過(guò)將您的設(shè)計(jì)提交到免費(fèi)下載的 ISE? WebPACK? 軟件,您可確定您的設(shè)計(jì)所需要的 Xilinx CPLD 的規(guī)模(邏輯密度和 I/O)。
(2)性能
Xilinx CPLD 有多種速度級(jí)別,因此您只需購(gòu)買(mǎi)您所需性能的 CPLD 器件。利用 ISE WebPACK 確定器件的速度級(jí)別以滿足您系統(tǒng)的時(shí)序要求。
(3)電壓和功耗
不同的 Xilinx CPLD 系列具有不同的電壓(電源和 I/O)和功耗(靜態(tài)和動(dòng)態(tài))要求。
(4)封裝
Xilinx CPLD 采用廉價(jià)的 QFP 封裝、超小型芯片級(jí)封裝, 以及 I/O 數(shù)量較多的 BGA 封裝等多種封裝形式。
(5)Xilinx CPLD 系列
a.CoolRunner? Series
Xilinx CoolRunner 系列 CPLD 是業(yè)界功耗最低、性能最高 的器件。 這些 CPLD 提供了諸如 I/O banking 、高級(jí)時(shí)鐘控制,以及出色的設(shè)計(jì)安全性等高級(jí)功能來(lái)支持系統(tǒng)級(jí)設(shè)計(jì)。
b.XC9500 系列
提供 5.0V (XC9500 系列) 和 3.3V (XC9500XL 系列) 版本,這些低成本 CPLD 系列產(chǎn)品提供了當(dāng)今尖端系統(tǒng)設(shè)計(jì)所需的高性能、豐富特性集和 靈活性 。
第 2 步:選擇軟件包
(1)CPLD 和簡(jiǎn)單的 FGPA 設(shè)計(jì)
要實(shí)現(xiàn)基本的 CPLD 或 FPGA 設(shè)計(jì),您需要下載免費(fèi)的ISE WebPACK 軟件工具。
(2)任何 CPLD/ FPGA 設(shè)計(jì)
除了 ISE WebPACK 軟件工具外,Xilinx 還提供了多種軟件包,以滿足不同的設(shè)計(jì)要求點(diǎn)擊這里來(lái)確定最適合您的設(shè)計(jì)需求的軟件包。
第 3 步:實(shí)現(xiàn)設(shè)計(jì)
選好 CPLD 器件并下載了必要的軟件后,下一步就是設(shè)計(jì)的實(shí)現(xiàn)。設(shè)計(jì)實(shí)現(xiàn)包括:設(shè)計(jì)實(shí)現(xiàn)包括:
(1)設(shè)計(jì)輸入
(2)對(duì)原型進(jìn)行編程和測(cè)試
(3)技術(shù)文檔
每個(gè) CPLD 產(chǎn)品頁(yè)面都提供了應(yīng)用指南、參考設(shè)計(jì)、開(kāi)發(fā)板、配置工具及其它有用信息的鏈接,可幫助設(shè)計(jì)人員快速、輕松地完成設(shè)計(jì)。
第 4 步:購(gòu)買(mǎi) CPLD
有幾種購(gòu)買(mǎi) Xilinx 解決方案的方法:Xilinx網(wǎng)上商城Xilinx分銷(xiāo)商
這兩種渠道都提供芯片、軟件、編程硬件及其它產(chǎn)品和資源。Xilinx 銷(xiāo)售辦事處和客戶 支持中心可以保證使用 Xilinx CPLD 是一次簡(jiǎn)單而令人滿意的體驗(yàn)。
評(píng)論
查看更多