CN112698994A - 一种用于fpga内部资源测试的部分位流回读技术 - Google Patents

一种用于fpga内部资源测试的部分位流回读技术 Download PDF

Info

Publication number
CN112698994A
CN112698994A CN202011476600.7A CN202011476600A CN112698994A CN 112698994 A CN112698994 A CN 112698994A CN 202011476600 A CN202011476600 A CN 202011476600A CN 112698994 A CN112698994 A CN 112698994A
Authority
CN
China
Prior art keywords
read
fpga
data
bit stream
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011476600.7A
Other languages
English (en)
Inventor
阮爱武
杜鹏
杨胜江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202011476600.7A priority Critical patent/CN112698994A/zh
Publication of CN112698994A publication Critical patent/CN112698994A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明属于FPGA领域,具体涉及一种用于FPGA内部资源测试的部分位流回读技术,可对现有FPGA内部资源测试方法的缺陷进行改善。方法包括如下步骤:首先复位测试访问接口控制器,设置回读的起始帧地址,位流回读操作将从该地址开始。然后设定本次回读的数据长度,用于规定从起始帧地址开始读取至完成回读时总共读取的帧数,接着将FPGA设置为回读状态。在完成以上设定后,最后一步便开始从FPGA配置寄存器链中读取数据并保存,供基于部分位流回读技术的FPGA测试平台使用。本发明采用部分位流回读技术,既保证了FPGA内部资源测试的高效率,更具备通用性,能够移植到不同系列的FPGA上用于FPGA内部资源的测试。

Description

