在 FPGA SoC 上運行實(shí)時(shí)應用程序:如何高效地設計混合架構

發(fā)布時(shí)間:2022-4-22 10:47    發(fā)布者:eechina
關(guān)鍵詞: FPGA , SoC , 混合架構
來(lái)源:富昌電子
作者:Patrice Brossard,EMEA 垂直部門(mén)經(jīng)理(FPGA 和 ASIC)

多年來(lái),半導體集成化的不可阻擋的進(jìn)步一直在模糊不同類(lèi)型元器件之間的界限。通過(guò)在不同類(lèi)型的 IP 上加載一種類(lèi)型的元器件,傳感器可以成為機器學(xué)習推理引擎,微控制器可以像應用處理器一樣運行,或者非易失性存儲器可以提供安全的硬件信任根(一種通常需要專(zhuān)用安全元件來(lái)實(shí)現的功能)。

2019 年末,隨著(zhù)兩種具有幾乎完全不同的屬性集的系統類(lèi)型(FPGA 和在 Linux® 操作環(huán)境中運行實(shí)時(shí)應用程序的處理器)的合并,這種模糊又向前邁進(jìn)了一步。FPGA是一種可編程硬件結構,支持并行處理多個(gè)并發(fā)任務(wù),而處理器是執行固定指令集架構(ISA)的硬件平臺,并支持指令線(xiàn)程的串行處理。

2019 年推出的 Microchip PolarFire® SoC FPGA 將這兩種元器件類(lèi)型結合在一起,創(chuàng )建了一個(gè)單一的片上系統,它提供:

· 中等密度 FPGA 的預期資源,包括多達 461k 邏輯元件、多達 1,420 個(gè) 18 x 18 數學(xué)塊、多達 33 Mb 的用戶(hù) SRAM、8 個(gè)完全可配置的 PLL、高達 1.6 Gbps 的高速 DDR4 接口能力,以及帶有兩個(gè)硬連線(xiàn) PCIe Gen2 端點(diǎn)/根端口、以高達 12.7 Gbps 的數據速率運行的多協(xié)議收發(fā)器。它采用成熟的低功耗 SONOS 28 nm 工藝制造,可實(shí)現顯著(zhù)的低功耗。

· 一個(gè)多核應用處理器,包含一個(gè)四核 64 位 RISC-V 內核集群(RV64GC 應用內核:64 位 RISC-V,帶有 2 x 32 kB L1 高速緩存,帶糾錯碼 (ECC) 和虛擬內存支持),以及一個(gè)單獨的 64 位 RISC-V 監視器內核RV64IMAC:支持 32 位整數寄存器、乘法/除法、原子和壓縮模式的 64 位 RISC-V。所有五個(gè)內核都以高達 625 MHz 的速度運行。直接處理器 I/O 功能包括兩個(gè)千兆以太網(wǎng)控制器、一個(gè) USB 2.0 On-The-Go 控制器和兩個(gè) CAN 接口。

這意味著(zhù)電子系統架構師現在可以選擇既具有 FPGA 的低功耗、高熱效率和國防級安全性,又具有快速處理器的確定性執行能力的單芯片。

這種混合架構顯然需要一個(gè)系統設計工程團隊來(lái)跨越 FPGA 和微處理器這兩個(gè)世界。那么,將這兩種類(lèi)型的硬件系統集成到一個(gè)單一、可靠的最終產(chǎn)品設計中會(huì )遇到哪些挑戰? 這種混合 SoC 平臺在以下應用中提供了獨特的功能和優(yōu)勢:

· 在極端溫度環(huán)境中運行的系統
· 邊緣的人工智能 (AI) 推理
· 具有安全意識的應用程序
· 航空航天和國防系統
· 通信基礎設施

但是,為了獲得這些優(yōu)勢,將這兩種產(chǎn)品類(lèi)型結合起來(lái)的困難值得接受嗎?

了解混合處理器/FPGA 架構

