吴忠躺衫网络科技有限公司

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

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

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

淺析FPGA架構(gòu)及相關(guān)的基本概念

jf_78858299 ? 來源:Cascatrix ? 作者:Carson ? 2023-01-21 16:17 ? 次閱讀

01

FPGA基礎(chǔ)知識

FPGA(Field Programmable Gate Array, 現(xiàn)場可編程邏輯陣列) 是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。

1.1 FPGA與其他相關(guān)可編程器件

圖片

1.1.1****FPGA, ASIC和ASSP

ASIC以及ASSP的功能相對固定,是為了專一功能或?qū)R活I(lǐng)域而生,希望對它進(jìn)行任何功能和性能的改善往往是無濟(jì)于事,而FPGA則在產(chǎn)品發(fā)布后仍然可以對產(chǎn)品設(shè)計做出修改,大大方便了產(chǎn)品的更新和針對新的協(xié)議標(biāo)準(zhǔn)做出相應(yīng)改進(jìn),從而加速產(chǎn)品上市時間,并降低產(chǎn)品失敗的風(fēng)險和維護(hù)成本。隨著電子技術(shù)領(lǐng)域的發(fā)展,F(xiàn)PGA也正在向高集成,高性能,低功耗和低價格方向發(fā)展,并逐漸具備了與ASIC,ASSP相當(dāng)?shù)男阅堋?/p>

ASIC: 專用集成電路(Application Specific Integrated Circuit)

ASSP: 專用標(biāo)準(zhǔn)產(chǎn)品(Application Specific Standard Parts)

**1.1.2 **FPGA, ARMDSP

嵌入式系統(tǒng)設(shè)計領(lǐng)域,雖然ARM有很多外設(shè),DSP具備強(qiáng)大的信號運算能力,但是這些功能FPGA都可以做到,所以在很多原型產(chǎn)品設(shè)計過程中(靈活性要求高、定制化程度高、性能要求高),會經(jīng)常提出基于FPGA的方案,但是客觀來說,F(xiàn)PGA的成本功耗和開發(fā)復(fù)雜性往往會讓很多用戶望而卻步。

ARM: Advanced RISC Machines,ARM通常包含一顆強(qiáng)大的處理器內(nèi)核,并且為這顆處理器量身配套了很多成熟的軟件工具以及高級編程語言,同時在ARM內(nèi)核處理器周邊,各種各樣精于控制的外設(shè)很多,如GPIO,PWM,AD/DA,UART,SPI,I2C等,使得ARM在控制和管理上有很大優(yōu)勢。

DSP: Digital Signal Processor, 即數(shù)字信號處理器,是一種獨特的微處理器,有自己完整的指令系統(tǒng),能夠進(jìn)行高速高吞吐量的數(shù)字信號處理,因此適合對各種語音,數(shù)據(jù)和視頻做運算處理。

**1.1.3 **FPGA和PLD

PLD重構(gòu)基于門級陣列(Gate Array),屬于門級,即邏輯門是固定的,只有布線是可重構(gòu)編程的,因此布線冗余較多;而FPGA重構(gòu)基于查找表(LUT),屬于邏輯簇級,即布線是固定的,而邏輯是可重構(gòu)編程的,因此相對與PLD而言布線冗余較少,更適合構(gòu)建大規(guī)模邏輯電路。

圖片

圖片

1.2 FPGA主流開發(fā)語言

**1.2.1 **VHDL

VHDL(VHSIC hardware description language)語言誕生于1983年,1987年被美國國防部和IEEE確定為標(biāo)準(zhǔn)的硬件描述語言。自從IEEE發(fā)布了VHDL的第一個標(biāo)準(zhǔn)版本IEEE 1076-1987后,各大EDA公司都先后推出了自己支援 VHDL 的 EDA 工具。VHDL 在電子設(shè)計行業(yè)得到了廣泛的認(rèn)同。此后IEEE又先后發(fā)布了IEEE 1076-1993和IEEE 1076-2000版本。

