1.4 FPGA使数字系统调试方法发生变革
FPGA已由一种只能进行简单运算和控制的低端产品,演变成可作为系统运行的高端产品,其调试方法也随之发生了极大的变化。最典型的表现是出现了所谓的片上逻辑分析仪,如Xilinx公司的ChipScope Pro。这种工具可以通过FPGA本身的JTAG边界扫描端口将设计师想观察的信号,送到计算机上加以显示。在FPGA调试阶段,传统的信号分析手段是用逻辑分析仪分析信号和时序,设计时要求FPGA和PCB设计人员保留一定数量的FPGA引脚作为测试引脚,编写FPGA代码时要将需要观察的信号作为模块的输出信号,在综合实现时再把这些输出信号锁定到测试引脚上,然后连接逻辑分析仪的探头到这些测试引脚,设定触发条件,进行观测。这个过程比较复杂,灵活性差,PCB布线后测试引脚的数量就固定了,不能灵活增加,当测试引脚不够用时影响测试,当测试引脚太多时又影响PCB布局布线,使用ChipScope Pro能较好地解决这些问题。ChipScope Pro是FPGA的在线片内信号分析工具,其主要功能是通过JTAG口,在线、实时地读出FPGA的内部信号。其基本原理是利用FPGA中未使用的BRAM,根据用户设定的触发条件将信号实时地保存到这些BRAM中,然后通过JTAG口传送到计算机,最后在计算机屏幕上显示出时序波形。
ChipScope Pro可以十分方便地观测FPGA内部的所有信号[10],使得对FPGA内部逻辑调试非常方便。ChipScope Pro系统框图如图1.19 所示。其中,ILA和ICON是为了使用ChipScope Pro观察信号而插入的核。一般来说,ChipScope Pro工作时需要在用户设计中实例化两种核,一是集成逻辑分析仪核(Integrated Logic Analyzer Pro core,ILA Pro core),用于提供触发和跟踪捕获的功能;二是集成控制器核(Integrated Controller Pro core,ICON Pro core),负责ILA Pro core和边界扫描端口的通信。ChipScope Pro工作时,ILA Pro core根据用户设置的触发条件捕获数据,然后在ICON Pro core的控制下,通过JTAG边界扫描端口上传到计算机,最后用ChipScope Pro Analyzer显示出信号波形。
图1.19 ChipScope Pro系统框图
使用ChipScope Pro可进行方便、快捷的调试,在一定程度上提高了FPGA的设计效率,降低了研发成本。