91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

如何采用FPGA更新傳統(tǒng)系統(tǒng)提升計算能力

電子設計 ? 來源:英特爾FPGA ? 作者:英特爾FPGA ? 2021-01-25 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA 技術更新傳統(tǒng)系統(tǒng)是許多嵌入式系統(tǒng)設計人員都知道的場景。但現(xiàn)有設計確實需要更新,這其中就包括連接互聯(lián)網(wǎng)、 IoT等。當然,我們也需要進一步增強安全性。尤其考慮到目前人們熱衷于人工智能,大家對深度學習推理或機器視覺又有了新的需求。

盡管現(xiàn)在已將系統(tǒng)整合至物聯(lián)網(wǎng),但仍然面臨一個迫在眉睫的問題——這些更改將對系統(tǒng)硬件造成影響。直接使用 CPU 可以緩解所有的問題(圖 1)。但對于小型嵌入式設計(一開始就只有一英寸的小外形)來說,由于存在成本、功耗和散熱方面的限制,這種蠻力法可能行不通。此時,必須采用 FPGA 方法。

圖1.更新傳統(tǒng)系統(tǒng)可能需要采用新的方法來提升計算能力

事實上,系統(tǒng)中通常有一個老舊的小型 FPGA 負責執(zhí)行實用工作:充當端口擴展器或設備控制器。然而,現(xiàn)在的低端 FPGA 可以充當硬件加速器,將新的計算要求拉回至現(xiàn)有系統(tǒng)處理器范圍之內。

采取下一步行動

我們需要采取進一步行動,考慮將系統(tǒng)(或子系統(tǒng))的 CPU 或微控制器單元 (MCU) 也整合到 FPGA 中是否可行?顯而易見,答案是“當然不可行”。眾所周知,F(xiàn)PGA 中的軟 CPU 內核尺寸大、速度慢、價格貴。除了對于重要的嵌入式系統(tǒng)來說,這些概括性說法都不對。

我們不是在討論擁有強大 CPU 性能的系統(tǒng)。(比如 Arm* Cortex*-A53 內核集群。)在硬件中包含此類 CPU 集群的中端 FPGA,但該主題不在本文介紹范圍之內。今天我們討論的是處理器適用范圍更廣的系統(tǒng)(或總體設計中的子系統(tǒng)):微控制器中的 Cortex-M 級內核,或真正的傳統(tǒng) CPU,如 68000。通常情況下,這種老舊處理器不適用于系統(tǒng)設計,因為它們始終不愿意接觸古老、文檔不完整的代碼,直至最后生命周期結束被迫淘汰。我們要介紹的是,通??梢詫⑦@種小型或老舊 CPU 整合至低端 FPGA 中(圖 2)。

圖 2.小型現(xiàn)代 FPGA 可以吸收舊設計中所有的傳統(tǒng)處理器

“芯”起點在哪兒?

如果您有用 C 或 C++(最好是通過原始測試工作臺)編寫的文檔化源代碼,那么情況將對您非常有利。您可以從適用于在 FPGA 中進行軟實施的整個 CPU 內核選項中進行選擇。然后,還可以針對所選的 CPU 重新編譯并測試代碼。

遺憾的是,測試結果并不總是樂觀的。過去,微處理器的編譯器并不總是適合嵌入式設計,尤其是對于存在實時限制的子系統(tǒng)。老代碼或保守型工程師編寫的代碼,可能完全是用匯編語言編寫的?,F(xiàn)代代碼主要是用 C 語言編寫的,其中關鍵例程用匯編語言手動編寫。無論采用哪種語言編寫,都至少會有一部分代碼鎖定在特定的指令集架構中。

其次,需要謹慎考慮硬件獨立性程度,不是語言方面,而是編碼風格方面。在過去節(jié)省代碼空間和縮短延遲至關重要的時候,往應用代碼中嵌入中斷處理程序、驅動程序和物理 I/O 地址等不良實踐通常被認為是明智之舉,這些做法會加大移植到新硬件的難度。過去,一些極其糟糕的想法,比如編寫時序依賴型代碼,通常被認為更加明智。這種代碼可能需要重新編寫,才能在快速的現(xiàn)代硬件上運行。但即使存在匯編語言源代碼和不合時宜的編碼風格,我們仍然可以采用實際方法將傳統(tǒng)模塊整合到 FPGA 中。

