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

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

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

FPGA講解 FPGA到底是啥 FPGA里面有什么?

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2022-05-05 09:28 ? 次閱讀

首先FPGA是什么?

四個字母Field(現(xiàn)場) Programmable(可編程) Gate(邏輯門) Array(陣列)凸顯了大量的邏輯門單元,這些邏輯單元是可以在任何地方隨時進行組裝的,這是不是跟樂高玩具一樣?邏輯門單元是構(gòu)成一切數(shù)字邏輯器件的基本單元,在數(shù)字世界里你想做任何事情、實現(xiàn)任何功能,都可以通過邏輯門的堆砌來實現(xiàn),也就是說FPGA在數(shù)字領(lǐng)域里幾乎無所不能,因此n年前我國的某一個FPGA公司在向國務(wù)院領(lǐng)導(dǎo)描述其產(chǎn)品的時候稱他們做的是“萬能芯片”(用這種通俗易懂的說法忽悠國家的經(jīng)費)。萬能有些夸張,但FPGA高度靈活,理論上來講,只要有足夠的資源(積木數(shù)量足夠多)幾乎可以實現(xiàn)數(shù)字域的任何功能,受限的是速度、功耗以及系統(tǒng)的成本。

pYYBAGJvqbeAZNaVAADpmr29mog032.jpg

一個典型的FPGA架構(gòu)及其內(nèi)部主要功能單元

FPGA里面有什么?

我們以基于Lattice的FPGA的小腳丫看一下該FPGA內(nèi)部都有哪些資源以及相應(yīng)資源的數(shù)量,如下是該器件LCMXO2-4000HC-4MG132C內(nèi)部的功能框圖:

poYBAGJvqbeAXUeLAABWaz4lzL4839.jpg

Lattice版本小腳丫FPGA芯片內(nèi)部的主要功能單元

該器件的具體資源參數(shù)如下:

4320個LUT資源 - 每個LUT(查找表)有4個輸入,16種狀態(tài),并一個寄存器,這就像樂高里的積木塊,用來實現(xiàn)各種邏輯功能,至于4320是多還是少?這個要看你做的項目需要的邏輯資源,對于FPGA的初學(xué)者來講4000多個LUT已經(jīng)足夠多,實現(xiàn)很多沒聽說過的功能都已經(jīng)綽綽有余了;

92Kbit RAM - 這是在邏輯之外的成塊狀的存儲器,可以靈活配置成各種位寬、各種讀寫模式的存儲功能,比如FIFO、雙口RAM等;

96Kbit用戶閃存 - 這是Lattice 的一個創(chuàng)新,后來Altera/Intel也學(xué)著做了MAX10,就是將配置FPGA的存儲器從外面的PROM變成了集成在FPGA內(nèi)部的Flash,可以反復(fù)編程,從此FPGA不再外掛一個累贅了,用起來就像PLD一樣方便;

嵌入式功能塊(硬核):一路SPI、一路定時器、2路I2C,這可是MCU除了ALU、總線之外最基本的功能模塊,都硬化到該FPGA內(nèi)部了,也就意味著如果你想用這個FPGA做一個MCU玩玩,可以直接將這些已經(jīng)硬化的功能塊通過總線掛在處理器上,沒必要再寫這些功能,并且占用邏輯資源了;

2+2路PLL+DLL - 我們前面講過外部常用的時鐘產(chǎn)生器(比如晶振)產(chǎn)生的頻率不高,但FPGA內(nèi)部可以工作到很高的速度,因此現(xiàn)在幾乎所有FPGA器件都有內(nèi)置的PLL將外部的低頻率的時鐘整到很高頻率,比如小腳丫的外部時鐘為12MHz,內(nèi)部PLL可以將它倍頻到400MHz,非常快吧?

支持DDR/DDR2/LPDDR存儲器 - 這是說該器件能夠直接掛這些存儲器,適配它們的電平和時序;

104個可熱插拔I/O - 每個I/O管腳可以單獨編程為輸入、輸出、上拉或下拉、并可以設(shè)置器輸出阻抗,以便支持不同的接口協(xié)議,就像城市連接外部的道路可進可出、有的鋪瀝青、有的是土路;

內(nèi)核電壓2.5-3.3V,供電電壓的范圍比較寬;

132腳BGA封裝,引腳間距0.5mm,芯片尺寸8mm x 8mm;

看下面就是這個器件做成的板子的圖片,中間那個黑黑的就是FPGA芯片。

pYYBAGJvqbeAPSkSAABGXPJrlKE688.jpg

小腳丫正面圖片-所有可以操作的功能

poYBAGJvqbeAINYpAAA-NAmgpqA097.jpg

小腳丫FPGA背面的圖片 - LDO穩(wěn)壓器件以及編程器件

FPGA能做什么?

知道了FPGA內(nèi)部的資源,也就心里有數(shù)它能做什么了。就像一座城堡,內(nèi)部居民的生活豐富多彩,無論他們以何種形式進行組合,他們所做的事情取決于這些居民以及他們擁有的資源,其生活模式被城堡的設(shè)計者所定義(城市管理、文化等等等)。

