基于fpga硬件结构的时钟网络遍历测试方法_2

文档序号:8301231阅读:来源:国知局

[0016]图4“之”字形处理方式。
[0017]图5CLB串联配置方式。
[0018]图6DSP串联配置方式。
[0019]图7BRAM串联配置方式。
【具体实施方式】
[0020]对于基本逻辑块为CLB的单元电路,将所有的SLICE按图5所示的方式配置。将所有SLICE的输出配置成时钟边沿出发的工作模式,比如触发器的工作模式。在这种工作模式下,时钟信号的短路,开路,常O和常I故障都能被检测出来。将一个逻辑单元内的一个SLICE配置成四输入的与运算单元,另外三个配置成时钟信号到来后输出恒为I的状态,并连接到第一个SLICE的三个输入端,该SLICE的另一个输入来自上一级逻辑单元的输出。将FPGA中所有的CLB按这样的方法配置好后,整个FPGA就类似一个移位链。如果所有的时钟端都可以正常工作的话,那么经过N个时钟周期,输入的值就会被移出。其中N是FPGA中所有CLB逻辑块的个数。如果片内任何一个时钟输入端出现了故障,比如某个逻辑块的时钟输入端与地短接了,那么这一级的触发器就不会将信号输出,输出端就恒为0,由于是四输入与门的串联配置,所以最后的输出也就是恒为0,不会跟随输入变化。这样,就可以检测出所有的CLB逻辑块的时钟故障。
[0021]对于基本逻辑块为DSP的单元电路,将所有的DSP按图6所示的方式配置。将DSP配置成加法器的工作模式,时钟信号作用在该输出寄存器的时钟端。每当时钟的上升沿到来时,寄存器将运算结果输出。按照这样的配置方式,将片内所有DSP串联起来。如果在输入端In输入一个高电平信号,则加法器的运算结果输出一个1,时钟信号上升沿到来后,这个高电平信号被寄存器输出并作为下一级DSP的输入。这样在时钟信号的不断作用下,这个高电平信号一级一级地往下传递,与之前用SLICE组成的移位链类似。如果与DSP相关的所有时钟信号都能正常地工作,则这个高电平信号就会传递到最后输出被观测到。如果其间某个时钟信号出现故障,比如说常O或者常I故障,那么这个高电平信号就不会一直传递到最后的输出,在输出端只能观测到一个恒为O的信号。所以通过这样的方法,可以测得所有与DSP模块相关的时钟的功能。
[0022]对于基本逻辑块为块RAM的单元电路,将所有BRAM按图7所示的方式配置。将BRAM配置成只读的ROM模式,输入为地址信号,输出为ROM内存储的值。在上电初始化时,将地址为O的空间写为0,将地址为I的空间写为1,第一级ROM的输入信号ADDR来自上一级DSP的输出,若这个信号为1,则ROM输出对应地址为I的值,即高电平信号I。若ADDR信号为0,则ROM的输出地址为O的信号,也就是低电平信号O。所有的信号都是通过寄存器输出的,若所有与BRAM相关的时钟都能正常工作的话,那么这个高电平信号就会一级一级地传递下去,直至在输出端被观测到。若某一级的时钟信号出现故障,那么这一级的寄存器就无法输出I信号,则后面所有的ROM输出均为0,这样就可以检测出时钟信号在ROM中的故障了。
【主权项】
1.一种基于FPGA硬件结构的时钟网络遍历测试方法,FPGA芯片是由一个个单元逻辑电路块Tile组成的阵列,Tile之间的资源为布线通道,可以将不同的Tile连接起来;每个Tile内部包含一个基本的逻辑电路单元和一个与之相连的互联模块,这个基本的电路逻辑单元是CLB、BRAM、DSP或者其他的硬件电路;时钟信号通过片内的时钟网络传递到每个Tile的时钟输入端,再通过Tile内部的连接作为基本逻辑电路的时钟信号;芯片中的时钟网络主要包括竖直方向的全局时钟线,芯片内部资源从上往下被分为若干个时钟域,全局时钟线竖直地跨过这些时钟域;每个时钟域从全局时钟线中任意选择时钟信号来驱动该时钟域中的所有资源,整个时钟网络以H型的方式实现,时钟网络的遍历测试就要保证这所有的全局时钟线上的时钟信号能被准确地送到芯片中的每一个角落,从而保证FPGA的时钟在任何用户配置下都能正常工作;其特征在于将每个逻辑块作如下配置: 对于CLB逻辑块电路,将其内部的SLICE配置成一种逻辑门的运算形式;对于BRAM逻辑块电路,将其配置成只读的ROM地址查找模式;对于DSP逻辑块电路,将其配置成加法器或者乘法器的工作模式;所有上述的配置模式都是在时钟信号的控制下,用寄存器输出结果;使用片内的互联资源将相邻的逻辑块电路连接起来,即在每一行内,将这些电路用串联的方式连接起来,上级电路的输出信号在时钟的作用下作为下级电路的输入信号;行与行之间的连接方式是:上一行的输出作为下一行的输入,简称为“之”字型连接方式;这样,如果片内每个单元电路的时钟都能正常工作的话,那么最后在输出端就能观测到预期的输出信号;反之,如果任何一个单元电路的时钟出现故障,那么这一级的输出信号就会出错,导致最后在输出端观测到的结果也是错误的,从而可以测试出片内任何一块的时钟是否存在故障。
2.根据权利要求1所述的基于FPGA硬件结构的时钟网络遍历测试方法,其特征在于对于基本逻辑块为CLB的单元电路,将所有SLICE的输出配置成时钟边沿出发的工作模式;将一个逻辑单元内的一个SLICE配置成四输入的与运算单元,另外三个配置成时钟信号到来后输出恒为I的状态,并连接到第一个SLICE的三个输入端,该SLICE的另一个输入来自上一级逻辑单元的输出;将FPGA中所有的CLB按这样的方法配置好后,整个FPGA就类似一个移位链。
3.根据权利要求1所述的基于FPGA硬件结构的时钟网络遍历测试方法,其特征在于对于基本逻辑块为DSP的单元电路,将DSP配置成加法器的工作模式,时钟信号作用在该输出寄存器的时钟端;每当时钟的上升沿到来时,寄存器将运算结果输出;按照这样的配置方式,将片内所有DSP串联起来;如果在输入端In输入一个高电平信号,则加法器的运算结果输出一个1,时钟信号上升沿到来后,这个高电平信号被寄存器输出并作为下一级DSP的输入;这样在时钟信号的不断作用下,这个高电平信号一级一级地往下传递,与之前用SLICE组成的移位链类似。
4.根据权利要求1所述的基于FPGA硬件结构的时钟网络遍历测试方法,其特征在于对于基本逻辑块为块RAM的单元电路,将BRAM配置成只读的ROM模式,输入为地址信号,输出为ROM内存储的值;在上电初始化时,将地址为O的空间写为0,将地址为I的空间写为1,第一级ROM的输入信号ADDR来自上一级DSP的输出,若这个信号为1,则ROM输出对应地址为I的值,即高电平信号I ;SADDR信号为0,则ROM的输出地址为O的信号,也就是低电平信号O ;所有的信号都是通过寄存器输出的,若所有与BRAM相关的时钟都能正常工作的话,那么这个高电平信号就会一级一级地传递下去,直至在输出端被观测到;若某一级的时钟信号出现故障,那么这一级的寄存器就无法输出I信号,则后面所有的ROM输出均为O,这样即可检测出时钟信号在ROM中的故障。
【专利摘要】本发明属于集成电路测试技术领域,具体为一种基于FPGA(现场可编程门阵列)芯片硬件结构的时钟网络遍历测试方法。本发明将每个逻辑块作如下配置:对于CLB逻辑块电路,将其内部的SLICE配置成一种逻辑门的运算形式;对于BRAM逻辑块电路,将其配置成只读的ROM地址查找模式;对于DSP逻辑块电路,将其配置成某种运算形式;所有上述的配置模式都是在时钟信号的控制下,用寄存器输出结果;可测试的故障包括FPGA时钟端的短路、开路、常0以及常1故障。本发明能够完成对FPGA芯片内所有单元块电路的时钟输入端、所有的时钟网络功能的测试。测试所需要的配置次数、配置难度和测试时间都能得到极大地优化。
【IPC分类】G06F11-22, H03K5-135
【公开号】CN104617928
【申请号】CN201510017286
【发明人】杨震, 王健, 来金梅
【申请人】复旦大学
【公开日】2015年5月13日
【申请日】2015年1月13日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1