一种用于FPGA内部资源测试的部分位流回读技术
技术领域
本发明属于FPGA测试技术,具体涉及一种用于FPGA内部资源测试的部分位流回读技术。
背景技术
FPGA(Field Programmable Gate Arrays),现场可编程门阵列,作为数字电路中的重要一员,以其丰富的逻辑资源、重复可编程性和快速的自动化开发能力,被广泛应用于集成电路设计生产中。然而,随着FPGA集成度的不断增加,内部结构也越加复杂,为达到灵活的可编程能力所需构建的互联资源网络也更加庞大,其内部资源的故障发生率也随之提高。因此,FPGA内部资源测试技术变得愈加关键。
回读(Readback)是一种可将芯片内部存储单元中的值以位流形式的数据读取出来的方法,它类似于配置FPGA的逆过程。回读分为回读验证(Readback Verify)和回读捕获(Readback Capture),回读验证可读回芯片内部配置存储单元和用户存储单元(如查找表,移位寄存器和Block RAM)中的当前值;回读捕获是回读验证的补充,更可读取所有内部CLB和IOB寄存器的当前状态。位流数据在FPGA配置空间中是以帧为最小单位排列的,芯片配置空间中存在Center类型、GCLK(Global CLK)类型、CLB(Configurable Logic Block)类型、IOB(Input Output Block)类型、Block RAM(以下简称BRAM)类型等多种帧数据类型,并且随着FPGA阵列容量的增大,帧数据种类和每种帧数据中包含的帧数也随之增加。
针对FPGA的内部资源测试,目前已有不同的FPGA测试技术提出,包括传统的硬件测试方法、基于ATE(Automatic-Test-Equipment,自动测试设备)的测试方法、基于BIST(Build-in Self Test,内建自测试)的测试方法和基于回读的测试方法。其中传统的硬件测试方法是基于FPGA本身的逻辑资源和结构来设计相应测试电路,通过人工进行多次测试流程完成测试。基于ATE的测试方法是通过编写测试程序,由计算机控制,自动化完成测试的方法。基于BIST的测试方法是在原有FPGA测试电路基础上嵌入BIST电路,从而完成测试。基于回读的的测试方法(文献A bitstream readback-based automatic functional testand diagnosis method for Xilinx FPGAs)是通过读取配置后FPGA的内部存储单元状态值来实现判断的。
上述的FPGA内部资源测试方法都存在一定的局限性。其中传统硬件测试方法需要多次完成人工测试流程,耗时长且成本高。基于ATE的测试方法虽加快了测试进程,但ATE测试设备非常昂贵,且存储空间有限,会对完成FPGA的完整测试造成影响。基于BIST的测试方法虽缩减了测试成本,但在FPGA内部嵌入了BIST电路,造成需要多次测试才能完成对整个FPGA内部资源的覆盖,且BIST电路需要花费大量时间设计,因此通用性不强。而基于回读的测试方法却存在回读时间过长,整体测试效率低下的缺点。这些测试方法的局限性正是本发明解决的主要问题。
基于本发明实现的测试平台会用到边界扫描技术,这是一种可通过往靠近芯片输入输出处的寄存器模块中写入数据作为测试激励,同时能够通过控制总线读取这些寄存器模块中的数据而获得测试响应的技术。边界扫描体系结构主要由测试访问接口控制器(Test Access Port Controller,TAP Controller)、边界扫描寄存器链、指令寄存器(Instruction Register,IR)、数据寄存器(Data Register,DR)和旁路寄存器(BYPASS)构成。测试访问接口(TAP)和边界扫描体系结构统称为JTAG(Joint Test Action Group)。
发明内容
本发明的目的在于针对现有技术的缺陷,提供一种用于FPGA内部资源测试的部分位流回读技术。该方法可以有效节约成本与时间,且具有很强的移植性与通用性。
为达到上述目的,本发明采用的技术方案为:
一种用于FPGA内部资源测试的部分位流回读技术,该技术旨在改进回读技术,在背景技术中提到FPGA芯片配置空间中存在多种帧数据类型,而用于FPGA测试的数据类型只需要CLB类型和BRAM类型,当配置位流很大时,若直接用回读技术全部读取,则会明显加大回读时间,从而影响测试效率。部分位流回读技术的主要原理是只回读对FPGA测试有用的CLB类型和BRAM类型帧数据,通过分别对他们合理设定回读起始帧地址和回读帧数,可明显减少回读帧数据总量,从而大大节省回读时间,包括以下所述步骤:
1)在FPGA配置结束后对TAP控制器进行复位,然后选中FPGA配置寄存器链;
2)写入帧的起始地址到帧地址寄存器中,确定回读起始帧的位置,这一步是部分位流回读技术的关键点之一,若设置的起始帧地址相对于正确地址向后偏移,将会造成回读结果中部分寄存器的状态值丢失;若相对正确地址向前偏移,则会造成基于部分位流回读的测试***中的解析结果出错;
3)写入回读数据长度到帧数据输出寄存器中,开启回读功能,这是部分位流回读技术的关键点之二,同样,如果设置长度不当,都会使得回读结果对测试***的解析模块产生严重后果;
4)最后选中FPGA配置寄存器链准备回读数据,随后将回读出的数据写入文件中保存,供基于部分位流回读技术的FPGA测试平台使用。
所述的部分位流回读技术,其所述(2)步中确定回读起始帧的位置,以现场可编程门阵列内部的基本功能单元为基础,并结合配置完成后的FPGA内部配置空间的分配,根据内部空间中帧数据的排列顺序,便可对想要测试的功能单元如CLB或BRAM,分别计算出他们所需要回读的帧地址,得出的帧地址写入帧地址寄存器中。
所述的部分位流回读技术,其所述(3)步中确定回读数据长度,同样也是结合配置完成后的FPGA内部配置空间的分配,根据配置帧数据在配置空间的排列,可以分别统计出CLB类型和BRAM类型的帧数据总量,然后将该统计结果分别作为CLB类型和BRAM类型帧数据的回读数据长度写入帧数据输出寄存器中。
所述的部分位流回读技术,其所述(4)步中的FPGA测试平台,是基于本发明所提出的部分位流回读技术搭建的。该测试平台可以直接对配置完成后的FPGA进行自动化测试,主要包括主程序模块、部分位流回读技术模块、回读数据解析模块和故障诊断与定位模块。
本发明的优点主要包括:
1.本发明方法具备通用性与移植性,能够适用于不同系列FPGA内部资源的测试;
2.本发明方法实现简单,可有效节省成本;
3.本发明方法采用部分位流回读技术,可以有效节省回读时间,从而提高测试效率。
附图说明
图1为部分位流回读技术的总体实现框架
图2为JTAG的边界扫描体系结构
图3为基于部分位流回读技术所搭建的FPGA测试方案总体结构
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合具体附图和实施例对本发明做进一步详细说明:
本发明所提出的部分位流回读技术,其总体实现框架如图1所示,具体包含以下内容:
步骤一、在将FPGA配置结束后,先是对TAP控制器进行复位操作,接着选中FPGA配置寄存器链。如图2所示是JTAG的边界扫描体系结构,基于边界扫描技术的芯片所有与外部交换的信息(指令、测试数据和测试结果)都采用串行通信的方式,采用串行方式将测试指令及相关的测试数据写入芯片,然后把测试指令的执行结果采用串行方式从芯片读出。
步骤二、写入帧的起始地址到帧地址寄存器中,确定回读起始帧的位置。帧是位流数据信息的最小单元,一帧的数据以一个word(32bit)的格式移入帧数据寄存器。确定起始帧的位置是部分位流回读技术实现的关键点之一,根据想要测试的FPGA内部配置数据帧的排列顺序,可以分别算出所需要回读CLB类型和BRAM类型帧数据的帧地址,将该地址作为起始帧地址写入到帧地址寄存器中。
步骤三、开启回读,写入回读数据长度到帧数据输出寄存器中。确定回读数据的长度是部分位流回读技术实现的关键点之二,这需要统计不同型号FPGA的CLB类型帧数据和BRAM类型帧数据的数量以及这两种帧数据类型中所包含的帧数,并将统计结果分别作为CLB类型和BRAM类型帧数据各自的回读数据长度。
步骤四、选中FPGA配置寄存器链准备回读数据。TAP控制器通过状态的切换,利用边界扫描主程序从TDO(Test Data Output)端口读出回读的位流数据,其中包括只包含CLB类型的帧数据和只包含BRAM类型的帧数据,将他们写入文件中保存,供基于部分位流回读技术所搭建的FPGA测试平台使用。
步骤四提到的基于部分位流回读技术所搭建的FPGA测试平台,其总体方案结构如图3所示,具体包含以下内容:
1)主程序模块负责检查JTAG电缆连接、检测FPGA器件型号,控制整体流程的功能。测试开始前,主程序模块会先检查JTAG电缆的连接,连接无误后会进行测试初始化操作,然后调用测试激励文件以及后续流程。
2)部分位流回读技术模块已在上文详细阐述。在该测试平台中,部分位流回读技术模块主要功能为将配置后的芯片中的数据回读出来写入文件保存,其中包括CLB类型帧数据和BRAM类型帧数据。
3)回读数据解析模块是在部分位流回读技术模块完成后,将包含有FPGA状态值的数据解析成为对应FPGA不同寄存器的状态值。这些数据是一串十六进制字符串,状态值在字符串中按位排列,这些状态值是FPGA测试过程中施加激励后的响应值。通过每一个状态值与FPGA中不同物理位置的对应关系,便可获得回读数据在FPGA物理位置中的相应结果,从而得到回读数据解析文件,分别是CLB类型回读数据解析文件和BRAM类型回读数据解析文件。
4)故障诊断与定位模块是将3)中得到的回读数据解析文件与故障诊断列表进行对比,从而得出测试结果。其中故障诊断列表中保存的是在FPGA测试中施加激励后预期得到的正确响应值,通过将其与回读数据解析文件进行对比,若在回读数据解析文件中发现不同于故障诊断列表的正确响应值,则表示FPGA出现故障,再根据该不同响应值的寄存器对应的具体物理位置,便可将故障位置进行定位,最后将诊断与定位结果分别保存在CLB类型测试结果文件和BRAM类型测试结果文件中,至此完成整个基于部分位流回读技术的FPGA内部资源测试平台的测试。
上述实施例已经充分说明了本发明的必要技术内容,普通技术人员能够依据说明加以实施,故不再赘述其他技术细节。
以上所述,仅是本发明的具体实施例方式,本说明书所公开的任一特征,除非特征叙述,均可被其他等效或具体类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

