日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初识FPGA(搬运)

發布時間:2023/12/2 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初识FPGA(搬运) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接1原文鏈接2

fpga簡介

FPGA(Field-Programmable Gate Array), 即現場可編程門陣列,它是在PAL(可編程陣列邏輯)、GAL(通用陣列邏輯器件)、CPL(復雜可編程邏輯器件)等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

?

注:什么是現場可編程門陣列?顧名思義,有人推斷它是可編程的邏輯門結構。這種解釋很接近,但又不太準確,因為內部邏輯陣列實際并不是利用門來實現的。相反,我們將陣列中的這些塊稱為邏輯單元。這些邏輯單元通常由查找表 (LUT)(用于實現任意邏輯功能)以及一些輔助電路(例如多路復用器、加法器和觸發器)構成。人們將這種邏輯單元陣列稱為“FPGA 結構”。

簡言之,將 FPGA 比作一個盒子,里面裝有各種沒有商標、用于構建數字電路的彩色構件。我可以通過適合我的應用的任何方式,將這些構件連接到一起。如果能描述數字電路如何工作,就能用足夠的邏輯單元在 FPGA 內構建該電路。需要 25 個 PWM 輸出?沒問題。需要特殊通信協議?對某些硬件進行編程來處理該協議。

?

  fpga工作原理

  FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括 可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。

  fpga特點

  1) 采用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產,就能得到合用的芯片。

  2) FPGA可做其它全定制或半定制ASIC電路的中試樣片。

  3) FPGA內部有豐富的觸發器和I/O引腳。

  4) FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。

  5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。

?

  一文看懂fpga和單片機的區別

?

  單片機簡介

  單片機,全稱為單片微型計算機(Single-Chip Microcomputer),又稱微控制器(Microcontroller),是把中央處理器、存儲器、定時/計數器(Timer/Counter)、各種輸入輸出接口等都集成在一塊集成電路芯片上的微型計算機。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出接口簡單,功能較低。由于其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多應用場合被稱為范圍更廣的微控制器。

  單片機工作原理

  單片機自動完成賦予它的任務的過程,也就是單片機執行程序的過程,即一條條執行的指令的過程,所謂指令就是把要求單片機執行的各種操作用的命令的形式寫下來,這是在設計人員賦予它的指令系統所決定的,一條指令對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統,不同種類的單片機,其指令系統亦不同。

  為使單片機能自動完成某一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然后再被執行。

  程序通常是順序執行的,所以程序中的指令也是一條條順序存放的,單片機在執行程序時要能把這些指令一條條取出并加以執行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數器PC(包含在CPU中),在開始執行程序時,給PC賦以程序中第一條指令所在的地址,然后取得每一條要執行的命令,PC在中的內容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執行。

  單片機特點

  (1)體積小、結構簡單、可靠性高

  (2)控制能力強

  (3)低電壓、低功耗

  (4)優異的性能/價格比

?

  一文看懂fpga和單片機的區別

?

  fpga和單片機的區別

  1、結構上的區別

  單片機是一種微處理器,類似于電腦CPU的,它一般采用的是哈佛總線結構,或者馮諾依曼結構,對單片機的編程很大程度上要考慮到它的結構和各個寄存器的作用,單片機用途比較廣,一般用在控制流水線上,還有日常你看得到的東西上!

  FPGA 它的結構是查找表結構,其程序不用去太考慮芯片的結構,要注意的是時序上問題,它的結構比較復雜,功能也很強大,一般應用在通信領域等比較高端的場合,目前在國內FPGA還算是一個新興的行業,當然它的價格也要比單片機貴得多!

  單片機是一個微控制器,通過加載模塊軟件來實現某種功能,單片機是成型的芯片;FPGA是用來設計芯片的芯片。

  2、速度上的區別

  FPGA由于是硬件電路,運行速度直接取決于晶振速度,系統穩定,特別適合高速接口電路。單片機由于是單線程,哪怕是常用的M3系列流水線也是單線程執行,程序語句需要等待單片機周期才能執行。

  3、本質區別

  FPGA和單片機的區別,本質上是軟件和硬件的區別,FPGA更偏向于硬件電路,而單片機更偏于軟件。

  單片機設計屬軟件范疇;它的硬件(單片機芯片)是固定的,通過軟件編程語言描述軟件指令在硬件芯片上的執行;

  FPGA設計屬硬件范疇,它的硬件(FPGA)是可編程的,是一個通過硬件描述語言在FPGA芯片上自定義集成電路的過程;

  4、應用上的區別

  應用上,差別更大。MCU最終所有的指令在一個MCU中都是順序執行的,而FPGA由于是邏輯單元,很容易做到并行執行。

