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

发布者:平安守护最新更新时间:2014-09-18 来源: ednchina关键字:FPGA  易测试性  调试效率 手机看文章 扫描二维码
随时随地手机看文章

  引 言

  现代科技对系统的可靠性提出了更高的要求,而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所示。设计阶段的主要任务是输入、仿真和实现;调试和检验阶段的主要任务是检验设计,校正发现的错误。

FPGA一般设计流程

  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信号与电路系统中的其他活动时间关联起来。

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

  3.1 针脚与内部资源

  外部逻辑分析仪方法采用非常少的逻辑资源,不使用FPGA内存资源。它释放了这些资源,来实现所需功能。其矛盾在于,必须增加专用于调试的针脚数量,而设计时需要使用这些针脚。[page]

  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所示。

 FPGAView

  这种组合可以时间关联的查看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逻辑分析仪中,针对设计人员关心的各种时间信息,提供了业内独有的定时参数自动测量功能,通过鼠标简单地拖放操作,能够得到周期、频率、占空比、脉冲宽度、通道/通道延迟、边沿计数、周期计数、违规计数、周期抖动、以及周期间抖动等信息。

  6 结论

  调试针对Altera和Xilinx的FPGA系统时用嵌入式逻辑分析仪和外部逻辑分析仪这2种方法各有其优势和不足,而FPGAView等新方法进一步提高了外部逻辑分析仪方法的吸引力。能够快速方便地移动探点,而不需重新汇编设计,同时能够把内部FPGA信号活动与电路板级信号关联起来,能够较好地满足产品开发周期的要求。

关键字:FPGA  易测试性  调试效率 引用地址:基于FPGA系统易测试性的研究

上一篇:PT100温度变送器的正温度系数补偿
下一篇:基于FPGA的速度和位置测量板卡的设计与实现

推荐阅读最新更新时间:2024-03-30 22:47

即时原型设计--只需冲杯咖啡的时间便可完成工作
  日前,Altium 宣布为其最新 NanoBoard 3000 FPGA 开发板添加即时部署选项。设计人员将无需创建定制的PCB,便可使 FPGA 设计直接从概念创建过程进入部署实施阶段。在不到冲泡并品尝一杯咖啡的时间内,使用部署选项便可帮您完成工作,设计人员只需将 NanoBoard 3000 放入 Altium 自主设计的各种新型外壳中即可。      使用它们的模块化结构,设计人员可以使用如下众多方式快速部署放置于 NanoBoard 3000中的基于 FPGA 芯片的设计方案,例如放在桌面上的、挂在墙壁上的、在商业或工业场所应用的、多电路板设计应用的,以及外壳上配有 TFT 显示屏的或者没有配置TFT 显示屏的。   
[嵌入式]
艾睿电子推出针对Altera的非Max 10 FPGA的评估板
美国科罗拉多恩格尔伍德 - 艾睿电子今天宣布在Altera的MAX®10现场可编程门阵列(FPGA)系列发布之际,艾睿电子公司(NYSE:ARW)推出了BeMicro Max 10FPGA评估板。BeMicro Max 10是与Altera和ADI(Analog Devices)合作开发的,非常适合测试MAX 10 FPGA的特性和功能。MAX 10 FPGA通过集成在一个小外形尺寸器件中的双配置、模拟模块、存储器、DSP和嵌入式处理能力彻底改变了非易失性FPGA。 市场:汽车电子、工业和通信电子设备开发 地区:BeMicro Max 10 FPGA评估板已全球发售 理由:BeMicro Max 10是由
[嵌入式]
赛灵思Kintex-7 FPGA 系列芯片简介
    本文主要介绍了赛灵思Kintex-7 FPGA 系列芯片的性能。 业界最佳性价比 Kintex-7 FPGA 是一款新型的 FPGA,展现高端性能,成本降低过半。Kintex-7 系列是在通用 28nm 架构基础上构建的三大产品系列之一,其设计实现了最低的功耗,与前几代 FPGA 相比,其功耗降低了一半多,而其性价比却提高了 2 倍。 Kintex-7 系列可提供高密度逻辑、高性能收发器、存储器、DSP 以及 灵活混合信号,通过这些功能可以提高系统级性能,并可以更紧密地进行集成。 这些优异的性能有助于连续创新,同时能够以批量零售价格实现设计差异化。EasyPath -7 器件实现免转换路径,成本更低。 采用