VHDL優(yōu)點:語法嚴(yán)謹(jǐn),層次結(jié)構(gòu)清晰。

VHDL缺點:不夠靈活,熟悉時間長。

**1.2.2 **Verilog HDL

Verilog HDL誕生于1983年,由Gateway設(shè)計自動化公司的工程師創(chuàng)立,菲爾·莫比(PhilMoorby)完成了Verilog的主要設(shè)計工作。1990年代初,開放Verilog國際(Open Verilog International, OVI)組織(即現(xiàn)在的Accellera)成立,Verilog面向公有領(lǐng)域開放。

1992年該組織尋求將Verilog納入電氣電子工程師學(xué)會標(biāo)準(zhǔn) ,于是Verilog最終成為了電氣電子工程師學(xué)會1364-1995標(biāo)準(zhǔn)(即Verilog-95)。后來Verilog經(jīng)過多次版本更新,具備了一些新的實用功能,目前,Verilog-2001是Verilog的最主流版本,被大多數(shù)商業(yè)電子設(shè)計自動化軟件包支持。2009年IEEE 1364-2005和IEEE 1800-2005兩個部分合并為IEEE 1800-2009,成為了一個新的、統(tǒng)一的SystemVerilog硬件描述驗證語言(hardware description and verification language, HDVL)。

Verilog 優(yōu)點:類C語言,上手快速,易于使用。

Verilog 缺點:存在不能通過編譯識別的錯誤。

1.3 FPGA器件主流企業(yè)

目前Altera(已被Intel公司收購)和Xilinx公司(已被AMD收購)是FPGA器件主流廠商,兩家公司的可編程邏輯器件占到全球市場的近80%,其中Xilinx FPGA占近50%,而Altera占近30%。除這兩家龍頭企業(yè)外,偶爾也會有一些后來者,例如Lattice,京微雅格等。盡管不同公司的FPGA器件內(nèi)部結(jié)構(gòu)有所差異,但在開發(fā)流程、開發(fā)工具乃至原廠提供的各種支持上都大同小異,因此只要掌握FPGA的開發(fā)流程,任何廠商的器件都可以輕松上手。

02

FPGA基本架構(gòu)

2.1 Xilinx FPGA基本架構(gòu)

Xilinx的FPGA主要由可配置邏輯塊(CLB)、時鐘管理模塊(CMT)、存儲器(RAM/FIFO)、數(shù)字信號處理模塊(DSP)和一些專用模塊組成。

**2.1.1 **可配置邏輯塊(CLB)

Xilinx FPGA邏輯是由陣列排布的CLB實現(xiàn)的,每一個CLB單元都和一個開關(guān)陣列相連,并受其控制從而實現(xiàn)邏輯功能。

CLB由基本結(jié)構(gòu)Slice構(gòu)成,而基本結(jié)構(gòu)中又包含有查找表(LUT),存儲單元,廣函數(shù)多路器(Wide function Multiplexer)和進(jìn)位邏輯,這種基本結(jié)構(gòu)成為SLICEL。有些基本結(jié)構(gòu)中還包含舒勇RAM存儲數(shù)據(jù)的功能和使用32位寄存器移位功能,這種基本結(jié)構(gòu)成為SLICEM。

2.1.2 時鐘管理模塊(CMT)

時鐘管理模塊(CMT)用于產(chǎn)生高質(zhì)量的時鐘,通常CMT會包含數(shù)字時鐘管理模塊(DCM)和鎖相環(huán)電路(PLL),從而實現(xiàn)時鐘的倍頻與分頻。

2.1.3 存儲器(RAM/FIFO)

Xilinx FPGA都有內(nèi)部的存儲器塊,例如Virtex-5內(nèi)部包含若干塊36KB大小可以靈活配置的同步雙口RAM,這些RAM可以配置為多速率的FIFO存儲器,極大地提高了設(shè)計的靈活性。

