一种基于FPGA故障检测的脉冲发生器
技术领域
本发明涉及集成电路领域,具体涉及一种基于FPGA故障检测的脉冲发生器。
背景技术
当集成工艺进入超深亚微米以下,传统的故障检测模型不再适用。现有两种常用检测模式:全速功能测试和链式扫描测试。全速功能测试,一般用于不可编程元件或已编程元件;主要方式时让被测试的集成元件以最高时钟频率运行,但是,由于最高频率设计独立于用户终端设计,在运行测试时,用户终端无法获知集成元件的最高时钟频率。链式扫描测试,建立锁定回路,通过发射、延迟和捕获脉冲的方式,在输出端匹配路径的延迟显著不同,即检测出环路故障。
现有FPGA故障检测技术,在时钟与输出端之间包含多个触发器,触发器须配合环路振荡器,在环路振荡器中加入合适的延时单元后,需要重设触发器且必须保证触发器频率要远低于环路振荡器频率。其次,不支持检测触发器输入步长。然后,构成环路振荡器需要占用所测FPGA的计数器,使得多个环路振荡器不能同时检测,增加检测时间和检测设计元件的数量,而且极大降低了故障检测器的通用性。最后,基于内建式的FPGA检测同样会受到计数器最大频率限制,并且在中心计数器与检测通路的后端之间很难实现扫描捕获和发射高速脉冲。
发明内容
针对上述现有技术,本发明目的在于提供一种基于FPGA故障检测的脉冲发生器,其旨在解决在现有FPGA故障检测中,检测频率受限,频繁重设触发器,不支持检测触发器输入步长,占用FPGA计数器,检测时间很长且不具备通用性等技术问题。
为达到上述目的,本发明采用的技术方案如下:
一种基于FPGA故障检测的脉冲发生器,包括时钟输入SCLK,时钟输入SCLK连接有补偿脉冲计数单元, 补偿脉冲计数单元还设置有输出端和至少一个控制端,其输出端连有第一编程延迟单元;时钟输入SCLK还连接有编程脉冲计数单元,编程脉冲计数单元还设置有输出端和至少一个控制端,其输出端连有第二编程延迟单元。
上述方案中,所述的时钟输入SCLK包括输入端接入行、列信号的与门,与门的输出端连接第一多路复用器第一输入接口,第一多路复用器的第二输入接口和第三输入接口分别接入系统时钟信号和测试时钟信号,第一多路复用器输出接口连接触发器的CLK端。改进后,实现在同一个触发器上,具备产生和终止功能相结合的通路,SCLK可适用不同的FPGA时钟,并且使得本发明脉冲发生器在利用脉冲扫描时实现发射脉冲模式和捕获脉冲模式间的切换。
上述方案中,所述的补偿脉冲计数单元,包括第一降值计数器,其启动计数端LD通过连接非与门和触发器构成脉冲发射电路;第一降值计数器的NZ端、控制端LMC和启动计数端LD通过连接异或门、或门、与门和触发器构成脉冲捕获电路。所述的补偿脉冲计数单元的第一降值计数器Cnt<n-1:0>端设置为Cnt<1:0>。所述的补偿脉冲计数单元输出端连接第一编程延迟单元,第一编程延迟单元连接有第二多路复用器的第一接口、或门的第一输入端和第三多路复用器的第二接口。第一编程延迟单元设置为固定延迟。不占用FPGA计数器,可灵活设置的补偿脉冲计数单元和第一编程延迟单元,此处优选为单脉冲发射捕获,减少脉冲匹配时间,命令重置触发器,提升了与不同FPGA的匹配度,增加通用性,增加元件检测速度。
上述方案中,所述的编程脉冲计数单元,包括第二降值计数器,其测试计数端TD通过连接非与门和触发器构成脉冲发射电路;第二降值计数器的NZ端、控制端MC和测试计数端TD通过连接异或门、或门、与门和触发器构成脉冲捕获电路。所述的编程脉冲计数单元输出端连有带输入控制的第二编程延迟单元,第二编程延迟单元连接有第三多路复用器的第三接口、或门的第二输入端和第二多路复用器的第二接口。不占用FPGA计数器,显著减少脉冲匹配时间,不受限于FPGA中计数器频率,实现高频脉冲检测。
上述方案中,所述的或门输出端分别连有第二多路复用器第二接口和第三多路复用器第一接口。所述的第二多路复用器输出接口连接输出端OUT1,第三多路复用器输出接口连接输出端OUT2。所述的输出端OUT1连接有命令到达检测器AOD,命令到达检测器AOD还连接有输出端OUT2。实现触发器脉冲步长检测;不论是高电平输出,还是低电平输出,均能通过到达命令检测器AOD检测,提高输出脉冲延迟检测精确度。
附图说明
图1为本发明脉冲发生器电路图;
图2为本发明脉冲发生器补偿脉冲计数单元电路图;
图3为本发明脉冲发生器编程脉冲计数单元图;
图4本发明脉冲发生器时钟输入改进电路图;
图5为现有FPGA检测脉冲电路图;
图6为本发明脉冲发生器实际检测简图;
图中:1a-补偿脉冲计数器,1b-编程脉冲计数器,2a-第一编程延迟单元,2b-第二编程延迟单元,3a-第二多路复用器,3b-第三多路复用器,4-时钟SCLK,5-同步控制端START,6、13、19-或门,7-命令到达检测器,8-基于FPGA故障检测的脉冲发生器,9a、9b、9c、15a、15b、15c、21a、21b-D触发器,10、14a、14b、16、20a、20b、22-与门,11-第一降值计数器,12、18-异或门,17-第二降值计数器,23-第一多路复用器,24-锁相环PLL,25-延迟锁相环,200-现有检测器TESTER。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合附图对本发明做进一步说明:
图1为本发明脉冲发生器电路图,一种基于FPGA故障检测的脉冲发生器,包括时钟输入SCLK,时钟输入SCLK连接有补偿脉冲计数单元, 补偿脉冲计数单元还设置有输出端和至少一个控制端,其输出端连有第一编程延迟单元;时钟输入SCLK还连接有编程脉冲计数单元,编程脉冲计数单元还设置有输出端和至少一个控制端,其输出端连有第二编程延迟单元。
图2为本发明脉冲发生器补偿脉冲计数单元电路图,所述的补偿脉冲计数单元,包括第一降值计数器,其启动计数端LD通过连接非与门和触发器构成脉冲发射电路;第一降值计数器的NZ端、控制端LMC和启动计数端LD通过连接异或门、或门、与门和触发器构成脉冲捕获电路。所述的补偿脉冲计数单元的第一降值计数器Cnt<n-1:0>端设置为Cnt<1:0>。所述的补偿脉冲计数单元输出端连接第一编程延迟单元,第一编程延迟单元连接有第二多路复用器的第一接口、或门的第一输入端和第三多路复用器的第二接口。第一编程延迟单元设置为固定延迟。
图3为本发明脉冲发生器编程脉冲计数单元图,所述的编程脉冲计数单元,包括第二降值计数器,其测试计数端TD通过连接非与门和触发器构成脉冲发射电路;第二降值计数器的NZ端、控制端MC和测试计数端TD通过连接异或门、或门、与门和触发器构成脉冲捕获电路。所述的编程脉冲计数单元输出端连有带输入控制的第二编程延迟单元,第二编程延迟单元连接有第三多路复用器的第三接口、或门的第二输入端和第二多路复用器的第二接口。所述的或门输出端分别连有第二多路复用器第二接口和第三多路复用器第一接口。所述的第二多路复用器输出接口连接输出端OUT1,第三多路复用器输出接口连接输出端OUT2。所述的输出端OUT1连接有命令到达检测器AOD,命令到达检测器AOD还连接有输出端OUT2。
图4为本发明脉冲发生器时钟输入改进电路图,所述的时钟输入SCLK包括输入端接入行、列信号的与门,与门的输出端连接第一多路复用器第一输入接口,第一多路复用器的第二输入接口和第三输入接口分别接入系统时钟信号和测试时钟信号,第一多路复用器输出接口连接触发器的CLK端。
图5为现有FPGA故障检测电路图,检测器TESTER配合内建在FPGA的环路振荡器进行脉冲发射、扫描、捕获。在检测过程中,使用大量FPGA元件,如计数器T-CNTER,触发器247和逻辑门255等等。在环路振荡器中加入合适的延时单元后,需要重设触发器且必须保证触发器频率要远低于环路振荡器频率。其次,不支持检测触发器输入步长。然后,构成环路振荡器需要占用所测FPGA的计数器,使得多个环路振荡器不能同时检测,增加检测时间和检测设计元件的数量,而且极大降低了故障检测器的通用性。并且在中心计数器与检测通路的后端很难实现扫描捕获与发射高速脉冲。
实施例1
图6为本发明脉冲发生器实际检测简图,根据不同的FPGA时间关键组件(用于产生或限制时钟信号)特征,设置出基于被测FPGA的补偿脉冲数以及第一编程延迟单元2a的延迟基数△0,配合FPGA中预先铺设用于故障检测的简单线路形成锁相环电路PLL和延迟锁相环电路DLL,外界通过施加高或低电平补偿脉冲计数器LMC端与编程脉冲计数器MC端计数器分别控制补偿计数单元1a与编程计数单元1b的工作状态,脉冲起始信号的同步性通过外界电平可控的START端来保证。具体地,脉冲发生器处于工作状态,起始脉冲发出后,通过SCLK接受来自FPGA的脉冲回复,不同模式的脉冲分别通过补偿回路和编程回路后,在输出端OUT1与输出端OUT2输出脉冲,可由命令到达检测器AOD验证脉冲延迟关系,以此判断出FPGA延迟是否故障。
本发明有益效果:检测频率范围得到显著提升,不再受到环路振荡器频率限制;不再占用FPGA计数器,提升检测运行速度;脉冲模式自动匹配,无匹配等待时间,显著降低检测时间;高速脉冲发射与扫描捕获,拓展检测频率范围;支持检测触发器输入步长;通用性得到显著且实质性提升,不再依靠FPGA内建故障检测模块,减少元件和FPGA制作成本。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。