CN101551439B - 一种fpga输入输出模块的内建自测试方法 - Google Patents

一种fpga输入输出模块的内建自测试方法 Download PDF

Info

Publication number
CN101551439B
CN101551439B CN2009100782741A CN200910078274A CN101551439B CN 101551439 B CN101551439 B CN 101551439B CN 2009100782741 A CN2009100782741 A CN 2009100782741A CN 200910078274 A CN200910078274 A CN 200910078274A CN 101551439 B CN101551439 B CN 101551439B
Authority
CN
China
Prior art keywords
test
port
output
input
register
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
CN2009100782741A
Other languages
English (en)
Other versions
CN101551439A (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.)
China Aerospace Modern Electronic Co 772nd Institute
Mxtronics Corp
Original Assignee
China Aerospace Modern Electronic Co 772nd Institute
Mxtronics Corp
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 China Aerospace Modern Electronic Co 772nd Institute, Mxtronics Corp filed Critical China Aerospace Modern Electronic Co 772nd Institute
Priority to CN2009100782741A priority Critical patent/CN101551439B/zh
Publication of CN101551439A publication Critical patent/CN101551439A/zh
Application granted granted Critical
Publication of CN101551439B publication Critical patent/CN101551439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

一种FPGA输入输出模块的内建自测试方法,先将FPGA中所有输入输出模块均配置为双向IO缓冲器作为待测电路,FPGA器件中间部分的逻辑资源配置成测试向量产生电路,IO缓冲器周围的逻辑资源配置成扫描链结构的输出响应分析电路,测试时,由测试向量产生电路产生伪随机穷举测试向量向每个待测电路施加测试图形;测试向量施加完成后,启动输出响应分析电路的扫描链工作,输出响应分析电路在测试时钟的控制下输出输入输出模块本次配置的内建自测试结果,直到测试覆盖输入输出模块内部的所有资源。本发明中简化了内建自测试结果取回方式,减少了测试配置次数,在保障100%的测试覆盖率前提下,降低了测试成本,提高了测试效率。

Description

