一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

FPGA入門的基本概念和知識介紹

我快閉嘴 ? 來源:EDA365網(wǎng) ? 作者:EDA365網(wǎng) ? 2020-09-30 13:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

與典型的微控制器相比,現(xiàn)場可編程門陣列FPGA是一種能夠提供更強性能和靈活性的器件,本文通過解答幾個有關(guān)FPGA的常見問題——什么是FPGA、為什么我會需要FPGA、如何為FPGA編程——為開發(fā)者提供FPGA入門所需的基本概念和知識。

如果您是二元思維的人,那么不要錯過第1到4部分內(nèi)容。在這篇博客中,我將簡單介紹我最感興趣的電子器件:現(xiàn)場可編程門陣列(FPGA)。

當(dāng)我和人們談起FPGA時,我聽到很多人說:“我不知道它們的工作原理”、“它們太復(fù)雜了”、“我無法用C語言編程”。我不希望看到這樣一種神奇的器件遭受如此冷遇,因此下面我將嘗試解答一些常見問題(FAQ)。

問題1:什么是現(xiàn)場可編程門陣列?

詳細(xì)解答如下:顧名思義,有人推斷它是可編程的邏輯門結(jié)構(gòu)。這種解釋很接近,但又不太準(zhǔn)確,因為內(nèi)部邏輯陣列實際并不是利用門來實現(xiàn)的。相反,我們將陣列中的這些塊稱為“邏輯單元”。這些邏輯單元通常由查找表 (LUT)(用于實現(xiàn)任意邏輯功能)以及一些輔助電路(例如多路復(fù)用器、加法器和觸發(fā)器)構(gòu)成。您會經(jīng)常聽到人們將這種邏輯單元陣列稱為“FPGA結(jié)構(gòu)”。

簡而言之,我可以將FPGA比作一個盒子,里面裝有各種沒有商標(biāo)、用于構(gòu)建數(shù)字電路的彩色構(gòu)件。我可以通過適合我的應(yīng)用的任何方式,將這些構(gòu)件連接到一起。

如果您能描述數(shù)字電路如何工作,就能用足夠的邏輯單元在FPGA內(nèi)構(gòu)建該電路。需要25個PWM輸出?沒問題。需要特殊通信協(xié)議?對某些硬件進行編程來處理該協(xié)議。

問題2:為什么我會需要FPGA?

FPGA可用于實現(xiàn)數(shù)字系統(tǒng),但簡單的微控制器通常也能夠達到同樣的效果。微控制器價格低廉,而且易于放置在印刷電路板上。雖然FPGA是一種功能強大的工具,但未必適合所有情況。它們有更多的功耗、布局和外部電路要求,甚至可能非??量?。使用成本高昂且具有諸多特殊要求的FPGA似乎有些不合時宜。

但您也許已經(jīng)猜到了需要FPGA的原因:靈活性。您擁有可配置的邏輯塊,就意味著不再受到硬件的制約。您不會再遇到定時器UART不夠用的情況,只要您擁有邏輯單元便可創(chuàng)建更多定時器或UART。它能夠隨著技術(shù)和要求的變化,在今后進行重新配置,從而延長產(chǎn)品的生命周期。

第二個原因是速度。微控制器只能按順序一次執(zhí)行一條指令。由于硬件特性,F(xiàn)PGA結(jié)構(gòu)本身是并行的。因此它能同時執(zhí)行多個指令,這對于FFT或圖形處理等操作非常有用,因為在按順序執(zhí)行的處理器上,這些操作可能產(chǎn)生很高的成本。與LVDS等典型微控制器相比,F(xiàn)PGA還提供了更多高速I/O選項,收發(fā)器能夠以10+Gbps的速度處理HDMI等協(xié)議。

問題3:如何為FPGA編程?

FPGA采用一種名為HDL(即硬件描述語言)的特殊語言。它主要包含兩種語言:Verilog和VHDL。幾乎所有開發(fā)套件(例如Quartus或Vivado)都支持這兩種語言,所以選擇哪種語言只是偏好問題。

然后對這兩種語言進行“合成”,這類似于微控制器的編譯。合成工具告訴FPGA如何連接其邏輯單元,以產(chǎn)生代碼所描述的效果。請記住,代碼被轉(zhuǎn)換為硬件指令而非CPU指令,在您開始使用時,務(wù)必牢記這一點。

