可除錯設計提供查看訊號數據細節能力
設計功能的除錯是一種連貫性的工作:從架構設計開始,貫穿邏輯和實際實現的整個過程,而且在投片後也不會停止。一旦原型矽晶片被製造出來並安裝在目標電路板上,系統驗證工程師就要執行一連串的系統級測試,並處理任何檢測到的故障。
瞭解造成這些故障原因的關鍵在於內部訊號值的可視性。許多工程師會在設計階段忽視這種後矽晶片要求,但最新數據顯示,從原型矽晶片製造到量產的時間越來越長,因此改良系統級矽晶片除錯確有其必要。
設計驗證的改善不能徹底縮短系統級除錯時間。由於驗證工具受容量和性能的限制,工程師在完成投片前的驗證時,必須經常權衡精密度、完整性、可用時間和資源之間的關係。另外,軟體在矽晶片製造出來之前不可能做到沒有任何缺陷。而且在製造過程中還會導入實體缺陷。
可除錯設計(DFD)方法可協助人們在系統級驗證階段就深入瞭解矽晶片的行為。大多數DFD實現的關鍵,是再使用現有的可測試設計(DFT)邏輯,如掃描鏈和邊界掃描控制器(IEEE1149.1)。這些結構可方便地透過與PC相連的除錯埠,提供對矽晶片訊號數據的存取。
分析工具可用來處理採集到的數據,並進一步以圖形化顯示。DFD系統在系統驗證工程師和設計師之間架起了聯繫的橋樑。它提供了對矽晶片訊號數據的優良可視性,提高了除錯產能,並縮短系統驗證時間。以下針對DFD提供了一些建議。
建議的方法
.考慮除錯必須即時完成還是可採用時間插入技術。即時除錯可詳細查看高頻寬的訊號資訊,適合必須與大量嵌入式軟體互動的系統。時間插入方法則更容易實現,可提供更多的數據,但頻寬較低。
.再使用DFT。大多數設計包含掃描鏈和JTAG控制器,這些設備可作為DFD的基礎。在元件工作時進入除錯模式,並透過JTAG移出擷取的數據,要求額外的重置和時脈控制邏輯。TAP控制器必須用在線除錯作業指令進行擴展,這些指令可從PC上的控制程式中載入。
.盡可能使用非破壞性掃描來實現‘停止、觀察、執行’的除錯方法。暫存器值會在掃描移位中遭到破壞,除非硬體能阻止這種破壞,或DFD控制軟體能透明地重新載入正確的值。
.對整個DFD過程做好詳細規劃。在晶片上放置DFD邏輯只是其中的一個步驟。電路板必須包含晶片除錯埠和插座連接器之間的連線。要確保電路板連接器和PC之間的電纜相容性。控制程式是在用於JTAG測試的軟體庫基礎上開發的,必須對擷取的數據進行格式化,以便除錯工具能進一步進行分析。
圖:可除錯設計需要的組件。
不建議的做法
.在矽晶片製造出來後才決定除錯策略,這對提高內部訊號的可視性來說已經太晚了。在進行編碼前,就必須在元件規格中整合DFD概念。
.認為軟體開發環境可提供足夠的硬體除錯能力。內部訊號數據有時可以被SDE存取,但通常僅限於結構化暫存器,如數據和地址暫存器。高效的硬體除錯會要求實現狀態機暫存器和其它關鍵訊號的可視化。
.忽略時脈處理和數據的互動。要確保控制邏輯不會無意間在時脈線上注入突波。另外,要監視跨時脈域的數據,並確定系統停止後是否有效。
.忽視在投片前驗證DFD邏輯。DFD是元件的功能特性,必須加以規範及驗證。
.忘記考慮在採集到訊號數據後該做什麼。檢查文件值對數據和地址暫存器來說已經足夠,但其它暫存器數據最好採用針對HDL的除錯系統提供的波形、來源、原理圖和事務視窗進行分析。必須包將訊號值轉儲為標準格式的能力,如訊號值變換轉儲或快速訊號資料庫等,以確保這種連接的存在。
作者:
Kevin Tsai
技術總監
Novas Software公司
社區今日頭條 |
---|