[嵌入式]
浅谈降低功耗的设计技巧
  使用这些设计技巧和ISE功能分析工具来控制功耗   新一代 FPGA的速度变得越来越快,密度变得越来越高,逻辑资源也越来越多。那么如何才能确保功耗不随这些一起增加呢?很多设计抉择可以影响系统的功耗,这些抉择包括从显见的器件选择到细小的基于使用频率的状态机值的选择等。   为了更好地理解本文将要讨论的设计技巧为什么能够节省功耗,我们先对功耗做一个简单介绍。   功耗包含两个因素:动态功耗和静态功耗。动态功耗是指对器件内的容性负载充放电所需的功耗。它很大程度上取决于频率、电压和负载。这三个变量中的每个变量均在您的某种控制之下。   动态功耗 = 电容×电压2×频率   静态功耗是指由器件中所有晶体管的泄漏电流(源极到漏
[电源管理]
选择合适的工具——轻松玩转AI
启动人工智能应用从来没有像现在这样容易!受益于像Xilinx Zynq UltraScale+ MPSoC 这样的FPGA,AI现在也可以离线使用或在边缘部署、使用。瑞苏盈科核心板模块结合Vitis AI开发工具给用户提供了便利工具,可用于开发和部署用于实时推理的机器学习应用,因此将AI集成到应用中变得轻而易举。图像检测或分类、模式或语音识别推动了制造业、医疗、汽车和金融服务等产业的升级。 快速开启基于AI的FPGA应用 人工智能正在占据越来越多的应用和生活场景,例如图像检测和分类,翻译和推荐系统等等。基于机器学习技术的应用数量庞大且还在不断增长。采用瑞苏盈科结合FPGA和ARM处理器的核心板模块,在离线和边缘使用AI前所
[嵌入式]
选择合适的工具——轻松玩转AI
提升创造力的数字设计工具:FPGA Editor
      工程师在设计过程中,经常需要一定的创造力(不妨称之为数字管道胶带)才能够保证设计的顺利完成。过去8年时间里,我曾经目睹许多优秀工程师利用这一方法出色地完成了许多工作,而他们采用的最主要工具就是FPGA Editor。        利用FPGA Editor,你可以察看完成的设计并确定是否在FPGA构造一级真正实现了设计意图 – 而这对于任何工程师或现场应用工程师来说都是非常需要的。假设你拿到协作者的设计,需要对其进行修改,但他们的HDL源代码非常难于理解,或者根本没有任何注释或文档。也许你只是想将某些时钟逻辑锁定,但却不知道实例的名称或者如何将其锁在所希望的位置。下面讨论的一些用来探查FPGA构造以及创建命令行补丁的
[嵌入式]
基于FPGA的直接数字频率合成技术设计
摘要:介绍了利用现场可编程逻辑门阵列FPGA实现直接数字频率合成(DDS)的原理、电路结构和优化方法。重点介绍了DDS技术在FPGA中的实现方法,给出了采用ALTERA公司的ACEX系列FPGA芯片EP1K30TC进行直接数字频率合成的VHDL源程序。 关键词:直接数字频率合成(DDS);现场可编程逻辑门阵列(FPGA);EP1K30TC-144 直接数字频率合成(Direct Digital Fraquency Syn-thesis即DDFS,一般简称DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术。它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨率以及集成化等一系列性能指标方面已远远超过了传统频率
[半导体设计/制造]
Altera发售业界首款集成11.3-Gbps收发器的FPGA
Altera公司 (NASDAQ:ALTR)今天宣布,开始量产发售Stratix® IV GT EP4S100G2 FPGA,这是业界首款集成了11.3-Gbps收发器的FPGA。Stratix IV GT FPGA是目前唯一满足100G以太网(GbE)和100G光传送网(OTN)下一代成帧器、MAC、桥接和交换应用高速带宽需求的单芯片器件。通信系统设计人员利用Altera成熟可靠的高密度、高性能100G解决方案开发100G系统,相对于ASIC、ASSP和目前其他的FPGA技术,不但缩短了产品面市时间,而且还降低了风险。 Altera的100G解决方案包括产品芯片、100G知识产权(IP)、100G参考设计和支持10
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved