0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是FPGA?

貿(mào)澤電子設(shè)計(jì)圈 ? 來源:貿(mào)澤電子設(shè)計(jì)圈 ? 作者:貿(mào)澤電子設(shè)計(jì)圈 ? 2021-01-02 18:12 ? 次閱讀

我們生活在一個(gè)由模擬構(gòu)成的世界中。不過,數(shù)字處理的出現(xiàn),為我們體驗(yàn)這個(gè)世界并與之互動(dòng)帶來了全新的方式,包括衛(wèi)星導(dǎo)航、自動(dòng)駕駛汽車、增強(qiáng)現(xiàn)實(shí),當(dāng)然還有那永遠(yuǎn)都離不了身的手機(jī)

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

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

No.1

可編程邏輯的優(yōu)勢(shì)可編程邏輯能夠讓用戶在真正意義上并行實(shí)現(xiàn)其算法和應(yīng)用,從而創(chuàng)造出更具有確定性、響應(yīng)更加迅速的解決方案,因而適用于需要實(shí)時(shí)處理和響應(yīng)的場(chǎng)景,例如視覺和信號(hào)處理以及雷達(dá)等。 傳統(tǒng)意義上,可編程邏輯器件可分為復(fù)雜可編程邏輯器件(CPLD)與現(xiàn)場(chǎng)可編程門陣列(FPGA)兩種類別, 其中CPLD基于“門?!保╯ea-of-gate)的方式提供由寄存器和邏輯函數(shù)構(gòu)成的簡(jiǎn)單器件結(jié)構(gòu)。

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

No.2

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

0e33d5c2-2e06-11eb-a64d-12bb97331649.png

圖1:簡(jiǎn)單的LUT結(jié)構(gòu)

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

0e4b3f0a-2e06-11eb-a64d-12bb97331649.png

圖2:可通過交換矩陣配置路由塊和互連

No.3

FPGA設(shè)計(jì)FPGA通常使用硬件描述語言(HDL)設(shè)計(jì),其中最常見的兩種是Verilog和VHDL。和傳統(tǒng)的軟件語言相比,這些語言需要在更加低級(jí)的層面上定義設(shè)計(jì),它們具體描述的是寄存器級(jí)別上的傳輸,例如實(shí)現(xiàn)狀態(tài)機(jī)、計(jì)數(shù)器等。VHDL和Verilog都固有地支持并發(fā)的概念,這是對(duì)FPGA架構(gòu)的并行架構(gòu)進(jìn)行建模所必需的。此外,通過高級(jí)綜合(HLS)使用C、C++或OpenCL等高級(jí)語言開發(fā)FPGA IP塊的做法也正變得越來越普遍。雖然這些語言并不支持并行,但工程師可以使用編譯器指令來指示并行結(jié)構(gòu),而使用更高級(jí)的語言有助于工程師更快地完成開發(fā)和驗(yàn)證。 FPGA器件的IO結(jié)構(gòu)可以直接對(duì)接各種IO標(biāo)準(zhǔn),包括LVCMOS等單端標(biāo)準(zhǔn)以及LVDS、TMDS等差分標(biāo)準(zhǔn)。但這種IO結(jié)構(gòu)的“技能”可遠(yuǎn)不止于此——現(xiàn)代化的IO結(jié)構(gòu)還可以實(shí)現(xiàn)片上端接、精細(xì)PS延遲,甚至SerDes結(jié)構(gòu)。也就是說,F(xiàn)PGA有效地提供了各種對(duì)接接口,連接起了各種標(biāo)準(zhǔn)、定制或傳統(tǒng)接口。這種靈活性還使系統(tǒng)設(shè)計(jì)人員擺脫了引腳綁定的束縛,這與使用帶固定IO引腳分配的專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)有著顯著區(qū)別。 因此,要設(shè)計(jì)出可編程邏輯設(shè)計(jì)解決方案,需要執(zhí)行以下步驟:

合成 – 將HDL設(shè)計(jì)轉(zhuǎn)換為一系列邏輯方程,然后將其映射到目標(biāo)FPGA中可用的資源上。

放置 – 把合成工具確定的邏輯資源放置到目標(biāo)器件中的可用位置。

路由 – 使用路由和交換矩陣將設(shè)計(jì)中放置的邏輯資源互連,以實(shí)現(xiàn)最終應(yīng)用。

位文件 – 生成目標(biāo)FPGA的最終編程文件。

通過仿真,工程師可以確保他們實(shí)現(xiàn)的設(shè)計(jì)在功能上符合設(shè)計(jì)要求。他們可以創(chuàng)建激發(fā)RTL(寄存器傳輸級(jí)別)模塊的測(cè)試平臺(tái),這些平臺(tái)可以提供輸入并監(jiān)視結(jié)果輸出,然后通過查看仿真波形來驗(yàn)證這些模塊的行為,如(圖3)所示?;蛘?,他們也可以編寫更復(fù)雜的測(cè)試平臺(tái),用來檢查和驗(yàn)證輸出。

