公开/公告号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位有效数据,表征自检测结果。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。以上的描述和附图仅仅是实施本发明的范例,但应当认识到上述的描述不应被认为是对本发明的限制。
机译: 在硅晶片上具有几个相同单元的测试电路,每个单元具有具有给定特性的基本容量,用于测试单个芯片上的EEPROM单元集合
机译: 一种形成半导体芯片组件的方法以及一种将电路基板上的导线连接到半导体芯片上的装置的方法
机译: 一种形成半导体芯片组件的方法以及一种将电路基板上的导线连接到半导体芯片上的装置的方法