何為FPGA?

發(fā)布時(shí)間:2020-11-16 15:18    發(fā)布者:eechina
關(guān)鍵詞: FPGA
我們生活在一個(gè)由模擬構成的世界中。不過(guò),數字處理的出現,為我們體驗這個(gè)世界并與之互動(dòng)帶來(lái)了全新的方式,包括衛星導航、自動(dòng)駕駛汽車(chē)、增強現實(shí),當然還有那永遠都離不了身的手機。

要想實(shí)時(shí)或者準實(shí)時(shí)地處理那么多信息,就必須要有強大的處理能力,這樣的處理能力顯然是受益于摩爾定律的。對于設計工程師而言,他們也可以從多種處理技術(shù)中來(lái)進(jìn)行選擇,以便將最合適的技術(shù)運用到手邊的應用中。這些處理技術(shù)涵蓋了傳統處理器、圖形處理單元 (GPU) 和可編程邏輯 (PL)。

在上述處理技術(shù)中,可編程邏輯恐怕是最鮮為人知的一種,人們也往往認為它是用起來(lái)最具挑戰性的處理技術(shù)之一。

可編程邏輯的優(yōu)勢

可編程邏輯能夠讓用戶(hù)在真正意義上并行實(shí)現其算法和應用, 從而創(chuàng )造出更具有確定性、響應更加迅速的解決方案, 因而適用于需要實(shí)時(shí)處理和響應的場(chǎng)景, 例如視覺(jué)和信號處理以及雷達等。

傳統意義上,可編程邏輯器件可分為復雜可編程邏輯器件 (CPLD) 與現場(chǎng)可編程門(mén)陣列 (FPGA) 兩種類(lèi)別, 其中CPLD基于“門(mén)!(sea-of-gate) 的方式提供由寄存器和邏輯函數構成的簡(jiǎn)單器件結構。

至于FPGA,它提供的結構要比CPLD更加復雜,通常還會(huì )包含多種專(zhuān)用硬件元件,例如存儲塊、數字信號處理、時(shí)鐘管理、千兆串行收發(fā)器和IO塊。

FPGA的構成要素

FPGA的基本構成要素是查找表 (LUT)、寄存器和靈活I(lǐng)O單元結構, 其中LUT能夠實(shí)現邏輯方程式,而寄存器則為實(shí)現順序邏輯設計提供了必要的存儲元件。LUT和寄存器結合在一起,即可實(shí)現通常所說(shuō)的“邏輯片”,其簡(jiǎn)單示例如(圖1)所示,F代器件中的這些邏輯片包含諸多選項,以便實(shí)現組合邏輯電路或時(shí)序邏輯電路,這些選項包括本地分布式內存,以及可通過(guò)配置將LUT用作移位寄存器的功能。


圖1: 簡(jiǎn)單的LUT結構

在FPGA器件中,通常將兩個(gè)邏輯片組合在一起,形成可配置邏輯塊 (CLB)。這些CLB相互連接,以便通過(guò)路由和交換矩陣實(shí)現必要的功能,如(圖2)所示。


圖2 : 可通過(guò)交換矩陣配置路由塊和互連。

FPGA設計

FPGA通常使用硬件描述語(yǔ)言 (HDL) 設計,其中最常見(jiàn)的兩種是VerilogVHDL。和傳統的軟件語(yǔ)言相比,這些語(yǔ)言需要在更加低級的層面上定義設計,它們具體描述的是寄存器級別上的傳輸,例如實(shí)現狀態(tài)機、計數器等。VHDL和Verilog都固有地支持并發(fā)的概念,這是對FPGA架構的并行架構進(jìn)行建模所必需的。此外,通過(guò)高級綜合 (HLS) 使用C、C++或OpenCL等高級語(yǔ)言開(kāi)發(fā)FPGA IP塊的做法也正變得越來(lái)越普遍。雖然這些語(yǔ)言并不支持并行,但工程師可以使用編譯器指令來(lái)指示并行結構, 而使用更高級的語(yǔ)言有助于工程師更快地完成開(kāi)發(fā)和驗證。

