首页> 中国专利> 一种EEPROM芯片上的高效自检测电路

一种EEPROM芯片上的高效自检测电路

摘要

本发明提出一种EEPROM芯片上的高效自检测电路,其特征在于,包括:移位寄存器1、计数器1、计数器2、比较器1、触发器、比较器2、计数器3、比较器3、选择器和移位寄存器2。当数字逻辑电路接收到0x86命令后,自主发送写和读请求至EEPROM。上位机发送0x87命令轮询芯片检测状态,当收到ack为1时,表示芯片正在处于自检测状态,当收到ack为0时,芯片将紧接着发送8位有效数据0xaa或0x55,表征自检测结果。

著录项

  • 公开/公告号CN112185452A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 上海明矽微电子有限公司;

    申请/专利号CN202011039837.9

  • 发明设计人 孙晓霞;张建伟;

    申请日2020-09-29

  • 分类号G11C29/38(20060101);G11C29/56(20060101);G11C29/18(20060101);

  • 代理机构

  • 代理人

  • 地址 201306 上海市浦东新区南汇新城镇环湖西二路888号C楼

  • 入库时间 2023-06-19 09:27:35

说明书

技术领域

本发明属于集成电路芯片设计领域,具体来说属于可擦除编程存储器(EEPROM)领域。

背景技术

一般来说,晶圆生产出来以后,前段测试中芯片需要擦写测试,通过后再划片,将通过前段测试的芯片摘下并封装。

传统的EEPROM芯片在前段测试中,需要耗费大量的时间去检测。例如基于IIC协议,容量128K比特的EEPROM,一页是64字节,供256页的容量,最快的测试方式是用pagewrite的方式写256页,再用sequential read的方式读全阵列。用IIC串行方式消耗大量时间,读写一颗芯片的时间2小时左右。

发明内容

为了解决上述问题,本发明基于IIC协议,提供一种芯片的高效自检测电路:上位机发送一条命令后,芯片内部发起写和读EEPROM,完成读写后,芯片响应上位机确认完成。这套流程中,芯片只需要一次擦写就可以完成全阵列数据写;逻辑部分与EEPROM阵列基于32位数据操作,在读操作的测试时间就是原测试时间的1/32。

所述一种芯片的高效自检测电路,其特征在于,包括:移位寄存器1、计数器1、计数器2、比较器1、触发器、比较器2、计数器3、比较器3、选择器和移位寄存器2。

如图1所示,所述移位寄存器1的作用是将IIC输入有效串行数据转成8比特并行数据,并将移位寄存器1的数据输出给比较器1。所述移位寄存器1的输入为IIC的数据sda_i,输出为data[7:0],连接至比较器1的输入。

如图1所示,所述计数器1的作用是计算从IIC start标志位后的时钟计数,以一个字节加一个响应ack位共9个时钟为周期,计数范围为0~8。所述计数器1的输入为IIC时钟上沿,输出计数值至两路,一路连接至比较器1的输入,一路连接至计数器2的输入。

如图1所示,所述计数器2的作用是计算计数器1的周期数,当计数器1值为8时,计数器2开始累加;当接收到IIC start标志后,设置计数器2初值为0。所述计数器2的输入为计数器1的计数值,输出连接至比较器1的输入。

如图1所示,所述比较器1的作用是比较IIC的输入数据、计数器1、计数器2和期望值,产生相应自检信号、数据和响应信号。所述比较器1的输入是移位寄存器1的输出数据data[7:0]、计数器1的计数值、计数器2的计数值、固定值0x86和固定值0x87。所述0x86和0x87为IIC命令特征值。所述比较器1有三种功能。功能1:当比较器1监测到输入移位寄存器1的输出数据data为0x86,计数器1的值为7,计数器2的值为1,以上三个条件满足后设置self_check信号从0变为1,启动逻辑状态机的写操作,并同时使能EEPROM的输入信号wt_all为1。所述self_check信号同时连接至比较器3的输入。功能2:当比较器1监测到计数器1的值为7,计数器2的值为2,以上两个条件满足后把输入移位寄存器1的输出数据data寄存至输出check_data[7:0]中,所述check_data[7:0]连接至EEPROM的输入数据信号data_ee_i,作为EEPROM写操作的写数据。所述check_data[7:0]信号同时连接至比较器2的输入。功能3:当比较器1监测到输入移位寄存器1的输出数据data为0x87,计数器1的值为7,计数器2的值为1,以上三个条件满足后设置response_en信号从0变为1,所述response_en信号同时连接至比较器3的输入。