0e7558ee-2e06-11eb-a64d-12bb97331649.png

圖3:RTL仿真輸出

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

No.4

器件產(chǎn)品系列如果您還不熟悉FPGA的歷史,這里就先簡(jiǎn)單地介紹一下。FPGA是Ross Freeman和Bernard Vonderschmitt于1985年隨著XC2064的發(fā)布而發(fā)明的,這款FPGA先驅(qū)產(chǎn)品具有64個(gè)可配置邏輯塊。今天,Xilinx的現(xiàn)代化器件可為用戶提供893.8萬個(gè)系統(tǒng)邏輯單元、3840個(gè)DSP元件、76Mb塊內(nèi)存和90Mb的UltraRAM——這與最初的產(chǎn)品相比堪稱巨大飛躍。 當(dāng)然,上面提到的器件是Xilinx現(xiàn)階段最大型的FPGA產(chǎn)品,對(duì)許多應(yīng)用而言確實(shí)有點(diǎn)殺雞用牛刀了。為了幫助指導(dǎo)工程師選擇適合其應(yīng)用的FPGA,Xilinx提供了一系列FPGA和片上系統(tǒng)器件,這些器件能夠支持多個(gè)不同系列的各種解決方案。 Xilinx圍繞28nm節(jié)點(diǎn)開發(fā)了一系列成本優(yōu)化型產(chǎn)品,總共提供三個(gè)不同的器件系列,均針對(duì)不同的用戶需求進(jìn)行了優(yōu)化。

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

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

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

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

No.5

高端解決方案對(duì)于超高性能和更專業(yè)的應(yīng)用,Xilinx提供了28nm、20nm和16nm三個(gè)技術(shù)節(jié)點(diǎn)上的Kintex和Virtex系列。隨著UltraScale和UltraScale+系列器件的不斷發(fā)展,其性能和功能得到了顯著提高。 Kintex器件在三個(gè)技術(shù)節(jié)點(diǎn)上提供了不斷提升的性能、邏輯資源和收發(fā)器:從Kintex器件中的6.55萬個(gè)邏輯單元到Kintex UltraScale+器件中的11.43萬個(gè)邏輯單元。它們提供GTH和GTY千兆收發(fā)器,分別支持高達(dá)16.3Gbps和32.75Gbps的數(shù)據(jù)傳輸速率。

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

No.6

工具鏈

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

Vivado設(shè)計(jì)套件:Vivado可以對(duì)設(shè)計(jì)、RTL仿真以及合成、放置、路由和生成位文件的實(shí)施過程進(jìn)行捕獲。

Vivado HLS:高級(jí)合成工具,讓工程師能夠使用C或C++來開發(fā)IP。

Vitis一體化軟件平臺(tái):Vitis支持嵌入式處理器的軟件開發(fā),以及使用OpenCL進(jìn)行加速。

PetaLinux工具:PetaLinux是用于嵌入式處理器的嵌入式Linux解決方案。

當(dāng)然,您還可以選用其他各種商業(yè)和開源軟件工具,它們涵蓋了從合成到仿真的各個(gè)階段;此外,同時(shí)支持仿真和形式驗(yàn)證的驗(yàn)證工具正變得越來越多。

原文標(biāo)題:何為FPGA?

文章出處:【微信公眾號(hào):貿(mào)澤電子設(shè)計(jì)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1621

    文章

    21517

    瀏覽量

    599301
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5254

    瀏覽量

    119283
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    59534

原文標(biāo)題:何為FPGA?

