91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領(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)場可編程門陣列?

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

簡而言之,我可以將FPGA比作一個盒子,里面裝有各種沒有商標、用于構(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是一種功能強大的工具,但未必適合所有情況。它們有更多的功耗、布局和外部電路要求,甚至可能非??量獭J褂贸杀靖甙呵揖哂兄T多特殊要求的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代碼塊。使用這些工具,可以通過抽除一些低級別細節(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

    文章

    8462

    瀏覽量

    165007
  • FPGA
    +關(guān)注

    關(guān)注

    1662

    文章

    22448

    瀏覽量

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

    關(guān)注

    140

    文章

    5330

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    FPGA 入門必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開發(fā)者第一次接觸FPGA,都會有同樣的疑問:FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPG
    的頭像 發(fā)表于 01-19 09:05 ?576次閱讀
    <b class='flag-5'>FPGA</b> <b class='flag-5'>入門</b>必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    TVS二極管的基本概念和主要作用

    芝識課堂的全新內(nèi)容又和大家見面啦!從本期開始,我們將用四節(jié)課為大家系統(tǒng)介紹一位在電路設(shè)計中默默奉獻的“無名英雄”——TVS二極管。我們會從它的基本概念、工作原理,聊到如何為電路挑選合適的型號、布局
    的頭像 發(fā)表于 11-28 09:27 ?1.8w次閱讀
    TVS二極管的<b class='flag-5'>基本概念</b>和主要作用

    如何使用FPGA實現(xiàn)SRIO通信協(xié)議

    泛應(yīng)用。文章重點解釋了回環(huán)測試的基本概念,這種方法可驗證FPGA中的SRIO接口功能的正確性,并提供了系統(tǒng)級測試驗證的相關(guān)知識。同時,本例程還涵蓋了Verilog語法、FPGA架構(gòu)、S
    的頭像 發(fā)表于 11-12 14:38 ?5922次閱讀
    如何使用<b class='flag-5'>FPGA</b>實現(xiàn)SRIO通信協(xié)議

    學(xué)習(xí)物聯(lián)網(wǎng)怎么入門?

    聯(lián)網(wǎng)的基本概念和技術(shù)是學(xué)習(xí)物聯(lián)網(wǎng)的重要第一步。物聯(lián)網(wǎng)是指互聯(lián)網(wǎng)上的物品相互連接,通過網(wǎng)絡(luò)實現(xiàn)信息交流和共享的一種技術(shù)。學(xué)習(xí)物聯(lián)網(wǎng)需要了解物聯(lián)網(wǎng)的基本概念,如物聯(lián)網(wǎng)的架構(gòu)、物聯(lián)網(wǎng)的協(xié)議、物聯(lián)網(wǎng)的應(yīng)用場
    發(fā)表于 10-14 10:34

    ARM入門學(xué)習(xí)方法分享

    。 以下是一些入門學(xué)習(xí)方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一種精簡指令集計算機(RISC
    發(fā)表于 07-23 10:21

    電壓波動與閃變的基本概念

    如果您是電力系統(tǒng)工程師、電氣設(shè)備維護人員或者相關(guān)專業(yè)的學(xué)生,應(yīng)該注意到了有關(guān)電能質(zhì)量的國家標準GB/T 12326-2008是有關(guān)電壓波動和閃變的,那這兩個參數(shù)的考核意義是什么?國家標準規(guī)定這兩個參數(shù)如何計算、測量和考核?這篇文章帶您全面了解電壓波動和閃變的基本概念、重要性以及國家標準的規(guī)定。
    的頭像 發(fā)表于 07-22 14:10 ?3243次閱讀
    電壓波動與閃變的<b class='flag-5'>基本概念</b>

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

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

    第十三章 通訊的基本概念

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

    EMC電路基礎(chǔ)知識

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

    芯片設(shè)計之握手協(xié)議

    本文主要介紹握手的基本概念,讀者可通過該篇文章對握手有個基本概念。
    的頭像 發(fā)表于 05-14 09:16 ?1290次閱讀
    芯片設(shè)計之握手協(xié)議

    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

    【「零基礎(chǔ)開發(fā)AI Agent」閱讀體驗】總體預(yù)覽及入門

    基礎(chǔ)知識有所補充,另外書本后面的案例也會對Ai的應(yīng)用產(chǎn)生一些啟發(fā). 首先老規(guī)矩,先看一下目錄結(jié)構(gòu) 包含3大主題: 入門篇:介紹了Agent的概念、發(fā)展、與Prompt和Copilot
    發(fā)表于 04-20 21:53

    概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略

    資料介紹 從實際應(yīng)用入手,以實驗過程和實驗現(xiàn)象為主導(dǎo),循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結(jié)構(gòu)和功能應(yīng)用。全書共分5篇,分別為入門篇、內(nèi)外部資源操作篇、提高篇、實戰(zhàn)篇和拓展篇
    發(fā)表于 04-15 13:57

    python入門圣經(jīng)-高清電子書(建議下載)

    此資料內(nèi)容是一本針對所有層次的Python 讀者而作的Python 入門電子書。 全書分兩部分:第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy
    發(fā)表于 04-10 16:53

    進群免費領(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