CN109655740B - K系列fpga内部clb模块定位及通用性配置测试方法 - Google Patents
K系列fpga内部clb模块定位及通用性配置测试方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318516—Test of programmable logic devices [PLDs]
- G01R31/318519—Test 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
技术领域
本发明涉及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模块的预期数据;
在给定的测试周期内,每个时钟周期移位寄存器最终输出数据均要与预期数据进行比较;测试周期远大于移位寄存器的最大位数,确保所有的寄存器能够被测试,保证测试覆盖性。
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)
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)
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 |
-
2018
- 2018-12-12 CN CN201811518304.1A patent/CN109655740B/zh active Active
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 |