一种FPGA中双端口SRAM阵列的内建自测和修复系统及其方法技术方案

技术编号:18897373 阅读:21 留言:0更新日期:2018-09-08 12:23
本发明专利技术公开了一种FPGA中双端口SRAM阵列的内建自测和修复系统,包含:检测模块,用于获取内建自测过程的开始信号;自测试模块,包含:测试波形产生单元,用于产生不同的测试波形及读写控制信号;故障检测单元,用于比较从SRAM阵列的端口中读出的数据与预期数据,若不一致,则产生故障指示信号;存储单元,用于记录读出的数据、预期数据以及读出的数据与预期数据的对比结果;切换单元,用于切换测试的端口;还包含自修复模块,用于根据故障指示信号及对比结果对SRAM阵列进行修复。本发明专利技术还公开了一种内建自测和修复方法。本发明专利技术将双端口SRAM阵列配置成A端口写B端口读或者B端口写A端口读来测试,保证测试故障覆盖率高,并且测试和修复的效率高。

Built in self test and repair system and its method for dual port SRAM array in FPGA

The invention discloses a built-in self-test and repair system of dual-port SRAM array in FPGA, which comprises a detection module for acquiring the start signal of the built-in self-test process, a self-test module including a test waveform generating unit for generating different test waveforms and reading and writing control signals, and a fault detection unit for comparison. If the data read out from the port of SRAM array is not consistent with the expected data, a fault indication signal is generated; a storage unit is used to record the read-out data, the expected data and the comparison results between the read-out data and the expected data; a switching unit is used to switch the port of the test; and a self-repairing module is included for use in accordance with the data. The fault indication signal and the comparison result are used to repair the SRAM array. The invention also discloses a built-in self testing and repairing method. The dual-port SRAM array is configured as A port write B port read or B port write A port read to test to ensure high test fault coverage and high test and repair efficiency.

