編者按——盡管協(xié)處理器架構因其數字處理性能和吞吐量而聞名,但也為嵌入式系統設計者提供了實(shí)現項目管理策略的機會(huì ),從而降低了開(kāi)發(fā)成本并加快了上市速度。本文重點(diǎn)介紹分立式微控制器 (MCU) 和分立式現場(chǎng)可編程門(mén)陣列 (FPGA) 的組合,展示了這種架構如何適合高效和迭代的設計過(guò)程。利用研究資料、實(shí)證結果和案例研究,探討這種架構的好處,并提供示范性的應用。讀完本文,嵌入式系統設計者將對何時(shí)以及如何實(shí)現這種多功能硬件架構有個(gè)更好的理解。 引言 嵌入式系統設計者經(jīng)常會(huì )發(fā)現自己被卡在設計限制、性能期望以及進(jìn)度和預算問(wèn)題上。事實(shí)上,甚至現代項目管理中有一些像”快速失敗”、“敏捷”、“面向未來(lái)”和“顛覆性!”這樣的流行語(yǔ)或短語(yǔ),進(jìn)一步突出了這一角色的不穩定性。即使試圖滿(mǎn)足這些期望,所涉及的手法也可能是令人痛苦的,同時(shí)這些期望一直在整個(gè)市場(chǎng)上傳播著(zhù)并持續被強化。我們需要的是一種設計方法,能夠實(shí)現一個(gè)不斷演進(jìn)的迭代過(guò)程,就像大多數嵌入式系統一樣,從硬件架構開(kāi)始。 協(xié)處理器架構是一種以結合了微控制器單元 (MCU) 和現場(chǎng)可編程門(mén)陣列 (FPGA) 技術(shù)優(yōu)勢而著(zhù)稱(chēng)的硬件架構,它可以為嵌入式設計者提供一個(gè)能夠滿(mǎn)足最苛刻要求的過(guò)程,而且它還可以為解決已知和未知挑戰提供必要的靈活性。通過(guò)提供能夠迭代調整的硬件,設計者可以展示進(jìn)展,達到關(guān)鍵里程碑,并充分利用快速原型設計過(guò)程。 在這個(gè)過(guò)程中,有一些關(guān)鍵的項目里程碑,每一個(gè)里程碑都有其獨特的價(jià)值,可以為開(kāi)發(fā)工作帶來(lái)好處。在本文中,我們將提到以下術(shù)語(yǔ):用微控制器進(jìn)行數字信號處理里程碑、用微控制器進(jìn)行系統管理里程碑以及產(chǎn)品部署里程碑。 本文結束時(shí),我們將證明靈活的硬件架構可以比一個(gè)較僵硬的方法更適合現代嵌入式系統設計。此外,這種方法可以使項目成本和產(chǎn)品上市速度都得到改善。這一立場(chǎng)將通過(guò)論據、所提供實(shí)例和案例研究獲得佐證。通過(guò)觀(guān)察該架構所提供設計靈活性中每個(gè)里程碑的價(jià)值,我們可以清楚地看到,自適應硬件架構是推動(dòng)嵌入式系統設計發(fā)展的強大動(dòng)力。 探索協(xié)處理器架構的優(yōu)勢:設計靈活性和高性能處理 FPGA 設計的一個(gè)常見(jiàn)應用是直接與高速模數轉換器 (ADC) 連接。信號數字化后,讀入 FPGA,然后將一些數字信號處理器 (DSP) 算法應用于該信號。最后,FPGA 再根據這些結果做出決策。 本文通篇將以這樣一個(gè)應用將作為實(shí)例。此外,圖 1 展示了一個(gè)通用的協(xié)處理器架構,其中 MCU 和 FPGA 通過(guò) MCU 的外部存儲器接口進(jìn)行連接。FPGA 被當作是一塊外部靜態(tài)隨機存取存儲器 (SRAM)。信號從 FPGA 返回 MCU,充當硬件中斷線(xiàn)路和狀態(tài)指示。這允許 FPGA 向 MCU 指示關(guān)鍵的狀態(tài),例如通知 ADC 轉換準備好了,或發(fā)生了故障,或發(fā)生了其他值得注意的事件。 ![]() 圖 1:通用協(xié)處理器示意圖 (MCU + FPGA)。(圖片來(lái)源:CEPD) 從上述每個(gè)里程碑的交付成果來(lái)看,可能最能看出協(xié)處理器方法的優(yōu)勢。價(jià)值不僅要評估一項任務(wù)或階段的成就,而且還評估這些成就所帶來(lái)的用處。通過(guò)回答以下問(wèn)題有助于評估一個(gè)里程碑的交付成果的整體價(jià)值。 · 隨著(zhù)項目依賴(lài)性和瓶頸的消除,其他團隊成員的進(jìn)展現在能否更迅速地繼續進(jìn)行下去? · 里程碑成就如何讓進(jìn)一步的并行操作成為可能? 用微控制器進(jìn)行數字信號處理的里程碑 ![]() 圖 2:架構——用微控制器進(jìn)行數字信號處理。(圖片來(lái)源:CEPD) 這種硬件架構所允許的第一個(gè)開(kāi)發(fā)階段將 MCU 放在前期和中期。在同等條件下,MCU 和可執行軟件的開(kāi)發(fā)比 FPGA 和硬件描述語(yǔ)言 (HDL) 的開(kāi)發(fā)更節省資源和時(shí)間。因此,通過(guò)啟動(dòng)以 MCU 為主要處理器的產(chǎn)品開(kāi)發(fā),算法可以更迅速地實(shí)現、測試和驗證。這使得算法和邏輯錯誤可以在設計過(guò)程的早期被發(fā)現,也使得信號鏈的實(shí)質(zhì)部分可以被測試和驗證。 在這個(gè)最初的里程碑中,FPGA 的作用是作為一個(gè)高速數據的收集接口。它的任務(wù)是可靠地管理來(lái)自高速 ADC 的數據,提醒 MCU 有數據可用,并在 MCU 的外部存儲器接口上提供這些數據。雖然這個(gè)角色不包括實(shí)現基于 HDL 的 DSP 過(guò)程或其他算法,但它仍然是非常關(guān)鍵的。 在這個(gè)階段進(jìn)行的 FPGA 開(kāi)發(fā)為產(chǎn)品的最終成功奠定了基礎,無(wú)論是在產(chǎn)品開(kāi)發(fā)過(guò)程中還是在向市場(chǎng)發(fā)布時(shí)。通過(guò)只關(guān)注低級別的接口,就可以有足夠的時(shí)間來(lái)測試這些基本操作。只有當 FPGA 可靠、有把握地履行這一接口作用時(shí),才能有把握地完成這一里程碑。 這個(gè)最初的里程碑的主要交付成果包括以下好處: · 整個(gè)信號路徑——所有的放大、衰減和轉換——都將被測試和驗證。 · 通過(guò)最初在軟件 (C/C++) 中實(shí)現算法,項目開(kāi)發(fā)的時(shí)間和精力將有所減少;這對管理層和其他利益相關(guān)者來(lái)說(shuō)具有相當大的價(jià)值,他們必須在批準未來(lái)設計階段之前看到這個(gè)項目的可行性。 · 在 C/C++ 中實(shí)現算法的經(jīng)驗將直接轉移到 HDL 實(shí)現中——通過(guò)使用“軟件到 HDL”工具,例如 Xilinx HLS。 系統管理與微控制器的里程碑 ![]() 圖 3:架構——用微控制器進(jìn)行系統管理。(圖片來(lái)源:CEPD) 由這種協(xié)處理器方法提供的第二個(gè)開(kāi)發(fā)展階段是由 DSP 過(guò)程和算法實(shí)現從 MCU 轉移到 FPGA 來(lái)界定的。FPGA 仍然負責高速 ADC 接口,但通過(guò)承擔這些其他角色,FPGA 提供的速度和并行性得到了充分的利用。此外,與 MCU 不同,可以實(shí)現多個(gè) DSP 進(jìn)程和算法通道實(shí)例,并同步運行。 基于從 MCU 的實(shí)現中獲得的經(jīng)驗,設計者會(huì )將這種信心帶入下一個(gè)里程碑。諸如前面提到的 Xilinx Vivado HLS 這樣的工具提供了從可執行 C/C++ 代碼到可綜合的 HDL 的功能轉換,F在,仍然必須定義和實(shí)現時(shí)序約束、工藝參數和其他用戶(hù)偏好,但核心功能被堅持下來(lái)并轉化為 FPGA 架構。 對于這個(gè)里程碑,MCU 的角色就是一個(gè)系統管理者。FPGA 內的狀態(tài)和控制寄存器由 MCU 監控、更新和報告。此外,MCU 還管理著(zhù)用戶(hù)界面 (UI)。這個(gè)用戶(hù)界面可以采取通過(guò)以太網(wǎng)或 Wi-Fi 連接訪(fǎng)問(wèn)網(wǎng)絡(luò )服務(wù)器的形式,也可以是一個(gè)工業(yè)觸摸屏界面,讓用戶(hù)在使用點(diǎn)進(jìn)行訪(fǎng)問(wèn)。從 MCU 的新的、更精細的角色中得到的關(guān)鍵啟示是:通過(guò)將其從計算密集型的處理任務(wù)中解脫出來(lái),現在可將 MCU 和 FPGA 運用到其最適合的任務(wù)中來(lái)。 關(guān)鍵的可交付成果構成了這個(gè)里程碑,并包括以下好處: · FPGA 所提供 DSP 進(jìn)程和算法實(shí)現的快速、并行執行。MCU 提供了一個(gè)反應靈敏的精簡(jiǎn) UI,并管理著(zhù)產(chǎn)品的執行過(guò)程。 · 由于首先在 MCU 內進(jìn)行了開(kāi)發(fā)和驗證,算法風(fēng)險得到了緩解,這些緩解措施被轉換為可綜合的 HDL。像 Vivado HLS 這樣的工具使得這種轉換變得更加容易。此外,通過(guò)集成的仿真工具,如 Vivado 設計套件,可以減輕 FPGA 特有的風(fēng)險。 · 利益相關(guān)者不會(huì )因為將過(guò)程轉移到 FPGA 上而面臨重大風(fēng)險。相反,他們可以看到并享受到 FPGA 的速度和并行性帶來(lái)的好處。觀(guān)察到明顯的性能改進(jìn)后,現在可以把工作重點(diǎn)放在為該設計的制造做好準備。 產(chǎn)品部署里程碑 隨著(zhù)計算密集型處理在 FPGA 內得到解決,MCU 就能很地處理其系統管理和用戶(hù)界面角色,產(chǎn)品部署亦因此而準備就緒,F在,本文不主張繞過(guò) Alpha 和 Beta 版本;但是,本里程碑的重點(diǎn)是協(xié)處理器架構為產(chǎn)品部署提供的能力。 MCU 和 FPGA 都是現場(chǎng)可更新器件。目前已經(jīng)取得了多項進(jìn)展,使得 FPGA 的更新與軟件更新一樣容易。此外,由于 FPGA 在 MCU 的可尋址存儲器空間內,MCU 可以作為整個(gè)系統的存取點(diǎn):同時(shí)為自已和 FPGA 接收更新。更新可以在每個(gè)最終用戶(hù)的基礎上有條件地安排、分發(fā)和定制。最后,可以進(jìn)行用戶(hù)和用例日志維護并使之與特定構建實(shí)現關(guān)聯(lián)。有了這些數據集,即使在產(chǎn)品進(jìn)入現場(chǎng)后,性能也能繼續得到完善和提高。 也許這種整體系統更新能力的優(yōu)勢在天基應用中得到了最充分的體現。一旦產(chǎn)品推出,維護和更新必須在遠程進(jìn)行。這可以是一個(gè)簡(jiǎn)單的邏輯條件改變,或復雜到更新一個(gè)通信調制方案。FPGA 技術(shù)提供的可編程性和協(xié)處理器架構可以滿(mǎn)足這一系列能力的全部要求,同時(shí)提供防輻射的元件選擇。 這個(gè)里程碑的最后一個(gè)關(guān)鍵收獲是逐步減少成本。成本降低、材料清單 (BOM) 的變化和其他優(yōu)化也可能出現在這個(gè)里程碑。在現場(chǎng)部署時(shí),可能會(huì )發(fā)現使用價(jià)格較低的 MCU 或性能較差的 FPGA 也能很好地運行產(chǎn)品。由于協(xié)處理器的存在,架構設計者不會(huì )拘泥于使用那些能力超出其應用需求的組件。此外,如果一個(gè)組件無(wú)法使用,該架構允許新的組件被整合到設計中。單芯片、片上系統 (SoC) 架構,或試圖處理所有產(chǎn)品處理的高性能 DSP 或 MC,都不是這種情況。協(xié)處理器架構是能力和靈活性的良好組合,給設計者在開(kāi)發(fā)階段和向市場(chǎng)發(fā)布時(shí)提供了更多選擇和自由。 支持調查和相關(guān)案例研究 衛星通信實(shí)例 簡(jiǎn)而言之,協(xié)處理器的價(jià)值在于幫助主處理單元減負,讓任務(wù)在硬件上執行,其中可以利用加速和精簡(jiǎn)優(yōu)勢。這種設計選擇的好處是計算速度和能力的凈增加,而且正如本文所認為的那樣,開(kāi)發(fā)成本和開(kāi)發(fā)時(shí)間也會(huì )減少。也許這些好處最引人注目的一面就在空間通信系統領(lǐng)域。 在《作為協(xié)處理器的 FPGA 式硬件》一書(shū)中,G. Prasad 和 N. Vasantha 詳細介紹了在 FPGA 中數據處理如何混合衛星通信系統的計算需求,而沒(méi)有特定應用集成電路 (ASIC) 的高非經(jīng)常性工程 (NRE) 成本或硬體系架構處理器的特定應用限制。正如在用微控制器進(jìn)行數字信號處理里程碑中所描述的那樣,其設計從應用處理器開(kāi)始,執行大部分的計算密集型算法。從這一出發(fā)點(diǎn)著(zhù)手,他們確定了消耗中央處理單元 (CPU) 時(shí)鐘大部分周期的軟件關(guān)鍵部分,并將這些部分遷移到 HDL 實(shí)現。以下圖形表示與到目前為止所介紹的高度相似,然而,他們選擇將應用程序作為自己的獨立塊來(lái)表示,因為它可以在主機(處理器)或基于 FPGA 的硬件中實(shí)現。 ![]() 圖 4:應用程序、主機處理器和基于 FPGA 的硬件——用于衛星通信實(shí)例。 通過(guò)利用外設組件互連 (PCI) 接口和主機處理器的直接存儲器訪(fǎng)問(wèn) (DMA) ,外設性能得到了極大的提高。這主要體現在對去隨機化過(guò)程的改進(jìn)上。當這一過(guò)程在主機處理器的軟件中進(jìn)行時(shí),系統的實(shí)時(shí)響應顯然出現了瓶頸。然而,當轉移到 FPGA 時(shí),我們可以看到以下好處: · 去隨機化過(guò)程實(shí)時(shí)執行,不會(huì )造成瓶頸 · 主機處理器的計算開(kāi)銷(xiāo)大大減少,現在它可以更好地發(fā)揮所需的記錄角色。 · 整個(gè)系統的總性能就提升了。 所有這些都是在沒(méi)有 ASIC 相關(guān)開(kāi)銷(xiāo)的情況下實(shí)現的,同時(shí)還享有可編程邏輯的靈活性 [5]。衛星通信帶來(lái)了相當大的挑戰,而這種方法可以可靠地滿(mǎn)足這些要求,并繼續提供設計靈活性。 汽車(chē)信息娛樂(lè )系統實(shí)例 車(chē)車(chē)娛樂(lè )系統是挑剔的消費者看重的功能。與大多數汽車(chē)電子產(chǎn)品不同的是,這些設備是高度可見(jiàn)的,人們預期很高,希望能擁有出色的響應時(shí)間和性能。然而,設計者往往在當前的設計需求和未來(lái)功能所需的靈活性之間受到擠壓。在這個(gè)例子中,我們將使用信號處理和無(wú)線(xiàn)通信的實(shí)現需求來(lái)強調協(xié)處理器硬件架構的優(yōu)勢。 所使用的主要汽車(chē)娛樂(lè )系統架構之一是由 Delphi Delco 電子系統公司發(fā)布的。該架構采用了一個(gè) SH-4 MCU 和一個(gè)配套的 ASIC,即日立的 HD64404 Amanda 外設。這個(gè)架構滿(mǎn)足了汽車(chē)市場(chǎng) 75% 以上的基本娛樂(lè )功能;但它缺乏解決視頻處理應用和無(wú)線(xiàn)通信的能力。通過(guò)在這個(gè)現有的架構中加入 FPGA,就可以為這個(gè)已經(jīng)存在的設計增加進(jìn)一步的靈活性和能力。 ![]() 圖 5:信息娛樂(lè )系統 FPGA 協(xié)處理器架構實(shí)例 1。 圖 5 的架構同時(shí)適用于視頻處理和無(wú)線(xiàn)通信管理。通過(guò)將 DSP 功能推給 FPGA,Amanda 處理器可以起到系統管理的作用,并被釋放出來(lái)以實(shí)現無(wú)線(xiàn)通信堆棧。由于 Amanda 和 FPGA 都可以訪(fǎng)問(wèn)外部存儲器,數據可以在系統的處理器和組件之間快速交換。 ![]() 圖 6:信息娛樂(lè )系統 FPGA 協(xié)處理器架構實(shí)例 2。 圖 6 中的第二個(gè)信息娛樂(lè )系統突現了 FPGA 的能力,同時(shí)解決了高速模擬數據的傳入和視頻應用所需的壓縮和編碼處理。事實(shí)上,所有這些功能都可以推給 FPGA,通過(guò)使用并行處理,這些都可以實(shí)時(shí)處理。 通過(guò)在現有的硬件架構中加入 FPGA,現有硬件的成熟性能就可以獲得靈活性和未來(lái)適用性。即使在現有系統中,協(xié)處理器架構也為設計者提供了選擇,否則將無(wú)法使用 [6]。 快速原型開(kāi)發(fā)優(yōu)勢 快速原型開(kāi)發(fā)過(guò)程的核心是就要覆蓋大量產(chǎn)品開(kāi)發(fā)領(lǐng)域,因此要能并行執行任務(wù)、快速識別“錯誤”和設計問(wèn)題以及驗證數據和信號路徑,特別是項目關(guān)鍵路徑內的數據和信號路徑。然而,要使這一過(guò)程真正產(chǎn)生精簡(jiǎn)、高效的結果,必須在所需的項目領(lǐng)域有足夠的專(zhuān)業(yè)知識。 傳統上,這意味著(zhù)必須有一個(gè)硬件工程師,一個(gè)嵌入式軟件或 DSP 工程師,以及一個(gè) HDL 工程師,F在,有很多跨學(xué)科的專(zhuān)業(yè)人員,他們可能能夠滿(mǎn)足多種角色;然而在協(xié)調這些工作時(shí),仍然涉及大量的項目開(kāi)銷(xiāo)。 在《用于小波協(xié)處理器的基于 FPGA 的快速原型開(kāi)發(fā)平臺》一文中,作者提倡使用協(xié)處理器架構可以讓一個(gè) DSP 工程師高效地完成所有這些角色。對于這項研究,該團隊開(kāi)始在 MATLAB 的 Simulink 工具中設計和仿真所需的 DSP 功能。這有兩個(gè)主要功能,即:1) 通過(guò)仿真驗證所需的性能;2) 作為基準,用以比較和參考未來(lái)的設計選擇。 仿真之后,關(guān)鍵功能被確定下來(lái),并被劃分為不同的核心——這些是可以在 FPGA 內合成的軟核組件和處理器。這項工作中最重要的一步是定義這些核心和組件之間的接口,并將數據交換性能與期望的、仿真的性能進(jìn)行比較。這一設計過(guò)程與 Xilinx 的嵌入式系統設計流程緊密結合,具體匯總見(jiàn)下圖 7。 ![]() 圖 7:實(shí)現設計流程 通過(guò)將系統劃分為可整合的內核,DSP 工程師可以專(zhuān)注于信號處理鏈中最關(guān)鍵的方面。她/他不需要成為硬件或 HDL 方面的專(zhuān)家,就可以在 FPGA 內修改、路由或實(shí)現不同的軟核處理器或組件。因此,只要設計者了解接口和數據的格式,他們就能完全控制信號路徑,并能完善系統的性能。 實(shí)證結果——離散余弦變換案例研究 實(shí)證結果不僅證實(shí)了協(xié)處理器架構為嵌入式系統設計者提供的靈活性,而且還展示了現代 FPGA 工具的性能增強選項。像下面提到的增強功能,對于其他硬件架構來(lái)說(shuō),可能無(wú)法使用或影響較小。離散余弦變換 (DCT) 被選為計算密集型算法,其從基于 C 的實(shí)現到基于 HDL 的實(shí)現的進(jìn)展是這些結果的核心。選擇 DCT 是因為這種算法可用于數字信號處理的模式識別和篩選 [8]。該實(shí)證結果基于一項實(shí)驗室工作,由作者及其同事完成,獲得了 2020-2021 年的 Xilinx 聯(lián)盟合作伙伴認證。 在這項工作中,使用了以下工具和設備: · Vivado HLS 2019 版 · 用于評估和仿真的設備是 xczu7ev-ffvc1156-2-e 從基于 C 語(yǔ)言的實(shí)現開(kāi)始,DCT 算法接受兩個(gè) 16 位數的數組;數組 "a" 是 DCT 的輸入數組,數組 "b" 是 DCT 的輸出數組。因此,數據寬度 (DW) 被定義為 16,而數組內的元素數 (N) 為 1024/DW,即 64。最后,DCT 矩陣的大小 (DCT_SIZE) 被置為 8,這意味著(zhù)使用了一個(gè) 8×8 的矩陣。 在本文前提之下,基于 C 語(yǔ)言的算法實(shí)現允許設計者快速開(kāi)發(fā)和驗證算法的功能。盡管這是一個(gè)重要的考慮因素,但這種驗證將功能置于了比執行時(shí)間更高的權重。這種加權是允許的,因為該算法的最終實(shí)現將在 FPGA 中進(jìn)行,硬件加速、循環(huán)展開(kāi)和其他技術(shù)都是現成的。 ![]() 圖 8:Xilinx Vivado HLS 設計流程。 一旦 DCT 代碼在 Vivado HLS 工具中作為一個(gè)項目被創(chuàng )建,下一步就是開(kāi)始為 FPGA 的實(shí)現進(jìn)行設計整合。在接下來(lái)的步驟中,將算法的執行從 MCU 轉移到 FPGA 的一些最具影響力的好處變得更加明顯——作為參考,這一步相當于上面討論的微控制器的系統管理里程碑。 現代 FPGA 工具允許進(jìn)行一系列的優(yōu)化和增強,從而極大地提高復雜算法的性能。在分析結果之前,有一些重要的術(shù)語(yǔ)需要牢記。 · 延遲 – 執行循環(huán)的所有迭代所需的時(shí)鐘周期數 [10] 。 · 間隔 – 循環(huán)的下一次迭代開(kāi)始處理數據之前的時(shí)鐘周期數 [11]。 · BRAM – 塊狀隨機訪(fǎng)問(wèn)存儲器 · DSP48E – 用于 UltraScale 架構的數字信號處理片斷 · FF – 觸發(fā)器 · LUT – 查找表 · URAM – 統一隨機訪(fǎng)問(wèn)存儲器(可由單個(gè)晶體管組成)。 ![]() 表 1:FPGA 算法執行優(yōu)化結果(延遲和間隔)。 ![]() 表 2:FPGA 算法執行優(yōu)化結果(資源利用)。 默認 默認的優(yōu)化設置來(lái)自于將基于 C 語(yǔ)言的算法轉換為可綜合 HDL 的未改變結果。沒(méi)有啟用任何優(yōu)化,這可以作為性能參考,以更好地了解其他優(yōu)化。 流水線(xiàn)內循環(huán) PIPELINE 指令指示 Vivado HLS 展開(kāi)內循環(huán),這樣新的數據就可以開(kāi)始被處理,而現有的數據仍在流水線(xiàn)中。因此,新數據不必等待現有數據完成后再開(kāi)始處理。 流水線(xiàn)外循環(huán) 通過(guò)對外循環(huán)應用 PIPELINE 指令,外循環(huán)的操作現在被流水線(xiàn)化了。但內循環(huán)的操作現在是同步進(jìn)行的。通過(guò)將其直接應用于外循環(huán),延遲和間隔時(shí)間都減少了一半。 陣列劃分 這條指令將循環(huán)的內容映射到陣列中,從而將所有的存儲器訪(fǎng)問(wèn)扁平化到這些陣列中的單個(gè)元素。這樣做,會(huì )消耗更多的 RAM,但同樣的,這個(gè)算法的執行時(shí)間也會(huì )減少一半。 數據流 這條指令允許設計者指定每個(gè)輸入讀數之間的目標時(shí)鐘周期數。這條指令只支持頂層函數。只有暴露在這個(gè)級別的循環(huán)和函數才能從這個(gè)指令中受益。 內聯(lián) INLINE 指令平坦了所有循環(huán),包括內循環(huán)和外循環(huán)。行和列進(jìn)程現在都可以并發(fā)執行。所需的時(shí)鐘周期的數量被保持在最低水平,即使這樣也會(huì )消耗更多的 FPGA 資源。 結語(yǔ) 協(xié)處理器的硬件架構為嵌入式設計者提供了一個(gè)高性能的平臺,在整個(gè)開(kāi)發(fā)過(guò)程中以及在產(chǎn)品發(fā)布后都能保持其設計靈活性。通過(guò)先在 C 或 C++ 中驗證算法,進(jìn)程、數據和信號路徑以及關(guān)鍵功能都可以在相對較短的時(shí)間內得到驗證。然后,通過(guò)將處理器密集型算法轉換到協(xié)處理器 FPGA 中,設計者可以享受到硬件加速和更加模塊化設計的好處。 如果零件過(guò)時(shí)或需要優(yōu)化,相同的架構可以允許這些變化。新的 MCU 和新的 FPGA 可以安裝到設計中,而所有的接口都可以保持相對不變。此外,由于 MCU 和 FPGA 都是可現場(chǎng)更新的,因此用戶(hù)的特定改變和優(yōu)化可以在現場(chǎng)和遠程應用。 最后,這種架構將 MCU 的開(kāi)發(fā)速度和可用性與 FPGA 的性能和可擴展性融合到了一起。由于每個(gè)開(kāi)發(fā)步驟都有優(yōu)化和性能提升,協(xié)處理器架構可以滿(mǎn)足最具挑戰性的需求——無(wú)論是今天的設計還是以后的設計。 來(lái)源:Digi-Key 作者:Noah Madinger, Colorado Electronic Product Design (CEPD) |