2.1.4 數(shù)字信號處理模塊(DSP)

Xilinx FPGA中大多包含DSP資源模塊,對于需要大量算法運算的應(yīng)用,F(xiàn)PGA內(nèi)部這類乘法運算單元就顯得十分實用。例如7系列中最小的計算單元DSP48E1:

圖片

2.1.5 其他專用模塊

除了上述模塊外,在現(xiàn)代的Xilinx的FPGA產(chǎn)品中還有一些其他專用模塊,例如:Rocket IO千兆位級收發(fā)器、PCI Express端點模塊和三態(tài)以太網(wǎng)MAC模塊等。

2.2 Altera FPGA基本架構(gòu)

Altera的FPGA一般由邏輯陣列模塊(LAB)、TriMatrix存儲器模塊(RAM)、數(shù)字信號處理模塊(DSP)和鎖相環(huán)模塊(PLL)組成。

2.2.1 邏輯陣列模塊(LAB)

邏輯陣列模塊(LAB)的主要結(jié)構(gòu)是適應(yīng)邏輯模塊(ALM),還包括一些進(jìn)位鏈和控制邏輯等結(jié)構(gòu)。

ALM中包含查找表(LUT),可編程寄存器,專用全加器,進(jìn)位鏈,共享算術(shù)鏈和寄存器鏈。

**2.2.2 **FPGA, ARM和DSP

類似于Xilinx FPGA器件,Altera FPGA中同樣包括不同大小的嵌入式RAM存儲器資源,可以支持配置各種特性。

2.2.3 數(shù)字信號處理模塊(DSP)

類似于Xilinx FPGA器件,Altera FPGA中同樣含有DSP資源,從而實現(xiàn)多種最大性能和最小邏輯資源利用率的DSP功能。

2.2.4 鎖相環(huán)(PLL)

類似于Xilinx FPGA器件內(nèi)部的時鐘管理模塊,Altera FPGA中同樣具備PLL鎖相環(huán)資源,從而實現(xiàn)高質(zhì)量的時鐘生成。

2.3 LUT實現(xiàn)原理

PLD重構(gòu)基于門級陣列(Gate Array),屬于門級,即邏輯門是固定的,只有布線是可重構(gòu)編程的,因此布線冗余較多;而FPGA重構(gòu)基于查找表(LUT),屬于邏輯簇級,即布線是固定的,而邏輯是可重構(gòu)編程的,因此相對與PLD而言布線冗余較少,更適合構(gòu)建大規(guī)模邏輯電路。

圖片

A,B,C有FPGA芯片的管腳輸入后進(jìn)入可編程連線,然后作為地址線連接到LUT,LUT中已經(jīng)事先寫入了所有可能的邏輯結(jié)果,通過地址查找到相應(yīng)的數(shù)據(jù)后輸出,從而實現(xiàn)組合邏輯,而FPGA中的時序邏輯由觸發(fā)器協(xié)助實現(xiàn)。

03

FPGA應(yīng)用領(lǐng)域與優(yōu)勢

3.1 信號采集處理

FPGA的并行處理特性在信號采集與處理方面具有很大的優(yōu)勢,例如一些高速ADC圖像傳感器的數(shù)據(jù)采集與實時處理。盡管一些高端的嵌入式處理器也可實現(xiàn)信號采集與處理功能,但嵌入式軟件程序的編譯需要耗費更多的時間,在實時性要求較高的數(shù)據(jù)采集處理系統(tǒng)中將難以勝任。相比之下,F(xiàn)PGA的并行處理和可靈活配置的位寬等諸多優(yōu)勢得以顯現(xiàn)。

3.2 通信協(xié)議實現(xiàn)

