哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA的可重構計算平臺設計

FPGA之家 ? 來源:數(shù)字ICer ? 作者:ligibbs ? 2022-04-13 08:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

緒論

在計算機與電子產(chǎn)品的世界中,我們習慣于通過兩種截然不同的方法實現(xiàn)計算:硬件以及軟件。計算機硬件,比如專用集成電路(ASIC),為關鍵任務提供了運算快速與資源高度優(yōu)化的方案。但是 ASIC 一旦設計與加工完成,這其中需要花費數(shù)以百萬美元的成本與大量努力,就只能永久性地配置為單一應用的解決方案。計算機軟件可以靈活地改變應用,可以進行大量不同的計算任務。但是軟件相比 ASIC 硬件實現(xiàn),在性能、硅片面積效率以及功耗等方面的表現(xiàn)有數(shù)量級的差距。

現(xiàn)場可編程邏輯門陣列(FPGA)是一種真正意義上的革命性器件,融合了軟件與硬件各自的優(yōu)勢。FPGA 所實現(xiàn)的電路與專用硬件相似,提供遠超軟件的功耗、面積以及性能。而且,能夠輕易并低成本地重新編程,以適應范圍廣泛的、不同的計算任務。與專用計算硬件一樣,F(xiàn)PGA 能夠利用空間上分布于整個芯片的資源并行數(shù)以百萬計的運算,相較于軟件所基于的通用處理器,速度運算最高可以快上百倍。然而,與 ASIC 不同的是,這些運算任務是編程到 FPGA 器件中的,而不是像 ASIC 一樣是在生產(chǎn)中固化的。這意味著基于 FPGA 的系統(tǒng)可以多次編程或者重編程(reprogrammed)。

有時,重編程可用于修復系統(tǒng)的錯誤行為,或者用于添加新的功能。而有時,F(xiàn)PGA 也可通過重編程轉換為一個為新運算任務量身設計的計算引擎。利用在運行過程中的可重編程特性,單個 FPGA 芯片甚至能夠實現(xiàn)多塊專用芯片的不同功能。

但確實,F(xiàn)PGA 實現(xiàn)軟硬件兩者的優(yōu)勢并不是沒有代價的。FPGA 幾乎具有軟件所有的靈活性優(yōu)勢以及可以使用軟件開發(fā)模型,并且具有接近硬件的高效率優(yōu)勢——但無論是相比軟件還是硬件,F(xiàn)PGA 實現(xiàn)還是有差距。相較于運行軟件的通用微處理器,F(xiàn)PGA 的性能與功耗效率最高可比前者要高上幾個數(shù)量級,但是高效的 FPGA 系統(tǒng)開發(fā)過程要復雜的多。通常來說,F(xiàn)PGA 只適合于處理以較長數(shù)據(jù)流為輸入的運算,比如信號處理、網(wǎng)絡以及其他數(shù)據(jù)流應用。相較于 ASIC,F(xiàn)PGA 在面積、延遲以及性能方面有 5-25 倍的差距。然而, 單個 ASIC 設計需要數(shù)個月到幾年的時間,花費幾百萬美元,F(xiàn)PGA 開發(fā)則僅需幾天,成本在幾十至幾百美元之間。(譯注:通常這個說法適用于 FPGA 實現(xiàn)單一功能,而不是整個系統(tǒng),后者的開銷無疑會更高)對于那些不需要極高性能或者效率的系統(tǒng)來說,F(xiàn)PGA 實現(xiàn)是一個更吸引人的方案,因為 FPGA 方案開發(fā)更為簡單,并可通過可重編程特性輕松地修復缺陷與添加功能。對于許多任務,尤其是對初學的電子開發(fā)者來說,F(xiàn)PGA 是一種理想的選擇。

基于FPGA的可重構計算平臺設計

圖 I.1 FPGA 內部結構抽象;邏輯塊(內部大方塊)嵌入在通用布線結構中

