CN109655740B - K系列fpga内部clb模块定位及通用性配置测试方法 - Google Patents

K系列fpga内部clb模块定位及通用性配置测试方法 Download PDF

Info

Publication number
CN109655740B
CN109655740B CN201811518304.1A CN201811518304A CN109655740B CN 109655740 B CN109655740 B CN 109655740B CN 201811518304 A CN201811518304 A CN 201811518304A CN 109655740 B CN109655740 B CN 109655740B
Authority
CN
China
Prior art keywords
clb
array
module
configuration
positioning
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.)
Active
Application number
CN201811518304.1A
Other languages
English (en)
Other versions
CN109655740A (zh
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.)
SHANGHAI INSTITUTE OF AEROSPACE INFORMATION
SHANGHAI PRECISION METROLOGY AND TEST RESEARCH INSTITUTE
Original Assignee
SHANGHAI INSTITUTE OF AEROSPACE INFORMATION
SHANGHAI PRECISION METROLOGY AND TEST RESEARCH INSTITUTE
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 SHANGHAI INSTITUTE OF AEROSPACE INFORMATION, SHANGHAI PRECISION METROLOGY AND TEST RESEARCH INSTITUTE filed Critical SHANGHAI INSTITUTE OF AEROSPACE INFORMATION
Priority to CN201811518304.1A priority Critical patent/CN109655740B/zh
Publication of CN109655740A publication Critical patent/CN109655740A/zh
Application granted granted Critical
Publication of CN109655740B publication Critical patent/CN109655740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明提供K7系列FPGA内部CLB模块定位及通用性配置测试方法,包括:定位FPGA内部所有CLB模块的具体位置;对CLB模块阵列进行左右对等分,每等分中同行CLB模块并行,同列CLB模块串行进行配置,实现CLB资源的全覆盖;对配置的CLB模块阵列进行内建自测试,通过实际输出的数据与预期数据的比较,判断CLB模块阵列是否存在缺陷,若某个CLB模块出现问题,根据输出信号与时钟的对应关系,定位CLB模块出错的具体位置。本发明提供的K7系列FPGA内部CLB模块定位及通用性配置测试方法,实现了所有CLB模块的定位,不用计算“空洞”阵列具体位置,优化了配置程序,实现了最优化的配置次数,配置程序具有通用性,减少了程序重复编写的时间。

Description