FPGA在通信協(xié)議的實現(xiàn)上具有更高的靈活性。盡管ARM等嵌入式芯片也可通過一定的協(xié)議進(jìn)行數(shù)據(jù)交互,但這些通信協(xié)議接口大多是固定的,功能也相對有限。FPGA擁有更加豐富的電平接口,易于實現(xiàn)各種各樣不同的協(xié)議,更適合于用戶定制化較高的場景。同時相比于定制化芯片的設(shè)計生產(chǎn),F(xiàn)PGA在成本和周期等各方面都具有一定的優(yōu)勢。

3.3 芯片原型驗證

隨著芯片制造工藝的提升,以及芯片復(fù)雜程度的增加,流片的成本也在不斷攀升。利用FPGA在流片前期進(jìn)行驗證,可以極大的降低流片后芯片出現(xiàn)問題故障的概率,進(jìn)一步節(jié)約芯片制造的成本。

3.4 系統(tǒng)實時控制

FPGA的并行特性在需要實時控制的系統(tǒng)中也發(fā)揮著很大的作用。盡管利用單片機(jī)可以實現(xiàn)對電機(jī)、顯示器等不同執(zhí)行終端的控制,但是單片機(jī)程序所需要的響應(yīng)時間較長。在實時性要求很高的系統(tǒng)中,單片機(jī)的響應(yīng)時間可能會導(dǎo)致系統(tǒng)無法達(dá)到需求標(biāo)準(zhǔn),例如航天圖像系統(tǒng)需要對航天器的工作情況進(jìn)行實時監(jiān)控與評估,F(xiàn)PGA便是很好的選擇。

04

FPGA開發(fā)流程

圖片

4.1 需求分析—>模塊劃分

設(shè)計者根據(jù)項目需求,確定所需資源并選定FPGA型號,進(jìn)而根據(jù)目標(biāo)實現(xiàn)功能進(jìn)行模塊劃分。由于FPGA的實現(xiàn)是并行的,對于一個項目的需求往往需要通過多次處理才能實現(xiàn),因此要考慮分成多個模塊以利于后期的代碼升級,維護(hù)以及設(shè)計的綜合優(yōu)化。

4.2 設(shè)計輸入—>綜合優(yōu)化

模塊劃分完成后,需要考慮不同模塊的輸入輸出接口,此時根據(jù)原理圖和相關(guān)硬件手冊,進(jìn)行底層設(shè)計輸入工作。代碼設(shè)計完成后,檢查語法是否無誤,進(jìn)而進(jìn)行代碼的綜合。

綜合是將較高層次的電路描述轉(zhuǎn)化為較低層次的電路描述,即將設(shè)計代碼轉(zhuǎn)化為底層的與門,非門,RAM,觸發(fā)器等基本邏輯單元相互連接而成的網(wǎng)表。

綜合完成后需要進(jìn)行功能仿真。功能仿真不涉及任何時序上的延時,只是單純驗證代碼所實現(xiàn)的功能是否符合要求。

4.3 實現(xiàn)—>時序收斂

功能仿真過后一般會進(jìn)行一次全編譯,然后對工程進(jìn)行約束:包括全局約束(I/O接口約束)和時序約束。添加完時序約束后,需要進(jìn)行實現(xiàn)(翻譯、映射和布局布線),然后查看時序報告。在添加時序約束前后,變化最大的應(yīng)該是布局布線。

一般對于較大的工程,編譯往往耗費很多時間,因此可以查看映射后的時序報告進(jìn)行前期的分析。這個報告的邏輯延時是完全準(zhǔn)確的,布線延時卻是通過一定比例推導(dǎo)得出的估計值,所以由此得到的時序報告并不完全準(zhǔn)確。但是如果得到的估計延時偏大,時序明顯達(dá)不到要求,那么設(shè)計者就應(yīng)該先回頭查找問題,想辦法達(dá)到時序收斂。如果達(dá)到了時序收斂,并且設(shè)計者進(jìn)行了充分的前期功能仿真,那么往下的時序仿真就可以不做,從而節(jié)省了時間。

4.4 仿真測試—>板級調(diào)試