FPGA器件的IO結構可以直接對接各種IO標準,包括LVCMOS等單端標準以及LVDS、TMDS等差分標準, 但這種IO結構的“技能”可遠不止于此—— 現代化的IO結構還可以實(shí)現片上端接、精細PS延遲,甚至SerDes結構。也就是說(shuō),FPGA有效地提供了各種對接接口,連接起了各種標準、定制或傳統接口。這種靈活性還使系統設計人員擺脫了引腳綁定的束縛,這與使用帶固定IO引腳分配的專(zhuān)用標準產(chǎn)品 (ASSP) 有著(zhù)顯著(zhù)區別。

因此,要設計出可編程邏輯設計解決方案,需要執行以下步驟:

合成 – 將HDL設計轉換為一系列邏輯方程,然后將其映射到目標FPGA中可用的資源上。
放置 – 把合成工具確定的邏輯資源放置到目標器件中的可用位置。
路由 – 使用路由和交換矩陣將設計中放置的邏輯資源互連,以實(shí)現最終應用。
位文件 – 生成目標FPGA的最終編程文件。
通過(guò)仿真,工程師可以確保他們實(shí)現的設計在功能上符合設計要求。他們可以創(chuàng )建激發(fā)RTL(寄存器傳輸級別)模塊的測試平臺,這些平臺可以提供輸入并監視結果輸出,然后通過(guò)查看仿真波形來(lái)驗證這些模塊的行為,如(圖3)所示;蛘,他們也可以編寫(xiě)更復雜的測試平臺,用來(lái)檢查和驗證輸出。


圖3:  RTL仿真輸出

盡管FPGA在性能和接口上具有顯著(zhù)優(yōu)勢,但開(kāi)發(fā)基于FPGA的解決方案可能會(huì )比開(kāi)發(fā)傳統軟件更加復雜。不過(guò),我們有現代化的設計工具,尤其是高級合成工具以及各種可以免費獲取的知識產(chǎn)權,并且現代化器件的功能也更加強大,這些都讓“FPGA更難開(kāi)發(fā)”成為了歷史。

器件產(chǎn)品系列

如果您還不熟悉FPGA的歷史,這里就先簡(jiǎn)單地介紹一下。FPGA是Ross Freeman和Bernard Vonderschmitt于1985年隨著(zhù)XC2064的發(fā)布而發(fā)明的, 這款FPGA先驅產(chǎn)品具有64個(gè)可配置邏輯塊。今天,Xilinx的現代化器件可為用戶(hù)提供893.8萬(wàn)個(gè)系統邏輯單元、3840個(gè)DSP元件、76Mb塊內存和90Mb的UltraRAM——這與最初的產(chǎn)品相比堪稱(chēng)巨大飛躍。

當然,上面提到的器件是Xilinx現階段最大型的FPGA產(chǎn)品,對許多應用而言確實(shí)有點(diǎn)殺雞用牛刀了。為了幫助指導工程師選擇適合其應用的FPGA,Xilinx提供了一系列FPGA和片上系統器件,這些器件能夠支持多個(gè)不同系列的各種解決方案。

Xilinx圍繞28nm節點(diǎn)開(kāi)發(fā)了一系列成本優(yōu)化型產(chǎn)品,總共提供三個(gè)不同的器件系列,均針對不同的用戶(hù)需求進(jìn)行了優(yōu)化。

Spartan-7 FPGA – 該系列是廣受歡迎的Spartan-6系列器件的后繼產(chǎn)品,可為開(kāi)發(fā)人員提供比舊技術(shù)45nm節點(diǎn)更高的性能和更低的功耗。Spartan-7還經(jīng)過(guò)了I/O優(yōu)化,在成本優(yōu)化的FPGA產(chǎn)品組合中是一個(gè)引腳數量非常高的系列。

Artix-7 FPGA – 這是Xilinx 7產(chǎn)品線(xiàn)中的全新系列,針對收發(fā)器進(jìn)行優(yōu)化,具有6.6Gbps高速收發(fā)器。

Zynq-7000 SoC – 該系列在初次亮相時(shí)頗具革新意義,它為業(yè)界帶來(lái)了將硬核Arm Cortex-A9處理器與FPGA架構相結合的新型器件。這種新型器件可以提供集成系統解決方案,并且具有功耗更低、解決方案整體體積更小、EMI顯著(zhù)降低等優(yōu)勢。