文章出處:【微信號(hào):Mouser-Community,微信公眾號(hào):貿(mào)澤電子設(shè)計(jì)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    fpga語言是什么?fpga語言與c語言的區(qū)別

    FPGA語言,即現(xiàn)場(chǎng)可編程門陣列編程語言,是用于描述FPGA(Field Programmable Gate Array)內(nèi)部硬件結(jié)構(gòu)和行為的特定語言。它允許設(shè)計(jì)師以硬件描述的方式定義FPGA的邏輯
    的頭像 發(fā)表于 03-15 14:50 ?768次閱讀

    fpga開發(fā)是什么意思

    FPGA開發(fā)是指利用現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,簡(jiǎn)稱FPGA)進(jìn)行硬件設(shè)計(jì)和實(shí)現(xiàn)的過程。FPGA是一種可編程的邏輯器件,它允許用戶在制造后通過
    的頭像 發(fā)表于 03-15 14:28 ?888次閱讀

    fpga軟件是什么意思

    FPGA軟件通常指的是用于編程、配置和管理FPGA(現(xiàn)場(chǎng)可編程門陣列)芯片的工具和應(yīng)用程序的集合。FPGA是一種可編程的集成電路,它允許用戶通過編程來改變其硬件功能,以滿足各種不同的應(yīng)用需求。因此,
    的頭像 發(fā)表于 03-15 14:28 ?866次閱讀

    fpga仿真是什么

    FPGA仿真是一種驗(yàn)證FPGA設(shè)計(jì)正確性的過程,主要用來分析設(shè)計(jì)電路邏輯關(guān)系的正確性。在FPGA設(shè)計(jì)中,仿真測(cè)試是把FPGA當(dāng)作一個(gè)功能芯片,給一些輸入信號(hào),再觀測(cè)輸出信號(hào),看輸出信號(hào)
    的頭像 發(fā)表于 03-15 13:59 ?1177次閱讀

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù)的開發(fā)平臺(tái),它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實(shí)現(xiàn)各種數(shù)字電路和邏輯功能。FPGA開發(fā)板通常包括
    的頭像 發(fā)表于 03-14 18:20 ?1530次閱讀

    fpga芯片有哪些

    FPGA芯片的種類非常豐富,以下是一些主要的FPGA芯片及其特點(diǎn)。
    的頭像 發(fā)表于 03-14 17:35 ?893次閱讀

    fpga芯片工作原理 fpga芯片有哪些型號(hào)

    FPGA芯片的工作原理主要基于其內(nèi)部的可配置邏輯單元和連線資源。包括以下工作原理: 首先,FPGA內(nèi)部包含可配置邏輯模塊(CLB)、輸出輸入模塊(IOB)和內(nèi)部連線(Interconnect)三個(gè)
    的頭像 發(fā)表于 03-14 17:17 ?1160次閱讀

    fpga是什么 fpga用什么編程語言

    FPGA(Field-Programmable Gate Array)是一種可編程邏輯技術(shù),它使用可重構(gòu)的硬件單元(如門陣列和查找表)來實(shí)現(xiàn)電路功能。相比傳統(tǒng)的專用集成電路(ASIC),FPGA具有
    的頭像 發(fā)表于 02-04 15:26 ?1394次閱讀

    什么是FPGA原型驗(yàn)證?FPGA原型設(shè)計(jì)的好處是什么?

    FPGA原型設(shè)計(jì)是一種成熟的技術(shù),用于通過將RTL移植到現(xiàn)場(chǎng)可編程門陣列(FPGA)來驗(yàn)證專門應(yīng)用的集成電路(ASIC),專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)和片上系統(tǒng)(SoC)的功能和性能。
    發(fā)表于 01-12 16:13 ?955次閱讀

    FPGA項(xiàng)目承接|FPGA項(xiàng)目外包|FPGA項(xiàng)目研發(fā)

    fpga
    mycode2016
    發(fā)布于 :2024年01月03日 23:50:07

    如何能夠?qū)崿F(xiàn)通用FPGA問題?

    FPGA 是一種偽通用計(jì)算加速器,與 GPGPU(通用 GPU)類似,FPGA 可以很好地卸載特定類型的計(jì)算。從編程角度上講,FPGA 比 CPU 更難,但從工作負(fù)載角度上講 FPGA
    發(fā)表于 12-29 10:29 ?362次閱讀

    國(guó)產(chǎn)FPGA都有哪些廠商?

    寫了這么多FPGA的文章卻從來沒有涉及過國(guó)產(chǎn)FPGA,很多網(wǎng)友甚至不知道還有國(guó)產(chǎn)FPGA。下面列舉一些國(guó)產(chǎn)FPGA公司以及產(chǎn)品。
    的頭像 發(fā)表于 12-12 11:30 ?3841次閱讀

    #FPGA #fpga培訓(xùn) FPGA棄學(xué)分析

    fpga
    明德?lián)P助教小易老師
    發(fā)布于 :2023年11月30日 06:31:41

    FPGA是什么?FPGA的工作原理和應(yīng)用

    你是否好奇過FPGA技術(shù)是如何影響日常使用的設(shè)備的?在當(dāng)今快節(jié)奏的技術(shù)領(lǐng)域中,FPGA變得越來越重要。FPGA擁有強(qiáng)大的功能和廣泛的應(yīng)用,驅(qū)動(dòng)著現(xiàn)代科技的進(jìn)步。
    的頭像 發(fā)表于 11-02 10:06 ?2758次閱讀

    如何學(xué)習(xí)FPGA?FPGA學(xué)習(xí)必備的基礎(chǔ)知識(shí)

    FPGA已成為現(xiàn)今的技術(shù)熱點(diǎn)之一,無論學(xué)生還是工程師都希望跨進(jìn)FPGA的大門。網(wǎng)絡(luò)上各種開發(fā)板、培訓(xùn)班更是多如牛毛,仿佛在告訴你不懂FPGA你就OUT啦。那么我們要玩轉(zhuǎn)FPGA必須具備
    的頭像 發(fā)表于 10-27 17:43 ?688次閱讀