第一種方法是,如果 CPU 的確非常老舊,則使用開源寄存器傳輸級 (RTL) 模型在 FPGA 中重新實施傳統(tǒng)微處理器或微控制器。Github 等資源擁有許多用于傳統(tǒng)處理器(包括 6502、Z80、6809、68000 和 8086)的 Verilog 模型。但在這些內核中進行設計之前,必須考慮幾個問題。

第一個問題是合法性。因為 Verilog 可用并不意味著您擁有在商業(yè)產品中使用該設計的合法權利。有一些模型是研究人員和業(yè)余愛好者編寫的,沒有考慮到知識產權。因此,很久之前的一些架構可能實際上位于公共域中。

另一個問題是作者的意圖。例如:Verilog 是架構的近似功能描述。它的目的是僅在模擬中執(zhí)行代碼,還是封裝在用戶控件邏輯和 I/O 中?或者,該模型是否包含進入微處理器芯片的其他所有硬件?您必須匹配 Verilog 模型的特性和傳統(tǒng)系統(tǒng)的需求,否則將要花費大量的時間來了解舊芯片的劣勢。

接下來就是一些令人傷神的細節(jié)問題。SiFive 產品經理 Jack Kang 指出,與現(xiàn)代 CPU 一樣,傳統(tǒng) CPU 也在整個產品生命周期中經歷了多次修改,每次修改都會糾正一些錯誤或劣勢。Verilog 代表哪個版本?或者它是一個理想化版本,代表著作者假定芯片怎樣正常運行的方式?最后是設計師的謹慎程度。該模型是否按照實際傳統(tǒng)芯片一個循環(huán)接一個循環(huán)地運行?是否啟動了您需要使用的操作系統(tǒng)?是否成功合成過?

如果 Verilog 模型無法正常運行,還有另一個選擇。老舊的 CPU 速度非常慢,以致于在當前 FPGA 中的微小現(xiàn)代 RISC 內核上運行的指令集模擬器都可以實時地遍歷傳統(tǒng)代碼,尤其是當麻煩序列卸載到 FPGA 中其他位置的狀態(tài)機上時。這種方法不能簡單地呈現(xiàn)周期精確或時序精確,但在功能上是正確的。而且它還可以將移植問題從硬件域轉換到軟件域,在軟件域,您可以訪問整個調試工作臺,這樣移植問題處理起來容易得多。

如何實施 CPU?

討論了將傳統(tǒng)代碼遷移至新系統(tǒng)的可行性和難度后,接下來的問題是如何在低端 FPGA 中實施 CPU 內核。我們之前討論過復制傳統(tǒng) CPU 的情況,現(xiàn)在我們可以來了解下實施現(xiàn)代高性能 CPU 的選項。

主要問題是處理器內核依賴部分硬件結構,這種結構在 ASIC 中以標準單元甚至是自定義邏輯的形式實施,無法在 FPGA 結構中輕松高效地復制。因此,我們必須了解三種不同情況(圖 3):

僅通過用于模擬或 ASIC 合成的 Verilog 模型進行合成的 CPU 內核 — 即所謂的開箱即用場景。

擁有面向 FPGA 合成手動優(yōu)化的 RTL 的內核。

從一開始就開發(fā)了架構以在 FPGA 中實施的內核。每種方法的可用性、規(guī)模和性能都不相同。這些方法都適用于現(xiàn)代低端 FPGA。

圖3.CPU 內核中的三種 FPGA 優(yōu)化級別。

開箱即用

盡管并不是每家 CPU 內核知識產權 (IP) 廠商都專門針對 FPGA,但大多數(shù) IP 提供商都至少提供兩條遷移至 FPGA 內核的路徑。最明顯的路徑是授權面向內核的 RTL 源代碼,并通過 FPGA 廠商的工具鏈運行該代碼。實施這條路徑會遇到很多挑戰(zhàn),全都是因為該 RTL 用于 ASIC 合成,而非 FPGA 合成。

特別是首次在 FPGA 中嘗試運行該代碼,那么遇到第一個問題將是:源代碼中的有些東西是采用 FPGA 合成工具無法處理的。代碼可能與合成工具不兼容的方式被隱藏或加密,可能包含您的工具無法識別的編譯指示、信號命名,甚至是帶有破壞性的注釋約定。您可以編輯這些內容,但會因此產生第二個問題:許可。