該產(chǎn)品組合中的器件可以支持從傳感器融合到精確控制、圖像處理和云計算等一系列應用。

高端解決方案

對于超高性能和更專(zhuān)業(yè)的應用,Xilinx提供了28nm、20nm和16nm三個(gè)技術(shù)節點(diǎn)上的Kintex和Virtex系列。隨著(zhù)UltraScale和UltraScale+系列器件的不斷發(fā)展,其性能和功能得到了顯著(zhù)提高。

Kintex器件在三個(gè)技術(shù)節點(diǎn)上提供了不斷提升的性能、邏輯資源和收發(fā)器:從Kintex器件中的6.55萬(wàn)個(gè)邏輯單元到Kintex UltraScale+器件中的11.43萬(wàn)個(gè)邏輯單元。它們提供GTH和GTY千兆收發(fā)器,分別支持高達16.3Gbps和32.75Gbps的數據傳輸速率。

Virtex是Xilinx FPGA中性能最高的系列。這些器件不僅提供多達893.8萬(wàn)個(gè)系統邏輯單元和58Gbps高速收發(fā)器,而且還支持高帶寬存儲器 (HBM)。該系列產(chǎn)品具有4GB至16GB的片上DRAM和高達460Gbps的帶寬,其內存性能是DDR4 DIMM的約20倍。Virtex HBM器件適用于為網(wǎng)絡(luò )和存儲加速的應用。

工具鏈

Xilinx開(kāi)發(fā)工具支持從最小的Spartan-7到最大的Virtex UltraScale+的所有器件, 涵蓋了設計生命周期中的各個(gè)方面,從RTL捕獲直到仿真以及開(kāi)發(fā)用于處理器核心的軟件。

Vivado設計套件 – Vivado可以對設計、RTL仿真以及合成、放置、路由和生成位文件的實(shí)施過(guò)程進(jìn)行捕獲。
Vivado HLS – 高級合成工具,讓工程師能夠使用C或C++來(lái)開(kāi)發(fā)IP。
Vitis一體化軟件平臺 – Vitis支持嵌入式處理器的軟件開(kāi)發(fā),以及使用OpenCL進(jìn)行加速。
PetaLinux工具 – PetaLinux是用于嵌入式處理器的嵌入式Linux解決方案。
當然,您還可以選用其他各種商業(yè)和開(kāi)源軟件工具,它們涵蓋了從合成到仿真的各個(gè)階段;此外,同時(shí)支持仿真和形式驗證的驗證工具正變得越來(lái)越多。

如果您希望進(jìn)一步了解貿澤分銷(xiāo)的Xilinx產(chǎn)品,請訪(fǎng)問(wèn)


文章來(lái)源:貿澤電子

作者簡(jiǎn)介:Adam Taylor非常擅長(cháng)為多種最終應用開(kāi)發(fā)嵌入式系統和FPGA。在他的職業(yè)生涯中,Adam使用FPGA實(shí)現了多種多樣的解決方案,涵蓋雷達系統、安全關(guān)鍵型控制系統 (SIL4) 和衛星系統等領(lǐng)域,同時(shí)他對圖像處理和密碼學(xué)方面也有所涉獵。

Adam從事過(guò)多個(gè)經(jīng)理職位,帶領(lǐng)過(guò)多家大型跨國公司實(shí)現長(cháng)足發(fā)展。多年來(lái),他在航天工業(yè)中扮演著(zhù)重要角色。他曾擔任Astrium衛星有效負載處理組的設計主管達6年之久,此外還在一家空間影像公司擔任了三年的首席工程師,負責了多個(gè)影響深遠的項目。

FPGA是Adam最早接觸的領(lǐng)域。他撰寫(xiě)過(guò)許多有關(guān)電子設計和FPGA設計的文章和論文,包括330多篇博客文章,并且通過(guò)2500多萬(wàn)條評論闡釋了如何使用Xilinx的Zynq和Zynq MPSoC。

Adam是一位特許工程師。他是IET英國工程技術(shù)學(xué)會(huì )的會(huì )員、林肯大學(xué)和Arm Innovator項目的嵌入式系統客座教授,同時(shí)還是工程和咨詢(xún)公司Adiuvo Engineering and Training的所有者。
本文地址:http://selenalain.com/thread-746958-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页