圖 I.1展示了 FPGA 的內部構造。其內部由邏輯塊組成,邏輯塊嵌入在一個通用的布線結構中。邏輯塊可實現(xiàn)基礎邏輯門(Gate),大量邏輯塊排列成陣列(Array),這就是 FPGA 中的 ‘G’ 和 ‘A’ 的由來。邏輯塊由處理單元與觸發(fā)器構成,分別用于實現(xiàn)組合邏輯與時序邏輯。處理單元是一小塊存儲空間,可實現(xiàn)任意的五輸入或者六輸入的布爾函數(shù)。(譯注:處理單元即為查找表(LUT),輸入數(shù)量取決于具體器件)通用布線結構支持邏輯塊端口間任意的連線,所以各個邏輯塊可以按開發(fā)者設想的順序連接。

得益于 FPGA 的通用性與靈活性,可以實現(xiàn)非常復雜的電路。目前的 FPGA 器件可以實現(xiàn)百萬門(譯注:電路中的組合邏輯電路規(guī)模等效于百萬個基礎邏輯門,如與非門)電路,工作頻率達到上百MHz(譯注:一般在300MHz以下)。為了提高電路的速度以及規(guī)模,F(xiàn)PGA 在邏輯塊陣列的基礎上增加了一些特別的單元,比如大規(guī)模的存儲塊(BRAM)、乘法器、快速進位鏈(fast-carry)甚至加入整個微處理器單元。(譯注:還有以太網(wǎng)控制器、DDR控制器以及高速總線的串行收發(fā)器,這些單元都是固化電路,不可編程的)通過這些預先定義并固化在硅片上的額外單元,單片 FPGA 便有能力構成整個完整的系統(tǒng)。

FPGA 中的邏輯以及布線單元的可重構由編程節(jié)點控制(programming points),基于反熔絲(antifuse)、SRAM 或者 FLASH 技術,一般來說 SRAM FPGA 對于可重構計算是一個適宜的選擇,SRAM 也是目前商用 FPGA 的主流技術。在 SRAM FPGA 中,每個布線或者邏輯單元的功能都由存儲于 SRAM 介質中的內容決定。整個器件中的 SRAM 內容可通過一個配置文件或者比特流(bitstream)進行配置,編程為用戶定義的功能。因此,整個配置過程可以快速地進行,并且不需要一些固化步驟。(譯注:SRAM 的寫入擦除均十分快速且易于進行)開發(fā)者能夠很方便地在自己的工作臺上對器件進行編程。哪怕 FPGA 器件已經(jīng)安裝于終端產(chǎn)品中,編程也十分容易進行。這就是為什么 FPGA 會被稱為現(xiàn)場可編程(Field programmable)的原因,并區(qū)別于那些僅在生產(chǎn)時可編程的掩膜可編程(mask programmable)器件,這些器件的可編程只能在產(chǎn)線上通過相應設備進行,無法在客戶現(xiàn)場完成。

譯注:Field programmable 指產(chǎn)品出了問題,帶著電腦去用戶現(xiàn)場調試,干過這事兒都懂:苦差啊。

因為 FPGA 的定制只需要將相應的內容寫入到片上的存儲中,因此和編譯、然后將程序加載到計算機中運行這一軟件開發(fā)流程相似。FPGA 相對應的流程是創(chuàng)建與 FPGA 電路對應的比特流、然后將比特流寫入到器件中(可見圖 I.2)。盡管有多種建立 FPGA 電路的方法,可以借助工具將軟件代碼(譯注:HLS)、原理圖或者其他格式的數(shù)據(jù)轉換為電路。FPGA 開發(fā)者一般還是通過硬件描述語言(HDL,Hardware description language)來構建一個應用,比如 Verilog 和 VHDL。由 HDL 描述的電路經(jīng)過一系列步驟轉換為可映射至 FPGA 器件的邏輯,這些步驟包括:

