随着FPGA芯片的密度和性能不断提高,调试的复杂程度也越来越高。BGA封装的大量使用更增加了板子调试的难度。所以在调试FPGA电路时要遵循一定的原则和技巧,才能减少调试时间,避免误操作损坏电路。
一般情况下,可以参考以下步骤进行FPGA硬件系统的调试。
(1)首先在焊接硬件电路时,只焊接电源部分。使用万用表进行测试,排除电源短路等情况后,上电测量电压是否正确。
(2)然后焊接FPGA及相关的下载电路。再次测量电源地之间是否有短路现象,上电测试电压是否正确,然后将手排除静电后触摸FPGA有无发烫现象。
如果此时出现短路,一般是去耦电容短路造成,所以在焊接时一般先不焊去耦电容。FPGA的管脚粘连也可能造成短路,这时需要对比电路图和焊接仔细查找有无管脚粘连。
如果出现电压值错误,一般是电源芯片的外围调压电阻焊错,或者电源的承载力不够造成的。若是后者,则需要选用负载能力更强的电源模块进行替换。如果FPGA的I/O管脚与电源管脚粘连,也可能出现电压值错误的现象。
如果出现FPGA发烫,一般是出现总线冲突的现象。这种情况下需要仔细检查外围总线是否出现竞争问题。特别是多片存储器共用总线时候,比如ASRAM和Flash芯片复用一套总线,如果片选信号同时有效就出现总线的冲突。
(3)以上步骤均通过后,将电路板上电运行。然后把下载电缆接到JTAG接口上,在主机中运行Quartus II软件,并打开Programmer编程器,单击其中的“Auto Detect”按钮进行FPGA下载链路自动检测。若能正确检测到FPGA,说明配置电路是正确连接的。
自动检测FPGA下载链路如图2.28所示。
图2.28 自动检测FPGA下载链路
(4)焊接时钟电路、复位电路及数码管电路,并向FPGA下载一个数码管跑马灯程序。若程序能够正确运行,说明FPGA已经可以正常工作了。
(5)最后焊接所有其他电路,并进行整体功能测试。