K系列FPGA内部CLB模块定位及通用性配置测试方法
技术领域
本发明涉及FPGA测试技术领域,特别涉及K7系列FPGA内部CLB模块 定位及通用性配置测试方法。
背景技术
Kintex-7系列FPGA是Xilinx公司研制的高端FPGA产品,广泛应用于 3G/4G无线、平板显示、Video、航空航天系统等,FPGA主要由可编程逻辑单 元(CLB)、输入输出单元(IOB)、可编程互连线(PI)等组成,FPGA中90% 的逻辑资源功能都是由CLB模块实现,因此CLB模块测试在FPGA测试中占 用重要地位。然而K7系列FPGA的CLB模块阵列与Xilinx公司前期Virtex4、 Virtex5系列FPGA不同,其分布排列不对称,具有“空洞”,需要对CLB模块阵列进行精准定位。
针对“空洞”CLB阵列,传统的配置程序有两种方法,采用全部串联架构或者 采用跳过“空洞”阵列的并行+串行架构设计。由于CLB模块数量多达数万个,CLB 模块采用全部串联架构,综合、布局布线时间及测试时间会较长。采用跳过“空 洞”阵列的并行+串行架构,需要计算多个“空洞”阵列的具体位置,需将程序划分 为若干情况进行分类判断,且导致实际输出数据无法同步比较,使程序更加复 杂,增大了程序的编写难度,此外每款FPGA空洞位置不一致,配置程序不具 备通用性,配置程序可移植性较差。
如何实现CLB模块的精准定位、简化配置程序设计,使程序简便且具有通 用性,实现最优化配置,减少测试时间、提高测试效率,是Kintex-7系列FPGA CLB模块测试面临的挑战。
发明内容
本发明的目的在于提供K7系列FPGA内部CLB模块定位及通用性配置测 试方法,以解决CLB阵列存在“空洞”难以定位及配置程序设计复杂,配置程序 可移植性较差的问题。
为了解决上述技术问题,本发明的技术方案是:提供一种K7系列FPGA内 部CLB模块定位及通用性配置测试方法,包括:定位FPGA内部所有CLB模 块的具体位置;对CLB模块阵列进行左右对等分,每等分中同行CLB模块并行, 同列CLB模块串行进行配置,实现CLB资源的全覆盖;对配置的CLB模块阵 列进行内建自测试,通过实际输出的数据与预期数据的比较,判断CLB模块阵 列是否存在缺陷,若某个CLB模块出现问题,根据输出信号与时钟的对应关系, 定位CLB模块出错的具体位置。
进一步地,找到空洞的具体位置,采取空洞阵列地址取反设计。
本发明提供的K7系列FPGA内部CLB模块定位及通用性配置测试方法, 针对具有“空洞”的CLB模块阵列进行设计而来,定位FPGA内部所有CLB模块 的具体位置,配置程序采用等分配置,使配置程序具有通用性。与现有技术相 比,CLB模块阵列定位跳过了“空洞”阵列,实现了所有CLB模块的定位,配置 程序不用计算“空洞”阵列具体位置,采用左右对等分配置,实现了最优化的配置 次数,配置程序具有通用性,减少了程序重复编写的时间。
附图说明
下面结合附图对发明作进一步说明:
图1为本发明实施例提供K7系列FPGA内部CLB模块定位及通用性配置 测试方法的步骤流程图;
图2为本发明实施例一提供的CLB模块定位程序流程示意图;
图3为本发明实施例一提供的CLB模块内建自测试流程示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的K7系列FPGA内部CLB模块 定位及通用性配置测试方法作进一步详细说明。根据下面说明和权利要求书, 本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均 使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明的核心思想在于,本发明提供的K7系列FPGA内部CLB模块定位 及通用性配置测试方法,针对具有“空洞”的CLB模块阵列进行设计而来,定位 FPGA内部所有CLB模块的具体位置,规避了“空洞”阵列的位置。配置程序不需 要理会“空洞”阵列,具有通用化。因此与现有技术相比,CLB模块阵列定位跳过 了“空洞”阵列,实现了所有CLB模块的定位,配置程序不用计算“空洞”阵列具体 位置,采用左右对等分配置,实现了最优化的配置次数,配置程序具有通用性, 减少了程序重复编写的时间。
图1为本发明实施例提供一种K7系列FPGA内部CLB模块定位及通用性 配置测试方法的步骤流程图。参照图1,K7系列FPGA内部CLB模块定位及通 用性配置测试方法包括:
S11、定位FPGA内部所有CLB模块的具体位置;
S12、对CLB模块阵列进行左右对等分,每等分中同行CLB模块并行,同 列CLB模块串行进行配置,实现CLB资源的全覆盖;
S13、对配置的CLB模块阵列进行内建自测试,通过实际输出的数据与预 期数据的比较,判断CLB模块阵列是否存在缺陷,若某个CLB模块出现问题, 根据输出信号与时钟的对应关系,定位CLB模块出错的具体位置。
实施例一
以应用范围较广的7K410T-1FFG9000(Xilinx公司生产的高端FPGA产品) 为例,进行具体设计及内建自测试,具体步骤如下所示。
步骤一、CLB模块阵列定位。
找到空洞的具体位置,例如左侧第一个空洞为: SLICE_X24Y100-SLICE_X24Y199、SLICE_X35Y100-SLICE_X35Y199。
因“空洞”阵列地址较少,采取空洞阵列地址取反设计,可优化程序,为方便 理解,定义XLLYLL为第一个空洞阵列左下角位置,即SLICE_X24Y100,其他位 置与XLL的操作类似。
图2为本发明实施例一提供的CLB模块定位程序流程示意图。参照图2,
a、先定位X0、Y0地址;
b、Y地址加一;
c、若(Y>YLL)为真,表明地址不在“空洞”阵列之内,则记录当时的X、Y 地址,若条件不成立,则表明地址在“空洞”阵列,此时不记录当时的X、Y 地址;
d、当Y=YMAX,表明已经定位到CLB模块阵列的最顶端,则X地址加1, 继续定位X1地址,Y0开始继续累加;
e、当X=XMAX,表明整个阵列已完成全部的定位及记录,则程序结束。
步骤二、并行+串行架构的CLB模块配置设计
CLB模块全部串行测试可实现CLB模块全覆盖测试,也可全部并行测试实 现CLB模块的全覆盖测试。若CLB并行个数为N,则全串测试时间是并行测试 时间的N倍,程序综合、布局布线及测试时间较长,而采用全并测试,资源占 用太多,需要增加配置次数,而配置次数的增加也会造成测试总时间的增加, 最优化的配置策略是采取并行+串行的策略,即CLB模块的X阵列并行,Y阵 列串行,充分考虑了单次测试时间和配置次数的影响。
配置程序需要用到CLB资源,因此无法一次进行CLB模块阵列全覆盖测试, 最优化的全覆盖配置需要2次完成。
为了实现程序的通用性,不采用跳过“空洞”的策略,配置采取CLB模块阵 列对等分策略,当X阵列取Slice_XMAX的左半阵列,Y阵列取Slice_YMAX, “空洞”阵列多出的部分会自动配置到右半CLB阵列,此时CLB左半阵列全部配 置,然后配置图形对调,配置CLB右半阵列,则右半阵列的“空洞”阵列多出的 CLB模块会自动分配到左半CLB阵列模块,此时CLB右半阵列全部配置。两 次配置叠加,确保了CLB模块的全覆盖测试,并且实现了最优化全覆盖配置, 减少了测试次数及测试时间,且不用理会每款FPGA空洞位置,配置程序具备 通用性。
此外串行的Y取Slice_YMAX,可确保数据的输出同时完成,使输出结果 可同步比较,优化了配置程序,使程序简便直观。
具体配置图形实现如下,一个CLB包含2个SLICE,一个SLICE包含8个 D触发器,将第一个D触发器的输出Q端连接到第二个D触发器的输入D端, 实现了Y阵列串联设计,继续采用同样的设计,实现了8个D触发器串联,然 后实现了2个SLICE串联,接下来实现了2个CLB模块串联,最终将Y列的 所有CLB模块进行串联,形成2800位的移位寄存器。
X阵列并联相对简单,同一个信号同时连接X0、X1、X2……等CLB模块 的第一个D触发器即可实现。
步骤三、CLB模块内建自测试
图3为本发明实施例一提供的CLB模块内建自测试流程示意图。参照图3,
a、从CLB模块阵列形成的移位寄存器输入端施加激励信号,通过时钟信号, 将施加的激励信号在Y阵列串行CLB模块间顺序传递。
b、生成第2800个D触发器(最顶端CLB模块)的预期数据(测试判据)。
c、计数器清零。
d、在给定10000个测试周期内,每个时钟周期移位寄存器最终输出数据均 要与预期数据进行比较。
e、判断出测试结果,在内建自测试程序输出端进行显示。
f、测试周期(10000cycle)远大于移位寄存器的最大位数(2800bit),确保 所有的寄存器能够被测试,保证测试覆盖性,当发现结果输出端信号报错时, 可根据输出信号与时钟的对应关系,能够定位第几个CLB模块出错。
综上所述,Xilinx高端FPGA产品测试具有更多的逻辑单元,测试时间通常 较长,CLB模块自测试通过2次实现全覆盖测试,实现了最优化配置,减少了 测试时间,提高了测试效率,同时确保资源100%全覆盖测试,保证了器件测试 高可靠性。
配置程序具有通用化,不用计算“空洞”阵列具体位置,且实际输出数据与预 期数据可以实现同步比较,优化了配置程序,减少了程序重复编写的时间,为 以后其他FPGA内部CLB模块的通用性配置提供了基础。
发现错误CLB具体位置是FPGA制造测试最关心的问题之一,CLB模块可 以实现精准定位,每个CLB单元具有唯一的定位坐标,CLB模块出现问题,可 以准确找到相应的CLB位置,为IC芯片设计验证、调试、设计改进提供便利, 此外通过冗余技术和适当的算法实现自动修复FPGA中的错误提供了基础。
显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (1)