如图1所示,所述比较器2的作用是比较EEPROM在读数据阶段的输出数据data_ee_o和check_data[7:0]是否相等。所述比较器2的输入是EEPROM的输出数据data_ee_o和比较器1的输出值check_data,如果EEPROM的输出数据与IIC接收值check_data相等,则输出0,反之不相等,则输出1。所述比较器2的输出连接至计数器3的输入。

如图1所示,所述计数器3的作用是计数比较器2为高电平的时钟数。所述计数器3在接收到IIC start信号时,设置初始值为0,当接收到比较器2的输出信号为1时,累加1。所述计数器3的输出连接至比较器3。

如图1所示,所述比较器3的作用是检测计数器3是否为0。所述比较器3的输入时self_check,response_en和计数器3的输出计数值。当self_check为0,response_en为1,计数器3的输出值为0,则所述计数器3的输出信号为0。当self_check为0,response_en为1,计数器3的输出值为非0,则所述计数器3的输出信号为1。所述比较器3的输出信号连接至选择器。

如图1所示,所述选择器的作用是选择特定的值给输出端口。所述选择器的输入是比较器3的输出,若为0,则选择器输出0xaa,反之选择器输出0x55。选择器的输出值连接至移位寄存器2。

如图1所示,所述移位寄存器2的作用是将并行数据转换成串行数据,输出至IICsda_o上。所述移位寄存器2的输入是选择器的输出值0xaa或者0xaa。

本发明中,当self_check信号为高时,就会启动逻辑写操作,所述写操作输出的wt_all信号可以一次性完成所有阵列的擦写,该功能在大部分EEPROM产品的测试模式都能支持。写操作完整后,由逻辑状态机转至读操作,并启动EEPROM输入地址自动累加,直至全阵列被读取完成。self_check信号为高阶段,无法响应IIC命令,因此当上位机发送0x87命令时,ack响应一直为1,即IIC slave为无响应。当逻辑状态机完成上述写和读操作后,设置self_check信号为0。所述self_check信号为0后,0x87命令ack响应为0,并且self_check信号为0后使能比较器3开始工作。

本发明中,数字逻辑电路接收到0x86命令后,自主发送写和读请求至EEPROM。上位机发送0x87命令轮询芯片检测状态,当收到ack为1时,表示芯片正在处于自检测状态,当收到ack为0时,芯片将紧接着发送8位有效数据0xaa或0x55,表征自检测结果。

本发明有以下几个优势:

1.数字逻辑电路解析此命令后,自动发送写和读EEPROM请求。代替了传统繁琐的读写时序。

2.数字电路与EEPROM的接口是并行数据处理。

3.EEPROM接口采用的读写时钟一般会大于IIC串行时钟。

4.上位机发送命令后,数字逻辑电路无须返回从EEPROM读取的数据。只需返回1个字节的标志位给上位机,告诉当前检测已完成。

5.上位机命令开发流程很大程度上被简化,减少出错概率。

由此可见,本发明中的EEPROM自测试方式带来的各种开销的缩减是显而易见的。虽然此方案会稍微增加一些数字逻辑资源,但是与宝贵的时间成本权衡下来,此种方案更能凸显它的实用价值。

附图说明

图1为本发明示例一种芯片上的高效自检测电路。

具体实施方式

以下根据附图,具体说明本装置的实施方式。