邏輯綜合(logic synthesis),將高級語法以及行為級描述,轉換為邏輯門網(wǎng)表。

工藝映射(technology mapping ),將若干邏輯門為劃分至一個邏輯組,并將邏輯組高效地映射于 FPGA 的邏輯資源。

布局布線(placement & routing,P&R),將邏輯組指定至器件上某個具體的邏輯單元,并按照用戶定義連接各個邏輯單元之間的端口。

生成比特流(bitstream generation),將布局布線后的信息生成為一個二進制文件,用于恰當?shù)嘏渲闷骷壿媶卧c布線資源。

在設計編譯完成后,我們可以通過比特流將 FPGA 器件編程為對應于某個計算應用的平臺。一般通過主機上的處理器完成比特流的下載工作。或者可以將預先編程完成的存儲介質連接至 FPGA 的配置管腳。無論如何,F(xiàn)PGA 在每次上電之后都需要讀取比特流進行配置?;蛘咴谶\行時,用戶可以按需控制器件重新下載比特流進行重配置。一旦 FPGA 配置完成,那么就會像一個具有特定功能的數(shù)字電路一樣工作。

因為 FPGA 同時具有軟件靈活性與硬件高性能兩項特性,F(xiàn)PGA 開發(fā)者的思路需要區(qū)別于純粹的軟件或者硬件開發(fā)者。軟件開發(fā)者一般開發(fā)串行執(zhí)行的程序,最大化利用微處理器的性能,來執(zhí)行一系列的指令

譯注:假設程序員只有一個單獨的處理核,并且目標運算的指令數(shù)量固定。軟件程序員的目標就是降低相同數(shù)量指令的執(zhí)行時間,換句話說,減少微處理器的等待時間。

但是在高質量的 FPGA 設計開發(fā)中需要考慮空間的并行性,即使用芯片上的多路資源并行計算,盡可能地減少運算整體時間。

譯注:假設資源是無限的,對于目標運算,F(xiàn)PGA開發(fā)者的目標是盡可能實現(xiàn)指令的并行,將指令盡可能地分配到多個并行處理單元上。

對于 ASIC 等硬件開發(fā)人員來說,因為會從硬件電路實現(xiàn)出發(fā),所以在硬件設計中具有一定優(yōu)勢(譯注:在設計階段實現(xiàn)更好的 PPA,Performance/Power/Area)。但是 FPGA 的靈活特性能夠給開發(fā)者帶來 ASIC 或者其他固化器件設計中不存在的新機遇。FPGA 設計可以更快地進行新功能的迭代和部署,甚至在現(xiàn)場重新編程。因此,F(xiàn)PGA 設計不需要 ASIC 開發(fā)那么大規(guī)模的設計團隊,所需的驗證工作也會更少 。此外,F(xiàn)PGA 的動態(tài)可重編程特性使一些設計成為可能。比如,在運算過程中設計可以根據(jù)當前的外部需求的動態(tài)改變重編程,動態(tài)地優(yōu)化自身的結構?;蛘咄ㄟ^定時對自身功能進行重構,在小型的器件上時分復用功能,實現(xiàn)規(guī)模更大的設計。但是有一點,F(xiàn)PGA 相比 ASIC 運行速度要低得多,并且容量也小得多,設計者需要細致地對設計進行優(yōu)化,以契合目標器件。

基于FPGA的可重構計算平臺設計

圖 I.2 典型的 FPGA 開發(fā)流程示意圖

FPGA 是一項擁有獨立機遇以及挑戰(zhàn)的器件,是一個非常靈活的硬件平臺。本書《可重構計算:可重構計算的原理與實踐》旨在介紹基于 FPGA 平臺的各個方面,這些方面可能是積極的,也有可能是面臨問題的,本書主要包括 6 個部分:

第一部分介紹硬件器件,包括 FPGA 以及那些為可重構專門優(yōu)化的器件(章 1-4)