? ? ? ?5、入門難易程度

單片機比FPGA簡單些,價格也低一些。要做PID算法控制的用單片機可以,STM32F4系列已經到300M+跑PID完全足夠,如果是跑嵌入式的話可以上ARM芯片。涉及通信、圖像等高速部分可以采用單FPGA模塊。

?

?

注:為什么我會需要 FPGA?
FPGA 可用于實現數字系統,但簡單的微控制器通常也能夠達到同樣的效果。微控制器價格低廉,而且易于放置在印刷電路板上。雖然 FPGA 是一種功能強大的工具,但未必適合所有情況。它們有更多的功耗、布局和外部電路要求,甚至可能非常苛刻。使用成本高昂且具有諸多特殊要求的 FPGA 似乎有些不合時宜。
但您也許已經猜到了需要 FPGA 的原因:靈活性。您擁有可配置的邏輯塊,就意味著不再受到硬件的制約。您不會再遇到定時器或 UART 不夠用的情況,只要您擁有邏輯單元便可創建更多定時器或 UART。它能夠隨著技術和要求的變化,在今后進行重新配置,從而延長產品的生命周期。
第二個原因是速度。微控制器只能按順序一次執行一條指令。由于硬件特性,FPGA 結構本身是并行的。因此它能同時執行多個指令,這對于 FFT 或圖形處理等操作非常有用,因為在按順序執行的處理器上,這些操作可能產生很高的成本。與 LVDS 等典型微控制器相比,FPGA 還提供了更多高速?I/O?選項,收發器能夠以 10+ Gbps 的速度處理 HDMI 等協議。
如何為 FPGA 編程?
FPGA 采用一種名為 HDL(即硬件描述語言)的特殊語言。它主要包含兩種語言:Verilog 和 VHDL。幾乎所有開發套件(例如 Quartus 或?Vivado)都支持這兩種語言,所以選擇哪種語言只是偏好問題。然后對這兩種語言進行“合成”,這類似于微控制器的編譯。合成工具告訴 FPGA 如何連接其邏輯單元,以產生代碼所描述的效果。請記住,代碼被轉換為硬件指令而非 CPU 指令,在您開始使用時,務必牢記這一點。
為了簡化開發,FPGA 供應商提供了常用代碼塊目錄,供您輕松置入到設計中。其中包括倍頻器、RAM 和通信塊等。您可對它們進行配置并添加到設計中,而無需查看涉及的 HDL 代碼,從而加快開發速度。
圖 2:顯示來自?xilinx?目錄和 HLS 的 IP 塊的部分框圖。(圖片來源:eewiki.net
有些供應商還提供高級別合成 (HLS) 工具,能夠將使用 C 或 C++ 語言編寫的功能轉換為 HDL 代碼塊。使用這些工具,可以通過抽除一些低級別細節,顯著減少具有軟件背景的開發人員的入門障礙。

它能夠使用軟處理器。軟處理器是從 FPGA 的邏輯單元構建的完整處理器。利用軟處理器,您能夠為處理器構建定制的輔助硬件,并使用 C 語言編寫應用程序。可在幾分鐘內完成簡單的軟處理器系統設置和編程。如果仍需要傳統處理器,可考慮在單一封裝中包含 FPGA 和硬?ARM?處理器的 SoC。
???? 總之,與典型的微控制器相比,FPGA 的成本更高,使用難度更大,但它們能夠提供更強的性能和靈活性。隨著技術的改進,集成度的提高,FPGA 的成本變得更低,它們甚至能夠取代傳統的微控制器。

?

總結

以上是生活随笔為你收集整理的初识FPGA(搬运)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。