芯片完成上电后,根据IIC输入命令0x86启动逻辑自检测状态机。自检测第一步是阵列全擦写功能,写入上位机设定的数据。擦写结束后,启动第二步,读全阵列功能,每一个地址读出的32比特数据与写入数据比较。当全部地址比较正确后,响应上位机的输入命令0x87,并输出0xaa。当全部地址比较失败,响应上位机的输入命令0x87,并输出0x55。如果自检测未完成,则不响应上位机输入命令0x87。

如图1所示,所述移位寄存器1的输入为IIC的数据sda_i,输出为data[7:0],连接至比较器1的输入。

如图1所示,所述计数器1的输入为IIC时钟上沿,输出计数值至两路,一路连接至比较器1的输入,一路连接至计数器2的输入。

如图1所示,所述计数器2的输入为计数器1的计数值,输出连接至比较器1的输入。

如图1所示,所述比较器1的输入是移位寄存器1的输出数据data[7:0]、计数器1的计数值、计数器2的计数值、固定值0x86和固定值0x87。所述0x86和0x87为IIC命令特征值。所述比较器1有三种功能。功能1:当比较器1监测到输入移位寄存器1的输出数据data为0x86,计数器1的值为7,计数器2的值为1,以上三个条件满足后设置self_check信号从0变为1,启动逻辑状态机的写操作,并同时使能EEPROM的输入信号wt_all为1。所述self_check信号同时连接至比较器3的输入。功能2:当比较器1监测到计数器1的值为7,计数器2的值为2,以上两个条件满足后把输入移位寄存器1的输出数据data寄存至check_data[7:0]中,所述check_data[7:0]连接至EEPROM的输入数据信号data_ee_i,作为EEPROM写操作的写数据。所述check_data[7:0]信号同时连接至比较器2的输入。功能3:当比较器1监测到输入移位寄存器1的输出数据data为0x87,计数器1的值为7,计数器2的值为1,以上三个条件满足后设置response_en信号从0变为1,所述response_en信号同时连接至比较器3的输入。

如图1所示,所述比较器2的输入是EEPROM的输出数据data_ee_o和比较器1的输出值check_data,如果EEPROM的输出数据与IIC接收值check_data相等,则输出0,反之不相等,则输出1。所述比较器2的输出连接至计数器3的输入。

如图1所示,所述计数器3在接收到IIC start信号时,设置初始值为0,当接收到比较器2的输出信号为1时,累加1。所述计数器3的输出连接至比较器3。

如图1所示,所述比较器3的输入时self_check,response_en和计数器3的输出计数值。当self_check为0,response_en为1,计数器3的输出值为0,则所述计数器3的输出信号为0。当self_check为0,response_en为1,计数器3的输出值为非0,则所述计数器3的输出信号为1。所述比较器3的输出信号连接至选择器。

如图1所示,所述选择器的输入是比较器3的输出,若为0,则选择器输出0xaa,反之选择器输出0x55。选择器的输出值连接至移位寄存器2。

如图1所示,所述移位寄存器2的作用是将并行数据转换成串行数据,输出至IICsda_o上。所述移位寄存器2的输入是选择器的输出值0xaa或者0xaa。

本发明中,当self_check信号为高时,就会启动逻辑原有的写操作,所述写操作输出的wt_all信号可以一次性完成所有阵列的擦写,该功能在大部分EEPROM产品中都能支持。写操作完整后,由逻辑状态机转至阵列读操作,并启动EEPROM输入地址自动累加,直至全阵列被读取完成。self_check信号为高阶段,无法响应IIC命令,因此当上位机发送0x87命令时,ack响应一直为1,即IIC slave为无响应。当状态机完成上述写和读操作后,设置self_check信号为0。所述self_check信号为0后,0x87命令ack响应为0,并且self_check信号为0后使能比较器3开始工作。

本发明中,数字逻辑电路接收到0x86命令后,自主发送写和读请求至EEPROM。上位机发送0x87命令轮询芯片检测状态,当收到ack为1时,表示芯片正在处于自检测状态,当收到ack为0时,芯片将紧接着发送8位有效数据,表征自检测结果。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。以上的描述和附图仅仅是实施本发明的范例,但应当认识到上述的描述不应被认为是对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号