第二部分關注可重構計算平臺的編程實現(xiàn),包括編程語言以及編程模型(章 5-12)

第三部分關注 FPGA 開發(fā)流程的軟件,包括圖 I.2 中每個步驟的詳情(章 13-20)

第四部分關注面向應用的 FPGA 設計,討論范圍包括:如何最高效地利用器件的邏輯資源(章21-26)這部分可以認為是 FPGA 開發(fā)者的最后一課了,因為學完的讀者應該已經(jīng)完全掌握了 FPGA 開發(fā)與軟件編程、ASIC 設計之間的區(qū)別。

第五部分是一系列案例學習,闡述了可編程器件在各領域的應用(章27-35)

第六部分包括了一些進階主題,比如可重構計算的理論模型以及衡量標準。此外還包括了可重構的缺陷、容錯(fault tolerance)等主題以及可重構計算與納米技術之間潛在的協(xié)同作用。(章36-38)

在完成了所有 38 個章節(jié)的閱讀后,讀者會發(fā)現(xiàn) FPGA 當前存在一些重大挑戰(zhàn)。但更重要的是,可重構器件為計算科學帶來的獨特機遇與收益將遠超為了克服這些挑戰(zhàn)所付出的努力。

原文標題:可重構計算:基于FPGA可重構計算的理論與實踐

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅

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

    關注

    1664

    文章

    22497

    瀏覽量

    639002
  • 計算
    +關注

    關注

    2

    文章

    460

    瀏覽量

    40120
  • 可編程邏輯
    +關注

    關注

    7

    文章

    528

    瀏覽量

    45461