1.一种K7系列FPGA内部CLB模块定位及通用性配置测试方法,其特征在于,包括:
定位FPGA内部所有CLB模块的具体位置;具体地,找到空洞的具体位置,采取空洞阵列地址取反设计;
对CLB模块阵列进行左右对等分,每等分中同行CLB模块并行,同列CLB模块串行进行配置,实现CLB模块资源的全覆盖;具体地,CLB模块配置策略采取并行+串行的策略,即CLB模块的X阵列并行,Y阵列串行;不采用跳过“空洞”的策略,配置采取CLB模块阵列对等分策略,当配置CLB左半阵列时,“空洞”阵列多出的部分会自动配置到右半CLB阵列,此时CLB左半阵列全部配置,然后配置图形对调,配置CLB右半阵列,则右半阵列的“空洞”阵列多出的CLB模块会自动分配到左半CLB阵列模块,此时CLB右半阵列全部配置;
对配置的CLB模块阵列进行内建自测试,通过实际输出的数据与预期数据的比较,判断CLB模块阵列是否存在缺陷,若某个CLB模块出现问题,根据输出信号与时钟的对应关系,定位CLB模块出错的具体位置;
所述内建自测试,从CLB模块阵列形成的移位寄存器输入端施加激励信号,通过时钟信号,将施加的激励信号在Y阵列串行CLB模块间顺序传递,生成最顶端CLB模块的预期数据;
在给定的测试周期内,每个时钟周期移位寄存器最终输出数据均要与预期数据进行比较;测试周期远大于移位寄存器的最大位数,确保所有的寄存器能够被测试,保证测试覆盖性。
CN201811518304.1A 2018-12-12 2018-12-12 K系列fpga内部clb模块定位及通用性配置测试方法 Active CN109655740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811518304.1A CN109655740B (zh) 2018-12-12 2018-12-12 K系列fpga内部clb模块定位及通用性配置测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811518304.1A CN109655740B (zh) 2018-12-12 2018-12-12 K系列fpga内部clb模块定位及通用性配置测试方法

