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