一种FPGA输入输出模块的内建自测试方法
技术领域
本发明涉及一种FPGA芯片的测试方法,特别是基于扫描链结构的FPGA输入输出模块的内建自测试方法。
背景技术
FPGA测试利用其可重复编程特性,通过多次配置覆盖所有待测资源。对其测试主要有外测试和内建自测试两种方法,外测试时,FPGA器件被配置成相应测试电路,使用外部设备施加测试向量和专用设备分析输出结果,该测试方法依赖于封装;与外测试相比,内建自测试方法向量施加和响应分析都在内部完成,不需要专用测试设备和大量管脚,即降低了测试成本,又增加了测试灵活性。
输入输出模块是FPGA中与外部通信的窗口,在传统测试方法中往往首先测试IOB模块,因为只有保证其功能正确才能继续进行其他模块测试。目前,国外对FPGA逻辑资源的测试进行了研究,提出了基于存储器回读的内建自测试理论,但这些理论设计复杂,测试结果回读、诊断又耗费额外测试时间,测试实施的难度较大。国内在这个领域的研究还处于起步阶段,针对主流内建自测试技术的研究近乎空白,相关成果很少。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种FPGA输入输出模块的内建自测试方法,本发明在输出响应分析电路中构建了扫描链,提高了测试结果访问效率,解决了以往测试结果回读、诊断耗费额外时间的缺点,采用本发明的测试方法能够减少了测试配置次数,提高了测试效率。
本发明的技术解决方案是:一种FPGA输入输出模块的内建自测试方法,包括下列步骤:
(1)将FPGA中所有输入输出模块均配置为双向IO缓冲器,每个双向IO缓冲器作为一个待测电路,FPGA器件中间部分的逻辑资源配置成测试向量产生电路,IO缓冲器周围的逻辑资源配置成扫描链结构的输出响应分析电路,测试向量产生电路与每个待测电路的输入端口相连,相邻两个待测电路的输出端口分别与输出响应分析电路的各个输入端口相连组成内建自测试结构;
(2)测试时,由测试向量产生电路产生伪随机穷举测试向量向每个待测电路施加测试图形;
(3)测试向量施加完成后,启动输出响应分析电路的扫描链工作,输出响应分析电路在测试时钟的控制下输出输入输出模块本次配置的内建自测试结果;
(4)重新配置输入输出模块作为新的待测电路,并保持内建自测试结构不变,重复执行步骤(2)-(3)直到测试覆盖输入输出模块内部的所有资源。
测试向量产生电路采用线性反馈移位寄存器结构产生伪随机穷举测试向量。
扫描链结构的输出响应分析电路由N级ORA结构组成,每一级ORA结构包括异或逻辑、或逻辑、多路器和寄存器,每一级ORA结构的异或逻辑连接相邻两个待测电路的输出,经异或逻辑判断后接或逻辑,然后经多路器连接寄存器的数据输入端,经由反馈路径把逻辑判断结果锁存在寄存器中,其中第一级ORA结构中多路器输入端口连接高电平,寄存器的输出端口连接第二级ORA结构中多路器的输入端口,第二级ORA结构中寄存器的输出端口连接第三级ORA结构中多路器的输入端口,依次类推,第N-1级ORA结构中寄存器的输出端口连接到第N级ORA结构中多路器的输入端口从而组成扫描链结构,测试时每级ORA结构中多路器的扫描控制端口接高电平,测试向量施加完成后,每级ORA结构中多路器的扫描控制端口接低电平,在测试时钟信号clock的控制下,所有ORA寄存器中锁存的值依次从第N级ORA结构中寄存器的输出端口输出,其中N为整数。
本发明与现有技术相比的优点在于:现有输入输出模块的测试方法是外测试和基于配置存储器回读的内建自测试方法,其中外测试需要昂贵的专用测试设备,限制了封装形式不适合推广使用;其次,现有的基于配置存储器回读的内建自测试方法,测试时需要把寄存器值抓取到配置存储器中,然后再通过对配置存储器回读方法取出测试结果,这样不仅设计实现困难,而且增加了额外测试时间。本发明中,提出采用基于扫描链结构的内建自测试方法,在器件内部构建扫描链电路,测试时将锁存在寄存器中的值扫描输出,与基于配置存储器回读方式相比,简化了内建自测试结果取回方式,并且解决了测试结果回读、诊断耗费额外时间的问题,进而提高了测试效率,利用本发明的测试方法对Xilinx公司Spartan II/Virtex系列FPGA将完全测试配置从12次压缩到8次,减少了测试配置次数,在保障100%的测试覆盖率前提下,既有效降低了测试成本,又增加了测试的灵活性,有效提高了测试效率。
附图说明
图1为FPGA结构示意图;
图2为本发明的输入输出模块的内建自测试结构;
图3为本发明的扫描链结构的输出响应分析电路结构;
图4为本发明实施例输入输出模块的电路结构图;
图5为本发明实施例IO缓冲器第1次配置示意图;
图6为本发明实施例IO缓冲器第2次配置示意图;
图7为本发明实施例IO缓冲器第3次配置示意图;
图8为本发明实施例IO缓冲器第4次配置示意图;
图9为本发明实施例IO缓冲器第5次配置示意图;
图10为本发明实施例IO缓冲器第6次配置示意图;
图11为本发明实施例IO缓冲器第7次配置示意图;
图12为本发明实施例IO缓冲器第8次配置示意图。
具体实施方式
FPGA基本电路结构如图1所示,主要由TITLE阵列001和输入输出模块005组成,可编程逻辑模块002是其中一个TITLE阵列001中的逻辑单元,它通过IMUX003和开关矩阵004实现和周围可编程逻辑模块之间的互连,用户可以通过对可编程逻辑模块002配置来灵活实现各种功能。在传统FPGA测试方法中,往往首先保障输入输出模块功能正确才能对其它模块进行测试。本发明中将所有输入输出模块配置为双向IO缓冲器,如图2所示,通过优化配置实现IO缓冲器内部资源的完成测试,测试结果通过扫描寄存器链输出。首先将部分逻辑资源配置成测试向量产生电路21和输出响应分析电路23,将所有IO缓冲器配置成待测电路22,将FPGA器件中间部分的逻辑资源配置成测试向量产生电路21,该电路采用线性反馈移位寄存器结构,线性反馈移位寄存器由D触发器和线性异或门组成,因占用硬件面积小,在内建自测试电路中产生伪随机穷举测试向量,用于向四周的IO缓冲器施加测试图形,将IO缓冲器周围的逻辑资源配置成输出响应分析电路23,用于比较相邻IO缓冲器的输出信号;然后将将相邻待测电路22输出端口两两连接到输出响应分析电路23输入端口,输出响应分析电路23采用如图3所示的基于扫描寄存器的集成ORA(输出相应分析器)结构,用于比较相邻待测电路22的输出数据,测试向量产生电路21生成的测试图形施加到待测电路22,测试向量施加完成后,启动扫描链工作,在测试时钟控制下将每个ORA结构中寄存器的锁存值移入下级ORA结构中的寄存器中,内建自测试的结果Pass/Fail将由最后一级ORA寄存器扫描输出,测试时,保持内建自测试结构不变。
扫描链结构的输出响应分析电路23其内部结构如图3所示,输出响应分析电路23由N级ORA结构组成,N级ORA结构按照一维阵列首尾级联起来组成扫描链结构,每级ORA结构均包括异或逻辑31、或逻辑32、多路器33、寄存器36,每一级ORA结构的异或逻辑31连接相邻两个待测电路22的输出,经异或逻辑31判断后,再传输到或逻辑32,然后再经过多路器33连接到寄存器36,并经由反馈路径34把判断结果锁存在寄存器36中,最后由寄存器输出端口35输出,其中第一级ORA多路器输入端口37连接高电平信号,第一级ORA寄存器36输出端口35连接到第二级ORA的多路器33输入端口37,第二级ORA结构中寄存器36的输出端口35连接第三级ORA结构中多路器33的输入端口37,依次类推,第N-1级ORA结构中寄存器36的输出端口35连接到第N级ORA结构中多路器33的输入端口37,测试时每级ORA结构中多路器36的扫描控制端口38接高电平,测试向量施加完成后,每级ORA结构中多路器36的扫描控制端口38接低电平,在测试时钟信号clock的控制下,所有ORA寄存器中锁存的值依次从第N级ORA结构中寄存器36的输出端口35输出,其中N为整数。
下面以Xilinx公司Spartan II/Virtex系列FPGA为例对本发明的测试和配置方法进行详细的描述,本发明从减少冗余配置次数出发,将输入输出模块配置在双向传输模式下,基于互补交叉配置的方法,实现对输入输出模块的完全划分,耗尽测试输入输出模块内部的所有资源。Xilinx公司Spartan II/Virtex系列FPGA的输入输出模块是FPGA器件与外部通信的窗口,它主要由寄存器、多路器、输入输出缓冲器、时序逻辑、上下拉网络以及可编程延迟单元构成,其具体电路结构如图4所示,多路器TRIMUX101输出分别连接到寄存器TFF109的数据输入端和多路器TSEL113,多路器TCEMUX102输出连接到寄存器TFF109的使能控制端,多路器OMUX104输出连接到寄存器OFF111的数据输入端和多路器OUTMUX114,多路器OCEMUX105输出连接到寄存器OFF111的使能控制端,多路器ICEMUX108输出连接到寄存器IFF121的使能控制端,多路器SRMUX分别连接到寄存器TFF109的复位选项TFFATTRBOX110、寄存器OFF111的复位选项OFFATTRBOX112和寄存器IFF121的复位选项IFFINITATTR122,时钟CLK分别通过多路器TCKINV103、OCKINV106和ICKINV119连接到寄存器TFF109、OFF111以及IFF121的时钟输入端,寄存器TFF109输出经由多路器TSEL113连接到输出缓冲器OUTBUF的使能端,寄存器OFF111输出端经由多路器OUTMUX114连接到输出缓冲器OUTBUF的输入端,输出缓冲器OUTBUF经由输入缓冲器INBUF115直接或者经由可编程延迟单元DELAY116连接到多路器IFFMUX118,多路器IFFMUX118的输出连接到寄存器IFF121的数据输入端,输入缓冲器INBUF115的输出直接或者经由可编程延迟单元DELAY116连接到多路器IMUX117,IMUX117输出连接输出端口I,寄存器IFF121输出连接到输出端口IQ;上下拉网络PULL120可以配置成PULLUP、KEEPER以及PULLDOWN三种模式,初始化类型INITTYPE123可以分别设置成同步SYNC和异步ASYNC两种方式。
未采用本发明的测试方法完全测试Spartan II/Virtex系列FPGA输入输出模块需要12个配置,而按照本发明的内建自测试方法,对Xilinx公司SpartanII/Virtex系列FPGA的输入输出模块分8次配置完成内建自测试,具体配置与测试过程如下:
第1次配置和测试如图5所示:每个输入输出模块均配置成如下形式:将寄存器109、111、121配置成FF模式,复位选项110、112、122配置成HIGH模式,上下拉选项120配置成PULLUP,初始化类型INITTYPE123配置成SYNC;选通多路器TRIMUX101的C1端、TCEMUX102的C4端、TCKINV103的C2端并连接到寄存器109,选通多路器OMUX104的C4端、OCEMUX105的C2端、ICKINV106的C2端并连接到寄存器111,选通多路器SRMUX107的C4端并连接到寄存器109的复位选项110、寄存器111的复位选项112、寄存器121的复位选项122,选通多路器ICEMUX108的C2端并连接到寄存器121;将寄存器109的输出经由多路器TSEL113连接到输出缓冲器,寄存器111的输出经由多路器OUTMUX114、输出缓冲器、输入缓冲器INBUF115和多路器IFFMUX118连接到寄存器121。
将TCKINV103、ICKINV106、OCKINV119连接全局时钟,将FPGA器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C1端、多路器TCEMUX102的C4端、多路器OMUX104的C4端、多路器OCEMUX105的C2端、多路器ICEMUX108的C2端和多路器SRMUX107的C4端施加穷举测试向量,将相邻两个输入输出模块的输出端口IQ连接到输出响应分析电路的异或逻辑31,第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。开始测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动内建自测电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
第2次配置和测试如图6所示:每个输入输出模块均配置成如下形式:将寄存器109、111、121配置成FF模式,复位选项110、112、122配置成LOW模式,上下拉选项120配置成KEEPER,初始化类型INITTYPE123配置成SYNC;选通多路器TRIMUX101的C4端、TCEMUX102的C2端、TCKINV103的C1端并连接到寄存器109,选通多路器OMUX104的C4端、OCEMUX105的C2端、ICKINV106的C1端并连接到寄存器111,选通多路器SRMUX107的C4端并连接到复位选项110、112、122,选通多路器ICEMUX108的C2端并连接到寄存器121;将寄存器109输出经由多路器TSEL113连接到输出缓冲器,寄存器111输出经由多路器OUTMUX114、输出缓冲器、输入缓冲器INBUF115和多路器IFFMUX118连接到寄存器121。
将所有TCKINV103、ICKINV106、OCKINV119连接全局时钟,将器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C4端、多路器TCEMUX的102的C2端、多路器OMUX104的C4端、多路器OCEMUX105的C2端、多路器ICEMUX108的C2端和多路器SRMUX107的C4端施加穷举测试向量。将相邻两个IO模块的输出端口IQ连接到异或逻辑31;第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动BIST电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
第3次配置和测试如图7所示:每个输入输出模块均配置成如下形式:将寄存器109、111、121配置成FF模式,复位选项110、112、122配置成HIGH模式,上下拉选项120配置成PULLUP,初始化类型INITTYPE123配置成ASYNC;选通多路器TRIMUX101的C1端、TCEMUX102的C3端、TCKINV103的C2端并连接到寄存器109,选通多路器OMUX104的C3端、OCEMUX105的C2端、ICKINV106的C2端并连接到寄存器111,选通多路器SRMUX107的C3端并连接到复位选项110、112、122,选通多路器ICEMUX108的C2端并连接到寄存器121;将寄存器109输出经由多路器TSEL113连接到输出缓冲器,寄存器111输出经由多路器OUTMUX114、输出缓冲器、输入缓冲器INBUF115、DELAY116和多路器IFFMUX118连接到寄存器121。
将所有TCKINV103、ICKINV106、OCKINV119连接全局时钟,将器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C1端、多路器TCEMUX102的C3端、多路器OMUX104的C3端、多路器OCEMUX105的C2端、多路器ICEMUX108的C2端和多路器SRMUX107的C3端施加穷举测试向量。将相邻两个IO模块的输出端口IQ连接到异或逻辑31;第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动BIST电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
第4次配置和测试如图8所示:每个输入输出模块均配置成如下形式:将寄存器109、111、121配置成FF模式,复位选项110、112、122配置成LOW模式,上下拉选项120配置成PULLDOWN,初始化类型INITTYPE123配置成ASYNC;选通多路器TRIMUX101的C3端、TCEMUX102的C2端、TCKINV103的C1端并连接到寄存器109,选通多路器OMUX104的C2端、OCEMUX105的C2端、ICKINV106的C1端并连接到寄存器111,选通多路器SRMUX107的C3端并连接到复位选项110、112、122,选通多路器ICEMUX108的C3端并连接到寄存器121;将寄存器109输出经由多路器TSEL113连接到输出缓冲器,寄存器111输出经由多路器OUTMUX114、输出缓冲器、输入缓冲器INBUF115和多路器IFFMUX118连接到寄存器121。
将所有TCKINV103、ICKINV106、OCKINV119连接全局时钟,将器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C3端、多路器TCEMUX102的C2端、多路器OMUX104的C2端、多路器OCEMUX105的C2端、多路器ICEMUX108的C3端和多路器SRMUX107的C3端施加穷举测试向量。将相邻两个IO模块的输出端口IQ连接到异或逻辑31;第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动BIST电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
第5次配置和测试如图9所示:每个输入输出模块均配置成如下形式:将寄存器109、111配置成LATCH模式,复位选项110、112配置成HIGH模式,上下拉选项120配置成PULLDOWN,初始化类型INITTYPE123配置成ASYNC;选通多路器TRIMUX101的C3端、TCEMUX102的C2端、TCKINV103的C2端并连接到寄存器109,选通多路器OMUX104的C2端、OCEMUX105的C4端、ICKINV106的C2端并连接到寄存器111,选通多路器SRMUX107的C4端并连接到复位选项110、112;将寄存器109输出经由多路器TSEL113连接到输出缓冲器,寄存器111输出经由多路器OUTMUX114、输出缓冲器、输入缓冲器INBUF115和多路器IMUX117连接到端口I输出。
将所有TCKINV103、ICKINV106连接全局时钟,将器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C3端、多路器TCEMUX102的C2端、多路器OMUX104的C2端、多路器OCEMUX105的C4端和多路器SRMUX107的C4端施加穷举测试向量。将相邻两个IO模块的输出端口I连接到异或逻辑31;第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动BIST电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
第6次配置和测试如图10所示:每个输入输出模块均配置成如下形式:将寄存器109、111配置成LATCH模式,复位选项110、112配置成LOW模式,上下拉选项120配置成PULLUP,初始化类型INITTYPE123配置成ASYNC;选通多路器TRIMUX101的C3端、TCEMUX102的C2端、TCKINV103的C1端并连接到寄存器109,选通多路器OMUX104的C1端、OCEMUX105的C3端、ICKINV106的C1端并连接到寄存器111,选通多路器SRMUX107的C4端并连接到复位选项110、112;将寄存器109输出经由多路器TSEL113连接到输出缓冲器,寄存器111输出经由多路器OUTMUX114、输出缓冲器、输入缓冲器INBUF115、DELAY116和多路器IMUX117连接到端口I输出。
将所有TCKINV103、ICKINV106连接全局时钟,将器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C3端、多路器TCEMUX102的C2端、多路器OMUX104的C1端、多路器OCEMUX105的C3端和多路器SRMUX107的C4端施加穷举测试向量。将相邻两个IO模块的输出端口I连接到异或逻辑31;第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动BIST电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
第7次配置和测试如图11所示:每个输入输出模块均配置成如下形式:将寄存器121配置成LATCH模式,复位选项122配置成HIGH模式,上下拉选项120配置成PULLDOWN,初始化类型INITTYPE123配置成ASYNC;选通多路器TRIMUX101的C4端经由多路器113连接到输出缓冲器,选通多路器OMUX104的C2端经由多路器114连接到输出缓冲器,选通多路器ICKINV119的C2端和多路器ICEMUX108的C4端连接到寄存器121,选通多路器SRMUX107的C3端连接到复位选项122;将输出缓冲器经由输入缓冲器INBUF115、DELAY116和多路器IFFMUX118连接到寄存器121。
将所有OCKINV119连接全局时钟,将器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C4端、多路器OMUX104的C2端、多路器SRMUX107的C3端和多路器ICEMUX108的C4端施加穷举测试向量。将相邻两个IO模块的输出端口IQ连接到异或逻辑31;第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动BIST电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
第8次配置和测试如图12所示:每个输入输出模块均配置成如下形式:将寄存器121配置成LATCH模式,复位选项122配置成LOW模式,上下拉选项120配置成KEEPER,初始化类型INITTYPE123配置成ASYNC;选通多路器TRIMUX101的C1端经由多路器113连接到输出缓冲器,选通多路器OMUX104的C3端经由多路器114连接到输出缓冲器,选通多路器ICKINV119的C1端和多路器ICEMUX108的C3端连接到寄存器121,选通多路器SRMUX107的C3端连接到复位选项122;将输出缓冲器经由输入缓冲器INBUF115和多路器IFFMUX118连接到寄存器121。
将所有OCKINV119连接全局时钟,将器件中间部分逻辑块配置成线性反馈移位寄存器(LFSR)向多路器TRIMUX101的C1端、多路器OMUX104的C3端、多路器SRMUX107的C3端和多路器ICEMUX108的C3端施加穷举测试向量。将相邻两个IO模块的输出端口IQ连接到异或逻辑31;第一级ORA的扫描数据输入端37接高电平,寄存器输出端口35连接到下一级ORA的扫描数据输入端口37,依次类推把所有寄存器连接起来。测试时,首先向所有ORA公共输入端38输入高电平信号,将比较结果锁存至寄存器36;测试向量施加完成后,向所有ORA公共输入端38输入低电平信号,启动BIST电路工作,经过N个(N代表ORA数目)Clock周期,测试结果由最后一级ORA寄存器端口35输出。
本发明的内建自测试方法同样适用于其他型号FPGA的输入输出模块的内建自测试。