如果您使用用于 ASIC 開發(fā)的 Verilog 源代碼,可能需要進行編輯。這意味著您需要包含完整文檔的未隱藏的源代碼,以及/或 IP 廠商的大量支持。這些都是可用的,但它們都是針對財力雄厚、產量巨大、擁有大型法務部門的客戶所編寫和定價的。

還有另一條路徑:一些 IP 廠商提供評估或開發(fā)套件,您可以通過它們在 FPGA 中實施 CPU 內核。該內核可能沒有經過高度優(yōu)化,但至少可以運行和驗證,而且其速度對軟件開發(fā)來說足夠快。

SiFive 產品經理 Jack Kang 表示,他的一些客戶已經采用了這種方法。該公司的 CoreDesigner 工具支持您從各種 RISC V 預配置內核開始,根據(jù)您特定的需求調整配置,然后輸出 RTL。但該工具也會在 SiFive 的開發(fā)套件上輸出一個關于 FPGA 的編程文件。

Kang 還指出,“RISC V 的這種 FPGA 實施并未面向 FPGA 使用進行高度優(yōu)化,但仍然包含不到 20K 的查找表,而且速度可以達到 100 Mhz 左右,當然這很大程度上取決于配置。這種規(guī)模適合許多留有大量空間的低端 FPGA,支持您快速、輕松地將常用開源內核整合到系統(tǒng)中?!?/p>

優(yōu)化方法

有一些方法可以改善這些數(shù)據(jù),但需要采取一些措施。之所以有這種改善機會,是因為 CPU 中有一些結構并不適合 FPGA 邏輯結構。

FPGA 使用大量相同邏輯元件陣列來實施邏輯,每個元件都包含一些查找表 (LUT) — 通常每個 LUT 包含 4 個輸入 — 以合成邏輯函數(shù),以及一個或多個觸發(fā)器。這種安排適用于大多數(shù)隨機邏輯、管道和簡單狀態(tài)機。對于高扇入邏輯,由于可能出現(xiàn)在算法硬件和地址解碼器中,因此合成往往會生成一長串窄邏輯元件,從而消耗互連并導致延遲。對于基于內存的功能,比如寄存器文件、高速緩存和相聯(lián)內存,一次將功能映射至邏輯元件的觸發(fā)器(一或二位)可能要消耗大量資源,即使廠商工具足夠智能,嘗試將邏輯元件的 LUT 和觸發(fā)器隔離,并單獨使用它們。

很久以前,當 FPGA 首次用于數(shù)據(jù)包切換、數(shù)字信號處理和類似應用時,這種不匹配就非常明顯。為了解決這個問題,F(xiàn)PGA 廠商在邏輯結構中嵌入了大型可分割 SRAM 模塊和硬件乘法累加模塊。通過使用這些資源,通??梢燥@著改進 CPU 實施規(guī)模,有時還可以提高性能。但可能需要在 RTL 源代碼中或合成過程中運用一定的知識進行干預。如果熟練的 FPGA 用戶仔細檢查 RTL,并面向 FPGA 合成使用已知最佳 FPGA 編碼實踐對其進行調優(yōu),能夠進一步提升性能。

特定于 FPGA 的內核

行業(yè)標準 CPU 內核,比如 Cortex-M 家族或 RISC V,提供熟悉度、成熟的(或以 RISC 為例不斷壯大的)工具和軟件生態(tài)系統(tǒng),以及在 FPGA 廠商之間輕松遷移或遷移至 ASIC 實施的機會,甚至在某些情況下還可遷移至第三方現(xiàn)成的 SoC。但反過來要付出一定的代價:費用、規(guī)模,有時還有性能。

如果您想最大限度地優(yōu)化 FPGA,還需采取另一個步驟:不僅優(yōu)化實施過程,還要優(yōu)化 CPC 和指令集架構本身:從一張白紙開始,僅添加對 FPGA 友好的結構。很久以前,當 FPGA 首次變得足夠大,可容納 CPU 內核時,主要 FPGA 廠商就已經開始做出這樣的努力。他們始終在做出這樣的努力:在英特爾案例中為 Nios? II 處理器,其以發(fā)展演進為專有 CPU 架構,不斷壯大由工具、軟件和 FPGA 外設 IP 組成的生態(tài)系統(tǒng)。