Claims (4)

1.一种用于FPGA内部资源测试的部分位流回读技术,其特征在于,在完成回读准备工作后,确定回读起始帧的位置;然后确定回读数据长度并开启回读功能;最后将回读出的数据写入文件中保存,供基于部分位流回读技术的FPGA测试平台使用。
2.按照权利要求1所述的确定起始帧的位置,其特征在于,根据想要测试的FPGA内部配置空间数据帧的排列顺序,分别算出所需要回读CLB类型和BRAM类型帧数据的帧地址,将得到的地址作为起始帧地址写入到帧地址寄存器中。
3.按照权利要求1所述的确定回读数据长度,其特征在于,统计不同型号FPGA的CLB类型帧数据和BRAM类型帧数据的数量以及这两种帧数据类型中所包含的帧数,并将统计结果分别作为CLB类型和BRAM类型帧数据各自的回读数据长度。
4.按照权利要求1所述的基于部分位流回读技术的FPGA测试平台,其特征在于,该FPGA测试平台主要包括主程序模块、部分位流回读技术模块、回读数据解析模块和故障诊断与定位模块。主程序模块负责检查JTAG电缆连接、检测FPGA器件型号,控制整体流程的功能;部分位流回读技术模块负责将配置后的芯片中的CLB类型和BRAM类型帧数据回读出来;回读数据解析模块负责将部分位流回读技术模块得到的数据解析成对应FPGA不同寄存器的状态值,保存在回读数据解析文件中;故障诊断与定位模块则是将回读数据解析文件与故障诊断列表文件进行对比,最后得出测试结果。
CN202011476600.7A 2020-12-15 2020-12-15 一种用于fpga内部资源测试的部分位流回读技术 Pending CN112698994A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011476600.7A CN112698994A (zh) 2020-12-15 2020-12-15 一种用于fpga内部资源测试的部分位流回读技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011476600.7A CN112698994A (zh) 2020-12-15 2020-12-15 一种用于fpga内部资源测试的部分位流回读技术