Claims (3)

1.一种FPGA输入输出模块的内建自测试方法,其特征在于包括下列步骤:
(1)将FPGA中所有输入输出模块均配置为双向IO缓冲器,每个双向IO缓冲器作为一个待测电路(22),FPGA器件中间部分的逻辑资源配置成测试向量产生电路(21),IO缓冲器周围的逻辑资源配置成扫描链结构的输出响应分析电路(23),扫描链结构的输出响应分析电路(23)由N级ORA结构组成,N级ORA结构按照一维阵列首尾级联起来组成扫描链结构,测试向量产生电路(21)与每个待测电路(22)的输入端口相连,第一级待测电路(22)的输出端口连接到第一级和第二级ORA结构的输入端口,第二级待测电路(22)的输出端口连接到第二级和第三级ORA结构的输入端口,以此类推,第N-1级待测电路(22)的输出端口连接到第N-1级和第N级ORA结构的输入端口,第N级待测电路(22)的输出端口连接到第N级和第1级ORA结构的输入端口从而组成内建自测试结构,其中N为整数;
(2)测试时,由测试向量产生电路(21)产生伪随机穷举测试向量向每个待测电路(22)施加测试图形;
(3)测试向量施加完成后,启动输出响应分析电路(23)的扫描链工作,输出响应分析电路(23)在测试时钟的控制下输出输入输出模块本次配置的内建自测试结果;
(4)重新配置输入输出模块作为新的待测电路(22),并保持内建自测试结构不变,重复执行步骤(2)-(3)直到测试覆盖输入输出模块内部的所有资源。
2.根据权利要求1所述的一种FPGA输入输出模块的内建自测试方法,其特征在:所述的测试向量产生电路(21)采用线性反馈移位寄存器结构产生伪随机穷举测试向量。
3.根据权利要求1所述的一种FPGA输入输出模块的内建自测试方法,其特征在:所述N级ORA结构中的每一级ORA结构包括异或逻辑(31)、或逻辑(32)、多路器(33)和寄存器(36),每一级ORA结构的异或逻辑(31)连接相邻两个待测电路(22)的输出,经异或逻辑判断后接或逻辑(32),然后经多路器(33)连接寄存器(36)的数据输入端,经由反馈路径(34)把逻辑判断结果锁存在寄存器(36)中,其中第一级ORA结构中多路器输入端口(37)连接高电平,寄存器(36)的输出端口(35)连接第二级ORA结构中多路器(33)的输入端口(37),第二级ORA结构中寄存器(36)的输出端口(35)连接第三级ORA结构中多路器(33)的输入端口(37),依次类推,第N-1级ORA结构中寄存器(36)的输出端口(35)连接到第N级ORA结构中多路器(33)的输入端口(37)从而组成扫描链结构,测试时每级ORA结构中多路器(33)的扫描控制端口(38)接高电平,测试向量施加完成后,每级ORA结构中多路器(33)的扫描控制端口(38)接低电平,在测试时钟信号clock的控制下,所有ORA寄存器中锁存的值依次从第N级ORA结构中寄存器(36)的输出端口(35)输出,其中N为整数。
CN2009100782741A 2009-02-24 2009-02-24 一种fpga输入输出模块的内建自测试方法 Active CN101551439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100782741A CN101551439B (zh) 2009-02-24 2009-02-24 一种fpga输入输出模块的内建自测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100782741A CN101551439B (zh) 2009-02-24 2009-02-24 一种fpga输入输出模块的内建自测试方法

