加速FPGA系统实时调试技术
时间:07-26
来源:互联网
点击:
成本与灵活性
大多数FPGA厂商提供了嵌入式逻辑分析仪内核,而其价格要低于全功能外部逻辑分析仪。虽然用户希望更多的功能,但嵌入式逻辑分析仪内核的功能无论从通用性,分析方式,触发能力,还是从存储和分析能力都弱于全功能外部逻辑分析仪,而用户通常需要这些功能,来捕获和分析棘手的调试挑战。例如,嵌入式逻辑分析仪只能在状态模式下操作,它们捕获与FPGA设计中已有的指定时钟同步的数据,因此不能提供精确的信号定时关系。
外部逻辑分析仪
由于嵌入式逻辑分析仪方法存在的部分限制,许多FPGA设计人员已经采用外部逻辑分析仪方法,来利用FPGA的灵活性和外部逻辑分析仪的处理能力,如泰克TLA系列逻辑分析仪。
在这种方法中,感兴趣的内部信号路由到FPGA没有使用的针脚上,然后连接到逻辑分析仪上。这种方法提供了非常深的内存,适合调试那种出现故障和实际导致该故障的原因在时间上相距很远的问题;对于需要采集大量数据进行后期分析的设计人员也非常必要。另外它还可以把内部FPGA信号与电路系统中的其它活动时间关联起来。
与嵌入式逻辑分析仪方法一样,也需要考虑许多矛盾。
针脚与内部资源
外部逻辑分析仪方法采用非常少的逻辑资源,不使用FPGA内存资源。它释放了这些资源,来实现所需功能。现在的矛盾在于,必需增加专用于调试的针脚数量,而很明显,设计要使用这些针脚。
探测与工作模式
外部逻辑分析仪探测要比嵌入式逻辑分析仪方法要求的探测复杂一些。必需确定怎样使用逻辑分析仪探头探测FPGA内部信号,而不能使用电路板上已有的JTAG连接器。最简便的方式是在电路板中增加一个测试连接器,这可以简便地把FPGA信号与系统中的其它信号关联起来。
成本与灵活性
尽管外部逻辑分析仪的购买价格确实要高于嵌入式逻辑分析仪,但使用外部逻辑分析仪可以解决更加广泛的问题。逻辑分析仪不仅可以用于FPGA调试,还可以用来解决其它数字设计挑战,它被公认为进行通用数字系统硬件调试的最佳工具。外部逻辑分析仪能够实现更加灵活的采集模式和触发功能。通过外部逻辑分析仪,可以设置最多16个不同的触发状态(每一个状态含有16个条件判断分支),每一个通道提供256M的内存,并且可以在定时分析模式下以高达125 ps的分辨率(8GS/s采样)捕获数据。
选择合适的FPGA调试方法
上述两种方法都可以使用,采用哪种方法要视具体情况而定。挑战在于确定哪种方法更适合您的设计。用户可以问自己下面的问题:
预计有哪些问题?
如果您认为问题仅限于FPGA内部的功能性问题,那么使用嵌入式逻辑分析仪可以提供要求的所有调试功能。但是,如果预计有更多的调试问题,要求检验定时余量、把内部FPGA活动与电路板上的其它活动关联起来、或要求更强大的触发功能,那么使用外部逻辑分析仪更适合满足调试需求。
当FPGA芯片针脚包含超过200M的高速总线,例如集成内存控制器的DDRI、DDRII内存总线,以及集成高速SerDes的高速串行I/O总线,信号完整性测试是保证设计成功的基础。在本文的后半部分会介绍主流的测试工具和方法。
除状态数据外,是否需要考察快速定时信息?
外部逻辑分析仪允许以高达125 ps的分辨率(8GS/s采样)查看FPGA信号详细的定时关系,这有助于检验设计中实际发生的事件,检验设计的定时余量。嵌入式逻辑分析仪只能捕获与FPGA中已有的指定时钟同步的数据。
需要捕获多深的数据?
外部逻辑分析仪提供的采集内存更深。一般在嵌入式逻辑分析仪中,最大取样深度设为128 kb,这一数字受到器件限制。而在外部逻辑分析仪中,可以捕获最多256Mb样点。这有助于查看和分析更多的问题及潜在原因,从而缩短调试时间。
设计中更多地受限于针脚还是受限于资源?
使用嵌入式逻辑分析仪不要求任何额外的输出针脚,但必须使用内部FPGA资源,实现逻辑分析仪功能。使用外部逻辑分析仪要求使用额外的输出针脚,但使用内部FPGA资源的需求达到最小(或消除了这种需求)。表1汇总了每种方法的相对优势。
FPGAViewTM进行FPGA调试
FPGAView概述
外部逻辑分析仪方法有效利用FPGA的处理能力,并根据需要重新对设备配置,把感兴趣的内部信号路由到通常很少的针脚上。这是一种非常有用的方法,但它也有一定的局限性:
—— 用户每次需要查看一套不同的内部信号时,都必需改变设计(在RTL级或使用FPGA编辑器工具),把希望的信号组路由到调试针脚上。这不仅耗费时间,而且如果要求重新汇编设计,那么还会改变设计的定时,可能会隐藏需要解决的问题。
—— 当更改FPGA内部测试信号时,在外部逻辑分析仪上的被测信号名称需要手工进行更新。
—— 一般来说,调试针脚数量很少,内部信号与调试针脚之间1:1的关系限制着设计查看能力和洞察力。
为克服这些局限性,出现了一种新的FPGA调试方法,它不仅提供了外部逻辑分析仪方法的所有优势,还消除了主要局限性。FPGAView软件在与泰克TLA系列逻辑分析仪配套使用时,为调试FPGA和周边硬件电路提供了一个完整的解决方案(参见图2)。
这种组合可以:
—— 时间关联的查看FPGA内部活动和外部活动。
—— 迅速改变FPGA内部探点,而无需重新汇编设计。
—— 每个针脚监测多个内部信号。
—— 在TLA逻辑分析仪上自动更新切换的内部信号名称。
此外,FPGAView可以在一台设备中处理多个测试内核(适合监测不同的时钟域),并可以在一个JTAG链上处理多台FPGA设备。
[图示内容:]
PC Board: PCB电路板
Test Mux: 测试复用器
Tektronix Logic Analyzer Probe: 泰克逻辑分析仪探头
USB Converter: USB转换器
FPGAView? Software: FPGAView?软件
大多数FPGA厂商提供了嵌入式逻辑分析仪内核,而其价格要低于全功能外部逻辑分析仪。虽然用户希望更多的功能,但嵌入式逻辑分析仪内核的功能无论从通用性,分析方式,触发能力,还是从存储和分析能力都弱于全功能外部逻辑分析仪,而用户通常需要这些功能,来捕获和分析棘手的调试挑战。例如,嵌入式逻辑分析仪只能在状态模式下操作,它们捕获与FPGA设计中已有的指定时钟同步的数据,因此不能提供精确的信号定时关系。
外部逻辑分析仪
由于嵌入式逻辑分析仪方法存在的部分限制,许多FPGA设计人员已经采用外部逻辑分析仪方法,来利用FPGA的灵活性和外部逻辑分析仪的处理能力,如泰克TLA系列逻辑分析仪。
在这种方法中,感兴趣的内部信号路由到FPGA没有使用的针脚上,然后连接到逻辑分析仪上。这种方法提供了非常深的内存,适合调试那种出现故障和实际导致该故障的原因在时间上相距很远的问题;对于需要采集大量数据进行后期分析的设计人员也非常必要。另外它还可以把内部FPGA信号与电路系统中的其它活动时间关联起来。
与嵌入式逻辑分析仪方法一样,也需要考虑许多矛盾。
针脚与内部资源
外部逻辑分析仪方法采用非常少的逻辑资源,不使用FPGA内存资源。它释放了这些资源,来实现所需功能。现在的矛盾在于,必需增加专用于调试的针脚数量,而很明显,设计要使用这些针脚。
探测与工作模式
外部逻辑分析仪探测要比嵌入式逻辑分析仪方法要求的探测复杂一些。必需确定怎样使用逻辑分析仪探头探测FPGA内部信号,而不能使用电路板上已有的JTAG连接器。最简便的方式是在电路板中增加一个测试连接器,这可以简便地把FPGA信号与系统中的其它信号关联起来。
成本与灵活性
尽管外部逻辑分析仪的购买价格确实要高于嵌入式逻辑分析仪,但使用外部逻辑分析仪可以解决更加广泛的问题。逻辑分析仪不仅可以用于FPGA调试,还可以用来解决其它数字设计挑战,它被公认为进行通用数字系统硬件调试的最佳工具。外部逻辑分析仪能够实现更加灵活的采集模式和触发功能。通过外部逻辑分析仪,可以设置最多16个不同的触发状态(每一个状态含有16个条件判断分支),每一个通道提供256M的内存,并且可以在定时分析模式下以高达125 ps的分辨率(8GS/s采样)捕获数据。
选择合适的FPGA调试方法
上述两种方法都可以使用,采用哪种方法要视具体情况而定。挑战在于确定哪种方法更适合您的设计。用户可以问自己下面的问题:
预计有哪些问题?
如果您认为问题仅限于FPGA内部的功能性问题,那么使用嵌入式逻辑分析仪可以提供要求的所有调试功能。但是,如果预计有更多的调试问题,要求检验定时余量、把内部FPGA活动与电路板上的其它活动关联起来、或要求更强大的触发功能,那么使用外部逻辑分析仪更适合满足调试需求。
当FPGA芯片针脚包含超过200M的高速总线,例如集成内存控制器的DDRI、DDRII内存总线,以及集成高速SerDes的高速串行I/O总线,信号完整性测试是保证设计成功的基础。在本文的后半部分会介绍主流的测试工具和方法。
除状态数据外,是否需要考察快速定时信息?
外部逻辑分析仪允许以高达125 ps的分辨率(8GS/s采样)查看FPGA信号详细的定时关系,这有助于检验设计中实际发生的事件,检验设计的定时余量。嵌入式逻辑分析仪只能捕获与FPGA中已有的指定时钟同步的数据。
需要捕获多深的数据?
外部逻辑分析仪提供的采集内存更深。一般在嵌入式逻辑分析仪中,最大取样深度设为128 kb,这一数字受到器件限制。而在外部逻辑分析仪中,可以捕获最多256Mb样点。这有助于查看和分析更多的问题及潜在原因,从而缩短调试时间。
设计中更多地受限于针脚还是受限于资源?
使用嵌入式逻辑分析仪不要求任何额外的输出针脚,但必须使用内部FPGA资源,实现逻辑分析仪功能。使用外部逻辑分析仪要求使用额外的输出针脚,但使用内部FPGA资源的需求达到最小(或消除了这种需求)。表1汇总了每种方法的相对优势。
FPGAViewTM进行FPGA调试
FPGAView概述
外部逻辑分析仪方法有效利用FPGA的处理能力,并根据需要重新对设备配置,把感兴趣的内部信号路由到通常很少的针脚上。这是一种非常有用的方法,但它也有一定的局限性:
—— 用户每次需要查看一套不同的内部信号时,都必需改变设计(在RTL级或使用FPGA编辑器工具),把希望的信号组路由到调试针脚上。这不仅耗费时间,而且如果要求重新汇编设计,那么还会改变设计的定时,可能会隐藏需要解决的问题。
—— 当更改FPGA内部测试信号时,在外部逻辑分析仪上的被测信号名称需要手工进行更新。
—— 一般来说,调试针脚数量很少,内部信号与调试针脚之间1:1的关系限制着设计查看能力和洞察力。
为克服这些局限性,出现了一种新的FPGA调试方法,它不仅提供了外部逻辑分析仪方法的所有优势,还消除了主要局限性。FPGAView软件在与泰克TLA系列逻辑分析仪配套使用时,为调试FPGA和周边硬件电路提供了一个完整的解决方案(参见图2)。
这种组合可以:
—— 时间关联的查看FPGA内部活动和外部活动。
—— 迅速改变FPGA内部探点,而无需重新汇编设计。
—— 每个针脚监测多个内部信号。
—— 在TLA逻辑分析仪上自动更新切换的内部信号名称。
此外,FPGAView可以在一台设备中处理多个测试内核(适合监测不同的时钟域),并可以在一个JTAG链上处理多台FPGA设备。
[图示内容:]
PC Board: PCB电路板
Test Mux: 测试复用器
Tektronix Logic Analyzer Probe: 泰克逻辑分析仪探头
USB Converter: USB转换器
FPGAView? Software: FPGAView?软件
FPGA 电路 PCB DSP 总线 Altera Xilinx 仿真 嵌入式 LTE 泰克 连接器 USB Quartus 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)