PolarFire SoC FPGA 的核心是一個(gè)由 4+1 RISC-V 內核組成的確定性、連貫的 CPU 集群,如圖 1 所示。RISC-V 是針對處理器 ISA 的免費開(kāi)放功能規范,并得到了不斷增長(cháng)的開(kāi)發(fā)專(zhuān)業(yè)人員、規范、軟件和其他資源的生態(tài)系統的支持。


圖 1:PolarFire SoC 架構結合了獨立的 FPGA 硬件和 CPU 集群(圖片來(lái)源:Microchip)

對于 PolarFire SoC 中的 CPU 集群,Microchip 與 SiFive 合作開(kāi)發(fā)了自己的硬件架構。Microchip 方案的一個(gè)獨特功能是可以自由關(guān)閉 CPU 分支預測,并使存儲器子系統具有完全確定性。

這消除了執行時(shí)間的所有變化,同時(shí)保持了四個(gè) RISC-V 內核提供的高處理器性能,并利用了 PolarFire FPGA 的確定性特性。

第五個(gè)內核,即監控內核,用于管理引導過(guò)程和系統配置。與應用程序處理內核不同,它不包括虛擬存儲器支持。

所有 SoC 的存儲器都具有 ECC 和單一錯誤檢測功能,可提供非常高水平的數據完整性,這是安全關(guān)鍵型應用(例如航空航天系統)的強制性要求。

PolarFire SoC FPGA 的一個(gè)標志是其極低的功耗:圖 2 顯示了 PolarFire SoC功耗(CoreMark 處理器負載的函數)與傳統 Arm® Cortex®-A 微處理器內核功耗的比較。


圖 2:PolarFire SoC 和 Arm® Cortex®-A 微處理器內核的功耗比較(圖片來(lái)源:Microchip)

這在電池供電系統中顯然是有利的,但不僅如此:在任何系統中,低功耗都可以消除對散熱器或風(fēng)扇的需求,從而降低系統成本、尺寸和重量,并提高其可靠性。

存儲器分區支持實(shí)時(shí)Linux操作

除了 PolarFire SoC 的中等密度 FPGA 部分,Microchip 還實(shí)施了一種架構,可提供實(shí)時(shí)確定性多處理能力。要在多核系統上運行操作系統軟件,MPU 制造商可以選擇以下兩種類(lèi)型的多處理架構之一:

· 在對稱(chēng)多處理(SMP)中,所有內核將共享主存儲器。SMP 中的內核是同質(zhì)的,操作系統平等對待每個(gè)內核。這種架構使制造商能夠通過(guò)添加相同的內核來(lái)提高單核器件的性能。

· 在非對稱(chēng)多處理(AMP)中,操作系統對內核的處理方式不同,它們不共享存儲器和外設。這使得系統設計人員能夠將某些類(lèi)型的任務(wù)分配給一個(gè)內核,同時(shí)讓另一個(gè)內核自由運行操作系統。

典型 SMP 架構的某些特性(例如分支預測和緩存未命中)使 SoC 無(wú)法確定性地運行。執行時(shí)間不一致且無(wú)法保證,因為每個(gè)內核都會(huì )受到周期性中斷的影響。

相比之下,AMP 使用戶(hù)能夠切出一部分高速緩存,并將其保留供實(shí)時(shí)應用程序專(zhuān)用。PolarFire SoC 支持 SMP 和 AMP 模式,用戶(hù)可以自由選擇其中一種,甚至可以在現場(chǎng)更新期間更改模式。

一旦在 PolarFire SoC 中配置了 AMP 模式,實(shí)時(shí)應用程序就可以在其中一個(gè)應用程序內核上運行,這是一個(gè)已關(guān)閉分支預測的實(shí)時(shí)內核,如圖 3 所示。


圖 3:在 PolarFire SoC 的 AMP 架構中,實(shí)時(shí)功能直接訪(fǎng)問(wèn) L2 高速緩存的專(zhuān)用部分(圖片來(lái)源:Microchip)