Publications (2)

Publication Number Publication Date
CN101551439A CN101551439A (zh) 2009-10-07
CN101551439B true CN101551439B (zh) 2012-02-29

Family

ID=41155788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100782741A Active CN101551439B (zh) 2009-02-24 2009-02-24 一种fpga输入输出模块的内建自测试方法

Country Status (1)

Country Link
CN (1) CN101551439B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736023A (zh) * 2011-08-31 2012-10-17 深圳市国微电子股份有限公司 在一种fpga互联线测试方法
CN102495357B (zh) * 2011-11-25 2013-09-11 哈尔滨工业大学 一种基于比较器响应分析器的输入向量监测并发内建自测试电路
CN103308850B (zh) * 2013-07-03 2016-02-24 苏州磐启微电子有限公司 触控ic模拟前端自测的内建架构及测试方法
CN103796009B (zh) * 2014-01-14 2016-01-20 北京空间机电研究所 一种fpga质量诊断测试系统
CN105629811B (zh) * 2014-10-30 2018-01-09 京微雅格(北京)科技有限公司 支持多种测试功能复用的输入输出接口电路及其生成方法
CN104750481B (zh) * 2015-03-10 2018-04-17 深圳大学 一种fpga输出引脚复用电路、方法及设备
CN105203946B (zh) * 2015-10-30 2018-05-18 中国科学院微电子研究所 一种嵌入式芯核测试壳装置及其设计方法
CN105259444A (zh) * 2015-11-02 2016-01-20 湖北航天技术研究院计量测试技术研究所 Fpga器件测试模型建立方法
TWI625534B (zh) * 2015-12-21 2018-06-01 瑞昱半導體股份有限公司 透過掃描測試的掃描鏈所執行的除錯方法及相關電路系統
CN107290655B (zh) * 2016-04-12 2019-08-13 中国运载火箭技术研究院 基于ATE测试平台的Flash型FPGA测试方法
CN107064783B (zh) * 2016-12-08 2019-10-29 中国空间技术研究院 一种fpga芯片中查找表的检测电路及检测方法
CN106814306A (zh) * 2016-12-23 2017-06-09 深圳市紫光同创电子有限公司 一种iol测试验证方法和装置
CN107942240B (zh) * 2017-11-15 2020-03-31 深圳市紫光同创电子有限公司 Fpga芯片中dsp模块的功能测试方法及装置
CN109596976B (zh) * 2018-12-11 2021-08-27 上海精密计量测试研究所 Fpga内部dsp模块的测试方法
CN109376049B (zh) * 2018-12-27 2022-04-01 山东泉景胜跃信息技术有限公司 一种fpga嵌入式块存储器的性能测试方法
CN109445365B (zh) * 2018-12-27 2021-07-09 青岛中科青芯电子科技有限公司 一种fpga嵌入式乘法器的筛选测试方法
CN110308381A (zh) * 2019-05-29 2019-10-08 深圳市紫光同创电子有限公司 一种fpga输入输出逻辑模块的内建自测方法及系统
CN110780184A (zh) * 2019-10-21 2020-02-11 长江存储科技有限责任公司 集成电路测试系统及测试方法
CN111722097B (zh) * 2020-07-01 2022-02-18 无锡中微亿芯有限公司 一种具有互连测试功能的多裸片fpga
CN112034331B (zh) * 2020-08-17 2023-04-18 北京时代民芯科技有限公司 一种基于fpga的电路模块测试方法
CN112198423B (zh) * 2020-09-25 2023-04-25 杭州加速科技有限公司 Fpga芯片内的测试激励生成单元
CN114360622B (zh) * 2022-03-16 2023-05-23 南京芯驰半导体科技有限公司 一种逻辑内建自测试的复位电路测试系统及方法

