使用SignalProbe
0赞
FPGA的验证调试,仿真喜欢使用ModelSim,调试喜欢使用Altera的SiganlTapII。最近有个板子由于在硬件设计的时候没有预留JTAG,导致无法使用SignalTapII,调试的时候只能借助示波器。偶尔研究使用了下SignalProbe,简单地说,SignalProbe就是将内部node引到外部pin上。
一般何时使用SignalProbe呢?
1、有外部测试设备的存在;
2、目标设计器件为FPGA或者CPLD;
3、器件内部资源剩很少或者根本没有剩余;
4、有剩余的IO引脚;
5、无需等待过长的编译时间,很容易将内部信号布线到调试端口;
6、无需JTAG。
古老的设计调试,一般都保留有测试引脚,调试阶段这些调试引脚成为了设计的一部分。而使用SignalProbe的好处就是尽量使测试和设计分离,所以使用SignalProbe好处有:
1、简单易用;
2、Fitter来处理SignalProbe引起的信号布线,所以设计者只需指定sourece node和目标pin即可,编译报告会报告从内部node到pin的延迟时间。
3、加入SignalProbe后不会影响已编译的设计的布局,被测试的信号的Fmax不会改变,布线可能会有些许更改。
4、可以结合增量编译,节省编译时间。
SignalProbe使用步骤:
1、保留足够的测试引脚;
2、编译设计(optional),如果设计已经全编译,则无需编译;
3、分配SignalProbe sourece;
4、如果需要加入流水寄存和时钟;
5、Perform SignalProbe Compilation;
6、Program device;
7、重复3~7.
总结:个人认为选择SignalProbe进行调试是设计没有留JTAG的无奈之举,但是有些场合不支持SignalTapII的CPLD则只能选择SignalProbe,还有就是当器件的资源利用率很高的时候已经没有足够的资源在设计中加入SignalTapII的时候也只能选择SignalProbe。而且SignalProbe有个最大的好处除了占用很少的资源外就是设计无需重新编译,fitter会完成探测源和目标端口之间布线,而且重新全编译加入的SignalProbe会自动消失。