為了簡化開發(fā),F(xiàn)PGA供應(yīng)商提供了常用代碼塊目錄,供您輕松置入到設(shè)計中。其中包括倍頻器、RAM和通信塊等。您可對它們進行配置并添加到設(shè)計中,而無需查看涉及的HDL代碼,從而加快開發(fā)速度。

有些供應(yīng)商還提供高級別合成(HLS) 工具,能夠?qū)⑹褂肅或C++語言編寫的功能轉(zhuǎn)換為HDL代碼塊。使用這些工具,可以通過抽除一些低級別細(xì)節(jié),顯著減少具有軟件背景的開發(fā)人員的入門障礙。

仍然不太相信?我最喜歡的FPGA功能之一是它能夠使用軟處理器。軟處理器是從FPGA的邏輯單元構(gòu)建的完整處理器。利用軟處理器,您能夠為處理器構(gòu)建定制的輔助硬件,并使用C語言編寫應(yīng)用程序。您可在短短幾分鐘內(nèi)完成簡單的軟處理器系統(tǒng)設(shè)置和編程。如果您仍然需要傳統(tǒng)處理器,可考慮在單一封裝中包含F(xiàn)PGA和硬ARM處理器的SoC。

總而言之,與典型的微控制器相比,F(xiàn)PGA的成本更高,使用難度更大,但如果您需要,它們能夠提供更強的性能和靈活性。隨著技術(shù)的改進,集成度的提高,F(xiàn)PGA的成本變得更低,它們甚至能夠取代傳統(tǒng)的微控制器。
責(zé)任編輯:tzh

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

    關(guān)注

    48

    文章

    7953

    瀏覽量

    155125
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618601
  • 電路板
    +關(guān)注

    關(guān)注

    140

    文章

    5136

    瀏覽量

    102665
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    群延遲的基本概念和仿真實例分析

    在高速數(shù)字通信和射頻系統(tǒng)中,信號從發(fā)送端到接收端的傳輸過程中會遇到各種失真和畸變。群延遲(Group Delay)作為描述系統(tǒng)相位線性度的重要參數(shù),直接影響著信號保真度和系統(tǒng)性能。本文將深入淺出地介紹群延遲的基本概念、應(yīng)用場景,并通過仿真示例展示其在實際工程中的重要性。
    的頭像 發(fā)表于 07-08 15:14 ?130次閱讀
    群延遲的<b class='flag-5'>基本概念</b>和仿真實例分析

    第十三章 通訊的基本概念

    本章介紹通訊基本概念,包括串行/并行、全雙工/半雙工/單工、同步/異步通訊,還提及通訊速率中比特率與波特率的概念
    的頭像 發(fā)表于 05-22 17:29 ?1227次閱讀
    第十三章 通訊的<b class='flag-5'>基本概念</b>

    EMC電路基礎(chǔ)知識

    本課程分三個章節(jié),分別從概念,基本理論和系統(tǒng)方面簡單介紹了 EMC 的基 本概念、標(biāo)準(zhǔn)、測試內(nèi)容,產(chǎn)品認(rèn)證和電磁兼容的基本理論,最后介紹了系統(tǒng) 安裝和維護中的 EMC 問題。 學(xué)完本課
    發(fā)表于 05-19 16:13

    B10 BMS技術(shù)知識初探(上、下)

    使用的保障; 3、對BMS技術(shù)所涵蓋的關(guān)鍵技術(shù)和相關(guān)基本概念, 進行粗略介紹; 4、對BMS技術(shù)的硬件實現(xiàn)架構(gòu)以及軟件實現(xiàn)技術(shù),進行粗淺的介紹; 引導(dǎo)課程B11-14的深入學(xué)習(xí); 5、基于BMS單板硬件介
    發(fā)表于 05-02 11:04

    進群免費領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號處理、傅里葉變換與FPGA開發(fā)等

    譜估計。 03、數(shù)字信號處理,科學(xué)家與工程師指南(英文版) 數(shù)字信號處理入門資料,非常全面,清晰易懂。 04、數(shù)字信號處理的MATLAB實現(xiàn) 本書介紹了數(shù)字信號處理的基本概念、理論及其MATLAB實現(xiàn)
    發(fā)表于 04-07 16:41

    射頻基礎(chǔ)知識培訓(xùn)(華為)—PPT版

    資料介紹 射頻子系統(tǒng)位于整個基站的最前端,是整個NodeB系統(tǒng)正常運行的關(guān)鍵環(huán)節(jié)之一。本膠片主要講述射頻基本概念知識,以便大家更加深入理解NodeB系統(tǒng)。 學(xué)習(xí)完本課程,您將能夠:熟悉和掌握射頻
    發(fā)表于 03-22 16:30

    華為-射頻基礎(chǔ)知識培訓(xùn)

    課程目標(biāo)z 熟悉和掌握射頻基本概念知識z 了解無線射頻系統(tǒng)結(jié)構(gòu)z 了解天饋系統(tǒng)的概念和知課程內(nèi)容第一章 無線通信的基本概念第二章 射頻常用計算單位簡介第三章 射頻常用
    發(fā)表于 12-10 13:39 ?1次下載

    光伏是什么原理 光伏發(fā)電的基本概念

    光伏是光生伏特效應(yīng)的簡稱,而光伏發(fā)電則是利用這一效應(yīng)將光能直接轉(zhuǎn)變?yōu)殡娔艿囊环N發(fā)電方式。以下是關(guān)于光伏原理和光伏發(fā)電基本概念介紹: 一、光伏原理 光伏原理主要基于半導(dǎo)體材料的光電效應(yīng)。當(dāng)光子(光
    的頭像 發(fā)表于 12-05 11:01 ?3483次閱讀

    FPGA基礎(chǔ)知識及設(shè)計和執(zhí)行FPGA應(yīng)用所需的工具

    本文將首先介紹FPGA的基礎(chǔ)知識,包括FPGA的工作原理以及為什么要使用FPGA等,然后討論設(shè)計和執(zhí)行F
    的頭像 發(fā)表于 11-11 11:29 ?1821次閱讀
    <b class='flag-5'>FPGA</b>基礎(chǔ)<b class='flag-5'>知識</b>及設(shè)計和執(zhí)行<b class='flag-5'>FPGA</b>應(yīng)用所需的工具

    Linux應(yīng)用編程的基本概念

    Linux應(yīng)用編程涉及到在Linux環(huán)境下開發(fā)和運行應(yīng)用程序的一系列概念。以下是一些涵蓋Linux應(yīng)用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?660次閱讀

    基于FPGA實現(xiàn)數(shù)碼管顯示

    本文介紹數(shù)碼管顯示譯碼基本工作原理及Verilog HDL驅(qū)動代碼編寫,進一步熟練掌握FPGA入門基礎(chǔ)知識。
    的頭像 發(fā)表于 10-24 14:44 ?1833次閱讀
    基于<b class='flag-5'>FPGA</b>實現(xiàn)數(shù)碼管顯示

    X電容和Y電容的基本概念

    在電子電路中,電容器是一種至關(guān)重要的元件,它用于儲存電荷并在電路中釋放能量。而在眾多的電容器中,X電容和Y電容作為安規(guī)電容,因其特定的應(yīng)用場景和安全性能而受到廣泛關(guān)注。本文將對X電容和Y電容的基本概念、工作原理、應(yīng)用場景以及選擇和維護等方面進行詳細(xì)介紹。
    的頭像 發(fā)表于 10-21 16:43 ?5626次閱讀

    集電極開路的基本概念與原理

    在集成電路的廣闊領(lǐng)域中,集電極開路作為一種獨特的輸出形式,扮演著舉足輕重的角色。它如同一個精密控制的開關(guān),既能實現(xiàn)電路的通斷,又能靈活應(yīng)對不同的電流需求。 集電極開路的基本概念與原理 集電極開路
    的頭像 發(fā)表于 09-19 10:19 ?1186次閱讀
    集電極開路的<b class='flag-5'>基本概念</b>與原理

    伺服系統(tǒng)基本概念和與變頻的關(guān)系

    伺服系統(tǒng)的基本概念是準(zhǔn)確、精確、快速定位。這一概念貫穿于伺服系統(tǒng)的設(shè)計理念和運行機制中。為了實現(xiàn)這一目標(biāo),伺服系統(tǒng)采用了多種先進的控制策略和技術(shù)手段。其中,變頻技術(shù)是伺服控制的一個必不可少的內(nèi)部環(huán)節(jié)
    的頭像 發(fā)表于 08-27 15:59 ?896次閱讀

    socket的基本概念和原理

    的通信。它是一個抽象的概念,用于表示網(wǎng)絡(luò)中的一個通信實體。在計算機網(wǎng)絡(luò)中,Socket允許應(yīng)用程序通過網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù)。Socket的概念最早由UNIX操作系統(tǒng)引入,后來被廣泛應(yīng)用于各種操作系統(tǒng)和編程語言中。 2. Socket的基本
    的頭像 發(fā)表于 08-16 10:51 ?4698次閱讀