Also Published As

Publication number Publication date
CN101551439A (zh) 2009-10-07

Similar Documents

Publication Publication Date Title
CN101551439B (zh) 一种fpga输入输出模块的内建自测试方法
CN101515020B (zh) 一种fpga逻辑资源的内建自测试方法
US10901033B2 (en) Channel circuitry, tap linking module, scan tap, debug tap domains
US7080300B1 (en) Testing a programmable logic device with embedded fixed logic using a scan chain
US7882465B2 (en) FPGA and method and system for configuring and debugging a FPGA
CN101923133B (zh) 集成电路片上系统核间连线故障的测试系统和方法
CN102944831B (zh) 自动化测试中扩展输入输出通道的方法
JP6544772B2 (ja) スキャンテスト用のテストモード制御信号を生成可能な集積回路
US8006153B2 (en) Multiple uses for BIST test latches
CN110007217A (zh) 一种低功耗边界扫描测试方法
CN101776730B (zh) 一种集成电路的测试图形生成器及其测试方法
US10969433B1 (en) Method to compress responses of automatic test pattern generation (ATPG) vectors into an on-chip multiple-input shift register (MISR)
CN107300666B (zh) 一种soc片上嵌入式ip硬核的测试访问隔离结构
US7222277B2 (en) Test output compaction using response shaper
Zorian et al. IEEE 1500 utilization in SOC design and test
Bhandari et al. A low power test pattern generator for minimizing switching activities and power consumption
US7702979B2 (en) Semiconductor integrated circuit incorporating test configuration and test method for the same
CN107991602B (zh) 一种带广播结构的内建自测试结构
CN117517932B (zh) 一种芯粒间tsv测试电路及测试方法
WO2008149287A1 (en) Testable integrated circuit die and integrated circuit package
JP4272898B2 (ja) 半導体テスト回路及びそのテスト方法
CN116804696A (zh) 测试电路与测试方法
CN116930730A (zh) 一种灵活配置片内扫描链的互连测试结构
CN117079701A (zh) 探测fpga内ip硬核制造性缺陷的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant