加速FPGA系统实时调试技术
时间:07-26
来源:互联网
点击:
随着FPGA的设计速度、尺寸和复杂度明显增长,使得整个设计流程中的实时验证和调试成为当前FPGA系统的关键部分。获得FPGA内部信号有限、FPGA封装和印刷电路板(PCB)电气噪声,这一切使得设计调试和检验变成设计周期中最困难的流程。另一方面,几乎当前所有的像CPU、DSP、ASIC等高速芯片的总线,除了提供高速并行总线接口外,正迅速向高速串行接口的方向发展,FPGA也不例外,每一条物理链路的速度从600Mbps到高达10Gbps,高速I/O的测试和验证更成为传统专注于FPGA内部逻辑设计的设计人员面临的巨大挑战。这些挑战使设计人员非常容易会把绝大部分设计周期时间放在调试和检验设计上。
为帮助您完成设计调试和检验流程,它需要使用新的调试和测试工具,帮助调试设计,同时支持在FPGA上全速运行。
本文重点介绍在调试FPGA系统时遇到的问题及有助于提高调试效率的技术,针对Altera和Xilinx的FPGA调试提供了最新的方法和工具。
FPGA设计流程概述
在FPGA系统设计完成前,有两个不同的阶段:设计阶段,调试和检验阶段(参见图1)。设计阶段的主要任务是输入、仿真和实现。调试和检验阶段的主要任务是检验设计,校正发现的任何错误。
[图示内容:]
Simplify, Leonardo Spectrum, Design Compiler FPGA: Simplify, Leonardo Spectrum, 设计汇编器FPGA
Vendor Specific Tools: 厂商特定工具
Design Phase: 设计阶段
Entry: 输入
Synthesis: 综合
Implementation: 实现
Place: 装配
Route: 布线
Download to FPGA Device: 下载到FPGA器件
Back Annotation: 反向注释
Debug & Verification Phase: 设计检验阶段:
Functional Simulation: 功能仿真
Static Timing Analysis: 静态定时分析
Timing Simulation: 定时仿真
In-Circuit Verification: 在线验证
ILA, SingalTap, Dynamic FPGA Probe, Logic Analyzer: ILA, SingalTapII, 动态FPGA探头, 逻辑分析仪
设计阶段
在这一阶段不仅要设计,而且要使用仿真工具开始调试。实践证明,正确使用仿真为找到和校正设计错误提供了一条有效的途径。但是,不应依赖仿真作为调试FPGA设计的唯一工具。
在设计阶段,还需要提前考虑调试和检验阶段,规划怎样在线快速调试FPGA,这可以定义整体调试方法,帮助识别要求的任何测试测量工具,确定选择的调试方法对电路板设计带来的影响。针对可能选用的FPGA存在的高速总线,除了考虑逻辑时序的测试和验证外,还应该充分考虑后面可能面临的信号完整性测试和分析难题。
调试和检验阶段
在调试阶段,必需找到仿真没有找到的棘手问题。怎样以省时省力的方式完成这一工作是一个挑战。
在本文的第一部分,我们将考察怎样选择正确的FPGA调试方法及怎样有效利用新方法的处理能力,这些新方法可以只使用少量的FPGA针脚查看许多内部FPGA信号。如果使用得当,您可以突破最棘手的FPGA调试问题。
FPGA调试方法
在设计阶段需要作出的关键选择是使用哪种FPGA调试方法。在理想情况下,您希望有一种方法,这种方法可以移植到所有FPGA设计中,能够洞察FPGA内部运行和系统运行过程,为确定和分析棘手的问题提供相应的处理能力。
基本在线FPGA调试方法有两种:使用嵌入式逻辑分析仪以及使用外部逻辑分析仪。选择使用哪种方法取决于项目的调试需求。
嵌入式逻辑分析仪内核
主要FPGA厂商针对器件的在线调试都提供了嵌入式逻辑分析仪内核,如ALTERA的SignalTap II和Xilinx的ChipScope ILA。这些知识产权模块插入FPGA设计中,同时提供触发功能和存储功能。它们使用FPGA逻辑资源实现触发电路,使用FPGA存储模块实现存储功能。它们使用JTAG配置内核操作,并用来把捕获的数据传送到PC上进行查看。
由于嵌入式逻辑分析仪使用内部FPGA资源,因此其通常用于大型FPGA,这些大型FPGA可以更好地消化插入内核带来的开销。一般来说,用户希望内核占用的FPGA逻辑资源不超过可用资源的5%。
与任何调试方法一样,还要知道这种方法存在的部分矛盾。
针脚与内部资源
嵌入逻辑分析仪内核不使用额外的测试针脚,因为它通过现有的JTAG针脚访问内核。这意味着即使设计受到FPGA针脚限制,您仍可以使用这种方法。矛盾在于,它使用的内部FPGA逻辑资源和存储模块可以用来实现设计。此外,由于使用片内内存存储捕获的数据,因此内存深度一般相对较浅。
探测与运行模式
嵌入式逻辑分析仪核心的探测非常简单。它使用现有的JTAG针脚,因此不必担心怎样把外部逻辑分析仪连接到系统上。矛盾在于,尽管嵌入式逻辑分析仪可以查看FPGA操作,但没有一种方式把这些信息与电路板级或系统级信息时间关联起来。而把FPGA内部的信号与FPGA外部的信号关联起来对解决最棘手的调试挑战至关重要。在分析方法上,嵌入式逻辑分析仪只能进行状态分析。
为帮助您完成设计调试和检验流程,它需要使用新的调试和测试工具,帮助调试设计,同时支持在FPGA上全速运行。
本文重点介绍在调试FPGA系统时遇到的问题及有助于提高调试效率的技术,针对Altera和Xilinx的FPGA调试提供了最新的方法和工具。
FPGA设计流程概述
在FPGA系统设计完成前,有两个不同的阶段:设计阶段,调试和检验阶段(参见图1)。设计阶段的主要任务是输入、仿真和实现。调试和检验阶段的主要任务是检验设计,校正发现的任何错误。
[图示内容:]
Simplify, Leonardo Spectrum, Design Compiler FPGA: Simplify, Leonardo Spectrum, 设计汇编器FPGA
Vendor Specific Tools: 厂商特定工具
Design Phase: 设计阶段
Entry: 输入
Synthesis: 综合
Implementation: 实现
Place: 装配
Route: 布线
Download to FPGA Device: 下载到FPGA器件
Back Annotation: 反向注释
Debug & Verification Phase: 设计检验阶段:
Functional Simulation: 功能仿真
Static Timing Analysis: 静态定时分析
Timing Simulation: 定时仿真
In-Circuit Verification: 在线验证
ILA, SingalTap, Dynamic FPGA Probe, Logic Analyzer: ILA, SingalTapII, 动态FPGA探头, 逻辑分析仪
设计阶段
在这一阶段不仅要设计,而且要使用仿真工具开始调试。实践证明,正确使用仿真为找到和校正设计错误提供了一条有效的途径。但是,不应依赖仿真作为调试FPGA设计的唯一工具。
在设计阶段,还需要提前考虑调试和检验阶段,规划怎样在线快速调试FPGA,这可以定义整体调试方法,帮助识别要求的任何测试测量工具,确定选择的调试方法对电路板设计带来的影响。针对可能选用的FPGA存在的高速总线,除了考虑逻辑时序的测试和验证外,还应该充分考虑后面可能面临的信号完整性测试和分析难题。
调试和检验阶段
在调试阶段,必需找到仿真没有找到的棘手问题。怎样以省时省力的方式完成这一工作是一个挑战。
在本文的第一部分,我们将考察怎样选择正确的FPGA调试方法及怎样有效利用新方法的处理能力,这些新方法可以只使用少量的FPGA针脚查看许多内部FPGA信号。如果使用得当,您可以突破最棘手的FPGA调试问题。
FPGA调试方法
在设计阶段需要作出的关键选择是使用哪种FPGA调试方法。在理想情况下,您希望有一种方法,这种方法可以移植到所有FPGA设计中,能够洞察FPGA内部运行和系统运行过程,为确定和分析棘手的问题提供相应的处理能力。
基本在线FPGA调试方法有两种:使用嵌入式逻辑分析仪以及使用外部逻辑分析仪。选择使用哪种方法取决于项目的调试需求。
嵌入式逻辑分析仪内核
主要FPGA厂商针对器件的在线调试都提供了嵌入式逻辑分析仪内核,如ALTERA的SignalTap II和Xilinx的ChipScope ILA。这些知识产权模块插入FPGA设计中,同时提供触发功能和存储功能。它们使用FPGA逻辑资源实现触发电路,使用FPGA存储模块实现存储功能。它们使用JTAG配置内核操作,并用来把捕获的数据传送到PC上进行查看。
由于嵌入式逻辑分析仪使用内部FPGA资源,因此其通常用于大型FPGA,这些大型FPGA可以更好地消化插入内核带来的开销。一般来说,用户希望内核占用的FPGA逻辑资源不超过可用资源的5%。
与任何调试方法一样,还要知道这种方法存在的部分矛盾。
针脚与内部资源
嵌入逻辑分析仪内核不使用额外的测试针脚,因为它通过现有的JTAG针脚访问内核。这意味着即使设计受到FPGA针脚限制,您仍可以使用这种方法。矛盾在于,它使用的内部FPGA逻辑资源和存储模块可以用来实现设计。此外,由于使用片内内存存储捕获的数据,因此内存深度一般相对较浅。
探测与运行模式
嵌入式逻辑分析仪核心的探测非常简单。它使用现有的JTAG针脚,因此不必担心怎样把外部逻辑分析仪连接到系统上。矛盾在于,尽管嵌入式逻辑分析仪可以查看FPGA操作,但没有一种方式把这些信息与电路板级或系统级信息时间关联起来。而把FPGA内部的信号与FPGA外部的信号关联起来对解决最棘手的调试挑战至关重要。在分析方法上,嵌入式逻辑分析仪只能进行状态分析。
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)