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