1. <sup id="tdjd1"><rt id="tdjd1"></rt></sup>
      <address id="tdjd1"><s id="tdjd1"><abbr id="tdjd1"></abbr></s></address><rt id="tdjd1"><form id="tdjd1"><noscript id="tdjd1"></noscript></form></rt>

      <ruby id="tdjd1"></ruby>

      <thead id="tdjd1"><rt id="tdjd1"></rt></thead>

    1. AV不卡国产在线观看,欧洲免费精品视频在线,国产精品最新免费视频,精品午夜一区二区三区久久,亚洲丁香婷婷久久一区二区,中文字幕久久久久人妻无码,99久久国语露脸精品国产,精品国偷自产在线视频

      FPGA是如何工作的?有哪些特點?

      FPGA是如何工作的?有哪些特點?

      最佳答案 匿名用戶編輯于2024/03/12 11:01

      FPGA 無可比擬的靈活性,以及確定性的低時延優勢,是 FPGA 難以被替代的原因,也是 FPGA 為 客戶提供的獨一無二的價值。

      1. FPGA 如何工作?

      要回答“FPGA 提供了什么價值”的問題,我們需要理解 FPGA 的架構和原理,即 FPGA 是如何工作的?FPGA 由可編程邏輯塊、可編程連線和可編程 I/O 三大部分組成。其中,1)可編程邏輯塊是 FPGA 架構中 最重要的部分,負責承載主要的電路功能;而在電路被映射到各個邏輯塊后,預先放置的 2)可編程連線負 責將這些邏輯塊以時延最優的方式連在一起,共同構成一個更大規模的電路;最后,由 3)可編程 I/O 負責 FPGA 與外界交互,可以實現諸如將信號串行解串行、將信號延遲以對準時鐘等更復雜的功能。 可編程邏輯塊本質上由多個 LUT、MUX 和寄存器構建而成,用于承載電路中的一個個邏輯“門”。每個廠商 對自身 FPGA 的可編程邏輯塊的稱呼不一樣,比如賽靈思是 CLB(Configurable Logic Block,可編程邏 輯塊),而 Altera 則是 LAB(Logic Array Block)。盡管如此,可編程邏輯塊中最重要的兩塊“積木”就是 LUT(Look-up Table,查找表)和寄存器。以賽靈思傳統的 FPGA 為例,1 個 CLB 包含了 4 個 Slice,而 1 個 Slice 由 2 個邏輯單元(Logic Cell,LC)組成。每個邏輯單元包括 1 個 LUT4、若干個多路復用器(MUX) 和 1 個寄存器,可完成時序電路和組合電路,代表 FPGA 的基礎容量。現代 FPGA 中往往有數十萬個邏輯 塊,彼此既可前后相連,也可同時獨立地處理 IO 輸入的信號,不需要耗費時間處理控制指令,這是 FPGA 并行性好的原因。

      其中,LUT 是 FPGA 實現可編程的基礎,本質上是一個對應真值表輸出的查找表,可以完成任意組合電路 的功能。比如,下圖中的組合邏輯(Y= AB + ?D + C?)最少需要 3 個邏輯門實現(與門、異或門、或門), 在 FPGA 里面需要占用到一個邏輯單元。傳統的 FPGA 基本是 LUT4(四輸入的 LUT),而現代的 LUT 基本 是 LUT6 或者 LUT8。除此之外,LUT 可以當作分布式的 RAM 來使用,比如 LUT4 就是一個 16*1 的 RAM。

      通過改變 LUT4 里面的 16 位掩碼,就能靈活地對應不同的組合電路,再結合寄存器,可以完成時序電路的 功能,從而實現任意電路的“可編程”。數字電路有兩大類:組合電路和時序電路。組合電路的功能就是負 責在特定規則下,將輸入的信號轉換為輸出信號。例如,我們規定當 AB 同時為 1,或者 CD 不同時,輸出 才為 1,否則為 0,這一規則對應的表達式為 Y= AB + ?D + C?。由于 A、B、C、D 每個變量有“0”和“1” 的選項,所以輸出有2 4即16種可能,我們將輸入和輸出的所有可能列出來,就形成了一張真值表(Truth Table)。 將真值表中輸出的16位數值配置到LUT4的SRAM單元中,我們就能把組合電路映射到查找表中。一個LUT4 最多能表示 20 個 2 輸入的邏輯門,百萬甚至千萬門級的電路往往是通過可編程連線,將不同的邏輯單元連 在一起組合而成。而時序電路即“組合電路+存儲”,邏輯單元中的寄存器可以用作存儲單元,將組合邏輯的 結果送到下一個組合電路的輸入端,電路就能像流水線一樣同時工作。

      可編程連線負責聯通 FPGA 中的眾多模塊,以一種滿足時序約束的方式。將目標電路在 FPGA 上實現,包 含了三個最核心的步驟:1) 映射(Mapping):將電路的邏輯門映射到不同的 LUT 中,形成 LUT 級網表; 2) 包裝(Packing):將這些 LUT 放置到 CLB 中,形成 CLB 級網表;3)布局&布線(Place-and-route): 將 CLB 放置在合適的位置并彼此相連。由于數據信號的處理和傳輸需要時間,時鐘信號的傳遞和變化也需要 時間,如果布局和連線的方式不合理,就會出現數據到達下一個寄存器的時間過晚或者過早,即數據采集失敗的情況。大型的電路往往有數十萬個 CLB 需要相連,這項復雜的工作由 FPGA 廠商的 EDA 工具負責,例 如賽靈思的 Vivado,Altera 的 Quartus,這些 EDA 將電路映射到多個 CLB 上,并且找到合理的布局和連接 方式,確保電路能在用戶指定的頻率上工作,即滿足時序約束。因此,連線的可編程性更多地體現在 EDA 軟件對于時序約束的滿足能力上。如何提高自家 EDA 在映射、包裝、布局&布線這三個核心步驟的效率,以 減少客戶的設計用時(進而培養使用習慣),一直都是 FPGA 公司的研發重點,也是其競爭法寶。

      布局布線是 FPGA 廠商的獨門秘籍,是其 EDA 的核心。完整的 FPGA 設計流程包括三大步驟:設計輸入 (Design Entry)、仿真&綜合(Simulation & Synthesis)、實施(Implementation)。“設計輸入”指將電路用 硬件描述語言(Verilog 或 VHDL)描述,“仿真”即檢查描述的電路功能是否完整,“綜合”負責電路的映射 和包裝,“實施”即布局&布線。在隨后的靜態時序分析(STA)和調試無誤后,形成比特流文件下載到 FPGA 中,電路就可以“跑”起來了。盡管 FPGA 廠商的 EDA 工具能提供一套完整的流程,但在設計大型電路時, 電路的驗證仿真往往交給第三方的 EDA 完成,例如 Mentor 的 ModelSim。而 FPGA 的 EDA 則負責進行下一步的綜合(甚至綜合也可以在第三方 EDA 中完成,例如 Synopsys 的 Synplify)。這是由于電路仿真不涉 及 FPGA 的具體架構,只需考慮電路功能的完整性。隨著電路的大型化和復雜化,這一工作逐漸由第三方 EDA 公司承擔。而 FPGA 廠商的 EDA 真正核心之處在于布局和布線。因為布局布線涉及 FPGA 的內部具體 架構,這是每家 FPGA 公司的機密,無法交給第三方完成,這是 FPGA 廠商需要自研 EDA 的根本原因。從 FPGA 誕生以來,布局布線就從來只在 FPGA 公司的 EDA 上進行。

      可編程 IO 負責 FPGA 和外界的交互,可以對輸入和輸出信號做復雜的處理。FPGA 通常有幾百到上千個管 腳,除了時鐘、電源和配置的專用管腳外,大部分管腳負責引入或輸出信號。FPGA 的可編程 IO(IO Tile) 是 FPGA 非常重要的部分,由 IOB 模塊(Input/output Buffer)和緊鄰的 IO 邏輯資源共同組成。外界的信號 從管腳進入 FPGA 的 CLB 之前,首先通過可編程 IO 進行處理。除了可以指定引腳的電壓水平和標準外,還 能執行許多復雜的處理。例如,將信號延遲輸入以對準 FPGA 內部的時鐘,將信號異步或者同步采集等功能。

      其中,可編程 IO 中最重要的功能為串行和解串行數據。以賽靈思的 Virtex-7 FPGA 為例,IO Tile 中的 ISERDES 模塊可以將輸入的串行信號解串行為并行信號,OSERDES 模塊可以將輸出的并行信號串行,以進行遠距離傳輸。此外,FPGA 中功能相似位置相近的 IO 接口歸為一個“簇(bank)”,1 個簇包含 50 個 IO 口,因此 FPGA 的 IO 數量一般為 50 的倍數。一個 FPGA 可以有數十個簇,高達 1000 多個 IO 接口。 現代的 FPGA 是邏輯單元和固化功能的混合體。除了傳統的 CLB 模塊外,90 年代開始,FPGA 廠商不斷將 頻繁用到的功能“固化”到 FPGA 中,包括 RAM、DSP、收發器、CPU 等單元,用戶可以直接在片上調用, 而不是用邏輯單元實現。這一操作可以極大地提高計算效率,避免浪費寶貴的邏輯資源,節省芯片面積。

      除此之外,為了實現更好的性能,現代 FPGA 的邏輯塊和互聯結構也發生了變化。首先,從可編程邏輯塊內 部每個查找表的結構來看,主流的 FPGA 從 LUT4 變成 LUT6 或者 LUT8,以減少邏輯塊數量、降低走線時 延,且內部的輸入方式可以按需組合。例如,Altera ALM 中的 LUT8,可以按需劃分成任意輸入組合;賽靈 思 CLB 中的 LUT6,也可以劃分成兩個 LUT5 使用。其次,邏輯塊內部除了 LUT、寄存器、多路選擇器這“三 大件”外,還添加進了一些固化電路。例如,賽靈思在其 CLB 內部的每個 Slice 里都固化了進位鏈,以實現 更快的算術運算。最后,在互聯上,同一個 CLB 內部的 SLICE 互不相連,以避免全連接帶來的布線延時。

      2. FPGA 特點是能“經常改”和“算得快”

      在解釋完 FPGA 的原理架構后,我們來回答第一個問題,即 FPGA 給用戶提供了什么價值?我們將其總結 為能“經常改”和“算得快”: 1)靈活性高,適合高速迭代的場景(能“經常改”):正如我們前文解答過,只需要改變 FPGA 中 LUT 的掩 碼,一片 FPGA 就可以承載另一個電路的功能。因此,FPGA 可以實現任何電路功能,其耗時甚至不超 過一秒,修改不限次數,這就是 FPGA 極高的靈活性特點。FPGA 這一特性尤其適合以下 4 種場景: a) 標準/協議/算法經常更改的行業,需要支持可重構的系統,例如,無線通信協議經常更改、數據中 心互聯需要兼容多種協議標準、神經網絡算法飛速迭代、軍工通信加密方式經常變化、在軌航天器 的處理系統動態重構等,類似的場景使用 FPGA 能夠節省大量的時間和研發成本; b) 快速迭代、成本敏感的行業,因為“現場”可用,相比 ASIC,FPGA 無需等待三個月至一年的流 片周期,上市時間短,對于消費電子這類競爭激烈、迭代迅速的行業尤其重要,像 Lattice、賽靈思 自 2000 年起都紛紛針對消費電子市場,推出了不少單顆$2.5 上下的中低容量的 FPGA; c) 小批量的行業,芯片研發階段的 MASK(光罩)費用是固定費用,65nm 一次需要 200 萬人民幣, 45nm 需要 430 萬人民幣,28nm 需要 1000 萬。隨著制程提升,一次不成功的風險增大。對于年需 求量< 500 萬顆的場景,專門為某一應用開發 ASIC/ASSP,后續的銷售額很難攤平巨大的研發成本。 FPGA 雖然單價較高,但由于其可以實現任何電路功能,節省了芯片千萬級別的研發成本,特別適 合小批量的產品,例如國防和航天領域;

      d) 反復修改驗證的設計,例如,在 ASIC/ASSP 的原型設計中幾乎都會使用 FPGA 進行驗證,以發現 設計中存在的問題,及時修改,盡可能避免多次流片的風險。芯片原型仿真是 FPGA 的“剛需”之一, 亦是 FPGA 誕生的根本原因,最高端的 FPGA 往往會銷售給英特爾這些大型的數字芯片公司,供其 新一代產品的驗證,這一需求亦不斷支撐 FPGA 走在技術節點前列。

      2)并行性好,適合要求低時延和大量并行計算的場景(“算得快”):FPGA 內部數十萬個 CLB 可以同時獨 立工作,即使時鐘頻率較低,其計算效率要遠遠高于數個高效單元,特別適合信號處理這種涉及大量并 行計算的場景。此外,由于不存在線程或者資源沖突的問題,FPGA 的時延是確定的低時延,特別適合 低時延的場景。這類場景廣泛存在于各個行業,比如: a) 通信行業的基站,無論是 RRU/AAU,還是 BBU/DU/CU,甚至核心網的設備,都需要用到 FPGA, 實現諸如 Turbo 編碼,協議處理加速等的功能。而在售價數十萬甚至百萬人民幣級別的無線信號測 量儀器,同樣會用到單價上萬元的高端 FPGA 進行信號的處理控制; b) 國防軍工行業,典型場景如雷達數據處理,需要滿足大容量、低延時、高可靠的特性,才能實現微 秒級的處理需求,而這一時延和穩定性要求只有 FPGA 能達到;在使用了光纖陀螺的慣性導航系統 同樣,FPGA 可以對光信號進行低延時控制,實現光纖陀螺儀高精度、高動態的測量; c) 工業:由于工業有大量的低時延場景,FPGA 在工業領域應用是非常廣泛的,常見于伺服電機驅動, 往往采取CPU+FPGA的架構,以實現微秒級別的控制環路反饋/,像賽靈思Zynq系列(SoC FPGA) 在工業就擁有廣泛的應用。此外,在激光設備中也使用 FPGA 進行皮秒/飛秒激光器的信號控制; d) 汽車:典型的應用在 ADAS 領域,這是由于 FPGA 比 GPU 時延更低,能保證更好的制動距離;除 此之外,FPGA 也應用在行車后視鏡等場景; e) 安防&視頻:主要應用在安防高清視頻的前端數據采集和低延時處理,在 LED 屏顯同樣應用廣泛; f) AI:深度學習的模型往往涉及大量的乘法和累加,特別適合使用 FPGA 并行計算,以加速訓練速度。

      換句話說,相比 ASIC 和 ASSP,PLD 最突出的優點是靈活性高。對于設計電子系統的用戶(例如華為), 其產品內部使用的芯片有三種選擇:自己設計一顆 ASIC、購買例如高通、STM 提供的 ASSP、購買賽靈思 的 PLD。ASIC 與 ASSP 的區別在于,ASIC 是針對單一使用者的單一應用設計的,由使用者定義功能,而 ASSP 是為多個使用者設計的,其功能由芯片廠商而不是使用者定義,因此需要統一的標準。ASIC 的設計 費時,成本也非常昂貴,但能做到在目標應用的性能最優和功耗最低。ASSP 和 ASIC 的設計流程類似,但 更加通用,能兼具多個應用場景的性能和功耗。ASIC 和 ASSP 制造后芯片功能就固化了,以 FPGA 為代表 的 PLD,其芯片功能是可以反復修改的,雖然性能上不一定是最優,但靈活性是 ASIC 和 ASSP 所無法比擬 的。

      相關報告
      我來回答

      快速提問

      海量報告支持,行業專家解讀

      海量文庫支持,行業專家解答

      用戶解答榜
      分享至
      主站蜘蛛池模板: 野外三级国产在线观看| 亚洲中文自拍| 亚洲成aⅴ人片精品久久久久久| 在国产线视频a在线视频| 怡红院a∨人人爰人人爽| 国产亚洲欧美精品久久久| 国产黄在线观看免费软件下载| 情侣国产精品视频自拍| 国产免费好大好硬视频| 伊人久久大香线蕉综合5g| 亚洲综合成人网站| 在线观看91香蕉国产免费| 免费人成在线观看网站品爱网 | 真实的单亲乱自拍对白免费| 久久精品国产乱子伦多人| 中文人妻AV高清一区二区| 国产av大陆精品一区二区三区| 日韩精品亚洲精品第一页| 日韩一区二区三| 免费精品无码av片在线观看 | 亚洲日本国产精品一区| 国产精品久久国产精品99 | 中国国语毛片免费观看视频| 国产亚洲精品麻豆一区二区| 日本精品极品视频在线| 久久96热在精品国产高清| 99国产欧美另类久久久精品| 日无码视频| 黄色在线播放不卡一区二区| 国产亚洲精品va在线| 丁香婷婷综合激情五月色| 在线看片a| 中文天堂在线WWW最新版官网| 久久福利影院| 全程粗话对白视频videos| 欧美一区二区三区激情| 中国九九激情| 丰满人妻熟妇乱又伦精品劲 | 日本少妇高潮喷水视频| 亚洲无码高清视频| 亚洲2022国产成人精品无码区|