【技术实现步骤摘要】
一种FPGA中双端口SRAM阵列的内建自测和修复系统及其方法
本专利技术涉及可编程逻辑设备
,具体涉及一种FPGA中双端口SRAM阵列的内建自测和修复系统及其方法。
技术介绍
在深亚微米下,静态随机存取存储器(StaticRandomAccessMemory,SRAM)容易受到工艺波动的影响,所以对于SRAM电路一般都需要增加一个内建自测和修复电路,从而提高芯片良率。另外,对于双端口SRAM阵列(SRAM阵列中有若干个SRAM单元,每个SRAM单元有A、B两个读写端口)存在两个端口同时访问共用SRAM单元的情况,这时读写比单端读写容易出错,所以测试不能简单的将A端口和B端口分开测试,而是将A端口配置成A写B读或者B写A读来测试,保证测试的覆盖率。现场可编程门阵列(Field-ProgrammableGateArray,FPGA)的应用非常广泛,通过下载位流至FPGA中内置的SRAM阵列来控制逻辑单元和互联单元的功能,另外,还能从FPGA的SRAM中回读出位流。有些FPGA中会增加一些特殊的逻辑单元,比如大量的SRAM存储块等。随着FPGA的容量做的越来越大,SRAM存储块越来越大,还有最小特征尺寸越来越小,这些都增加了FPGA对工艺缺陷的敏感性。所以有必要提出一种降低这种敏感性的方法。公开号为US7216277B1的专利文献公开了一种自我修复冗余内存块的可编程逻辑设备(SELF-REPAIRINGREDUNDANCYFORMEMORYBLOCKSINPROGRAMMABLELOGICDEVICES),提出一种FPGA中SRAM存储块的内建自测和修复方法,它主要解决的问题是:申请日以前,FPGA中普遍使用熔丝、非挥发性存储单元(如EEPROM或FLASH等单元)来存储测试结果,从而选择相应冗余列进行修复,这就增加了制造成本和复杂性,而且只能做一次出厂测试,然后将修复后的芯片交到用户手中,如果用户使用中某些SRAM出现故障,这就不能测试和修复。然而该方法中并没有涉及双端口SRAM阵列的测试,在一个端口写,另一个端口读时,在两个端口同时读SRAM单元时,在通常的SRAM电路中,这时四个读取管均导通,容易受到外界干扰,此时的读稳定性会变差,所以在内建自测时,需要将这种情况考虑进去。另外,对FPGA内所有的内存块都需要内建自测和修复,这就需要一种机制,保证最有效率的完成内建自测和修复。
技术实现思路
本专利技术的目的在于提供一种FPGA中双端口SRAM阵列的内建自测和修复系统及其方法,将双端口SRAM阵列配置成A端口写B端口读或者B端口写A端口读来测试,保证测试故障覆盖率高,并且测试和修复的效率高。为了达到上述目的,本专利技术通过以下技术方案实现:一种FPGA中双端口SRAM阵列的内建自测和修复系统,其特点是,包含:检测模块,用于获取内建自测过程的开始信号;自测试模块,所述的自测试模块内包含:测试波形产生单元,与所述的检测模块连接,用于根据内建自测过程的开始信号以产生不同的测试波形及读写控制信号;故障检测单元,与所述的测试波形产生单元连接,用于比较从SRAM阵列的端口中读出的数据与预期数据,若不一致,则产生故障指示信号;存储单元,与所述的故障检测单元连接,用于记录从SRAM阵列的端口中读出的数据、预期数据以及读出的数据与预期数据的对比结果;切换单元,与所述的测试波形产生单元连接,用于切换测试的端口;所述的内建自测和修复系统还包含自修复模块,分别与所述的故障检测单元及存储单元连接,用于根据故障指示信号及读出的数据与预期数据的对比结果对SRAM阵列进行修复。一种FPGA中双端口SRAM阵列的内建自测和修复方法,其特点是,用于对单个SRAM阵列进行内建自测和修复,该内建自测和修复方法包含内建自测子过程和自修复子过程:内建自测子过程:当检测到启动冗余修复信号有效及前一级SRAM阵列完成内建自测子过程测试的指示信号为无效时,进入内建自测子过程;步骤S102:当检测到前一级SRAM阵列完成内建自测子过程测试的指示信号为有效时,根据第一测试波形对SRAM阵列的A端口写入第一测试波形格式数据;步骤S104:当检测到A端口的写指针计数达到预设值时,分别从SRAM阵列的A端口和B端口读取数据,并将读取的数据与预期数据进行比较,若不一致,则产生故障指示信号;步骤S106:当检测到A端口的读指针计数和B端口的读指针计数均达到预设值时,将A端口的读、写指针和B端口的读、写指针复位,根据第二测试波形执行步骤S102和步骤S104;步骤S108:当检测到A端口的读指针计数和B端口的读指针计数均达到预设值时,对SRAM阵列的B端口执行步骤S102、步骤S104及步骤S106;自修复子过程:当检测到A端口的读指针计数和B端口的读指针计数均达到预设值时,将完成内建自测子过程测试的指示信号置为有效,若启动冗余修复信号无效,则转入内建自测子过程,并且根据故障指示信号,对SRAM阵列进行自修复,同时将完成内建自测子过程测试的指示信号置为无效。所述的第一测试波形为正棋盘格格式;所述的第二测试波形为反棋盘格格式。所述的预设值为511。所述的内建自测和修复方法用于SRAM单元的固定0故障、固定1故障集桥接故障的测试。一种FPGA中双端口SRAM阵列的内建自测和修复方法,其特点是,用于对FPGA中所有SRAM阵列进行内建自测和修复,该内建自测和修复方法包含内建自测子过程和自修复子过程:检测到全局信号为有效时,进入内建自测子过程;依次完成FPGA中所有SRAM阵列的内建自测子过程和自修复子过程,当最后一级SRAM阵列的完成内建自测子过程测试的指示信号为有效后,将全局信号复位为0,同时将FPGA中所有SRAM阵列的完成内建自测子过程测试的指示信号复位为无效。所述的内建自测子过程按帧地址依次启动测试。本专利技术一种FPGA中双端口SRAM阵列的内建自测和修复系统及其方法与现有技术相比具有以下优点:将双端口SRAM阵列配置成A端口写B端口读或者B端口写A端口读来测试,保证测试故障覆盖率高;可以高效率完成全芯片所有SRAM单元的测试和修复。附图说明图1为本专利技术一种FPGA中双端口SRAM阵列的内建自测和修复系统的整体结构示意图;图2为单个SRAM单元内建自测和修复的方法流程图;图3为SRAM阵列中所有SRAM单元进行内建自测和修复的方法流程图。具体实施方式以下结合附图,通过详细说明一个较佳的具体实施例,对本专利技术做进一步阐述。一种FPGA中双端口SRAM阵列的内建自测和修复系统,如图1所示,包含:检测模块10,用于获取内建自测过程的开始信号;自测试模块20,所述的自测试模块内包含:测试波形产生单元21,与所述的检测模块10连接,用于根据内建自测过程的开始信号以产生不同的测试波形及读写控制信号;故障检测单元22,与所述的测试波形产生单元21连接,用于比较从SRAM阵列的端口中读出的数据与预期数据,若不一致,则产生故障指示信号;存储单元23,与所述的故障检测单元22连接,用于记录从SRAM阵列的端口中读出的数据、预期数据以及读出的数据与预期数据的对比结果;切换单元24,与所述的测试波形产生单元21连接,用于切换测试的端口;所述的内建自测和修复系统还包含自修复模块30,分别与所本文档来自技高网
...

