SoC FPGA:產品開發中的自適應性能分析
開發工具的目的不僅僅是用于調試復雜問題,而且還要提高開發效率。有時候,比起有效電源特性,這一目標的達成更取決于標準產品特性的便捷與實用。大部分專業調試器中的一大便捷特性是以寄存器組來顯示存儲器映射SoC外設寄存器,包括其名稱、比特域和描述,這與外設文檔中的相一致。
本文引用地址:http://www.ex-cimer.com/article/201710/367259.htm當針對FPGA進行開發時,還要復雜一些。FPGA供應商通常會提供FPGA硬件庫,例如,加密/解密模塊、數學算法加速模塊和外設控制器等。但是,需要硬件開發人員確定將多少模塊綜合到FPGA中,確定在處理器中,它們位于存儲器映射的哪些位置,這意味著,軟件調試器不可能立即提供外設寄存器視圖。軟件開發人員能夠手動生成調試器外設描述視圖,但是手動編輯非常耗時,而且容易出錯。其解決方法要求在FPGA綜合工具和軟件調試器之間進行通信。Altera QSys系統配置工具為完整的FPGA設計生成外設寄存器描述文件,ARM DS-5調試器能夠自動導入文件,顯示FPGA IP寄存器,看起來它們就像硬核處理器系統的組成部分。
圖1:自動生成外設寄存器視圖,并在DS-5調試器上進行導入
系統級性能分析
今天,產品開發人員更關注調試性能問題,努力在相同的硬件上實現更多的功能,或者降低功耗。因此,工具供應商越來越關注性能和功耗分析工具。
選擇SoC器件(集成了處理器和FPGA架構)的一個主要原因是能夠使用FPGA硬件模塊來加速軟件工作。例如,可以使用FFT解碼器或者FPGA架構中的 DES解密算法來釋放處理器,從而讓處理器去完成其他任務,或者,進入睡眠狀態以節省功耗。對于這些器件,工具應能夠查看處理器和FPGA IP模塊資源占用率相對水平。然后,設計人員可以使用這些信息來優化系統。
雖然采用了指令跟蹤來優化軟件編解碼器和其他性能軟件,但是,對于運行Linux和Android等操作系統的ARM應用處理器,還是需要使用ARM DS-5流線性能分析器等某些特定的分析工具。ARM DS-5使用在目標中運行的Linux驅動,按照一定的時間間隔對信息進行采樣,每次由事件計數器提供捕獲的任務切換信息,諸如:
● 處理器負載等操作系統事件。
● 分支誤預測等處理器事件。
● 系統事件,這些計數器支持用戶找到系統級瓶頸。
● 軟件注釋,用于報告感興趣的事件。
看到這一信息在一條時間線上顯現后,開發人員就了解了軟件和硬件之間的相互作用。
對于混合處理器和FPGA器件,可以使用流線分析器來同時優化硬件和軟件。硬件中需要的唯一基本組件是存儲器映射寄存器,對每一不同IP模塊的利用率進行計算。然后,可以配置流線來訪問這些新計數器,顯示其隨著時間變化的數值,與CPU使用率和其他系統級計數器相關聯。
圖2:ARM DS-5流線中的時間線視圖。
對功耗有要求的用戶可以通過ARM能耗探針來擴展流線,以便監視并查看目標中某些電源路徑上的電壓和電流消耗。在FPGA目標上,這些電源線通常是為CPU 子系統、FPGA內核和FPGA I/O供電,但是,他們也會監視整個產品的主電源。還是通過查看功耗、軟件活動和系統利用率之間的關系,以及能夠基準測試能耗,開發人員便能夠為功耗和電池使用時間來優化系統。
結論
SoC新器件包括ARM應用處理器和FPGA架構,為推出更高效的產品帶來了新機遇。片內調試硬件、FPGA工具和軟件調試以及分析工具的創新已經與硬件創新相匹配,因此,開發這些器件以及充分發揮其功率特性優勢變得與在固定的ASIC器件上開發軟件一樣簡單高效。
評論