隨著FPGA晶片的密度和性能不斷提高,調試的複雜程度也越來越高。BGA封裝的大量使用更增加了板子調試的難度。所以在調試FPGA電路時要遵循一定的原則和技巧,才能減少調試時間,避免誤操作損壞電路。
一般情況下,可以參考以下步驟進行FPGA硬體系統的調試。
(1)在焊接硬體電路時,只焊接電源部分。使用萬用表進行測試,排除電源短路等情況後,上電測量電壓是否正確。
(2)焊接FPGA及相關的下載電路。再次測量電源地之間是否有短路現象,上電測試電壓是否正確,然後將手排除靜電後觸摸FPGA有無發燙現象。
如果此時出現短路,一般是去耦電容短路造成的,所以在焊接時一般先不焊去耦電容。FPGA的管腳粘連也可能造成短路,這時需要對比電路圖和焊接仔細查找有無管腳黏連。如果出現電壓值錯誤,一般是電源晶片的外圍調壓電阻焊錯,或者電源的承載力不夠造成的。若是後者,則需要選用負載能力更強的電源模塊進行替換。如果FPGA的I/O管腳與電源管腳粘連,也可能出現電壓值錯誤的現象。
如果出現FPGA發燙,一般是出現總線衝突的現象。這種情況下需要仔細檢查外圍總線是否出現競爭問題。
特別是多片存儲器共用總線時,如SDRAM和Flash晶片復用一套總線,如果片選信號同時有效就出現總線的衝突。
(3)完成以上調試後,將電路板上電運行。然後把下載電纜連接到JTAG接口上,在PC機上運行Quartus II軟體的Programmer編程器,單擊其中的「Auto Detect」按鈕進行FPGA下載鏈路自動檢測。若能正確檢測到FPGA,說明配置電路是正確連接的。自動檢測FPGA下載鏈路如圖2-13所示。
圖2-13 自動檢測FPGA下載鏈路介面
(4)焊接時鐘電路、復位電路及數碼管電路,並向FPGA下載一個數碼管跑馬燈程序。若程序能夠正確運行,說明FPGA已經可以正常工作了。
(5)焊接所有其他電路,並進行整體功能測試。