【技术保护点】
1.一种FPGA中双端口SRAM阵列的内建自测和修复系统,其特征在于,包含:检测模块,用于获取内建自测过程的开始信号;自测试模块,所述的自测试模块内包含:测试波形产生单元,与所述的检测模块连接,用于根据内建自测过程的开始信号以产生不同的测试波形及读写控制信号;故障检测单元,与所述的测试波形产生单元连接,用于比较从SRAM阵列的端口中读出的数据与预期数据,若不一致,则产生故障指示信号;存储单元,与所述的故障检测单元连接,用于记录从SRAM阵列的端口中读出的数据、预期数据以及读出的数据与预期数据的对比结果;切换单元,与所述的测试波形产生单元连接,用于切换测试的端口;所述的内建自测和修复系统还包含自修复模块,分别与所述的故障检测单元及存储单元连接,用于根据故障指示信号及读出的数据与预期数据的对比结果对SRAM阵列进行修复。

【技术特征摘要】
1.一种FPGA中双端口SRAM阵列的内建自测和修复系统,其特征在于,包含:检测模块,用于获取内建自测过程的开始信号;自测试模块,所述的自测试模块内包含:测试波形产生单元,与所述的检测模块连接,用于根据内建自测过程的开始信号以产生不同的测试波形及读写控制信号;故障检测单元,与所述的测试波形产生单元连接,用于比较从SRAM阵列的端口中读出的数据与预期数据,若不一致,则产生故障指示信号;存储单元,与所述的故障检测单元连接,用于记录从SRAM阵列的端口中读出的数据、预期数据以及读出的数据与预期数据的对比结果;切换单元,与所述的测试波形产生单元连接,用于切换测试的端口;所述的内建自测和修复系统还包含自修复模块,分别与所述的故障检测单元及存储单元连接,用于根据故障指示信号及读出的数据与预期数据的对比结果对SRAM阵列进行修复。2.一种FPGA中双端口SRAM阵列的内建自测和修复方法,其特征在于,用于对单个SRAM阵列进行内建自测和修复,该内建自测和修复方法包含内建自测子过程和自修复子过程:内建自测子过程:当检测到启动冗余修复信号有效及前一级SRAM阵列完成内建自测子过程测试的指示信号为无效时,进入内建自测子过程;步骤S102:当检测到前一级SRAM阵列完成内建自测子过程测试的指示信号为有效时,根据第一测试波形对SRAM阵列的A端口写入第一测试波形格式数据;步骤S104:当检测到A端口的写指针计数达到预设值时,分别从SRAM阵列的A端口和B端口读取数据,并将读取的数据与预期数据进行比较,若不一致,则产生故障指示信号;步骤S106:当检测到A端口的读指针计数和B端口的读指针计数均达...

【专利技术属性】
技术研发人员:张伟国俞军方刘禄俞剑刘跃智张爱丽
申请(专利权)人:上海复旦微电子集团股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1