Publications (1)

Publication Number Publication Date
CN112698994A true CN112698994A (zh) 2021-04-23

Family

ID=75508098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011476600.7A Pending CN112698994A (zh) 2020-12-15 2020-12-15 一种用于fpga内部资源测试的部分位流回读技术

Country Status (1)

Country Link
CN (1) CN112698994A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113433850A (zh) * 2021-06-04 2021-09-24 电子科技大学 一种fpga异态逻辑修复方法
CN113760820A (zh) * 2021-09-15 2021-12-07 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法
CN115859885A (zh) * 2023-02-14 2023-03-28 成都市硅海武林科技有限公司 一种fpga冗余容错方法及fpga芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
CN103744014A (zh) * 2013-12-24 2014-04-23 北京微电子技术研究所 一种sram型fpga单粒子辐照试验测试***及方法
CN105866665A (zh) * 2016-03-31 2016-08-17 复旦大学 面向高性能SoC FPGA的功能遍历测试方法
CN106546910A (zh) * 2015-09-17 2017-03-29 张洪 基于位流回读的fpga测试平台
CN111950217A (zh) * 2020-06-29 2020-11-17 北京理工大学 Sram型fpga故障检测中关键帧地址范围定位方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
CN103744014A (zh) * 2013-12-24 2014-04-23 北京微电子技术研究所 一种sram型fpga单粒子辐照试验测试***及方法
CN106546910A (zh) * 2015-09-17 2017-03-29 张洪 基于位流回读的fpga测试平台
CN105866665A (zh) * 2016-03-31 2016-08-17 复旦大学 面向高性能SoC FPGA的功能遍历测试方法
CN111950217A (zh) * 2020-06-29 2020-11-17 北京理工大学 Sram型fpga故障检测中关键帧地址范围定位方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113433850A (zh) * 2021-06-04 2021-09-24 电子科技大学 一种fpga异态逻辑修复方法
CN113760820A (zh) * 2021-09-15 2021-12-07 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法
CN113760820B (zh) * 2021-09-15 2022-04-22 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法
CN115859885A (zh) * 2023-02-14 2023-03-28 成都市硅海武林科技有限公司 一种fpga冗余容错方法及fpga芯片
CN115859885B (zh) * 2023-02-14 2023-05-09 成都市硅海武林科技有限公司 一种fpga冗余容错方法及fpga芯片

Similar Documents

Publication Publication Date Title
CN112698994A (zh) 一种用于fpga内部资源测试的部分位流回读技术
CN105760250B (zh) 一种具***流纠检错功能的单粒子加固fpga配置电路
CN109445366B (zh) 一种fpga可编程逻辑资源的筛选测试方法
JP3851782B2 (ja) 半導体集積回路及びそのテスト方法
US8156391B2 (en) Data controlling in the MBIST chain architecture
US20020194558A1 (en) Method and system to optimize test cost and disable defects for scan and BIST memories
CN101996687A (zh) 基于扫描测试的多个sram的内建自测试方法
US11073556B2 (en) Low pin count reversible scan architecture
CN109858195A (zh) 一种sram型fpga上必要位单粒子翻转故障的在线仿真***
US11156661B2 (en) Reversible multi-bit scan cell-based scan chains for improving chain diagnostic resolution
CN109801665B (zh) Sram自测试***、架构及方法、存储介质
CN116594692B (zh) 一种基于标准状态机功能扩展的快速配置寄存器方法
US20120232881A1 (en) Trace Routing Network
WO2021175099A1 (zh) 一种有效的存储器电路随机故障注入方法
Bozzoli et al. COMET: a configuration memory tool to analyze, visualize and manipulate FPGAs bitstream
CN116415533A (zh) 一种片上处理器的可测试性设计方法
US20090307543A1 (en) Transport subsystem for an mbist chain architecture
US6732348B1 (en) Method for locating faults in a programmable logic device
Huang et al. Non-adaptive pattern reordering to improve scan chain diagnostic resolution
US7984343B2 (en) Inter-device connection test circuit generating method, generation apparatus, and its storage medium
D Kumar An efficient fault detection of FPGA and memory using built-in self test [BIST]
Kumari et al. FPGA implementation of memory design and testing
US7437635B1 (en) Testing hard-wired IP interface signals using a soft scan chain
Cheng Comprehensive study on designing memory BIST: algorithms, implementations and trade-offs
US8225244B2 (en) Large scale integration device and large scale integration design method including both a normal system and diagnostic system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210423