Publications (2)

Publication Number Publication Date
CN109655740A CN109655740A (zh) 2019-04-19
CN109655740B true CN109655740B (zh) 2021-07-27

Family

ID=66114000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811518304.1A Active CN109655740B (zh) 2018-12-12 2018-12-12 K系列fpga内部clb模块定位及通用性配置测试方法

Country Status (1)

Country Link
CN (1) CN109655740B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104101A (zh) * 2019-11-07 2020-05-05 上海精密计量测试研究所 一种带有slice空洞的进位链构造及测试方法
CN111366841B (zh) * 2020-04-07 2022-06-21 华北水利水电大学 一种fpga可编程逻辑单元测试设备及使用方法
CN113721135B (zh) * 2021-07-22 2022-05-13 南京航空航天大学 一种sram型fpga故障在线容错方法
CN118536446A (zh) * 2024-07-24 2024-08-23 上海芯璐科技有限公司 一种fpga位流下载信号的电路结构及其配置方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991907A (en) * 1996-02-02 1999-11-23 Lucent Technologies Inc. Method for testing field programmable gate arrays
CN100462985C (zh) * 2006-08-25 2009-02-18 西安交通大学 一种现场可编程门阵列的快速配置方法
CN101515020B (zh) * 2009-03-05 2011-05-04 北京时代民芯科技有限公司 一种fpga逻辑资源的内建自测试方法
CN102841306B (zh) * 2011-07-21 2015-06-24 北京飘石科技有限公司 一种fpga可编程逻辑单元的测试与定位方法
CN103780249B (zh) * 2013-12-30 2016-09-14 深圳市国微电子有限公司 一种基于可编程单元配置的可编程互连线网络
US11106467B2 (en) * 2016-04-28 2021-08-31 Microsoft Technology Licensing, Llc Incremental scheduler for out-of-order block ISA processors

Also Published As

Publication number Publication date
CN109655740A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN109655740B (zh) K系列fpga内部clb模块定位及通用性配置测试方法
US9494967B2 (en) Trigger circuits and event counters for an IC
US6108806A (en) Method of testing and diagnosing field programmable gate arrays
US10254339B2 (en) Addressable test chip test system
CN101865977B (zh) 基于查找表结构的fpga可编程逻辑单元的遍历测试方法
CN102341717A (zh) 通用协议引擎
Doumar et al. Defect and fault tolerance FPGAs by shifting the configuration data
CN102841306B (zh) 一种fpga可编程逻辑单元的测试与定位方法
US11948650B2 (en) Testing circuit, testing device and testing method thereof
CN101464494B (zh) 一种现场可编程门阵列器件中使用的互连线测试电路
KR20200087375A (ko) 논리 회로의 at-speed 테스트를 위한 시스템-온-칩 및 그것의 동작 방법
Smith et al. An automated BIST architecture for testing and diagnosing FPGA interconnect faults
US11668748B2 (en) Addressable test chip
US9203397B1 (en) Delaying start of user design execution
CN111812490B (zh) 一种测试fpga芯片中信号传输延时的方法
CN115952755B (zh) 同步器标准单元的atpg库模型生成系统
US20150204944A1 (en) Programmable logic device and verification method therefor
US8078423B2 (en) Data generating method, connection checking system, and computer product
US7984343B2 (en) Inter-device connection test circuit generating method, generation apparatus, and its storage medium
US8881082B2 (en) FEC decoder dynamic power optimization
US20060190874A1 (en) Method and system for formal unidirectional bus verification
US20040194044A1 (en) Device for creating timing constraints
US20210173989A1 (en) Simulation signal viewing method and system for digital product
CN211478988U (zh) 一种运算服务器的时钟拓扑结构
Sun et al. Design and implementation of a parity-based BIST scheme for FPGA global interconnects

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
GR01 Patent grant
GR01 Patent grant