微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于FPGA系统易测试性的研究

基于FPGA系统易测试性的研究

时间:08-02 来源:互联网 点击:
引 言   

现代科技对系统的可靠性提出了更高的要求,而FPGA技术在电子系统中应用已经非常广泛,因此FPGA易测试性就变得很重要。要获得的FPGA内部信号十分有限、FPGA封装和印刷电路板(PCB)电气噪声,这一切使得设计调试和检验变成设计中最困难的一个流程。另一方面,当前几乎所有的像CPU、DSP、ASIC等高速芯片的总线,除了提供高速并行总线接口外,正迅速向高速串行接口的方向发展,FPGA也不例外。每一条物理链路的速度从600 Mbps到10 Gbps,高速I/O的测试和验证更成为传统专注于FPGA内部逻辑设计的设计人员所面临的巨大挑战。这些挑战使设计人员非常容易地将绝大部分设计时间放在调试和检验设计上。
  
本文就调试FPGA系统时遇到的问题及有助于提高调试效率的方法,针对Altera和Xilinx的FPGA调试提供了最新的方法和工具。
  
1 FPGA一般设计流程
  
在FPGA系统设计完成前,有2个不同的阶段:设计阶段、调试和检验阶段,如图1所示。设计阶段的主要任务是输入、仿真和实现;调试和检验阶段的主要任务是检验设计,校正发现的错误。

  
1.1 设计阶段

在这一阶段不仅要设计,而且要使用仿真工具开始调试。实践证明,正确使用仿真为找到和校正设计错误提供了一条有效的途径。但是,不应依赖仿真作为调试FPGA设计的唯一工具。
  
在设计阶段,还需要提前考虑调试和检验阶段,规划怎样在线快速调试FPGA,这可以定义整体调试方法,帮助识别要求的任何测试测量工具,确定选择的调试方法对电路板设计带来的影响。针对可能选用的FPGA存在的高速总线,除了考虑逻辑时序的测试和验证外,还应该充分考虑后面可能面临的信号完整性测试和分析难题。
  
1.2 调试和检验阶段
  
在调试阶段,必须找到仿真没有找到的棘手问题。怎样以省时省力的方式完成这一工作是一个挑战。本文将研究如何选择正确的FPGA调试方法及如何有效地利用新方法的处理能力,这些新方法可以只使用少量的FPGA针脚查看许多内部FPGA信号。如果使用得当,可以突破最棘手的FPGA调试问题。
  
1.3 FPGA调试方法
  
在设计阶段需要作出的关键选择是使用哪种FPGA调试方法。在理想情况下,设计者希望有一种方法,这种方法可以移植到所有FPGA设计中,能够洞察FPGA内部运行和系统运行过程,为确定和分析棘手的问题提供相应的处理能力。
  
基本在线FPGA调试方法有2种:使用嵌入式逻辑分析仪以及使用外部逻辑分析仪。选择使用何种方法取决于项目的调试需求。
  
2 嵌入式逻辑分析仪内核
  
主要的FPGA厂商针对器件的在线调试都提供了嵌入式逻辑分析仪内核,这些知识产权模块插入FPGA设计中,同时提供触发功能和存储功能。它们使用FPGA逻辑资源实现触发电路;使用FPGA存储模块实现存储功能;使用JTAG配置内核操作,并用它将捕获的数据传送到PC上进行查看。
  
由于嵌入式逻辑分析仪使用内部FPGA资源,因此其通常用于大型FPGA,这些大型FPGA可以更好地消化插入内核带来的开销。一般来说,用户希望内核占用的FPGA逻辑资源不超过可用资源的5%。
  
与其他调试方法一样,还要知道这种方法存在的部分矛盾。
  
2.1 针脚与内部资源
  
嵌入逻辑分析仪内核不使用额外的测试针脚,因为它通过现有的JTAG针脚访问内核。这意味着即使设计受到FPGA针脚限制,仍可以使用这种方法。矛盾在于,它使用的内部FPGA逻辑资源和存储模块可以用来实现设计。此外,由于使用片内内存存储捕获的数据,因此内存深度一般相对较浅。
  
2.2 探测与运行模式
  
嵌入式逻辑分析仪核心的探测非常简单,它使用现有的JTAG针脚。矛盾在于,尽管嵌入式逻辑分析仪可以查看FPGA操作,但没有一种方式将这些信息与电路板级或系统级信息时间关联起来。而将FPGA内部的信号与FPGA外部的信号关联起来对解决棘手的调试问题至关重要。在分析方法上,嵌入式逻辑分析仪只能进行状态分析。
  
2.3 成本与灵活性
  
大多数FPGA厂商提供了嵌入式逻辑分析仪内核,而其价格要低于全功能外部逻辑分析仪。虽然用户希望更多的功能,但嵌入式逻辑分析仪内核的功能无论从通用性、分析方式、触发能力,还是从存储和分析能力都弱于全功能外部逻辑分析仪,而用户通常需要这些功能来捕获和分析棘手的调试问题。例如,嵌入式逻辑分析仪只能在状态模式下操作,它们捕获与FPGA设计中已有的指定时钟同步的数据,因此不能提供精确的信号定时关系。
  
3 外部逻辑分析仪
  
由于嵌入式逻辑分析仪方法存在部分限制,FPGA设计人员采用外部逻辑分析仪方法,来利用FPGA的灵活性和外部逻辑分析仪的处理能力,如泰克TLA系列逻辑分析仪。

在这种方法中,有用的内部信号路由到FPGA没有使用的针脚上,然后连接到逻辑分析仪上。这种方法提供了非常深的内存,适合调试出现故障和实际导致该故障的原因在时间上相距很远的问题;对于需要采集大量数据进行后期分析的设计人员也非常必要。另外,它还可以把内部FPGA信号与电路系统中的其他活动时间关联起来。

与嵌入式逻辑分析仪方法一样,也需要考虑许多矛盾。
  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top