FPGA系统调试问题及提高调试效率的方法
到逻辑分析仪上。这种方法提供了非常深的内存,适合调试出现故障和实际导致该故障的原因在时间上相距很远的问题;对于需要采集大量数据进行后期分析的设计人员也非常必要。另外,它还可以把内部FPGA信号与电路系统中的其他活动时间关联起来。
与嵌入式逻辑分析仪方法一样,也需要考虑许多矛盾。
3.1 针脚与内部资源
外部逻辑分析仪方法采用非常少的逻辑资源,不使用FPGA内存资源。它释放了这些资源,来实现所需功能。其矛盾在于,必须增加专用于调试的针脚数量,而设计时需要使用这些针脚。
3.2 探测与工作模式
外部逻辑分析仪探测要比嵌入式逻辑分析仪方法要求的探测复杂一些。必须确定怎样使用逻辑分析仪探头探测FPGA内部信号,而不能使用电路板上已有的JTAG连接器。最简便的方式是在电路板中增加一个测试连接器,这可以简便地把FPGA信号与系统中的其他信号关联起来。
3.3 成本与灵活性
尽管外部逻辑分析仪的购买价格确实要高于嵌入式逻辑分析仪,但使用外部逻辑分析仪可以解决更加广泛的问题。逻辑分析仪不仅可以用于FP
GA调试,还可以用来解决其他数字设计挑战,它被公认为是进行通用数字系统硬件调试的最佳工具。外部逻辑分析仪能够实现更加灵活的采集模式和触发功能。通过外部逻辑分析仪,可以设置最多16个不同的触发状态(每一个状态含有16个条件判断分支),每一个通道提供256 MB的内存,并且可以在定时分析模式下以高达125 ps的分辨率(8 GS/s采样) 捕获数据。
4 FPGAView进行FPGA调试
外部逻辑分析仪方法有效地利用了FPGA的处理能力,并根据需要重新对设备配置,将有用的内部信号路由到通常很少的针脚上。这是一种非常有用的方法,但它也有一定的局限性:用户每次需要查看一套不同的内部信号时,都必须改变设计(在RTL级或使用FPGA编辑器工具),把希望的信号组路由到调试针脚上。这不仅耗时,而且如果要求重新汇编设计,还会改变设计的定时,可能会隐藏需要解决的问题。当更改FPGA内部测试信号时,在外部逻辑分析仪上的被测信号名称需要手工进行更新。一般说来,调试针脚数量很少,内部信号与调试针脚之间1:1的关系限制着设计查看能力和洞察力。为克服这些局限性,出现了一种新的FPGA调试方法,它不仅提供了外部逻辑分析仪方法的所有优势,还消除了主要局限性。FPGAView软件在与泰克TLA系列逻辑分析仪配套使用时,为调试FPGA和周边硬件电路提供了一个完整的解决方案,如图2所示。
这种组合可以时间关联的查看FPGA的内部活动和外部活动;迅速改变FPGA内部探点,而无须重新汇编设计;每个针脚监测多个内部信号;在TLA逻辑分析仪上自动更新切换的内部信号名称。此外,FPGAView可以在一台设备中处理多个测试内核(适合监测不同的时钟域),并可以在一个JTAG链上处理多台FPGA设备。
5 快速使用FPGAView
使用FPGAView的步骤如下所述:
(1) 插入内核
这步是配置测试内核,把它插入到FPGA设计中。例如,在使用ALTERA或Xilinx器件时,可以使用FPGA开发工具提供的逻辑分析仪接口编辑器,创建最适合自己需求的测试核。
对大多数的测试内核,可以指定下述参数:
①针脚数量(pin count):表示希望专用于逻辑分析仪接口的针脚数量;
②组数(bank count):表示希望映射到每个针脚上的内部信号数量;
③输出/捕获模式(output/capture mode):选择希望执行的采集类型;可以选择组合逻辑/定时模式(combina-tion/timing)或寄存器/状态模式(registered/state);
④时钟(clock):如果用户选择了registered/state的捕获模式,这一选项允许选择测试内核的取样时钟;
⑤通电状态(power-up state):这个参数允许指明用于逻辑分析仪接口的针脚的通电状态。
(2) 把测试内核信息加载到FPGAView中
从FPGAView软件窗口中,可以与JTAG编程电缆建立连接,并且连接到TLA系列逻辑分析仪(TLA逻辑分析仪使用Windows平台)或PC工作站上。
在使用ALTERA FPGA芯片时,按打开(Open)工具条按钮,调出一个文件浏览器,选择QuartusⅡLAI Editor软件以前生成的逻辑分析仪接口(.lai)文件。这样就加载了与LAI核心有关的所有信息,包括每一组的信号数量、组数和信号名称,另外如果设备中的LAI内核多于一个,那么还包括每个LAI内核的信息。
(3) 把FPGA针脚映射到逻辑分析仪上
映射FPGA针脚和TLA逻辑分析仪探头之间的物理连接。FPGAView可以自动更新逻辑分析仪上显示的信号名称,与测试内核当前监测的信号相匹配。为此,简单地点击探头(probes)按钮,将出现一个拖放窗口,把测试内核输出信号名称与逻辑分析仪上的相应通道连接起来。对某条目标连接,这个通道分配过程只需一次。
(4) 进行测量
使用组(bank)列表下拉菜单,选择想要测量的组。一旦选择了组,FPGAView会通过JTAG接口与FPGA通信,并配置测试内核,以便选择希望的组。
FPGAView还将这些通道名称通过对TLA系列逻辑分析仪的控制进行自动分配,从而可以简便地理解测量结果。为测量不同的一套内部信号,用户只需选择不同的信号组。全功能TLA系列逻辑分析仪会自动地把这些FPGA信号与系统中的其他信号关联起来。
在TLA逻辑分析仪中,针对设计人员关心的各种时间信息,提供了业内独有的定时参数自动测量功能,通过鼠标简单地拖放操作,能够得到周期、频率、占空比、脉冲宽度、通道/通道延迟、边沿计数、周期计数、违规计数、周期抖动、以及周期间抖动等信息。
- 孕龙逻辑分析仪在USB蓝牙接收器上的实际测量(09-24)
- 简述嵌入式逻辑分析仪在FPGA测试中的应用(05-05)
- FPGA与DSP协同处理系统设计之:FPGA+DSP协同平台的调试技巧和注意事项(06-05)
- 基于FPGA的虚拟逻辑分析仪的设计(06-05)
- 利用FPGA的M4K作为移位寄存器的逻辑分析仪设计(06-05)
- 基于FPGA的虚拟逻辑分析仪设计与实现(06-05)