但從宏觀上來看這個城堡起到的功能很大程度上取決于這個城堡同外部世界的連接,沒有這些同系統(tǒng)的連接,城堡內(nèi)部的任何行為對于系統(tǒng)來講都沒有意義。FPGA可以是系統(tǒng)的一個重要組成部分,但它僅僅是一個部分而已,就像一個城堡一樣,它只有同外部進行連接并執(zhí)行系統(tǒng)通過這些連接給其分配的功能才有意義。

因此FPGA通過其I/O管腳連接外面的世界,我們使用的小腳丫芯片有132個管腳,除去電源、地之外還有104個管腳可以用來同外界進行聯(lián)系。

pYYBAGJvqbeAJP4SAACkfWuihNs769.jpg

小腳丫FPGA器件的管腳分布(像城堡連接外面世界的條條道路)

做為一款讓FPGA初學(xué)者學(xué)習(xí)的平臺,首先要滿足初學(xué)者基于掌握的數(shù)字電路知識進行做項目的定位,先要體驗組合邏輯、時序邏輯、狀態(tài)轉(zhuǎn)換等數(shù)字電路的基礎(chǔ)概念,而體驗這些概念就需要一些必要的輸入(按鍵、開關(guān))和必要的輸出(通過單色LED燈、三色燈、數(shù)碼管進行各種方式的顯示),綜合考慮板子的尺寸以及初學(xué)者隨時隨地能練習(xí)的要求,我們經(jīng)過取舍后選定了如下的板上功能及連接:

poYBAGJvqbeAOBCuAAA84ctrQKQ561.jpg

通過FPGA的IO管腳連接的板上功能

板載資源:

兩位7段數(shù)碼管 - 可以以狀態(tài)、數(shù)值的變化來顯示內(nèi)部邏輯運行的信息

兩個RGB三色LED - 可以以LED的亮度、顏色燈的變化顯示內(nèi)部邏輯運行的信息;

8路用戶LED - 可以通過組合來形象地顯示內(nèi)部邏輯運行的信息;

4路撥碼開關(guān) - 做為狀態(tài)的輸入;

4路按鍵 - 做為外部條件變換的輸入;

pYYBAGJvqbeAMrdpAABEgJU_QAo264.jpg

板子上的這些功能說明

當(dāng)然作為一個靈活的學(xué)習(xí)模塊,我們還要給用戶留下一定的靈活擴展的空間,讓用戶以各種方式來連接其計劃連接的其它器件,在這個模塊的周邊我們留出了36個信號管腳(4個電源、地除外)給用戶,用戶可以靈活配置、應(yīng)用這些管腳,讓自己的系統(tǒng)充分利用這些管腳讓FPGA內(nèi)部的邏輯資源執(zhí)行分配的任務(wù)。

poYBAGJvqbiAQaV6AABq3PEAdq0684.jpg

還有36個管腳可以做進一步的靈活連接,由未來的用戶來定義