仿真和板級調(diào)試是FPGA設(shè)計的主要驗證手段。盡管板級調(diào)試能夠直觀真實的反映信號狀態(tài),也便于問題的尋找和定位,但是板級調(diào)試同步觀察接口信號數(shù)量受限,而且很難觀測到FPGA內(nèi)部信號節(jié)點的狀態(tài)。因此,仿真在FPGA開發(fā)驗證中有著更重要的作用。

圖片

整個設(shè)計的驗證過程如上圖所示:

  1. 行為仿真的代碼可以是不可綜合的代碼;
  2. 功能仿真是對成為硬件的門級網(wǎng)表進(jìn)行驗證,但不包含任何布局布線延時信息
  3. 時序仿真是在功能仿真的基礎(chǔ)上包含電路的延時信息;
  4. 板級調(diào)試驗證最終功能是否實現(xiàn)。

前仿真:綜合前仿真,行為仿真

審核編輯 黃昊宇

聲明:本文內(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)注

    1630

    文章

    21796

    瀏覽量

    606010
  • pal
    pal
    +關(guān)注

    關(guān)注

    1

    文章

    43

    瀏覽量

    27323
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA架構(gòu)相關(guān)基本概念

    FPGA(Field Programmable Gate Array, 現(xiàn)場可編程邏輯陣列)是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
    發(fā)表于 01-04 13:39 ?1060次閱讀

    Fpga Cpld的基本概念

    Fpga Cpld的基本概念
    發(fā)表于 08-20 17:14

    C語言基本概念

    C語言基本概念
    發(fā)表于 08-01 02:00

    天線分集技術(shù)的基本概念介紹

    基本概念往往有助于理解多變的無線電通信鏈接品質(zhì),一旦理解了這些基本概念,其中許多問題可以通過一種低成本、易實現(xiàn)的被稱作天線分集(antenna diversity)的技術(shù)來實現(xiàn)。
    發(fā)表于 07-02 06:04

    阻抗控制相關(guān)基本概念

    阻抗控制部分包括兩部分內(nèi)容:基本概念及阻抗匹配。本篇主要介紹阻抗控制相關(guān)的一些基本概念
    發(fā)表于 02-25 08:11

    FPGA功耗的基本概念,如何降低FPGA功耗?

    FPGA功耗的基本概念,如何降低FPGA功耗?IGLOO能夠做到如此低的功耗是因為什么?
    發(fā)表于 04-30 06:08

    AGV的基本概念及基本結(jié)構(gòu)組成

    控制系統(tǒng)2.AGV安全系統(tǒng)3.激光導(dǎo)航控制系統(tǒng)三、AGV的調(diào)度系統(tǒng)1.系統(tǒng)架構(gòu)2.軟件架構(gòu)3.系統(tǒng)功能4.系統(tǒng)應(yīng)用方向——智能倉儲五、AGV充電系統(tǒng)一、AGV的基本概念AGV是自動導(dǎo)引運輸車
    發(fā)表于 09-14 08:23

    單片機(jī)中斷的基本概念

    文章目錄一.中斷的基本概念二.中斷相關(guān)的寄存器三.中斷的實際使用四.中斷的優(yōu)點:一.中斷的基本概念1.中斷的概念:在單片機(jī)中,中斷是指:對于CPU來說,當(dāng)它在正常處理事件A時,突然發(fā)生
    發(fā)表于 11-25 08:14

    STM32的中斷系統(tǒng)基本概念

    STM32 中斷系統(tǒng)概述筆記(一)中斷概述中斷相關(guān)基本概念STM32的中斷系統(tǒng)基本概念:NVIC 嵌套向量中斷控制器中斷通道中斷優(yōu)先級優(yōu)先級分組EXTI 外部中斷控制器三種外部中斷觸發(fā)方式引腳分組
    發(fā)表于 01-07 07:32

    ARM的體系架構(gòu)基本概念

    1.基本概念ARM的體系架構(gòu)版本:即其所使用的指令集的版本。ARM架構(gòu)支持32位ARM指令集和16位Thumb指令集,后者使代碼存儲空間大大減小并提供一些拓展功能(Jazelle、***、IEM等
    發(fā)表于 01-25 06:14

    PCIE基本概念與拓?fù)?b class='flag-5'>架構(gòu)圖

    1 PCIE基本概念1.1 PCIE拓?fù)?b class='flag-5'>架構(gòu)圖1.2 PCIE Switch內(nèi)部結(jié)構(gòu)圖1.3 PCIE協(xié)議結(jié)構(gòu)圖2 PCIE枚舉原理2.1 Type0&Type1配置頭空間2.2 拓?fù)涫纠?/div>
    發(fā)表于 02-16 06:08

    FPGA高級班前言基本原理基本概念

    FPGA高級班前言基本原理基本概念 在數(shù)字化、信息化的時代,集成電路應(yīng)用的非常廣泛。經(jīng)過長期的進(jìn)步發(fā)展成為可以完成超大規(guī)模復(fù)雜組合邏輯與時序邏輯
    發(fā)表于 02-09 11:22 ?70次下載
    <b class='flag-5'>FPGA</b>高級班前言基本原理<b class='flag-5'>基本概念</b>

    FPGA學(xué)習(xí)教程之硬件設(shè)計基本概念

    關(guān)于FPGA架構(gòu)和基本組成《FPGA學(xué)習(xí)–架構(gòu)和基本組成單元(一)》 ,下面參考Xilinx Vivado官方文檔學(xué)習(xí)硬件設(shè)計的基本概念
    發(fā)表于 12-25 17:34 ?22次下載
    <b class='flag-5'>FPGA</b>學(xué)習(xí)教程之硬件設(shè)計<b class='flag-5'>基本概念</b>

    FPGA設(shè)計中時序分析的基本概念

    時序分析時FPGA設(shè)計中永恒的話題,也是FPGA開發(fā)人員設(shè)計進(jìn)階的必由之路。慢慢來,先介紹時序分析中的一些基本概念
    的頭像 發(fā)表于 03-18 11:07 ?2793次閱讀

    MMU相關(guān)基本概念

    1-MMU相關(guān)基本概念 (1)虛擬地址相關(guān)基本概念 ? 虛擬內(nèi)存(Virtual Memory,VM):為每個進(jìn)程提供了一致的、連續(xù)的、私有的內(nèi)存空間,簡化了內(nèi)存管理。將主存看成是一
    的頭像 發(fā)表于 11-26 16:11 ?742次閱讀
    黎川县| 百家乐英皇娱乐网| 皇家赌场下载| 百家乐一代龙虎机| 丰宁| 澳门百家乐规律星期娱乐城博彩| 威尼斯人娱乐城现金开户| 百家乐官网一般的庄闲比例是多少| 富田太阳城二期| 金樽百家乐官网的玩法技巧和规则 | bet365怎么上不去| 百家乐怎么会赢| 肇州县| 康莱德百家乐的玩法技巧和规则 | 圣淘沙百家乐的玩法技巧和规则| 百家乐官网玩揽法的论坛| 大发888娱乐场开户注册| 娱乐城免费送体验金| 澳门百家乐大揭密| 蓝盾百家乐官网赌场| 大发888信誉888娱乐城| 百家乐官网园天将| 县级市| 百家乐技巧看| 新加坡百家乐官网的玩法技巧和规则| 百家乐操作技巧| 微信百家乐官网群规则大全| 铁力市| 大发888新老虎机| 百家乐网络视频游戏| 玩百家乐官网五湖四海娱乐城| 大发888注册步骤| 澳门百家乐规律星期娱乐城博彩| 赌博百家乐官网趋势把握| 顶级赌场手机版官方| 二代百家乐破解| 百家乐官网娱乐下载| 真人网上娱乐城| 百家乐德州| 百家乐园zyylc| 百家乐官网计算法|