目前,這些內核家族提供多種類型的產品,從具備最少特性的小型微內核 (和 Arm 的 Cortex M0 沒什么不同)到全功能、支持 Linux 的 CPU。其中許多型號都適用于廠商的低端 FPGA。例如,緊湊型 Nios Iie 內核只需大約 1000 個邏輯元件,但速度可達到或超過 75 MHz。在另一個極端,具備高速緩存和內存管理功能,且能夠運行 Linux* 操作系統(tǒng)的內核大約需要 5000 個元件。在這兩者之間還有許多選擇來滿足特定需求。甚至這種全功能配置也足夠小,不但可以將多核 CPU 集群放在一臺低端英特爾? MAX? 10 設備中,還仍然擁有足夠的空間。

因此,有許多方法可以將傳統(tǒng) CPU 功能遷移至低端 FPGA,同時仍然擁有豐富的資源來支持傳統(tǒng)接口或控制器功能、IoT 連接、安全性,或機器學習加速。古老的機器代碼可在 FPGA 上運行,以向老舊 CPU 致敬,也可在現(xiàn)代內核的指令集模擬器上運行。

高級語言代碼可面向現(xiàn)代代碼進行編譯。極具挑戰(zhàn)性的代碼模塊可以卸載到 FPGA 中的加速塊中,然后通過多種優(yōu)化程度各不相同的方法,得到許可并在 FPGA 中實施現(xiàn)代 CPU 內核的某個版本。為了最大限度地提高資源效率,廠商專有 CPU 內核可在各種性能和功能點中實現(xiàn)最佳的緊湊性,且?guī)缀踹m合所有的設計場景。
編輯:hfy

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

    關注

    48

    文章

    8427

    瀏覽量

    164866
  • FPGA
    +關注

    關注

    1661

    文章

    22440

    瀏覽量

    637258
  • 嵌入式系統(tǒng)

    關注

    41

    文章

    3757

    瀏覽量

    133717
  • 機器視覺
    +關注

    關注

    165

    文章

    4806

    瀏覽量

    126218
  • 深度學習
    +關注

    關注

    73

    文章

    5600

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    XC7Z020-2CLG484I 雙核異構架構 全能型 SoC

    的供應鏈支持,保障研發(fā)與量產穩(wěn)定性。? ? 在萬物互聯(lián)的時代,XC7Z020-2CLG484I 以其雙核異構架構的先天優(yōu)勢,既解決了傳統(tǒng)處理器靈活性不足的痛點,又彌補了純 FPGA 串行計算
    發(fā)表于 02-28 23:37

    高欠壓保護驅動器SiLM27511HAC-AQ以12.5V欠壓鎖定提升驅動電路可靠性

    : 高閾值欠壓保護,防范于未然 相比常規(guī)驅動器,更高的UVLO閾值可在系統(tǒng)電源開始跌落時更早介入,避免功率管因驅動電壓不足而進入線性區(qū)產生高熱損壞,大幅提升系統(tǒng)在惡劣電源環(huán)境下的生存能力
    發(fā)表于 01-14 08:28

    Altera Agilex 5 D系列FPGA和SoC家族全面升級

    Agilex 5 D 系列 FPGA 和 SoC 家族全面升級,為中端 FPGA 應用能力帶來巨大飛躍——邏輯單元、內存、DSP/AI 算力提升高達 2.5 倍,外存帶寬
    的頭像 發(fā)表于 11-25 14:42 ?2287次閱讀

    嵌入式和FPGA的區(qū)別

    嵌入式系統(tǒng)FPGA的核心差異:軟件定義功能VS硬件可重構。嵌入式適合通用計算,開發(fā)門檻低;FPGA憑借并行處理實現(xiàn)納秒級響應,但成本高、開發(fā)難。二者融合的SoC器件正成為未來趨勢,平
    發(fā)表于 11-19 06:55

    龍架構計算機系統(tǒng)能力核心課程教學研討會圓滿舉行

    2025年11月8日,由教育部計算機類專業(yè)系統(tǒng)能力課程群虛擬教研室指導、北京航空航天大學計算機學院主辦的龍架構計算機系統(tǒng)
    的頭像 發(fā)表于 11-14 13:52 ?674次閱讀

    誰家在低成本MCU中集成CPLD/FPGA,這有何優(yōu)勢呢?

    海振遠推薦的AG32系列MCU作為高性價比異構計算平臺,其獨特架構和功能特性在嵌入式領域具有顯著優(yōu)勢。以下是核心特性分析: 1、FPGA+MCU融合設計? 內置2K邏輯單元的FPGA
    發(fā)表于 11-06 11:15

    英威騰光伏逆變器助力越新傳動綠色能源轉型

    在全球積極推進綠色能源與可持續(xù)發(fā)展的大背景下,光伏發(fā)電作為清潔可再生能源的重要組成部分,正日益彰顯其戰(zhàn)略價值。江蘇常州越新傳動系統(tǒng)有限公司緊跟能源轉型趨勢,投資建設2MW工商業(yè)光伏項目,采用“自發(fā)
    的頭像 發(fā)表于 08-29 13:43 ?884次閱讀

    當門禁系統(tǒng)遇上邊緣計算,看RK3568核心板如何帶來智能化變革

    邊緣計算作為一種將計算能力下沉至終端的新型架構,正廣泛賦能各行各業(yè)的物聯(lián)網(wǎng)應用,顯著提升系統(tǒng)的實時性與可靠性。在門禁
    的頭像 發(fā)表于 08-29 08:05 ?1561次閱讀
    當門禁<b class='flag-5'>系統(tǒng)</b>遇上邊緣<b class='flag-5'>計算</b>,看RK3568核心板如何帶來智能化變革

    使用Altera SoC FPGA提升AI信道估計效率

    在現(xiàn)代 5G 網(wǎng)絡中,快速且準確的信道狀態(tài)信息 (CSI)?更新是保障連接質量、優(yōu)化 MIMO 配置并提供一致用戶體驗的核心基礎。然而,隨著網(wǎng)絡密度的持續(xù)提升和流量規(guī)模的迅速激增,這些更新帶來的信令
    的頭像 發(fā)表于 08-26 16:27 ?3665次閱讀

    電源控制器MCU硬件在環(huán)(HIL)測試方案

    隨著電力電子技術和新能源產業(yè)的發(fā)展,對電源控制器(MCU)性能、可靠性和安全性要求提升。傳統(tǒng)測試方法難以滿足現(xiàn)代電源控制系統(tǒng)開發(fā)需求,硬件在環(huán)(HIL)測試技術成為電源MCU開發(fā)的重要驗證手段
    發(fā)表于 08-20 18:31

    采用磁編的印刷驅動系統(tǒng)提升動態(tài)響應,減少套印誤差與材料浪費

    在印刷工業(yè)中,套印精度和動態(tài)響應速度是衡量設備性能的核心指標。傳統(tǒng)的光電編碼器由于易受環(huán)境干擾、分辨率有限等問題,逐漸難以滿足高精度印刷的需求。近年來,采用磁性編碼器IC(磁編)的印刷驅動系統(tǒng)憑借其抗污染、高分辨率和強魯棒性特性
    的頭像 發(fā)表于 08-13 17:11 ?708次閱讀

    Romax Nexus:賦能高端裝備傳動系統(tǒng)的仿真利器

    。 高精度建模與仿真 該工具采用先進的數(shù)值計算方法,能夠精確模擬齒輪接觸應力、傳動誤差、軸承剛度等關鍵參數(shù),確保仿真結果與實際工況高度吻合。其獨特的“系統(tǒng)級”分析方法能夠考慮整個傳動鏈的相互作用,避免
    發(fā)表于 06-18 17:31

    交流充電樁負載能效提升技術

    功率器件與拓撲優(yōu)化 寬禁帶半導體器件應用 傳統(tǒng)硅基IGBT/MOSFET因開關損耗高,限制了系統(tǒng)效率。采用碳化硅(SiC)或氮化鎵(GaN)器件可顯著降低損耗: SiC MOSFET導通電阻低(僅為硅
    發(fā)表于 05-21 14:38

    DevEco Studio AI輔助開發(fā)工具兩大升級功能 鴻蒙應用開發(fā)效率再提升

    帶來了前所未有的智能問答體驗。 RAG增強型與傳統(tǒng)生成式AI的關鍵差異: 圖2:DeepSeek模型增強RAG能力前后效果對比圖 升級點2:新增代碼解釋功能,提升初學者開發(fā)效率 針對
    發(fā)表于 04-18 14:43

    RK3588核心板在邊緣AI計算中的顛覆性優(yōu)勢與場景落地

    與低功耗。相比傳統(tǒng)四核A72方案(如RK3399),單線程性能提升80%,多線程任務處理能力翻倍。 6TOPS獨立NPU: 支持INT8/INT16混合精度計算,可直接部署YOLOv
    發(fā)表于 04-15 10:48