Path: EDNTaiwan電子技術設計 >> 設計中心 >> 通訊/網路/無線 >> FPGA自我調整軟體除錯和性能分析
通訊/網路/無線 Share print

FPGA自我調整軟體除錯和性能分析

2013年07月02日  | Javier Orensanz, ARM; Stefano Zammattio, Altera

Share this page with your friends

下一次執行軟體時,當處理器到達該指令時,FPGA會即時採集這一點周圍的RTL訊號。開發人員一般會決定採集處理器系統匯流排的第一個波形,以便確定此時存取了哪一個記憶體映射元件。但是,一旦找到故障元件後,就可以使用相同的方法來分析其內部硬體。

圖 2
圖2:從軟體到硬體的交叉觸發。



相似的,當出現了某一個RTL組合訊號後,可以使用SignalTap來配置FPGA產生一個觸發,而採用DS-5來配置交叉觸發矩陣,這樣,FPGA觸發器停止處理器執行,或者開始採集軟體指令追蹤訊號。

圖 3
圖3:從硬體到軟體的交叉觸發。



研究軟體和硬體之間的關係

交叉觸發的功能雖然很強大,但是,不能滿足軟體和硬體整合開發人員的所有需求。其主要局限是不能將其做為研究工具:因為它要求開發人員定義錯誤條件,它只能用於糾正問題,而不是找到問題。

Altera SoC實現了CoreSight System Trace Macrocell (STM),提供了更合適的工具來研究軟體和硬體之間的關係。STM同時支援對軟體和硬體的測量。當出現了感興趣的事件時,您可以透過向STM「列印」字串來測量軟體。相似的,您可以讓STM在某一段時間中監視RTL訊號,測量硬體。這些硬體訊號每次出現了變化或者軟體每次出現了您感興趣的事件時,STM會產生追蹤資料封包,將其發送至DS-5除錯器進行除錯。

圖 4
圖4:系統追蹤巨集單元的軟體和硬體連接。




這一種技術解決了很多整合問題,例如下面的問題:

• 軟體不需要我的FPGA周邊時,會關掉它們嗎?

• 兩個應用程式能夠正確的共用FPGA的周邊驅動程式嗎?

• 軟體需要多長時間來回應周邊中斷,或者FPGA輸入接腳的變化呢?

• 軟體總是能夠收到並正確的理解FPGA周邊產生的資料嗎?會丟失資料嗎?

透過使用系統追蹤巨集單元來監視硬體訊號,這樣,還獲得了在一個使用者介面下顯示所有資料來源的優勢,這一個介面是由DS-5除錯器提供的。這通常要比在軟體和FPGA工具之間不斷來回切換的效率高得多,特別是軟體發展人員不是FPGA專家的情況。

最後,Altera SoC FPGA實現晶片內CoreSight全域時間戳記,提供分配給硬體中所有追蹤巨集單元的公共時間基準。透過這些全域時間戳記,在較長的時間週期上,使用者可以關聯指令追蹤、軟體事件和硬體事件。全域時間戳記提供了另一種觸發相關機制,更適合於除錯階段。(未完,請參閱下頁更多內文及附圖)


 First Page Previous Page 1 • 2 • 3 • 4 Next Page Last Page


想要免費接收更多的技術設計資訊嗎?

馬上訂閱《電子技術設計》郵件速遞,透過郵箱輕鬆接收最新的設計理念和產品新聞。

為確保您的資訊安全,請輸入右方顯示的代碼.

啟動您的訂閱申請

我們已給您的註冊郵箱發送了確認信,請點擊信中的連結啟動您的訂閱申請。

這將有助於我們很好地保護您的個人隱私同時確保您能成功接收郵件。


添加新評論
遊客 (您目前以遊客身份發表,請 登入 | 註冊)
*驗證碼:

新聞 | 產品 | 設計實例