這種硬件結構支持實(shí)時(shí)功能的完全確定性操作以及 Linux 操作系統。此外,中斷服務(wù)路由 (ISR) 的執行時(shí)間是確定性的,對于在基于 Arm Cortex-A 技術(shù)的等效四核微處理器上實(shí)現的 SMP 架構來(lái)說(shuō),這是無(wú)法實(shí)現的。

掌握混合FPGA/MPU系統設計

混合 FPGA/MPU SoC 提供了一種獨特的能力,可以通過(guò)單個(gè)芯片滿(mǎn)足某些類(lèi)型的應用的要求。例如,基于機器學(xué)習模型同時(shí)執行本地推理、并實(shí)時(shí)控制安全關(guān)鍵電機運行的應用可以在 PolarFire SoC FPGA 中實(shí)現 AI 功能,并在多核處理器上實(shí)現安全關(guān)鍵型控制。

然而,FPGA 和 MPU 在同一芯片上的存在意味著(zhù)系統設計團隊必須在兩個(gè)獨立的設計環(huán)境中工作。兩個(gè) PolarFire SoC 工具鏈都輸入到配置器中,該配置器生成:

· “軟件”配置,用于初始化存儲器映射的 C 數據結構,將在 SoftConsole® 集成開(kāi)發(fā)環(huán)境 (IDE) 中使用
· “硬件”配置,即所謂的組件,將在 Libero FPGA IDE 中使用

兩個(gè) IDE 之間的交互如圖 4 所示。


圖 4:用于 FPGA 的 Libero IDE 和用于 MPU 的 SoftConsole IDE 之間的關(guān)系(圖片來(lái)源:Microchip)

單獨的工具也支持設計仿真:Renode 用于在多核處理器部分上運行的軟件,ModelSim 用于 SoC 的 FPGA 部分。Microchip 還為調試將在 PolarFire SoC 上運行的復雜應用程序做好了準備。其片上調試機制通過(guò) JTAG 接口與調試工具進(jìn)行通信:

· 可以使用傳統的 openOCD 調試器調試 C 代碼
· FPGA 調試工具更加專(zhuān)業(yè)化,因為在組件中默認嵌入了調試機制,可以動(dòng)態(tài)訪(fǎng)問(wèn)FPGA 矩陣的任何內部節點(diǎn)。專(zhuān)用工具 Smartdebug 使用此內部調試電路提供一種直觀(guān)的方法來(lái)調試應用中基于 FPGA 的部分。

有趣的是,將應用程序移植到 RISC-V 環(huán)境的條件與在 Arm 環(huán)境中的條件相似。沒(méi)有兩個(gè)基于 Arm 內核的器件具有相同的存儲器映射,同樣地,沒(méi)有兩個(gè)基于 RISC-V 的系統將共享相同的存儲器映射。因此,從一個(gè) Arm 內核移植到另一個(gè)內核與從 Arm 內核移植到 RISC-V 內核的工作量原則上相同。

設計友好的操作和開(kāi)發(fā)環(huán)境

因此,PolarFire SoC 提供了將可編程硬件功能和用于軟件應用的高性能多核平臺集成在單個(gè)芯片中的優(yōu)勢。這種混合架構確實(shí)需要并行使用兩個(gè)開(kāi)發(fā)環(huán)境,但 Microchip 非常關(guān)注為用戶(hù)提供一整套高度集成的工具,并為設計團隊提供高效工作的能力:

· 創(chuàng )建或遷移系統
· 設計仿真
· 對芯片FPGA部分的硬件資源和處理器集群上運行的應用軟件進(jìn)行編程
· 調試系統

富昌電子全球的現場(chǎng)應用工程師和嵌入式專(zhuān)家可為在 Microchip PolarFire SoC FPGA 上開(kāi)發(fā)應用的 OEM 提供全面的技術(shù)和銷(xiāo)售支持。
本文地址:http://selenalain.com/thread-788255-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页