FPGA 在线调试方法概述
Altera公司的 Quartus II 支持的五种挺实用的调试方法:
SignalProbe:信号探针方式不影响原有的设计功能和布局布线,只是通过增加额外布线将需要观察调试的信号连接到预先保留或者暂时不使用的 I/O 接口。该方式相应得到的信号电平会随布线有一定的延时,不适合于高速、大容量信号观察调试,也不适合做板级时序分析。它的优势在于不影响原有设计,额外资源消耗几乎为零,调试中也不需要保持连接 JTAG 等其他线缆,能够最小化编译或是重编译的时间;
SignalTap II Embedded Logic Analyzer:SignalTap II 在线逻辑分析仪很大程度上可以替代昂贵的逻辑分析仪,为开发节约成本;同时也为调试者省去了原本繁琐的连线工作,而有些板级连接的外部设备很难观察到的信号都能够被轻松的捕获。如果对设计进行模块的区域约束,也能够最小化使用在线逻辑分析仪对设计带来的影响。在线逻辑分析仪的采样存储深度和宽度都在一定程度上受制于FPGA 器件资源的大小。使用该方式必须通过 JTAG 接口,它的采样频率可以达到;
Logic Analyzer Interface:这里的逻辑分析仪接口针对于外部逻辑分析仪的。调试者可以设置 FPGA 器件内部多个信号映射到一个预先保留或者暂时不使用的I/O 接口上,从而通过较少的 I/O 接口就能够观察 FPGA 内部的多组信号;
In-System Memory Content Editor:在线存储内容编辑是针对设计中例化的内嵌存储器内容或常量的调试。可以通过这种方式在线重写或者读出工程中的内嵌存储器内容或常量。对于某些应用可以通过在线更改存储器内容后观察响应来验证设计,也可以在不同激励下在线读取当前存储内容来验证设计。总之,这种方式对存储器的验证是很有帮助的;
In-System Sources and Probes Editor:这种方式是通过例化一个定制的寄存器链到 FPGA 器件内部。这些寄存器链通过 JTAG 接口与 Quartus II 通信,它又能够驱动 FPGA 器件内部的某些输入节点信号,采样某些输出节点信号。这就使得调试者不用借助外部设备就能够给 FPGA 添加激励并观察响应。