科學就是那些我們能對計算機說明白的東西,余下的都叫藝術。
——高德納
從讀書開始時的EPLD到大學畢業(yè)時的FPGA,一晃多年,仿若回到原點,只是很多的技能都似隨風而逝,現(xiàn)在從IoT領域試圖找回一些原來的影子,也許是為了忘卻的紀念,也許是因為FPGA在物聯(lián)網(wǎng)中有著它自己的天地。
捕風捉影,并不是走火入魔才好,F(xiàn)PGA在IoT中有著哪些蹤影呢?
一個流行的用法是將FPGA與處理器總線結合起來作為可配置的加速器。 芯片設計者發(fā)現(xiàn)這種方法比固定功能加速器提供了更多的靈活性, 并且與主流處理器相比可以提供更高的性能。
這樣做的的一個關鍵好處是可以通過重新編程來加速多個任務。 每個芯片都有一個或多個處理器(ARM, ARC, MIPS 等)執(zhí)行代碼, 對于占據(jù)大部分處理器帶寬的任務, 硬件中的加速器通??梢栽诟痰臅r間內完成任務。 加速器不會取代處理器, 而是加速了工作量最大的任務。 如果加速器可重新配置, 就可以加速多個任務, 允許它根據(jù)需要或根據(jù)不同的客戶或應用的需求處理更多的工作負載。 FPGA是可重新配置編程的, 是作為加速器的完美選擇之一。
看幾個FPGA 如何用于加速 axi / ahb 總線的幾個例子, 以及每個用例潛在的性能改進。 以 ARM 為例,主要因為它是目前使用最廣泛的處理器, 而且在性能方面很容易驗證。
在FPGA 中實現(xiàn)了用于數(shù)據(jù)流動的 axi4流總線和用于控制邏輯的 APB 總線。 由于這個接口功能不變, 可以實現(xiàn)外部硬連接。
圖1 AES-128
這個 AES-128加速器的 RTL 需要1142個 LUTs, 并且適用于單一的 EFLX-2.5k IP 核, 可在多個工藝節(jié)點中使用。 在 TSMC16FFC 中, AES-128加速器的運行頻率僅為374 MHz。
圖2 AES-128 性能對比
這種性能比在同一個進程中運行在 ARM Cortex M4上的 AES-128軟件代碼快136至300倍,當然,這取決于 ARM M4的時鐘速度。
在這個例子中,AXI4是隸屬于 RTL 外部的 FPGA, 用于加速器的數(shù)據(jù)移動和加速器寄存器的配置。 對于數(shù)據(jù)移動的最低總線延遲, AXI4的從屬邏輯是外部的。
圖3 SHA-256
這個在64字節(jié)數(shù)據(jù)塊上的 SHA-256加速器, RTL需要1634個 LUTs, 并且適用于單個 EFLX-2.5k IP 核, 可在多個進程節(jié)點中使用。 在 TSMC16FFC 中, SHA-256加速器的171 MHz。
這個性能比運行在 ARM Cortex M4上的 SHA-256軟件代碼快40倍。
下面是一個配置為 JPEG 編碼器的 FPGA 框圖。 在這個例子中, axi4流和 APB 接口邏輯在FPGA 中得到了實現(xiàn), 但是這個 RTL 可以很容易的放在外面, 并且是硬連接的, 因為它不需要重新配置。
圖4 JPEG 編碼器
這個 RTL 需要11364個 LUTs 和大量的內存(2256 Kbyte 雙端口RAM) , 需要附加到FPGA上。 與可用的 I/O相比, 加到內存中的信號數(shù)量非常小。
圖5 編碼器的外置內存
在 TSMC16FFC 中, 運行頻率最低為149 MHz。 這大約是在同一進程中運行在 ARM Cortex M4上JPEG 編碼軟件代碼的31倍。
下例是FPGA 配置為256點的 FFT 加速器, 作為 axi4流總線上的一個從屬 / 主控, 在 EFLX 陣列中實現(xiàn) AXI RTL。
圖6 256點的FFT
RTL 需要8360個 LUT 和16個外部 RAM。 在這個示例中, RAM 被附加到陣列中以提高性能。
圖7 FFT的外置內存
在 TSMC16FFC 中, 運行頻率最低為303MHz。 ARM 處理器的基準是不可用的, 但是由于在 MAC 和內存引用中存在大量的并行處理, 可以期望這個加速器的性能遠遠超過一個典型的處理器。
圖8 FPGA FFT的性能
因此, 使用FPGA 作為一個可重新配置的加速器帶來了顯著收益, 可以提供30到300倍的性能增長。 其重新配置的能力使得FPGA能夠同時加速多個功能, 并且能夠隨時根據(jù)不斷變化的標準或協(xié)議無縫升級。 這些優(yōu)勢在數(shù)據(jù)中心、網(wǎng)絡、深度學習、人工智能、航空航天等處理器密集型應用中非??捎^。
嵌入式設計的安全性一直是一個熱門話題, 但是安全對于不同的人和組織來說意味著不同的東西。 盡管嵌入式系統(tǒng)需要更高級別的安全性, 但是現(xiàn)在很少有系統(tǒng)具有授權的安全規(guī)范。 不幸的是, 對于大多數(shù)設計規(guī)范來說, 安全性是事后考慮的問題。 許多工程師和架構師認為軟件可以保護系統(tǒng), 所以他們只需要關注保護處理器或系統(tǒng)的IP。 然而, 事實并非如此。
設計工程師和架構師不僅需要在軟件中實現(xiàn)安全特性, 還需要在硬件上實現(xiàn)。 硬件安全可以:
保護產(chǎn)品不被克隆或過度生產(chǎn)
保護知識產(chǎn)權, 使得企業(yè)能夠不斷地進行區(qū)分
保護數(shù)據(jù)通信, 防止欺詐, 防止公司品牌被玷污
幸運的是, 可以選擇中密度的FPGA, 以滿足系統(tǒng)對安全的需求。
第一步是將設計的安全需求分解為兩大類: 設計安全和數(shù)據(jù)安全。
設計安全意味著采取措施防止從芯片中提取IP, 這將轉化為差分功率分析(DPA)的對策。
數(shù)據(jù)安全包括保護云和/或M2M通信, 利用安全存儲, 實現(xiàn)物理上不可復制函數(shù)的密鑰生成和一個抗DPA的加密引擎。
保護 FPGA 的位流不被提取是很重要的,通常的方法是用密鑰加密位流。 盡管對于黑客來說, 鑰匙是一個障礙, 但是它們不足以滿足今天的需求。 為什么呢? 因為一種叫 DPA 的技術。
當設備執(zhí)行諸如讀取密鑰或基于密鑰解密文件等操作時, 它會發(fā)出磁信號。 這些信號可以通過廉價的電磁探測器探測到。 在一次測試中, DPA 技術被證明能夠確定何時讀取或訪問一個密鑰,一個探測器和 PC 或邏輯分析儀只需要幾分鐘就能找到信號中的模式并確定密鑰是什么。 一旦擁有了這個密鑰, 就可以解密 FPGA 的位流。
幸運的是, 有一種方法可以消除 DPA 現(xiàn)象,即在設備中建立對 DPA 有對抗措施的FPGA。當前只有少量的FPGA具有這種能力, 但都是高端和昂貴的。 然而, 經(jīng)過成本優(yōu)化的中密度FPGA, 如 Microsemi 的 PolarFire 系列, 采用了 DPA 對策, 應用廣泛。 偏振式FPGA采用了設計特性來解決 DPA 泄漏問題, 并防止 DPA 攻擊影響位流。
越來越多的設備連接到其他設備或云端, 這使得系統(tǒng)的數(shù)據(jù)安全存在危險。光靠軟件解決方案是不夠的,硬件架構師同樣需要承擔解決這個問題的責任。為了確保數(shù)據(jù)通信的安全, 所發(fā)送的信息必須用特定的算法和密鑰對接收端進行加密和解密。 有許多常見的算法(包括 AES-256、 SHA 和 ECC等)都必須基于一個需要使用的密鑰。
對于與云計算的連接, 需要一種稱為公鑰基礎設施(PKI)的雙鍵策略。 PKI 基于公鑰和私鑰,網(wǎng)絡上的每個節(jié)點都有一個被信任的第三方簽名的公鑰。 網(wǎng)絡上的每個節(jié)點也都有它自己的私鑰, 只有這個節(jié)點自己知道。
在安全通信時, 需要使用正在發(fā)送數(shù)據(jù)的節(jié)點中經(jīng)過認證的公鑰, 以及用于加密數(shù)據(jù)的私鑰。 只有具有正確公鑰和相應私鑰的節(jié)點才能夠對數(shù)據(jù)進行解密。 這是對云計算如何保護數(shù)據(jù)的基本描述。
但是硬件工程師可以解決兩個重要問題: 第一種是 DPA: 密碼引擎(FPGA 邏輯還是加密處理器)是否有內置的 DPA 對抗措施? 如果不能, 則可以確定私鑰, 否則數(shù)據(jù)通信可能會置于風險之中。
第二個問題是: 如何保護私鑰? 有許多硬件組件可以保護一個密鑰, 但是最安全的系統(tǒng)是一個 PUF 被設計成 FPGA 設備。 利用了每個單獨芯片的獨特屬性, 作為設備的一種生物識別標識。
通過 PUF 和NVM , 一個密鑰能夠以較高級別的方式來加密存儲。當設計具有必須保護的數(shù)據(jù)通信時, 需調用FPGA的功能模塊, 將 DPA 對策應用于安全的密鑰生成和存儲。
Polarfire FPGA 能夠保護私鑰并提供完全安全的數(shù)據(jù)通信(圖9)。 所有關鍵的構建模塊都包含在芯片上, 包括 DPA安全的加密處理器、 PUF、密鑰存儲和 RNG。 設計者只需要通過編程處理器來生成一個使用 RNG 的密鑰和一個特定的安全協(xié)議(如 AES 256) 即可, 然后加載 PUF 提供的安全密鑰存儲, 密碼處理器實現(xiàn)安全的通信! 非常少的 FPGA 資源就能實現(xiàn)安全通信。
圖9 這是由一個數(shù)據(jù)安全處理器、物理不合理函數(shù)(PUF)、隨機數(shù)生成器(RNG)和安全非揮發(fā)性記憶體(NVM)組成的中密度 FPGA 功能框圖。
隨著安全設備變得越來越具有挑戰(zhàn)性, 設計者需要技術來構建系統(tǒng)的固有安全。 使用中密度FPGA, 可以應對嵌入式工程師面臨的新安全挑戰(zhàn), 包括通過 DPA 對策進行的設計安全和加密處理器的數(shù)據(jù)安全。
硬件的模擬,調試和仿真一直是個老大難的問題,對于FPGA的設計更是如此。去年(2017年11約), Aldec 公司發(fā)布了驗證平臺 Riviera-PRO, 其中提供了QEMU Bridge 對SoC FPGA 上運行的設計進行軟硬件模擬和仿真。
將 FPGA自定義的IP與軟件應用程序以及驅動程序在 QEMU 中執(zhí)行,能夠簡化 FPGA的集成和仿真,而且被證明是可行的。 QEMU Bridge將 SystemC TLM 事務轉換為 AXI, 反之亦然, 為協(xié)同仿真提供了一個快速的接口。
隨著設計規(guī)模和設備的復雜性不斷增加, 系統(tǒng)集成變得越來越具有挑戰(zhàn)性。QEMU Bridge提供的協(xié)同模擬方式使軟硬件工程師都能夠在開發(fā)周期的早期階段展開工作, 以確定、識別和解決問題, 從而節(jié)省開發(fā)時間和成本。
硬件工程師可以在 HDL 中設置斷點, 檢查數(shù)據(jù)流, 甚至對于在QEMU中執(zhí)行的軟件應用程序,可以分析所運行的代碼覆蓋率和代碼路徑。 軟件工程師在 QEMU中可以使用GDB對內核和驅動程序進行斷點調試。
從最簡單的接口APB到復雜的 AXI 主機,芯片設計者可以將FPGA 引入到 APB、 AHB和 ARM 體系結構的AXI等各種總線中。隨著網(wǎng)絡、深度學習和人工智能(AI)、航空航天等應用系統(tǒng)的需求日益增加, 芯片(SoC)和微控制器(MCU)設計對系統(tǒng)的需求也發(fā)生了變化。 如今, 在主 CPU 核心處理通用任務時, 還會使用DSP 和 FPGA IP 塊的芯片。 這些架構使得整體處理解決方案更加高效而靈活。
特別是, 由于上述原因, 嵌入式FPGAs 與傳統(tǒng)的 DSP 和 FPGA 不同, eFPGAs 可以設計成芯片, 作為可重構的 IP 塊, 可以重新編程以處理不同的工作負載加速任務或管理不同的I/O (圖10)。
圖10 Flex Logix 的 EFLX eFPGA IP 作為可匹配的硬件加速塊或重新編程的I/O 塊在 MCU 和 SoC 設計中的實現(xiàn)
例如, 對于基于 ARM 架構的芯片設計者來說, eFPGA可以與 APB、 AHB 或 AXI 處理器總線相連, 以利用這些優(yōu)勢。 然而, 考慮到大量的組合(主 / 從 AXI/AHB/APB外部接口邏輯或/與 eFPGA 實現(xiàn)的組合), 這些設計需要仔細考慮。
為了更好地理解 eFPGA 如何使用基于ARM的 MCU 或 SoC的標準接口進行設計, 這里使用 Flex Logix EFLX-2.5k 嵌入式 FPGA IP核看一個例子。
EFLX-2.5k eFPGA 是一個1x1陣列, 由2520個六輸入查找表(LUTs)組成, 輸入632個, 輸出632個。 它在16納米工藝中工作在1ghz 左右, 在28nm 工藝中運行在500mhz 以上。 因此, 即使是最小的 eFPGA 也有足夠的I/O 資源和足夠的速度連接到又寬又快的 ARM 總線上。
配置為 APB 的 eFPGA 通常將作為可重新配置的I/O函數(shù)來實現(xiàn)。 例如, 許多類型的串行接口,如 UART, I2C 和 SPI。
在這種配置中, 多個塊連接到 APB 總線, 該總線每次運行一個塊(圖11)。 每個塊都有內存映射地址空間(如8位128個寄存器) , 而總線上的數(shù)據(jù)可以是8位、16位或者32位。 8位地址空間和32位數(shù)據(jù)需要45個輸入和33個輸出, 而16位總線使用16個輸入和16個輸出。
圖11 配置為 APB 的 eFPGA從設備作為一個可配置的I/O函數(shù)實現(xiàn), 其中包含多個內存映射塊。 Apb 總線同步運行在這些塊上。
APB 的從接口快速、簡單, 可以在外部或 eFPGA中實現(xiàn)邏輯。 例如, 在這個配置中, 一個 EFLX eFPGA 需要少于10個 LUTs。 如圖12所示, APB 的從接口中 Verilog 代碼和狀態(tài)圖也很簡短。
圖12 當 eFPGAs 配置為 APB 從屬界面時, Verilog 代碼和狀態(tài)圖很簡單
AXI 總線有三個版本: AXI4, AXI4流, AXI4lite。圖13 展示了一個 AXI4主機, 其封裝器由外部的 eFPGA實現(xiàn)。 AXI 主封裝器的功能是處理所有總線協(xié)議, 管理數(shù)據(jù)流控制, 并在配置時從 AXI 總線上隔離 EFLX FPGA。
在這里, EFLX的可重新編程加速器充當總線主機, 這樣,CPU 就不需要從內存?zhèn)鬏敂?shù)據(jù),就可以卸載 CPU 以完成與 EFLX 加速器并行運行的其他任務。
圖13 eFPGA配置為 AXI 主設備, EFLX的可重新配置加速器可以卸載總線管理的 CPU
EFLX eFPGA 能夠支持窄或寬(128字節(jié))的 AXI 數(shù)據(jù)寬度, 這取決于加速器功能所需的帶寬。 在 EFLX 陣列中的控制寄存器和 APB 的從邏輯在 EFLX 陣列中實現(xiàn), 并控制 APB 總線。 圖11所示的 APB 從接口示例可以實現(xiàn)控制寄存器接口。
圖14顯示了 AXI 總線體系結構的高層框圖, 說明了主從連接
當 eFPGA 作為 AXI master 實現(xiàn)時, eFPGA 應該被用來簡化關閉, 時間, 輸入和輸出。 數(shù)據(jù)總線寬度可以是1,2, 或4字節(jié)等, 最多可達128字節(jié)。
即使對于一個復雜的總線主設備, Verilog 代碼也相對簡單(圖15)。
圖15 當使用 eFPGA 作為 AXI 總線這設備時, Verliog的簡單代碼
除了作為加速器或I/O處理器的陣列操作總線連接之外, 像 EFLX 這樣的 eFPGA還提供了單獨的從接口, 用于按照需要重新配置。 一個外部的 AXI 從封裝器也可以用來與配置端口的接口。
例如, 使用 EFLX, 配置位通常與 ARM 處理器代碼一樣存儲在相同的閃存中。 在處理器啟動后, 它使用直接內存訪問(DMA)來配置由從配置到 eFPGA 的配置位訪問。
隨著現(xiàn)代工業(yè)解決方案對靈活性和性能的日益增長, eFPGA可以使用少量的高速邏輯, 輕松地連接到 ARM 總線的任何類型和數(shù)據(jù)寬度。 經(jīng)過多年的復雜性和成本挑戰(zhàn), 基于 eFPGA 技術的可重新配置加速器和I/O處理器已經(jīng)成為任何一種基于ARM的SoC或ASIC架構師的一種易用資源。
嵌入式 FPGA (eFPGA)技術并不是什么新想法。 事實上, 幾十年來, 它已經(jīng)以各種形式進行著部署實施。 那么, 為什么它突然得到如此多的關注呢? 答案可能在于半導體產(chǎn)業(yè)內兩個基本經(jīng)濟趨勢的交匯。
首先, 隨著每一個新流程的產(chǎn)生, 開發(fā)成本都會隨之急劇上升。抽象設計本身的日益復雜性, 以及這些設計在實際 SoC 設備中的真實實現(xiàn), 包括了諸如軟件工具、工程時間和掩碼成本等等。
其次, 這些設備中每個單位功能的成本一直在下降。 例如, 二十年前, FPGA 相對昂貴, 因此 被傾向于原型建立和前期生產(chǎn), 而不是大批量生產(chǎn)。 試圖將 FPGA 添加到一個 ASIC 中, 通常會增加整體的模具尺寸和復雜度, 使得新的混合設備變得太昂貴而不切實際。 而現(xiàn)在, 已經(jīng)不是這樣了。
相反, SoC 設計所涉及的高成本增加了與沒有合適產(chǎn)品來滿足特定市場需求的相關風險, 而且 FPGA 的成本相對較低, 這意味著嵌入式 FPGA 可以獲得一定程度的設計靈活性(從而降低市場風險),在經(jīng)濟上也是有意義的。
然而, 除了解決這兩個經(jīng)濟趨勢所帶來的挑戰(zhàn)外, 基于eFPGA的設計方法還提供了其他一些潛在的好處。 例如, 通過在同一塊芯片上放置一個 eFPGA IP 作為一個 SoC 中的其他功能模塊, 還具有低功耗, 低延遲, 非常高的帶寬連接等。 其結果是, 一個嵌入式 FPGA 塊的 ASIC 具有更低的功耗, 更高的性能, 更低的成本, 并且比 ASIC + 普通FPGA 的解決方案使用更少的空間, 同時仍然能夠保持設計的靈活性。
另一個優(yōu)勢是 eFPGA 的可編程特性使設計團隊能夠輕松地將SoC適應于新的、快速變化的或者略有不同的制造后市場需求, 從而延長產(chǎn)品在市場上的時間, 增加收入、毛利潤和整體盈利能力。 擁有eFPGA的SoC可以成為一個特別有效的范例, 包括迅速支持新的或不斷變化的接口標準, 增加一個新的功能, 以迅速應對新出現(xiàn)的競爭威脅, 或為物聯(lián)網(wǎng)(IoT)等高度分散的市場創(chuàng)造多種產(chǎn)品變體。
最后, 在 SoC 設計中加入 eFPGA 技術可以提高整體設計性能, 同時減少總功耗。 在 FPGA的邏輯中, 有些功能具有更高的性能或者更高的功耗, 特別是如果它們需要在芯片處理器上的靈活性, 就像如今大多數(shù) SoC 設計中所發(fā)現(xiàn)的那樣。 此外, 通過使用大多數(shù)嵌入式 FPGA 技術, 設計工程師可以創(chuàng)建基于硬件的解決方案, 這些解決方案可以重新配置以適應特定的問題, 進一步提高設計性能,并降低功耗。
為了最有效地獲得嵌入 FPGA IP 的好處, 設計團隊必須考慮其 eFPGA 實現(xiàn)的各個方面。 首先考慮的是綜合工具與設計流程其他部分之間的整合質量。合成工具應該明確支持 eFPGA 架構, 并且應該能夠生成一個最佳的設計 連線表, 以便更有效的實現(xiàn)設計。 例如, QuickLogic 與 Mentor 合作, 為其 eFPGA 技術提供了一個設計和開發(fā)環(huán)境, 特別地, 該軟件能夠支持該公司在eFPGA IP 中使用的 QuickLogic ArcticPro 架構。
綜合在設計過程中起著關鍵作用, 因為它對設計的結果質量(QoR)影響最大。 一個 QoR 度量是多維的, 可能是一個頻率、面積和功率的函數(shù), 這取決于用戶的設計要求。 對于合成工具來說, 目前的行業(yè)標準是 HDL 語言, 如 Verilog、 SystemVerilog (SV2009)和 VHDL (VHDL-2008)等行業(yè)標準 中的HDL 語言支持。 而且, 對于最佳的 QoR, 綜合工具必須對目標體系結構有深入的了解, 以便以最佳方式映射到體系結構中的可用資源。
設計流程中的第二個考慮因素是 eFPGA 實現(xiàn)本身的軟件質量, 因為它最終將決定 SoC 設備的效率、性能和成本。 FPGA架構及其相關的開發(fā)工具傾向于共同進化, 因為一個架構的變化可能會對另一個架構產(chǎn)生巨大的影響。因此, 那些已經(jīng)售賣了數(shù)百萬臺FPGA的公司, 并且擁有數(shù)十年的開發(fā)經(jīng)驗, 以及為這些設備提供設計支持的軟件, 這些公司更有可能提供良好的 eFPGA IP/軟件解決方案。
在某些情況下, 經(jīng)驗豐富的 FPGA 供應商也已經(jīng)學會了如何有效地將 eFPGA 技術整合到自己的 SoC 設備中, 這使他們能夠充當自己的客戶, 進一步完善 eFPGA 的 IP 服務。 例如, QuickLogic 開發(fā)了一個可聽、可穿戴和物聯(lián)網(wǎng)應用的傳感器處理 SoC (圖16)。 這個設備包含了eFPGA 技術, 擁有一個可編程邏輯塊可以讓客戶快速實現(xiàn)新的傳感器處理算法和接口標準。
圖16 EOS S3傳感器處理平臺框圖
作為 eFPGA 工具本身的用戶, QuickLogic很快了解了他們所需的工具, 以及如何最好地優(yōu)化 eFPGA 實現(xiàn)設計流程。過程中, 他們遇到了各種問題并予以解決, 最終創(chuàng)建了集成 eFPGA IP 所需的完整工具和設計文件。
這些工具生成的文件包括設備包裝文件、備份注釋文件和布局數(shù)據(jù)。 設備封裝器文件是一個連線表, 定義了 eFPGA的"黑盒"端口, 以及如何與SoC設計的其余部分相連接。后面的注釋文件提供了對設計驗證過程中至關重要的庫和定時信息。布局數(shù)據(jù)包括設計團隊用來實例化物理設計塊的物理布局信息。
顯然, SoC應用廣泛, 而嵌入式FPGA技術只會擴展?jié)撛诘挠美?然而, 在有一些應用場景中, 與傳統(tǒng)的 SoCs 相比, SoC-eFPGA解決方案具有顯著的優(yōu)勢。
從上面?zhèn)鞲衅魈幚淼睦又锌吹? 其中含有嵌入式FPGA的 EOS S3 SoC 使得傳感器算法和接口的更新能夠實現(xiàn), 而無需錄制新版本的設備。 基于云的人工智能進行語音處理是人機交互的下一個重大進步, 并且有能力迅速和容易地支持亞馬遜的 Alexa 等"智能揚聲器", 為產(chǎn)品的生態(tài)系統(tǒng)添加新的觸發(fā)詞。
高度分散的物聯(lián)網(wǎng)市場是另一個很好的例子, eFPGA 技術能夠為之提供巨大的好處。 整體市場是巨大的, 但是幾乎沒有一個應用能夠單獨滿足大量的市場需求。 因此, 使用基于平臺方法的一個 SoC 設計, 其"基礎設施"實現(xiàn)每個應用共同的所有功能是有意義的。 然后, eFPGA 技術可以用來快速并低成本地創(chuàng)建多個產(chǎn)品變體來處理特定的應用, 隨時間涌現(xiàn)的新應用也可以無需重新設計 ASIC 的情況下得以解決。
幾乎任何包括大數(shù)據(jù)和深度學習在內的機器學習應用都可以利用大多數(shù) eFPGA 解決方案所提供的可重構性。 可以對 eFPGA 塊中的硬件進行配置, 然后根據(jù)需要進行重新配置, 以便廉價和有效地解決當今計算機所處理的一些復雜問題。
另一個很好的例子是需要不斷更新的硬件安全算法。 隨著新的安全漏洞被識別出來, 提供一個更新的防御解決方案變得至關重要, 這是一個完美適合于 eFPGA 硬件SoC的場景。
由于嵌入式 FPGA 技術的發(fā)展和單位成本的下降趨勢將使eFPGA 技術對 SoC 設計團隊的吸引力越來越大, eFPGA 的發(fā)展前景是非??捎^。 然而, 每一項復雜的技術都存在挑戰(zhàn)。 其中一個是規(guī)模密度并不適合所有的eFPGA IP 架構組合, 以及跨不同的代工廠和流程節(jié)點的 SoC 實現(xiàn)。 還有一些潛在的一體化問題, 如需要不同數(shù)量的金屬層, 管理時鐘域邊界, 以及協(xié)調不同的電源管理等。
雖然 eFPGA 技術已經(jīng)以各種形式出現(xiàn)了一段時間, 但市場剛剛從早期采用轉向主流階段。 從移動設備、自動駕駛、可穿戴設備和物聯(lián)網(wǎng), 到大型數(shù)據(jù)和通信中心, 再到可重組計算平臺, 乃至基于云計算的人工智能,這種趨勢可能會在短期內加速。
但是, 只有當可編程邏輯在 SoC 中高效集成時, eFPGA 技術才能成功。 這需要技術、架構和軟件工具的正確結合, 使開發(fā)團隊擁有完整和有效的設計流程, 從而能夠從概念到芯片無縫轉移到制造后的市場調整和現(xiàn)成產(chǎn)品。
http://www.embedded-computing.com/hardware/using-embedded-embedded-fpga-as-a-reconfigurable-accelerator
http://www.embedded-computing.com/processing/a-new-security-solution-in-mid-range-fpgas
http://www.embedded-computing.com/hardware/hardware-and-software-engineers-designing-soc-fpgas-stand-to-profit-from-aldec-qemu-bridge
http://www.embedded-computing.com/hardware/arm-bus-interfaces-for-embedded-fpgas
http://www.embedded-computing.com/hardware/now-is-the-time-for-efpga-technology
聯(lián)系客服