原文標題:可重構計算:基于FPGA可重構計算的理論與實踐

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FPGA重構設計的結構基礎

      重構設計是指利用重用的軟、硬件資源,根據(jù)不同的應用需求,靈活地改變自身體系結構的設計方法。FPGA器件可多次重復配置邏輯的特性使
    發(fā)表于 05-27 10:22

    FPGA重構方式

    需要特定的基于SRAM或FLASH結構的新型FPGA的支持。隨著其產(chǎn)品和技術的相對成熟,動態(tài)重構FPGA的設計理論和設計方法已經(jīng)逐漸成為新的研究熱點。  根據(jù)實現(xiàn)重構的面積不同,
    發(fā)表于 05-27 10:22

    基于FPGA重構系統(tǒng)結構分析

    系統(tǒng)運行過程中動態(tài)產(chǎn)生。重構時系統(tǒng)可以邊重構邊工作。這種重構系統(tǒng)設計復雜,但靈活性大,能充分發(fā)揮出硬件運算的效率,較適合高速數(shù)字濾波器、演化計算、定制
    發(fā)表于 05-27 10:24

    【懸賞100塊】如何實現(xiàn)FPGA重構計算(Android平臺

    LZ我是大四計算機的,沒錯,我在做畢設,而且?guī)缀跻换I莫展。題目是在Android平臺上實現(xiàn)重構計算:簡單說,就是實現(xiàn)應用程序把一部分
    發(fā)表于 05-20 20:03

    采用FPGA實現(xiàn)重構計算應用

    重構計算技術概述隨著20世紀80年代中期Xilinx公司推出其第一款現(xiàn)場可編程門陣列(FPGA)以來,另一種實現(xiàn)手段——
    發(fā)表于 07-29 06:26

    有什么FPGA重構方法可以對EPCS在線編程?

    0 引言重構體系結構已經(jīng)成為FPGA系統(tǒng)開發(fā)的研究熱點,并已有許多令人矚目的研究成果及產(chǎn)品應用。FPGA
    發(fā)表于 07-31 07:15

    怎么實現(xiàn)基于FPGA重構智能儀器的設計?

    重構技術具有什么優(yōu)點?怎么實現(xiàn)基于FPGA重構智能儀器的設計
    發(fā)表于 05-06 06:44

    怎么實現(xiàn)基于FPGA的動態(tài)重構系統(tǒng)設計?

    本文提出的通過微處理器加FPGA結合串行菊花鏈實現(xiàn)重構的方式,實現(xiàn)了動態(tài)重構FPGA結構設計
    發(fā)表于 05-10 06:22

    基于對EPCS在線編程的FPGA重構方法

    基于對EPCS在線編程的FPGA重構方法 0 引言    重構體系結構已經(jīng)成為
    發(fā)表于 12-08 17:22 ?1765次閱讀

    重構計算(Reconfigurable Computing)

    重構計算(Reconfigurable Computing) RC:whatwhy RC的體系結構 RC的研究項目 RC與DSAG 重構
    發(fā)表于 11-03 22:41 ?34次下載

    重構技術分析及動態(tài)重構系統(tǒng)設計

    FPGA的不同配置電路功能,在不同時段執(zhí)行不同的算法,實現(xiàn)了虛擬硬件重構計算技術。這里提出的通過微處理器加FPGA結合串行菊花鏈實現(xiàn)
    發(fā)表于 11-25 10:20 ?1.5w次閱讀
    <b class='flag-5'>可</b><b class='flag-5'>重構</b>技術分析及動態(tài)<b class='flag-5'>可</b><b class='flag-5'>重構</b>系統(tǒng)設計

    基于FPGA硬件平臺重構系統(tǒng)調度算法詳解

    重構系統(tǒng)是指以軟件改變硬件結構以實現(xiàn)具體應用的計算平臺,一般由非柔性但可編程的處理器和柔性的以程序控制重構的數(shù)字邏輯器件構成。目前國內外
    發(fā)表于 07-11 11:20 ?2650次閱讀
    基于<b class='flag-5'>FPGA</b>硬件<b class='flag-5'>平臺</b>的<b class='flag-5'>可</b><b class='flag-5'>重構</b>系統(tǒng)調度算法詳解

    重構和自適應計算:理論與應用

    重構計算技術和自適應系統(tǒng)作為最有前途的微處理器體系結構之一引起了人們的極大興趣。重構系統(tǒng)的起源,也被稱為可編程邏輯器件或現(xiàn)場可編程門陣列
    發(fā)表于 03-28 09:40 ?5次下載

    重構計算:基于FPGA重構計算的理論與實踐 1.器件架構 譯文(一)

    根本上來說,重構計算可以最好地發(fā)揮重構硬件的潛力。雖然一個完整的系統(tǒng)必須包括編譯軟件和高性能的應用程序,但了解
    發(fā)表于 01-26 18:23 ?7次下載
    <b class='flag-5'>可</b><b class='flag-5'>重構</b><b class='flag-5'>計算</b>:基于<b class='flag-5'>FPGA</b><b class='flag-5'>可</b><b class='flag-5'>重構</b><b class='flag-5'>計算</b>的理論與實踐 1.器件架構 譯文(一)

    關于FPGA重構技術分析

    FPGA上的重構技術根據(jù)FPGA芯片內部的不同結構可以分為兩種,分別是動態(tài)重構和靜態(tài)
    發(fā)表于 11-03 20:09 ?1436次閱讀
    永康市| 沙坪坝区| 永寿县| 佳木斯市| 大冶市| 共和县| 弥渡县| 札达县| 安顺市| 洛隆县| 清涧县| 金阳县| 武威市| 施秉县| 广州市| 清流县| 五大连池市| 田林县| 和平县| 池州市| 丹东市| 萨嘎县| 靖安县| 拜泉县| 伽师县| 公安县| 新源县| 巨野县| 翁牛特旗| 仁布县| 杨浦区| 商洛市| 梅河口市| 宁晋县| 施秉县| 博客| 黄梅县| 兴和县| 海南省| 海安县| 东山县|