FPGA板級調試方法與原則

FPGA調試藉助於示波器和邏輯分析儀是最常見的方法。

本文列舉Quartus II支持的五種較實用的調試方法。

當然還有一些虛擬JTAG調試和LogicLock邏輯鎖定等調試方法。
在這裏插入圖片描述

1.信號探針(signalProbe)法:

信號探針方式是不影響原有設計功能和佈局佈線,只是通過增加額外佈線將需要觀察調試的信號連接到預先保留或暫時不使用的I/O接口,該方式相應得到的信號電平會隨佈線有一定的延時,不適合於高速,大容量信號觀察調試,也不適合做板級時序分析。

它的優勢在於不影響原有設計,額外資源消耗爲零,調試中也不需要保持連接JTAG等其他線纜,能夠最小化編譯或重編譯的時間。

這種信號探針法(signalProbe)使用條件有:

1.首先得有多餘的I/O管腳;
2.器件是FPGA或CPLD芯片;
3.必須要有外部測試設備,比如邏輯分析儀,示波器。(需要外部設備來觀察會導致信號具備一定的時延和不完整性,個人不常用)

具體操作參考博文地址:

https://blog.csdn.net/huan09900990/article/details/78908748

2.在線邏輯分析儀(signalTap II)

SignalTap II在線邏輯分析儀很大程度上可以替代昂貴的邏輯分析儀,爲開發節約成本,同時也爲調試者省去了原本繁瑣的連線工作,而有些板級連接的外部設備很難觀察到的信號都能夠輕鬆捕獲。如果對設計進行模塊的區域約束,也能夠使在線邏輯分析儀對設計帶來的影響最小化。在線邏輯分析儀的採樣存儲深度和寬度都在一定程度上受限於FPGA器件資源的大小。

使用該方式必須通過JTAG接口,它的採樣頻率可以達到200MHZ(若器件支持)以上,不用像外部調試設備一樣擔心信號的完整性問題。

具體操作參考博文地址:

https://blog.csdn.net/woshiyuzhoushizhe/article/details/83007026

推薦使用在線邏輯分析儀(signalTap II)

3.邏輯分析儀接口(Logic Analyzer Interface )法

這裏的邏輯分析儀接口是針對具有外部邏輯分析儀的。調試者可以設置FPGA器件內部的多個信號映射到一個預留或暫時不用的I/O口上,從而通過較少的I/O口就能夠觀察到FPGA多組內部信號。

該法與第一種信號探針法類似,因此具備信號探針法的缺點,個人不常用。

4.在線存儲內容編輯法(In-System Memory Content Editor)

在線存儲內容編輯是針對設計中例化的內嵌存儲器內容或常量的調試。可以通過這種方式在線重寫或者讀出工程中內嵌存儲器內容或常量。對於某些應用可以通過在線更改存儲器內容後觀察響應來驗證設計,也可以在不同激勵下在線讀取當前存儲內容來驗證設計。總之,這種方法對存儲器的驗證具有很大幫助。

但是首先很遺憾,目前該功能只支持單口RAM以及ROM,不支持雙口RAM。

具體操作參考博文地址:

https://blog.csdn.net/huan09900990/article/details/78890356

5.在線源和探針法(In-System Sources and Probes)

這種方法是通過例化一個定製的寄存器鏈到FPGA器件內部,這些寄存器鏈通過JTAG接口與器件通信,能夠驅動器件內部的某些輸入節點信號,採樣某些輸出節點信號,這就使得調試者不需要藉助外部設備就能夠給FPGA添加激勵並觀察響應。

具體操作參考博文地址:

https://blog.csdn.net/huan09900990/article/details/78893435

對於FPGA調試而言,

(1)設計前,首先就要選擇好片上調試方案,並規劃好存儲器和邏輯要求,確定I/O引腳連接和電路板連接方式。

(2)對於使用器件自帶的如SignalTap II這一類嵌入式邏輯分析儀進行調試時,需要保留一定的內部存儲器資源,以便大量存儲採集數據。

(3)如果要使用嵌入式邏輯分析儀,邏輯分析接口,在線存儲器內容編輯和虛擬JTAG宏功能,就需要在系統和電路板的規劃中專門設計對應的JTAG接口。

(4)要逐漸使用調試工具,減少編譯時間,開啓漸進式編譯。這樣就不必重新編譯設計來更改調試工具。

(5)確保電路板能支持調試模式,在此模式下調試信號不影響系統運行。

(6)保留I/O引腳,以便於通過邏輯分析儀接口或者額外的信號引腳進行調試。這樣就不必在以後爲了適應調試信號而更改設計或者電路板。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章