特权同学

基于Quartus II的在线调试方法

0
阅读(3420)

细算一下,发现Altera在Quartus II工具中居然提供了 五种不同的在线调试方法。这里的在线调试是指协助或不借助于外部工具的FPGA板级调试。这些方法 调试形式上稍有不同,互有优劣,目的都是为了帮助设计者更有效的完成板级验证。至于在面对这些方法时如何选择更适合特定的工程,应该综合考虑设计者的经 验、喜好、对工具的熟悉程度、器件支持与否与工程的调试需求等因素。

l SignalProbe,信号探针方式不 影响原有的设计功能和布局布线,只是通过增加额外布线将需要观察调试的信号连接到预先保留或者暂时不使用的I/O接 口。该方式相应得到的信号电平会随布线有一定的延时,不适合于高速、大容量信号观察调试,也不适合做板级时序分析。它的优势在于不影响原有设计,额外资源 消耗几乎为零,调试中也不需要保持连接JTAG等其他线缆,能够最小化编译或是重编译的时间。

l SignalTap II Embedded Logic Analyzer,SignalTap II在线逻辑分析仪很大程度上可 以替代昂贵的逻辑分析仪,为开发节约成本;同时也为调试者省去了原本繁琐的连线工作,而有些板级连接的外部设备很能观察到的信号都能够被轻松的捕获。如果 对设计进行模块的区域约束,也能够最小化使用在线逻辑分析仪对设计带来的影响。在线逻辑分析仪的采样存储深度和宽度都在一定程度上受制于FPGA器件资源的大小。使用该方式必须通过JTAG接 口,它的采样频率可以达到200MHz(若器件支持)以上,而不用像外部调试设备一样担心信号完整 性问题。

l Logic Analyzer Interface,这里的逻辑分析仪接口针对于外部逻辑分析仪的。调试者可以设置FPGA器 件内部多个信号映射到一个预先保留或者暂时不使用的I/O接口上,从而通过较少的I/O接口就能够观察FPGA内部的多组信号。

l In-System Memory Content Editor,在线存储内容编辑是针对设计中例化的内嵌存储器内容或常量的调试。可以通过这种方式在线重写或者读出工程中的 内嵌存储器内容或常量。对于某些应用可以通过在线更改存储器内容后观察响应来验证设计,也可以在不同激励下在线读取当前存储内容来验证设计。总之,这种方 式对存储器的验证是很有帮助的。

l In-System Sources and Probes,这种方式是通过例化一个定制的寄存器链到FPGA器件内部。这些寄存器链通 过JTAG接口与Quartus II通 信,它又能够驱动FPGA器件内部的某些输入节点信号,采样某些输出节点信号。这就使得调试者不用 借助外部设备就能够给FPGA添加激励并观察响应。

早在FPGA的器件选型、原理图绘制和PCB设计阶段就应该 充分考虑到板级调试的需求。上述的在线调试方法大都需要FPGA器件的一些逻辑资源,这有必要纳入FPGA器件的资源评估中;JTAG接口也是调试中必 不可少的;预留一些未被使用的I/O接口,有时哪怕多接几个指示灯也会给后续的调试带来帮助;如果 有条件,也可以考虑在PCB板上多加一些测试点。

Baidu
map