小腳丫FPGA模塊在兼顧初學(xué)者學(xué)習(xí)功能的前提下,同時留給工程師更多擴展的靈活性,小腳丫團隊也開發(fā)了一些擴展的模塊,并通過獨特的適配板連接世界上開源硬件最強大的兩個生態(tài)系統(tǒng)的擴展卡 - Arduino樹莓派,小腳丫FPGA的使用者可以充分利用這些生態(tài)系統(tǒng)里現(xiàn)有的擴展模塊進行FPGA邏輯設(shè)計就可以了。

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

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601238
  • 邏輯門
    +關(guān)注

    關(guān)注

    1

    文章

    139

    瀏覽量

    24015
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA到底是什么?FPGA為什么比GPU的延遲低?

    不管通信還是機器學(xué)習(xí)、加密解密,算法都是很復(fù)雜的,如果試圖用 FPGA 完全取代 CPU,勢必會帶來 FPGA 邏輯資源極大的浪費,也會提高 FPGA 程序的開發(fā)成本。
    發(fā)表于 01-17 09:36 ?1369次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>到底是</b>什么?<b class='flag-5'>FPGA</b>為什么比GPU的延遲低?

    求救“在FPGA里面做一個NIOS核,其中UART的設(shè)置”

    我最近在做一個FPGA的設(shè)計,在FPGA里面做一個NIOS核,用串口向IONS里送數(shù)據(jù),但在NIOS的串口初始化設(shè)置時,借鑒了一位前輩的程序,里面有一個調(diào)用函數(shù):alt_irq_reg
    發(fā)表于 09-15 23:33

    FPGA里面做一個NIOS核

    我最近在做一個FPGA的設(shè)計,在FPGA里面做一個NIOS核,用串口向IONS里送數(shù)據(jù),但在NIOS的串口初始化設(shè)置時,借鑒了一位前輩的程序,里面有一個調(diào)用函數(shù):alt_irq_reg
    發(fā)表于 09-16 23:30

    FPGA?太難了~

    文件,最終加載到FPGA器件中去,完成所實現(xiàn)的功能。依舊如故:二三十年來,FPGA的結(jié)構(gòu)基本上就沒還是那個樣子:小小的芯片里面有非常多的查找表,這些查找表的組合,完成了或與非等數(shù)字邏輯的實現(xiàn),再加上時鐘模塊
    發(fā)表于 11-03 10:29

    FPGA的原理及電路設(shè)計應(yīng)用的講解

    中國大學(xué)MOOC 本課程以目前流行的Xilinx 7系列FPGA的開發(fā)為主線,全面講解FPGA的原理及電路設(shè)計、Verilog HDL語言及VIVADO的應(yīng)用,并循序漸進地從組合邏輯、時序邏輯的開發(fā)開始,深入到
    的頭像 發(fā)表于 08-06 06:08 ?3322次閱讀

    FPGA到底是什么?FPGA有哪些優(yōu)勢

    現(xiàn)場可編程門陣列(FPGA)技術(shù)不斷呈現(xiàn)增長勢頭。 1984年Xilinx剛剛創(chuàng)造出FPGA時,它還是簡單的膠合邏輯芯片,而如今在信號處理和控制應(yīng)用中,它已經(jīng)取代了自定制專用集成電路(ASIC)和處理器。 這項技術(shù)的成功之處到底
    的頭像 發(fā)表于 01-25 11:54 ?5419次閱讀

    FPGA到底是什么?為什么要使用它

    最近幾年,FPGA這個概念越來越多地出現(xiàn)。例如,比特幣挖礦,就有使用基于FPGA的礦機。還有,之前微軟表示,將在數(shù)據(jù)中心里,使用FPGA“代替”CPU,等等。
    的頭像 發(fā)表于 02-16 10:50 ?6818次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>到底是</b>什么?為什么要使用它

    使用FPGA設(shè)計的IO到底是什么

    今天想和大家一起聊聊 FPGA 的 IO。先說說我當(dāng)年入門的經(jīng)歷吧。國內(nèi)的大學(xué)有 FPGA 開發(fā)條件的實驗室并不太多,當(dāng)年大學(xué)的那幫同學(xué)有的做 ARM,有的做 linux,很少有人做 FPGA,當(dāng)時
    發(fā)表于 12-22 13:08 ?10次下載
    使用<b class='flag-5'>FPGA</b>設(shè)計的IO<b class='flag-5'>到底是</b>什么

    FPGA到底是什么?FPGA的詳細介紹

    FPGA 是一堆晶體管,你可以把它們連接(wire up)起來做出任何你想要的電路。它就像一個納米級面包板。使用 FPGA 就像芯片流片,但是你只需要買這一張芯片就可以搭建不一樣的設(shè)計,作為交換,你
    發(fā)表于 12-23 13:10 ?17次下載

    基于FPGA的SoftSerdes設(shè)計與實現(xiàn)講解

    基于FPGA的SoftSerdes設(shè)計與實現(xiàn)講解說明。
    發(fā)表于 04-28 11:18 ?6次下載

    基于FPGA的ROM的實現(xiàn)的講解

    基于FPGA的ROM的實現(xiàn)的講解(如何制作嵌入式開發(fā)板)-該文檔為基于FPGA的ROM的實現(xiàn)的講解文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
    發(fā)表于 07-30 15:27 ?3次下載
    基于<b class='flag-5'>FPGA</b>的ROM的實現(xiàn)的<b class='flag-5'>講解</b>

    基于FPGA的ROM的實現(xiàn)講解

    基于FPGA的ROM的實現(xiàn)講解(嵌入式開發(fā)入門書籍下載)-該文檔為基于FPGA的ROM的實現(xiàn)講解文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
    發(fā)表于 07-30 15:36 ?2次下載
    基于<b class='flag-5'>FPGA</b>的ROM的實現(xiàn)<b class='flag-5'>講解</b>

    FPGA到底是什么?,FPGA工程師核心競爭力是什么?

    工作的難題和設(shè)備管理方面的主要挑戰(zhàn),否則這種組合將是個未知數(shù)。 理解為什么AMD對FPGA供應(yīng)商Xilinx如此感興趣,或者說Intel多年前為何對Altera感興趣,有助于了解FPGA到底是什么,以及這些設(shè)備在目前芯片行業(yè)中發(fā)
    的頭像 發(fā)表于 01-07 02:45 ?1461次閱讀

    FPGA是什么?

    其實,對于專業(yè)人士來說,FPGA并不陌生,它一直都被廣泛使用。但是,大部分人還不是太了解它,對它有很多疑問——FPGA到底是什么?為什么要使用它?相比 CPU、GPU、ASIC(專用芯片),F
    的頭像 發(fā)表于 03-29 15:56 ?4723次閱讀
    <b class='flag-5'>FPGA</b>是什么?

    FPGA、ASIC技術(shù)對比

    FPGA要取代ASIC了,這是FPGA廠商喊了十多年的口號??墒牵?b class='flag-5'>FPGA地盤占了不少,ASIC也依舊玩得愉快。那么,這兩位仁兄到底不一
    的頭像 發(fā)表于 03-31 14:41 ?1607次閱讀
    <b class='flag-5'>FPGA</b>、ASIC技術(shù)對比