熔丝电路的制作方法

文档序号:6753631阅读:269来源:国知局
专利名称:熔丝电路的制作方法
技术领域
本发明涉及一种以标准CMOS工艺形成的对电可编程的熔丝器件的读出/编程控制电路,尤其是,使用于由电(electrically)-熔丝器件、反熔丝器件等构成的熔丝电路。
背景技术
现有,半导体集成电路内要将数据进行非易失性存储的场合,其半导体集成电路内必须配置某种存储器件。
例如,存储数据的数据量非常多,同时,像多次进行数据重写那样的场合,用迭层栅构造的闪存单元存储其数据。在这里,闪存单元,通过与标准CMOS工艺不同的特殊工艺来形成。为此,在以逻辑LSI等标准CMOS工艺而形成的半导体集成电路内配置闪存单元的场合,谋求存储容量的大容量化等,需要设法抑制用特殊工艺引起的管理开销。
但是,例如,在1芯片内混装多种功能的系统LSI等半导体集成电路中,非易失性地存储数据量巨大数据的这一要求几乎没有。在这种半导体集成电路中,如果存在为非易失性地存储有关电路动作的微调数据、芯片ID、保密数据、DRAM和SRAM之类的冗余数据等的少数据量的数据的小容量存储器就足够。
而且,这样的数据,1次或即使多次进行多次重写的话,以此就足够,不完全需要保障如闪存单元那样的10万次的数据重写次数。
所以,在系统LSI等半导体集成电路方面,不是用特殊工艺,重要的是能以标准CMOS工艺形成的非易失性存储单元来存储这些数据,谋求价格的降低。
可是,作为能以标准CMOS工艺能形成的非易失性存储器单元,例如,有专利文献1、2上公开的熔丝器件。
专利文献1特开2002-76126号公报专利文献2特开2002-368096号公报说到熔丝器件,现有,用激光切断金属布线和多晶硅布线的激光熔断式熔丝器件很闻名,现在,基于在封装后也能编程这种要求,代替这样的激光熔断式熔丝,电可编程的熔丝器件(E(electrical)-fuse,Anti-fuse等)正在成为主流。
就电可编程的熔丝器件来说,例如,有因为随过大电流而引起布线熔断执行编程方式,或因为随电压应力而引起绝缘体破坏执行编程方式的等。在前者的熔丝器件中,因布线的熔断从導通状态变为非導通状态,在后者的熔丝器件中,因绝缘体的破坏从非導通状态变成導通状态。
而且,作为前者的熔丝器件和后者的熔丝器件的中间器件,有使用由自调整硅化物层和多晶硅层构成的布线作为熔丝器件的器件。在这种熔丝器件中,通过用过大电流而引起自调整硅化物层的破坏(电阻数值的增大)执行编程,用自调整硅化物层破坏前后的电阻比读出数据。
图1,表示现有熔丝电路(熔丝组1个部分)的例子。
这个熔丝电路,是由1个允许位熔丝器件和m个的数据熔丝器件构成的熔丝组FS;对这些(m+1)个的熔丝器件锁存程序的数据En,Din1、Din2、…Dinm的程序数据锁存电路PDL;锁存从这些(m+1)个的熔丝器件读出的数据En,Dout1、Dout2、…Doutm的读出数据(熔丝数据)锁存电路RDL构成的。
允许位数据En及程序数据Din1、Din2、…Dinm可以在形成这个熔丝电路的芯片内部生成,也可以从该芯片外部供给。而且,允许位数据En和熔丝数据Dout1、Dout2、…Doutm,例如电源接通时,在读出数据锁存电路RDL里锁存以后,供给芯片内的电路。
允许位数据En是为了判断存入m个的数据熔丝器件中的数据的有效/无效使用。例如,如果允许位数据En成为被编程的状态,例如,是”1”(=″H″)的话,则存入m个的数据熔丝器件的数据成为有效,然而如果允许位数据En成为没被编程的状态,例如,是”0”(=“L”),则存入m个的数据熔丝器件的数据就成为无效。
图2具体地表示图1熔丝电路的一部分。
在本例中,作为熔丝器件FUSE,使用通过绝缘体的破坏执行编程的反熔丝器件。
在编程前,熔丝组FS内全部的熔丝器件FUSE,成为非導通状态(初始状态)。在这里,根据程序数据Din1、Din2、…Dinm的值,实行对熔丝器件FUSE的编程。
编程时,作为编程对象的熔丝组的允许位数据En为”1”,锁存在程序数据锁存电路PDL(En)里。这时,程序数据锁存电路PDL(En)的输出为“L”,例如成为接地电位。选择信号SEL为″H″的话,晶体管N2接通,而给熔丝组FS(En)内熔丝器件FUSE的两端施加高电压VPP。
其结果,对熔丝器件FUSE编程数据”1”。即是,构成熔丝器件FUSE的绝缘体被破坏,熔丝器件FUSE,从非導通状态变为導通状态。
而且,编程时,程序数据Din1、Din2、...Dinm为”1”或”0”。例如,程序数据Din1是″1″时,和允许位数据En时同样,给熔丝器件FUSE编程数据”1”。程序数据Din1为″0″时,不给熔丝组FS(Din1)内的熔丝器件FUSE的两端施加高电压VPP。因此,构成熔丝器件FUSE的绝缘体没有被破坏,对熔丝器件FUSE而言,编程为”0”。
实际上,为使用熔丝数据,需要把存入熔丝器件FUSE的模拟数据转换为数字数据。因此,例如电源接通时,读出熔丝数据,把其锁存在读出数据(熔丝数据)锁存电路RDL。
具体说,首先,电源接通时,复位信号RST暂时成为”H”,使锁存电路的状态复原,即是,输出数据En,Dout1、Dout2、…Doutm全部成为”L”。而后,熔丝器件FUSE的数据转送到读出数据锁存电路RDL。
例如,熔丝组FS(En)内的熔丝器件FUSE处于破坏状态(熔丝数据”1”)时,在读出数据锁存电路RDL内锁存”1”,其输出数据En为”H”。而且,熔丝组FS(En)内的熔丝器件FUSE处于非破坏状态(熔丝数据”0”)时,在读出数据锁存电路RDL内锁存”0”,其输出数据En变成”L”。
然后,电源接入期间,读出数据锁存电路RDL,经常,正在锁存熔丝数据,该熔丝数据,作为输出数据Dout1、Dout2、...Doutm,经过数据总线,然后向内部电路和芯片的外部输出。
这样,如果采用电可编程的熔丝器件,就具有封装后也能实行熔丝编程的这种优点,然而程序本身根据布线的熔断,绝缘体或自调整硅化物层的破坏等部件的物理变化,进行一次编程的话,就不可能回复编程前原先的状态。
也就是,现有的熔丝电路中,对1个熔丝组的编程只有1次,对同一的熔丝组进行熔丝数据的改写是不可能的。
但是,近年来的半导体集成电路方面,有想进行少数次熔丝数据的改写的这个要求。
作为满足这个要求的一种方案,有装载闪存单元的这种器件,然而如上述那样,因为需要特殊工艺,将导致价格的增加,而不能采用。而且,作为其他的方案,还考虑到设置根据外部信号选择多个熔丝组功能能改写熔丝数据的这种器件,然而这种场合,导致电路规模的增大和复杂化。

发明内容
有关本发明例的熔丝电路,具备由多个部件构成的熔丝组,多个部件各自,具有由电可编程的多个熔丝器件构成的子熔丝组和控制对多个熔丝器件的编程的编程控制电路,多个熔丝器件当中的1个是表示子熔丝组的有效/无效的允许位,编程控制电路,根据允许位的值,决定从多个部件的里面成为编程对象的部件。


图1是表示现有熔丝电路的概要图,图2是表示现有熔丝电路的电路图,图3是表示熔丝电路的例图,图4是表示有关第1实施例熔丝电路的概要图,图5是表示有关第1实施例熔丝电路的电路图,图6是表示有关第1实施例熔丝电路的电路图,图7是表示有关第1实施例熔丝电路的电路图,图8是表示电源接通时的芯片动作的图,图9是表示有关第2实施例熔丝电路的概要的图,图10是表示有关第2实施例熔丝电路的电路图,图11是表示有关第2实施例熔丝电路的电路图,图12是表示有关第2实施例熔丝电路的电路图,图13是表示系统LSI芯片布局的例图,图14是表示通用LSI芯片布局的例图,图15是表示接触式IC卡的例图,图16是表示无线式IC卡的例图,
图17是表示IC卡的外表图,图18是表示IC模块的例图,图19是沿着图18的XIX-XIX线的剖面图。
具体实施例方式
下面参照附图详细说明本发明方面的熔丝电路。
1.概要用于非易失性存储小容量的数据的存储器,要用标准CMOS工艺形成的场合,该存储器成为熔丝器件(例如,利用了MOS晶体管的栅极构造的反熔丝等)。但是,对熔丝器件的数据编程,物理上通过部件的熔断和破坏等来进行,使熔丝器件本身不能回复原先的状态。
因此,在本发明例中,为了进行熔丝数据的重写,由多个熔丝部件构成1个熔丝组。在各熔丝部件内,配置由多个熔丝器件构成的子熔丝组,给该子熔丝组编程熔丝数据。倘若采用本发明例熔丝电路的话,对1个熔丝组数据重写次数的最大值,等于该1个熔丝组内的熔丝部件数。
熔丝数据编程时,按照编程控制电路,从多个熔丝部件当中选择1个熔丝部件。其选择根据各熔丝部件内允许位数据的值进行。允许位数据,因为是对熔丝数据进行编程时,和其同时编程的,所以通过串联连接多个熔丝部件,按照数据重写,能自动地选择成为编程对象的熔丝部件。
在读出熔丝数据时,从最新的熔丝数据被编程的熔丝部件读出熔丝数据,同时必需锁存在锁存电路里。即,进行了数据重写的场合,旧的熔丝数据就像没被读出一样,必须使其无效。因此,借助于读出控制电路,从多个熔丝部件当中,选择其最新熔丝数据被编程的1个熔丝部件。其选择根据各熔丝部件内允许位数据的值,可以很容易实行。
这样,在有关本发明例的熔丝电路中,由多个熔丝部件(多个子熔丝组)构成1个熔丝组。即使在这样的场合,作为程序数据,因为以小容量,同时,重写次数少数次就够作为对象,因此面积上的要求就没那么增大。相反,因为通过采用这样的结构,无须采用特殊工艺,而只限于标准CMOS工艺,能形成半导体集成电路,所以能提供廉价的、应用范圍宽广的熔丝电路。
而且,关于熔丝数据的编程/读出方面,因为使用编程/读出控制电路,对特定的熔丝部件自动地实行,所以在从芯片外部观察的场合,有关本发明例的熔丝电路,对现有的不能进行重写熔丝电路就没有什么改变的地方。
2.熔丝电路图3表示熔丝电路的概要。
熔丝电路1是为非易失性存储有关内部电路动作的微调数据等小容量的数据而配置在LSI芯片上任意的区域。
允许位数据En、程序数据Din1、Din2、…Dinm从内部电路或LSI芯片外部供给,在程序数据锁存电路PDL中暂时锁存。程序数据锁存电路PDL,例如,设置1个或多个,在本例中,对k个熔丝组只设置1个。
熔丝电路1内配置k个熔丝组。在本例中,1个熔丝组和1个读出数据锁存电路成为一对,从1个熔丝组输出熔丝数据Dout1、Dout2、…Doutm。
数据编程时,例如,用选择信号SEL1、SEL2、…SELk选择1个熔丝组,对选定的熔丝组,实行数据的编程。
这里,在现有的熔丝电路中,对1个熔丝组,要是一次对数据进行编程,之后,是不能改写其数据的。对此,就本发明例的熔丝电路来说,对1个熔丝组,可在预定的规定次数内进行数据重写。
这样的数据重写,如后述的那样,由1个熔丝组内配置的多个子熔丝组来实现。即,数据重写的每次,对多个子熔丝组当中的1个,编程程序数据,同时从最新的程序数据编程后的子熔丝组经常讀数据。
还有,数据重写次数的上限,等于1个熔丝组内配置的子熔丝组数。
以下,说明这样的可数据重写的熔丝电路具体例。
3.第1实施例(1)熔丝组图4表示有关本发明第1实施例的熔丝电路主要部分。
表示在该图的构成,和图3的1个熔丝组相对应。1个熔丝组具有n(n为多数)个熔丝部件BLK1、BLK2、…BLKn。而且,各熔丝部件BLKi(i=1、2、…n)具有由(m+1)个熔丝器件(m为多数)构成的子熔丝组SFSi和与这个子熔丝组SFSi相对应设置的(m+1)个的编程控制电路PCNTi和(m+1)个读出数据锁存电路RDLi。
而且,各熔丝部件BLKi,有读出控制电路RCNTi。读出控制电路RCNTi,除去允许位数据外,和锁存m位的熔丝数据的m个读出数据锁存电路RDLi相对应,设置m个。
程序数据锁存电路PDL,例如,对n个熔丝部件BLK1、BLK2、…BLKn只设置1个。程序数据锁存电路PDL,暂时地锁存允许位数据En和程序数据Din1、Din2、…Dinm。这些输入数据En,Din1、Din2、…Dinm被转送到选定的1个熔丝部件BLKi。
在这里,将n个的熔丝部件BLK1、BLK2、…BLKn串联连接起来。然后,编程控制电路PCNT1、PCNT2、…PCNTn,根据允许位数据,从n个熔丝部件BLK1、BLK2、…BLKn当中,选择成为编程对象的1个熔丝部件BLKi。
即,在i(i=1、2、…n)号的熔丝部件BLKi中,编程控制电路PCNTi根据熔丝部件BLKi内允许位数据Eni的值和前1个(i-1)号的熔丝部件BLK(i-1)内允许位数据En(i-1)的值,关于数据编程,决定熔丝部件BLKi的选择/非选择。
但是,在最初(第1号)的熔丝部件BLK1中,不存在前1个的熔丝部件。而且,最初成为编程对象的熔丝部件是熔丝部件BLK1。因此,在最初的熔丝部件BLK1中,编程控制电路PCNT1,根据熔丝部件BLK1内的允许位数据En1的值和输入数据En0的值(″H″固定),决定熔丝部件BLK1的选择/非选择。
还有,各熔丝部件BLKi内的允许位数据Eni,例如电源接通后,立刻锁存在读出锁存电路RDLi,作为允许位数据Eni,向各熔丝部件BLKi反馈。
而且,读出控制电路RCNT1、RCNT2、…RCNTn,根据允许位数据,从n个的熔丝部件BLK1、BLK2、…BLKn当中,选择成为数据读出对象的1个熔丝部件BKj。
即,在i(i=1、2、…n)号的熔丝部件BLKi中,读出控制电路RCNTi,根据熔丝部件BLKi内的允许位数据Eni的值和后1个第(i+1)号熔丝部件BLK(i+1)内的允许位数据En(i+1)的值,关于数据读出,决定熔丝部件RTKi的选择/非选择。
但是,在最后(第n号)的熔丝部件BLKn中,不存在后1个的熔丝部件。而且,熔丝部件BLKn是最后成为编程对象的熔丝部件。因此,在最后的熔丝部件BLKn中,读出控制电路RCNTn,根据熔丝部件BLKn内的允许数据Enn的值和输入数据En(n+1)的值(“L”固定),决定熔丝部件BLKn的选择/非选择。
(2)电路例图5至图7,表示构成图4的熔丝组的部件BLKi的电路例。
部件BTK1图5是部件BLK1的电路例。
1.程序数据锁存电路程序数据锁存电路PDL(En),锁存允许位数据En。程序数据锁存电路PDL(Din1)、…PDL(Dinm),和m位的程序数据Din1、…Dinm对应只设置m个,而且,锁存程序数据Din1、…Dinm。
程序数据锁存电路PDL(En)、PDL(Din1)、…PDL(Dinm),全部有相同电路结构。
用倒相器I1和时钟脉冲倒相器CI1构成锁存电路。锁存电路的输出信号,输入到“或非”电路NR1的一方输入端子。在“或非”电路NR1的另一方输入端子,输入编程信号PROG的倒相信号bPROG。
编程时,编程信号PROG成为”H”,同时,其倒相信号成为”L”。因此,编程时,“或非”电路NR1,输出和锁存电路里锁存的数据相应的输出信号。
例如,在锁存电路里锁存的数据为”1”,即,时钟脉冲倒相器CI1的输出信号为”L”时,“或非”电路NR1的输出信号成为”H”。其结果,n沟道MOS晶体管N1成为接通。而且,在锁存电路里锁存的数据为”0”时,即,时钟脉冲倒相器CI1的输出信号”H”时,“或非”电路NR1的输出信号成为”L”。其结果,n沟道MOS晶体管N1,成为关断。
2编程控制电路编程控制电路PCNT1由“与”门电路AD1和程序开关PSW构成。
在“与”门电路AD1,分别输入熔丝组的选择信号SEL1、允许位数据Rn0(″H″固定)和允许位数据En1的倒相信号。熔丝组的选择信号SEL1,例如,如图3及图4所示,实行对熔丝组1编程时,成为”H”。允许位数据En1在对子熔丝组SFS1的编程前,为”L”,即,读出数据锁存电路RDL1(En1)的输出信号,成为”L”(反熔丝的绝缘体为未破坏状态)。
所以,选择信号SEL1为”H”的话,“与”门电路Ad1的输出信号就成为”H”。而且,因为程序开关PSW是N沟道MOS晶体管,所以“与”门电路AD1的输出信号为”H”的话,就成为接通。即,构成子熔丝组SFS1的熔丝器件FUSE的一端电连接到程序数据锁存电路PDL(En)、PDL(Din1)、…PDL(Dinm)。
在这里,编程时,例如,程序数据为”1”时,n沟道MOS晶体管N1、PSW共同成为接通,所以给熔丝器件FUSE的两端,施加高电压Vfuse。其结果,例如构成熔丝器件(反熔丝)FUSE的绝缘体被破坏,将数据”1”编程。
而且,例如程序数据为”0”时,n沟道MOS晶体管PSW为接通,然而因为n沟道MOS晶体管N1断开,所以没有给熔丝器件FUSE的两端施加高电压Vfuse。其结果,例如构成熔丝器件(反熔丝)FUSE的绝缘体没被破坏,将数据”0”编程。
3.读出数据锁存电路读出数据锁存电路RDL1(En1)、RDL1(Dout1)、…RDL1(Doutm),和(m+1)个的熔丝器件FUSE对应,只设置(m+1)个。读出数据锁存电路RDL1(En1)、PDL1(Dout1)、…PDL1(Doutm)的电路结构,例如,变成图2所示的结构。
关于读出数据锁存电路RDL1(En1)、RDL1(Dout1)、…RDL1(Doutm)的电路例,因为已经在图2的说明中详细地描述了,这里,对于其说明予以省略。
重要的一点是,例如,电源接通时,读出数据锁存电路RDL1(En1)、RDL1(Dout1)、…RDL1(Doutm)为″0″的状态,即是,作为输出信号,初始化为输出”L”状态的话,之后,读出数据锁存电路RDL1(En1)、RDL1(Dout1)、…RDL1(Doutm)的状态,就依照熔丝数据进行变化。
4.读出控制电路读出控制电路RCNT1由“与”门电路AD2和读出开关RSW构成。读出控制电路RCNT1,和编程熔丝数据Din1、Din2、…Dinm的m个熔丝器件FUSE对应,只设置m个。也就是,本例中,不存在和编程允许位En1的熔丝器件FUSE对应的读出控制电路。
但是,即使设置编程允许位En1的熔丝器件FUSP对应的读出控制电路也无妨。
给“与”门电路AD2,分别输入复位信号RST的倒相信号、允许位数据En1和允许位数据En2的倒相信号。复位信号RST,例如,在电源接通时,暂时地变成”H”,之后,持续维持”L”。
允许位数据En1在对子熔丝组SFS1编程前为”L”,在对子熔丝组SFS1编程后为”H”。允许位数据En2,在对子熔丝组SFS2编程前为”L”,在对子熔丝组SFS2编程后,是”H”。
也就是,在对子熔丝组SFS1编程数据、不对子熔丝组SFS2编程数据时,子熔丝SFS1上在编程的数据成为最新的,例如电源接通时,读出开关RSW变成接通。
而且,在子熔丝组SFS1、SFS2的任何一个中数据没被编程时,读出开关RSW不能接通。对子熔丝组SFS1、SFS2双方编程数据时,因为给子熔丝组SFS2编程的数据成为最新的数据,所以读出开关RSW不能变成接通。
部件BLKi(i=2、3、…n-1)图6是部件BLKi的电路例子。
1.程序数据锁存电路程序数据锁存电路PDL(En)、PDL(Din1)、…PDL(Dinm)的结构,因为已经在BLK1项目中进行了说明,这里,省略其说明,2.编程控制电路编程控制电路PCNT1由“与”门电路AD1和程序开关PSW构成。
给“与”门电路AD1,分别输入熔丝组的选择信号SEL1、允许位数据En(i-1)和允许位数据Eni的倒相信号。熔丝组的选择信号SEL1,如已说明的那样,实行对熔丝组1的编程时,成为”H”。
允许位数据En(i-1)在对子熔丝组SFS(i-1)的编程前为”L”,对子熔丝组SFS(i-1)的编程后则为”H”。而且,允许位数据Eni在对子熔丝组SFSi的编程前为”L”,对子熔丝组SFSi的编程后则是”H”。
也就是,“与”门电路AD1的输出信号,是对子熔丝组SFS(i-1)的编程后,对子熔丝组SFSi的编程前,能够变成”H”。
“与”门电路AD1的输出信号为”H”的话,作为程序开关PSW的N沟道MOS晶体管成为接通。即,构成子熔丝组SFSi的熔丝器件FUSE的一端,与程序数据锁存电路PDL(En)、PDL(Din1)、…PDL(Dinm)电连接起来。
3.读出数据锁存电路读出数据锁存电路RDLi(Eni)、RDLi(Dout1)、…RDLi(Doutm),和(m+1)个的熔丝器件FUSE对应,只设置(m+1)个。至于读出数据锁存电路RDLi(Eni)、RDLi(Dout1)、…RDLi(Doutm)的电路结构,因为已经说过了,这里,省略其说明。
4.读出控制电路读出控制电路RCNTi,由“与”门电路AD2和读出开关RSW构成。读出控制电路RCNTi,和编程熔丝数据Din1、…Dinm的m个熔丝器件FUSE对应,只设置m个。
对“与”门电路AD2,分别输入复位信号RST的倒相信号、允许位数据Eni及允许位数据En(i+1)的倒相信号。复位信号RST,例如电源接通时,暂时地成为”H”,之后,持续维持”L”。
允许位数据Eni在对子熔丝组SFSi的编程前为”L”,在对子熔丝组SFS的编程后为”H”。允许位数据En(i+1)在对子熔丝组SFS(i+1)的编程前为”L”,而对子熔丝组SFS(i+1)的编程后为”H”。
也就是,在给子熔丝组SFSi数据编程数据、不给子熔丝组SFS(i+1)数据编程时,子熔丝组SFSi中被编程的数据变成最新的数据,例如电源接通时,读出开关RSW变成接通。
而且,子熔丝组SFSi、SFS(i+1)的任何一个不编程数据时,读出开关RSW都不能接通。给子熔丝组SFSi、SFS(i+1)的双方编程数据时,因为在子熔丝组SFS(i+1)中被编程的数据成为最新的,所以读出开关RSW不能接通。
部件BLKn图7是部件BLKn的电路例子。
1.程序数据锁存电路关于程序数据锁存电路PDL(En)、PDL(Din1)、…PDL(Dinm)的构成,因为已经在部件BLK1的项目中说过了,这里,省略其说明。
2.编程控制电路编程控制电路PCNT1,由“与”门电路AD1和程序开关PSW构成。
对“与”门电路AD1,分别输入熔丝组的选择信号SEL1、允许位数据En(n-1)和允许位数据Enn的倒相信号。熔丝组的选择信号SEL1,已经说过的那样,实行对熔丝组1的编程时成为”H”。
允许位数据En(n-1)在对子熔丝组SFS(n-1)的编程前为”L”,而对子熔丝组SFS(n-1)的编程后则为”H”。而且,允许位数据Enn在对子熔丝组SFSn的编程前为”L”,对子熔丝组SFSn的编程后则是”H”。
也就是,“与”门电路AD1的输出信号,是对子熔丝组SFS(n-1)的编程后,在对子熔丝组SFSn的编程前,可以成为”H”。
“与”门电AD1的输出信号为”H”的话,作为程序开关PSW的N沟道MOS晶体管成为接通。即,构成子熔丝组SFSn的熔丝器件FUSE的一端,电连接到程序数据锁存电路PDL(En)、PDL(Din1)、…PDL(Dinm)。
3.读出数据锁存电路读出数据锁存电路RDLn(Enn)、RDLn(Dout1)、…RDLn(Doutm),和(m+1)个熔丝器件FUSE对应,只設置(m+1)个。关于读出数据锁存电路RDLn(Eni)、RDLn(Dout1)、…RDLn(Doutm)的电路结构,因为已经说过了,这里,省略其说明。
4.读出控制电路读出控制电路RCNTn,由“与”门电路AD2和读出开关RSW构成。读出控制电路RCNTn,和对熔丝数据Din1、…Dinm编程的m个熔丝器件FUSE对应,只设置m个。
对“与”门电路AD2,分别输入复位信号RST的倒相信号、允许位数据Enn和允许位数据En(n+1)的倒相信号。复位信号RST,例如,电源接通时,暂时地成为”H”,之后,持续维持”L”。
允许位数据Enn,在对子熔丝组SFSn的编程前为”L”,在对子熔丝组SFSn的编程后则为”H”。允许位数据En(n+1),经常固定于”L”。
也就是,给子熔丝组SFSn数据编程时,给该子熔丝组SFSn编程的数据变为最新的,所以例如电源接通时,读出开关RSW变成接通。
还有,不给子熔丝组SFSn数据编程时,读出开关RSW不能接通。
(3)动作下面说明在图3至图7的熔丝电路的动作。
首先,说明熔丝电路一般的动作。
图8表示熔丝电路的动作的概要。
随着电源接通,例如,向LSI芯片供电的话,首先,检查熔丝组的状态。即,执行从熔丝组读出熔丝数据的熔丝数据读出。这时,例如也开始读出熔丝组内的一部分熔丝器件所存储的允许位数据(步骤ST1~ST2)。
而后,例如,从LSI芯片内的控制电路或LSI芯片外的CPU等供给熔丝编程用的指令,实行熔丝编程(步骤ST3)。
在这里,历来,熔丝编程或只是1次,或者按照特殊控制选择熔丝组,必需进行熔丝编程,然而本发明例中,有关熔丝编程,在没有选择动作等特殊的控制下,只给予熔丝编程用的指令,就能自动地进行熔丝数据的重写。
以下,具体地,说明有关本发明例的熔丝电路的动作。
还有,如图3至图7所示,1个熔丝组由n(n为多数)个部件,即,由n个子熔丝组构成,取各自的子熔丝组是由存储存储1位允许位数据的1个熔丝器件和存储m(m,多数)位熔丝数据的m个熔丝器件构成。
在本发明例中,关于熔丝数据读出/编程动作的控制和熔丝数据的重写动作,在熔丝电路内,根据允许位数据自动地进行。
首先,说明初始状态。
表1初期状态 如表1所示,初始状态,即,对1个熔丝组,还有,在1次也没有实行熔丝编程动作的状态下,全部的子熔丝SFS1、SFS2、…SFSn内熔丝器件(例如,反熔丝器件),都处于非破坏状态。
因此,例如,通过电源接通向LSI芯片供电时,就从该1个熔丝组内的子熔丝组SFS1、SFS2、…SFSn,分别作为允许位数据En1、En2、…Enn,读出”0”(“L”电平),并将这些锁存在读出数据锁存电路里。
在这里,除去最初的子熔丝SFS1外,在其余(n-1)个子熔丝组SFS2、…SFSn中,在图6及图7所示的“与”门电路AD1,AD2的输出信号,全都成为”L”。因此,程序开关PSW和读出开关RSW都是断开的状态,这些子熔丝组SFS2、…SFSn不能成为熔丝程序或熔丝数据读出的对象。
另一方面,在最初(第1号)的子熔丝组SFS1中,因为不存在此前的子熔丝组,所以作为对图5所示的“与”门电路AD1的输入信号之一,输入允许位信号En0。因为该允许位信号En0固定为”H”,所以对子熔丝组SFS1而言,“与”门电路AD1的输出信号成为”H”。因此,程序开关PSW,是接通的状态,将子熔丝组SFS1电连接到程序数据锁存电路。
还有,在这个阶段,在图5所示“与”门AD2的输出信号为”L”,所以读出开关RSW成了断开的状态。
所以,电源接通后,例如,把熔丝数据编程的指令送给LS1芯片,而且,将允许位数据En(″1″)和程序数据(″0″或”1”)送给LSI芯片时,就将这些数据,锁存在程序数据锁存电路里。
而且,根据在程序数据锁存电路里锁存的允许位数据En和程序数据的值,实行对子熔丝组SFS1内熔丝器件FUSE的编程。
也就是,因为允许位数据En为″1″(=″H″),所以给存储允许位数据En的熔丝器件FUSE的两端,施加高电压Vfuse,其结果,熔丝器件FUSE被破坏。而且,关于程序数据,因为是”0”或”1”,在”0”时,熔丝器件FUSE,照样为未破坏,在”1”时,熔丝器件FUSE被破坏。
对子熔丝组SFS1的熔丝编程一结束,子熔丝组SFS1内允许位数据En1的值,就从”0”(=“L”)变为”1”(=″H″)。
所以,在子熔丝组SFS1中,图5中所示的“与”门电路AD1的输出信号从”H”变为”L”,程序开关PSW成为断开的状态。与此大致同时,在子熔丝组SFS1中,图5中所示的AD2的输出信号从”L”变为”H”,读出开关RSW成为接通的状态。
表2熔出编程(第一次)结束后的初始状态 如表2所示,在熔丝编程(第1次)结束后的初始状态下,最初子熔丝组SFS1内的熔丝器件(允许位数据)处于破坏状态,其余子熔丝组SFS2、…SFSn内的熔丝器件(允许位数据)处于非破坏状态。
为此,例如,再次,通过电源接通向LSI芯片供电的话,就从子熔丝组SFS1读出”1”(″H″的电平)作为允许位数据En1,而且,从子熔丝组SFS2、…SFSn,读出”0”(“L”的电平)作为允许位数据En2、…Enn。然后,将这些数据锁存在读出数据锁存电路里。
在这里,在最初(第1号)的子熔丝组SFS1中,因为允许位数据En0、En1为″H″,所以图5所示的“与”门电路AD1的输出信号,全部变成″L″。因此,程序开关PSW成为断开状态。另一方面,因为允许位数据En1为″H″,允许位数据En2为”L”,所以图5所示的“与”门AD2的输出信号就成为”H”。因而,读出开关RSW变为接通状态。
所以,有关最初的子熔丝组SFS1,因为已经进行熔丝编程,因此没有了熔丝编程的对象,然而为了存储最新的熔丝数据,就作为熔丝数据读出的对象。
在第2号的子熔丝组SFS2中,允许位数据En1为″H″,允许位数据En2为”L”,所以图6所示的“与”门AD1的输出信号,全部为”H”。因此,程序开关PSW成为接通状态。另一方面,因为允许位数据En2、En3成为”L”,所以图6所示的“与”门AD2的输出信号成为”L”。因此,读出开关RSW成为断开状态。
所以,有关第2号的子熔丝组SFS2来说,成为熔丝编程的对象(数据重写对象),然而不是熔丝数据读出的对象。
在第3号以后的子熔丝组SFS3、…SFSn中,允许位数据En2、En3、…Enn因为全为″L″,图6和图7所示的“与”门电路AD1、AD2的输出信号,全都变成”L”。因此,程序开关PSW和读出开关RSW都是断开状态,这些子熔丝组SFS3、…SFSn就都不是熔丝编程或熔丝数据读出的对象。
所以,电源接通后,首先,读出子熔丝组SFSi的熔丝数据,确认熔丝组的状态。这时,确定允许位数据En0、En1为″H″,允许位数据En2、…Enn确定为”L”,子熔丝组SFS2电连接到程序数据锁存电路。
而后,例如,将编程熔丝数据的指令送给LSI芯片,同时,将允许位数据En(″1″)和程序数据(″0″或″1″)送给LSI芯片的话,这些数据就被程序数据锁存电路锁存。
而且,根据被程序数据锁存电路锁存的允许位数据En和程序数据的值,实行对子熔丝组SFS2内的熔丝器件FUSE的编程。
也就是,因为允许位数据En为”1”(=″H″),所以给存储允许位数据En的熔丝程序器件FUSE的两端,施加高电压Vfuse,其结果,熔丝器件FUSE被破坏。而且,关于程序数据,为”0”或”1”,所以”0”时,熔丝器件FUSE,为原样未破坏,”1”时,熔丝器件FUSE被破坏。
对子熔丝组SFS2的熔丝编程结束时,子熔丝组SFS2内允许位数据En2的值就从”0”(=“L”)变为“1″(=″H″)。
所以,在子熔丝组SFS2中,图6中所示的“与”门电路AD1的输出信号从”H”变为”L”,程序开关PSW成为断开状态。和其大约同时,在子熔丝组SFS2中,图6中所示的“与”门AD2的输出信号从”L”变为”H”,读出开关RSW成为接通状态。
表3熔出编程(第二次)结束后的初始状态 如表3所示,在熔丝编程(第2次)结束后的初始状态下,子熔丝组SFS1、SFS2内的熔丝器件(允许位数据)处于破坏状态,其余的子熔丝组SFS3、…SFSn内的熔丝器件(允许位数据)处于非破坏状态。
因此,例如,再次,通过电源接通向LSI芯片供电,就从子熔丝组SFS1、SFS2读出”1”(″H″的电平),作为允许位数据En1、En2,而且,从子熔丝组SFS3、…SFSn读出”0”(“L”的电平),作为允许位数据En3、…Enn。然后,这些数据被读出数据锁存电路锁存。
这时的动作,和「熔丝编程(第2次)结束后的初始状态」的栏说过的一样,所以详细的说明省略。只是这里,在子熔丝组SPS2中存储最新的程序数据,所以子熔丝组SPS2的读出开关RSW成为接通状态。而且,通过数据重写,重新把程序数据存入熔丝器件时,子熔丝组SFS3成为编程对象。所以,子熔丝组SPS3内的程序开关PSW变成接通。
表4 如表4所示,在熔丝编程(第n次)结束后的初始状态,全部的子熔丝组SFSi、SFS2、…SFSn内的熔丝器件(允许位数据)处于破坏状态。
因此,例如,通过电源接通向LSI芯片供电,就从子熔丝组SFS1、SFS2、…SFSn,读出”1”(″H″的电平)作为允许位数据En1、En2、…Enn。然后,这些数据被读出数据锁存电路锁存。
在这里,因为不存在子熔丝组SFSn的下一个子熔丝组,所以有关本发明例的熔丝电路的数据重写次数,最大为n次。而且,因为不存在子熔丝组SFSn的下一个子熔丝组,如图7所示,作为允许位数据En(n+1),把”L”(固定)的倒相信号,即,″H″电平信号送给子熔丝组SFSn内的“与”门电路AD2。所以,子熔丝组SFSn内的读出开关RSW成为接通状态。
(4)总结这样,在有关本发明的例子的熔丝电路中,通过由n(n为多数)个子熔丝组构成1个熔丝组,可以进行n次熔丝数据的重写。
而且,即使在这样的结构中,熔丝数据的读出/编程或重写,只把熔丝数据输入熔丝电路,而无须特殊的控制,能自动且容易地实行。
也就是,关于编程,采用在熔丝电路内反馈子熔丝组内允许位数据值的办法,可自动地决定哪个子熔丝组可以写入这些数据。而且,关于读出,采用在熔丝电路内使子熔丝组内允许位数据值反馈的办法,可自动地决定从哪个子熔丝组开始可以读出数据。
以上归纳,在有关本发明例的熔丝电路中,对熔丝组的编程能以最大n次进行,同时每次进行数据重写,编程的对象从子熔丝组SFS1朝着子熔丝组SFSn,每次一个,顺序移动。
这样的动作控制,因为只在熔丝电路内进行,例如,从给予这个熔丝电路程序数据的控制电路看来,对熔丝电路,只给予程序数据就行,实质上,可以原样适用只执行1次编程的现有对熔丝组的编程办法。
也就是,在有关本发明的例子的熔丝电路中,在n个子熔丝组当中,对哪个子熔丝组实行编程,或对哪个熔丝组进行熔丝数据的读出,因为因熔丝电路内自动地进行,所以不需要数据重写用的特殊控制。
还有,在本例中,因为全部子熔丝组SFSI、SFS2、…SFSn的布局相同,所以在最初的子熔丝组SFS1中,使用固定于“H″的允许位数据En0,而且,在最后的子熔丝组SFSn中,使用固定于”L”的允许位数据En(n+1)。
但是,在最初的子熔丝组SFS1中,也可以失去允许位数据En0,取输入“与”门电路AD1的信号为2个,而且,在最后的子熔丝组SPSn,也可以失去允许位数据En(n+1),取输入“与”门电路AD2的信号为2个。
4.第2实施例第2实施例和上述第1实施例相比,有关编程的电路是相同的,然而有关熔丝数据的读出电路却有很大不同。其要点在于以n(n为多数)个子熔丝组共用对熔丝数据的读出数据锁存电路的方面。
在第1实施例中,对每个子熔丝组,设置熔丝数据的读出数据锁存电路,然而这时,如果子熔丝组的数量,即,随着数据重写次数的最大值的增大,读出数据锁存电路的数量也就增加,熔丝电路的布局面积就增加。
因此,为了抑制熔丝电路布局面积的增大,在第2实施例中,对n个子熔丝组,共同只设置1个读出数据锁存电路。然后,把哪个子熔丝组电连接到读出数据锁存电路,和第1实施例同样,由熔丝电路内的读出控制电路决定。
还有,即使在第2实施例中,能够共用的,是对在内部电路中使用数据的读出数据锁存电路,还需要对每个子熔丝组分别设置对表示子熔丝组是否有效的允许位数据的读出数据锁存电路。
原因是,在有关本发明例的熔丝电路中,根据允许位数据的值,控制数据重写动作,即,对哪个子熔丝组施行编程,或从哪个子熔丝组读出熔丝数据的缘故。
也就是,在有关本发明的例子的熔丝电路中,电源接通后,因为必需立刻识别全部子熔丝组内允许位数据值,所以给子熔丝组个别设置有关对允许位数据的读出数据锁存电路。
还有,在第1实施例中,电源接通时的熔丝数据的读出动作,即,对读出数据锁存电路的锁存动作是1次完成的,在第2实施例中,电源接通时的熔丝数据的读出动作,即,对读出数据锁存电路的锁存动作变为需要2次。
具体说,在第1实施例中,能够在电源接通时,一次锁存全部子熔丝组的熔丝数据(只一次读出),而后,根据允许位数据,只从选定的子熔丝组输出熔丝数据。
但是,在第2实施例中,电源接通后,首先,必需锁存允许位数据,进行子熔丝组的选择(第1次读出)。然后,需要锁存选定的子熔丝组的熔丝数据,同时输出(第2次读出)。
以下,详细地说明第2实施例的熔丝电路。
(1)熔丝组图9表示有关本发明第2实施例的熔丝电路的主要部分。
在该图中表示的接构,和图3的1个熔丝组相对应。1个熔丝组具有n(n为多数)个的熔丝部件BLK1,BLK2、…BLKn。而且,各熔丝组BLKi(i=1、2、…n)具有由(m+1)个熔丝器件(m为多个)构成的子熔丝组SFSi、对应该子熔丝组SFSi设置的(m+1)个编程控制电路PCNTi和用于锁存允许位数据的1个读出数据锁存电路RDL(Eni)。
而且,各熔丝组BLKi有读出控制电路RCNTi。读出控制电路RCNTi,除去允许位数据外,和存储m位熔丝数据的m个子熔丝组SFSi相对应,只设置m个。
进而,在本例中,1个熔丝组,有n个熔丝部件BLK1、BLK2、…BLKn所共有的读出数据锁存电路RDL。读出数据锁存电路RDL,对根据读出控制电路RCNTi选定的1个熔丝部件BLKi,除去允许位数据,锁存m位的熔丝数据,程序数据锁存电路PDL,暂时地锁存允许位数据En和程序数据Din1、Din2、…Dinm。将这些输入数据En,Din1、Din2、...Dinm,输送给选定的1个熔丝部件BLKi。
在这里,将n个的熔丝部件BLK1、BLK2、…BLKn串联连接起来。然后,编程控制电路PCNT1、PCNT2、…PCNTn,根据允许位数据,从n个熔丝部件BLK1、BLK2、…BLKn当中,选择成为编程对象的1个熔丝部件BLKj。
即,在i(i=1,2、…n)号的熔丝部件BLKi,编程控制电路PCNTi根据熔丝部件BLKi内允许位数据Eni的值和前1个(i-1)号的熔丝部件BLK(i-1)内的允许位数据En(i-1)的值,决定有关数据编程的熔丝部件BLKi的选择/非选择。
但是,对最初(第1号)的熔丝部件BLK1而言,不存在前1个熔丝部件。而且,最初成为编程对象的熔丝部件,是熔丝组BLK1。因此,在最初的熔丝部件BLK1,编程控制电路PCNT1,根据熔丝部件BLK1内的允许位数据En1的值和输入数据En0的值(″H″固定),决定熔丝部件BLK1的选择/非选择。
还有,各熔丝部件BLKi内的允许位数据Eni,例如,电源接通后,立刻锁存在读出锁存电路RDL(Eni)里,作为允许位数据Eni,反馈给各熔丝部件BLKi。
而且,读出控制电路RCNT1、RCNT2、…RCNTn,根据允许位数据,从n个熔丝部件BLK1、BLK2、…BLKn当中,选择成为数据读出对象的1个熔丝部件BLKj。
即,在i(i=1、2、…n)号的熔丝部件BLKi中,读出控制电路RCNTi,根据熔丝部件BLKi内允许位数据Eni的值和后1个(i+1)号熔丝部件BLK(i+1)内的允许位数En(i+1)的值,决定有关数据读出的熔丝部件BLKi的选择/非选择。
但是,对最后(第n号)的熔丝部件BLKn而言,不存在后1个熔丝部件。而且,熔丝部件BLKn是最后成为编程对象的熔丝部件。因此,对最后的熔丝部件BLKn,读出控制电路RCNTn,根据熔丝组BLKn内允许数据Enn的值和输入数据En(n+1)的值(“L”固定),决定熔丝部件BLKn的选择/非选择。
从选定的1个熔丝部件BLKi,输出熔丝数据。该熔丝数据输送给全部的部件BLK1、BLK2、…BLKn共有的读出数据锁存电路RDL,在那里进行锁存。
(2)电路例图10至图13表示构成图9的熔丝组的部件BLKi的电路例。
部件BTK1图10是部件BLK1的电路例。
1.程序数据锁存电路程序数据锁存电路PDL(En),锁存允许位数据En。程序数据锁存电路PDL(Din1)、…PDL(Dinm),和m位程序数据Din1、…Dinm对应只设置m个,同时,锁存程序数据Din1、…Dinm。
程序数据锁存电路PDL(En),PDL(Din1)、…PDL(Dinmn)完全有相同的电路结构。
由倒相器I1和时钟脉冲倒相器CI1构成锁存电路。锁存电路的输出信号输入“或非”电路NR1一方的输入端子。给“或非”电路NR1的另一方输入端子,输入编程信号PROG的倒相信号bPROG。
编程时,编程信号PROG为”H”,同时其倒相信号为”L”。因此,编程时,“或非”电路NR1输出和锁存电路里锁存的数据对应的输出信号。
例如,在锁存电路里所锁存的数据为”1”,即,时钟脉冲倒相器CI1的输出信号为”L”时,“或非”电路NR1的输出信号成为”H”。其结果,N沟道MOS晶体管N1接通。而且,在锁存电路里所锁存的数据为”0”,即,时钟脉冲倒相器CI1的输出信号为”H”时,“或非”电路NR1的输出信号成为”L”。其结果,n沟道MOS晶体管N1变为关断。
2.编程控制电路编程控制电路PCNT1由“与”门电路AD1和程序开关PSW构成。
给“与”门电路AD1,分别输入熔丝组的选择信号SEL1、允许位数据En0(″H″固定)和允许位数据En1的倒相信号。熔丝组的选择信号SEL1,例如,如图3和图9所示,实行对熔丝组1的编程时成为”H”,允许位数据En1在对子熔丝组SFS1的编程前,为”L”,即读出数据锁存电路RDL1(En1)的输出信号成了”L”(反熔丝的绝缘体未破坏状态)。
所以,选择信号SEL1一旦成为”H”,“与”门电路AD1的输出信号就变成″H”。而且,因为程序开关PSW是N沟道MOS晶体管,所以“与”门电路AD1的输出信号成为”H”的话,就成为接通。也就是,构成子熔丝组SFS1的熔丝器件FUSE的一端,电连接到程序数据锁存电路PDL(En),PDL(Din1)、…PDL(Din)。
在这里,编程时,例如程序数据为”1”时,因为N沟道MOS晶体管N1、PSW一起变成接通,所以给熔丝器件FUSE的两端,施加高电压Vfuse。其结果,例如,构成熔丝器件(反熔丝)FUSE的绝缘体被破坏,将数据”1”编程。
而且,例如,程序数据为”0”时,N沟道MOS晶体管PSW接通,然而因为N沟道MOS晶体管N1变成断开,所以不给熔丝器件FUSE的两端,施加高电压Vfuse。其结果,例如,构成熔丝器件(反熔丝)FUSE的绝缘体没被破坏,将数据”0”编程。
3.读出数据锁存电路用于锁存允许位数据En1的读出数据锁存电路RDL(En1),和熔丝器件FUSE对应只设置1个。而且,除去允许位数据En1外,用于锁存其余m位熔丝数据的读出数据锁存电路RDL(Dout1)、RDL(Dout2)、…RDL(Doutm),和m个熔丝器件FUSE对应只设置m个。
但是,读出数据锁存电路RDL(Dout1)、RDL(Dout2)、…RDL(Doutm),就像上述一样,对1个熔丝组内的多个部件,共同只設置1个。
关于读出数据锁存电路RDL(En1)、RDL(Dout1)、…RDL(Doutm)的电路结构,例如,就如图2所示一样。关于读出数据锁存电路RDL(En1)、RDL(Dout1)、…RDL(Doutm)的电路结构,因为已经在图2中详细说明,这里,有关其说明省略。
4.读出控制电路读出控制电路RCNT1由“与”门电路AD2和读出开关RSW构成。读出控制电路RCNT1,和编程熔丝数据Din1、…Dinm的m个熔丝器件FUSE对应,只设置m个。也就是,在本例中,和编程允许位En1的熔丝器件FUSE对应的读出控制电路是不存在的。
但是,设置和编程允许位En1的熔丝器件FUSE对应的读出控制电路也无妨。
给“与”门电路AD2,分别输入复位信号RST的倒相信号、允许位数据En1和允许位数据En2的倒相信号。复位信号RST例如,电源接通时,暂时地成为”H”,之后,持续维持”L”。
允许位数据En1在对子熔丝组SFS1的编程前是”L”,在对子熔丝组SFS1的编程后是”H”。允许位数据En2在对子熔丝组SFS2的编程前是”L”,对子熔丝组SFS2的编程后是”H”。
也就是,对子熔丝组SFS1编程数据,而不对子熔丝组SFS2编程数据时,子熔丝组SFS1上进行编程的数据就变为最新的,例如,电源接通时,读出开关PSW就接通。
而且,对子熔丝组SFS1、SPS2的任何一个都不编程数据时,读出开关RSW都不能接通。对子熔丝组SFS1、SFS的双方编程数据时,对子熔丝组SPS2进行编程的数据因为变成最新的,所以读出开关RSW不能接通。
部件BLKi(i=2、3、…n-1)图11是部件BLKi的电路例子。
1.程序数据锁存电路关于程序数据锁存电路PDL(En),PDL(Din1)、…PnT(Dimn)的结构,因为已经在部件BLK1的项目中说过了,这里,省略其说明。
2.编程控制电路编程控制电路PCNT1,由“与”门电路AD1和程序开关PSW构成。
给“与”门电路AD1,分别输入熔丝组的选择信号SEL1、允许位数据En(i-1)及允许位数据Eni的倒相信号。熔丝组的选择信号SEL1,如已经说明的那样,实行对熔丝组1的编程时,变成”H”。
允许位数据En(i-1)在对子熔丝组SFS(i-1)的编程前是”L”,在对子熔丝组SFS(i-1)的编程后是”H”,而且,允许位数据Eni在对子熔丝组SFSi的编程前是”L”,对子熔丝组SFSi的编程后是”H”。
也就是,“与”门电路AD1的输出信号,是对子熔丝组SFS(i-1)的编程后而在对子熔丝组SFSi的编程前,可变成”H”。
如果“与”门电路AD1的输出信号为”H”的话,作为程序开关PSW的N沟道MOS晶体管就成为接通。也就是,构成子熔丝组SFSi的熔丝器件FUSE的一端,电连接到程序数据锁存电路PDL(En),PDL(Din1)、…PDL(Dinm)。
3.读出数据锁存电路读出数据锁存电路RDL(Eni),RDL(Dout1)、…RnT(Doutm),和(m+1)个熔丝器件FUSE对应,只设置(m+1)个。但是,如上述一样,除去允许位数据Eni外,对于锁存其他m位熔丝数据用的m个读出数据锁存电路RDL(Dout1)、RDL(Dout2)、…RDL(Doutm),为1个熔丝组内的多个部件所共有。
关于读出数据锁存电路RDL(Eni),RDL(Dout1)、…RDL(Doutm)的电路结构,因为已经说过了,这里,有关其说明省略。
4.读出控制电路读出控制电路RCNTi由“与”门电路AD2和读出开关RSW构成。读出控制电路RCNTi,和编程熔丝数据Din1、…Dinm的m个熔丝器件FUSE对应,只设置m个。
给“与”门电路AD2,分别输入复位信号RST的倒相信号、允许位数据Eni和允许位数据En(i+1)的倒相信号。复位信号RST,例如,电源接通时,暂时地变为”H”,之后,持续维持”L”。
允许位数据Eni在对子熔丝组SFSi的编程前是”L”,在对子熔丝组SFSi的编程后是”H”。允许位数据En(i+1)在对子熔丝组SFS(i+1)的编程前是”L”,在对子熔丝组SPS(i+1)的编程后是”H”。
也就是,对子熔丝组SFSi编程数据、而不对子熔丝组SFS(i+1)编程数据时,对子熔丝组SPS1进行编程的数据变为最新的,例如电源接通时,读出开关RSW变成接通。
而且,对子熔丝组SFSi、SFS(i+1)的任何一个数据也不编程时,读出开关RSW不能变为接通。对子熔丝组SFSi、SFS(i+1)的双方编程数据时,对子熔丝组SFS(i+1)进行编程的数据因为成为最新的,所以读出开关RSW不能变为接通。
部件BLKn图12是部件BLKn的电路例子。
1.程序数据锁存电路关于程序数据锁存电路PDL(En),PDL(Din1),…PDL(Dinm)的结构,已经因为在部件BLK1的项目中说过了,这里,省略其说明。
2.编程控制电路编程控制电路PCNT1由“与”门电路AD1和程序开关PSW构成。
给“与”门电路AD1,分别输入熔丝组的选择号SEL1、允许位数据En(n-1)和允许位数据Enn的倒相信号。熔丝组的选择号SEL1,如已经说过的那样,实行对熔丝组1的编程时为”H”。
允许位数据En(n-1),在对子熔丝组SFS(n-1)的编程前是”L”,对子熔丝组SFS(n-1)的编程后是”H”。而且,允许位数据Enn在对子熔丝组SFSn的编程前是”L”,对子熔丝组SFSn的编程后是”H”。
也就是,“与”门电路AD1的输出信号,在对子熔丝组SFS(n-1)的编程后,对子熔丝组SFSn的编程前,可以得到”H”。
“与”门电路AD1的输出信号为”H”的话,作为程序开关PSW的N沟道MOS晶体管为接通。也就是,构成子熔丝组SFSn的熔丝器件FUSE的一端,电连接到程序数据锁存电路PDL(En),PDL(Din1)、…PDL(Dinm)。
3.读出数据锁存电路读出数据锁存电路RDL(Enn),RDL(Dout1)、…RDL(Doutm),和(m+1)个熔丝器件FUSE对应,只设置(m+1)个。但是,如上述一样,除去允许位数据Eni外,用于锁存其他m位熔丝数据的m个的读出数据锁存电路RDL(Dout1)、RDL(Dout2)、…RDL(Doutm),为1个熔丝组内的多个部件所共有。
关于读出数据锁存电路RDL(Eni),RDL(Dout1)、…RDL(Doutm)的电路结构,因为已经说过,这里,省略其说明。
4.读出控制电路读出控制电路RCNTn由“与”门电路AD2和读出开关RSW构成。读出控制电路RCNTn,和编程熔丝数据Din1、…Dinm的m个熔丝器件FUSE对应,只设置m个。
给“与”门电路AD2,分别输入复位信号RST的倒相信号、允许位数据Enn和允许位数据En(n+1)的倒相信号。复位信号RST,例如电源接通时,暂时地成为”H”,之后,持续维持”L”。
允许位数据Enn在对子熔丝组SFSn的编程前是”L”,对子熔丝组SFSn的编程后是”H”。允许位数据En(n+1)经常固定于”L”。
也就是,对子熔丝组SFSn编程数据时,因为对该子熔丝组SFSn进行编程的数据变为最新的,所以例如,电源接通时,读出开关RSW变成接通。
还有,对子熔丝组SFSn数据没编程时,读出开关RSW不能变为接通。
(3)动作其次,说明有关在图9至图12的熔丝电路动作。
有关第2实施例的熔丝电路的动作,作为全体来说,和第1实施例的熔丝电路的动作大致相同,电源接通时的熔丝数据锁存动作变成2次这一点不同。
下面,具体地说明有关本发明例的熔丝电路的动作。
还有,如图9至图12所示,假设1个熔丝组由n(n为多个)个部件,即,由n个子熔丝组构成,各自的子熔丝组,由存储1位允许位数据的1个熔丝器件和存储m(m为多个)位熔丝数据的m个熔丝器件构成。
初始状态,即,对1个熔丝组,还有,在1次也没实行熔丝编程动作的状态,全部的子熔丝组SFS1、SFS2、…SFSn内的熔丝器件(例如,反熔丝器件)都处于非破坏状态。
因此,例如,通过电源接通向LSI芯片供电的话,就从1个熔丝组内的子熔丝组SFS1、SFS2、…SFSn,分别读出”0”(“L”电平),作为允许位数据En1、En2、…Enn,并将这些锁存于读出数据锁存电路RDL(En1),RDL(En2)、…RDL(Enn)里(第1次的锁存动作)。
在这里,除去最初的子熔丝组SFS1外,在其余(n-1)个子熔丝组SFS2、…SFSn中,如图11和图12所示的“与”门电路AD1、AD2的输出信号全都为”L”。因此,程序开关PSW和读出开关RSW都是断开状态,这些子熔丝组SFS2、…SFSn就不是熔丝编程或熔丝数据读出的对象。
另一方面,对最初(第1号)的子熔丝组SFS1,因为此前的子熔丝组不存在,因此作为对图10所示的“与”门电路AD1的输入信号之一,输入允许位信号En0。因为该允许位信号En0固定为”H”,所以在子熔丝组SFS1中,“与”门电路AD1的输出信号为”H”。因此,程序开关PSW是接通状态,将子熔丝组SFS1电连接到程序数据锁存电路。
还有,在这个阶段,图10所示的“与”门AD2的输出信号是”L”,所以读出开关RSW成为断开状态。
允许位数据En1、En2、…Enn一锁存在读出数据锁存电路RDL(En1),RDL(En2)、…RDL(Enn)中的话,各部件内的读出控制电路RCNT1、2、…n,就根据其值,决定读出开关RSW的接通/关断。
这里,因为任何部件内的子熔丝组SFS1、SFS2、…SFSn中,都没有写入熔丝数据,所以对所有部件,读出开关RSW都是断开状态。因此,以后,实行熔丝数据的锁存动作(第2次的锁存动作),然而因为锁存数据本身不存在,所以全部读出数据锁存电路RDL(Dout1)、RDL(Dout2)、…RDL(Doutm)的数据为”0”。
电源接通后,例如,将用于编程熔丝数据的指令送给LSI芯片,同时,将允许位数据En(“1”)和程序数据(″0″或”1”)送给LSI芯片,这些数据就被锁存在程序数据锁存电路里。
而且,根据在程序数据锁存电路里所锁存的允许位数据En和程序数据的值,对子熔丝组SFS1内的熔丝器件FUSE实行编程。
也就是,因为允许位数据En是”1”(=″H″),所以给存储允许位数据En的熔丝器件FUSE两端,施加高电压Vfuse,其结果,熔丝器件FUSE被破坏。而且,关于程序数据,因为是”0”或”1”,因此为”0”时,熔丝器件FUSE为原样未破坏,为”1”时熔丝器件FUSE被破坏。
对子熔丝组SFS1的熔丝结束编程时,子熔丝组SFSi内的允许位数据En1的值就从”0”(=“L”)变为”1”(=″H″)。
所以,对子熔丝组SFS1,图10所示的“与”门电路AD1的输出信号从”H”变为”L”变化,程序开关PSW成为断开状态。与此大致同时,对子熔丝组SFS1,图10所示的“与”门AD2的输出信号从”L”变为”H”,读出开关RSW成为接通状态。
在熔丝编程(第1次)结束后的初始状态,最初的子熔丝组SFS1内的熔丝器件(允许位数据)处于破坏状态,其余的子熔丝组SFS2、…SFSn内的熔丝器件(允许位数据)则处于非破坏状态。
因此,例如,再次,通过电源接通向LSI芯片供电,就从子熔丝组SFS1,读出”1”(″H″电平)作为允许位数据En1,而且,从子熔丝组SFS2、…SFSn,读出“0″(“L”电平)作为允许位数据En2、…Enn。然后,将这些数据,锁存于读出数据锁存电路RDL(En1),RDL(En2)、…RDL(Enn)里(第1次的锁存动作)。
在这里,对最初(第1号)的子熔丝组SFS1,因为允许位数据En0、En1是”H”,所以图10所示的“与”门电路AD1的输出信号全为”L”,因此,程序开关PSW成为断开状态。另一方面,因为允许位数据En1为″H″,允许位数据En2为”L”,所以图10所示的“与”门AD2的输出信号为”H”。因此,读出开关RSW成为接通状态。
因为,关于最初的子熔丝组SFS1,因为已经进行熔丝编程,所以虽然不能作为熔丝编程的对象,但是因为存储最新的熔丝数据,所以变成熔丝数据读出的对象。
在第2号子熔丝组SFS2中,因为允许位数据En1为”H”,允许位数据En2为”L”,所以图11所示的“与”门AD1的输出信号全都变成”H”。因此,程序开关PSW成为接通状态。另一方面,因为允许位数据En2、En3是”L”,所以图11所示的“与”门AD2的输出信号变为”L″。因此,读出开关RSW成为断开状态。
所以,关于第2号的子熔丝组SFS2,成为熔丝编程的对象(数据重写的对象),然而不能成为熔丝数据读出的对象。
在第3号以后的子熔丝组SFS3、…SFSn中,因为允许位数据En2、En3、…Enn全部是”L”,所以图11和图12所示的“与”门电路AD1、AD2的输出信号全部为”L”。因此,程序开关PSW和读出开关RSW也都是断开状态,这些子熔丝组SFS3、…SFSn,不能成为熔丝编程或熔丝数据读出的对象。
这样,允许位数据En1,En2、…Enn在读出数据锁存电路RDL(En1),RDL(En2),…RDL(Enn)中被锁存后,各部件内读出控制电路RCNT1,2、…n,根据其数值,决定读出开关RSW的接通/断开。
这里,因为对子熔丝组SFS1正写入熔丝数据,所以在最初的部件BLK1,读出开关RSW是接通状态。因此,然后实行熔丝数据的锁存动作(第2次的锁存动作),然而在该锁存动作中,借助于读出控制电路RCNT1、RCNT2、…RCNTn选择最初的部件BLK1,并将存入子熔丝组SFS1的锁存数据,锁存于读出数据锁存电路RDL(Dout1)、RDL(Dout2)、…RDL(Doutm)。
而且,电源接通后,因为允许位数据En0、En1成了″H″,允许位数据En2、…Enn成了”L”,所以子熔丝组SFS2电连接到程序数据锁存电路里。
因此,例如,用于编程熔丝数据的指令送给LSI芯片,同时,允许位数据En(“1”)和程序数据(″0″或”1”)一送给LSI芯片,就将这些数据锁存于程序数据锁存电路里。
而且,根据在程序数据锁存电路里所锁存的允许位数据En和程序数据的值,对子熔丝组SFS2内的熔丝器件FUSE实行编程。
对子熔丝组SFS2的熔丝部件编程一结束,子熔丝组SFS2内允许位数据En2的值,就从”0”(=“L”)变为”1”(=″H″)。
所以,在子熔丝组SFS2中,图11所示的“与”门电路AD1的输出信号从”H”变为″L”,程序开关PSW成为断开状态。与此大致同时,在子熔丝组SFS2中,图11所示的”与”门电路AD2的输出信号从”L”变为”H”,读出开关RSW成为接通状态。
在熔丝编程(第n次)结束后的初始状态,全部的子熔丝组SFS1、SFS2、…SFSn内的熔丝器件(允许位数据)都处于破坏状态。
因此,例如,通过电源接通向LSI芯片供电,就从子熔丝组SFS1、SFS2、…SFSn,读出”1”(″H″的电平)作为允许位数据En1、En2、…Enn。然后,将这些数据,锁存于读出数据锁存电路里(第1次的锁存动作)。
在这里,因为不存在子熔丝组SFSn的下一个子熔丝组,因此有关本发明例的熔丝电路的数据重写次数,最大为n次。而且,因为不存在子熔丝组SFSn的下一个子熔丝组,因此如图12所示,作为允许位数据En(n+1),把”L”(固定)的倒相信号,即,”H”,送给子熔丝组SFSn内的“与”门电路AD2。所以,子熔丝组SFSn内的读出开关RSW成为接通状态。
这里,因为对全部子熔丝组SFS1、SFS2、…SFSn写入熔丝数据,所以仅最后的部件BLKn中的读出开关RSW成为接通状态。
因此,而后,实行熔丝数据的锁存动作(第2次的锁存动作),但是在该锁存动作中,借助于读出控制电路RCNT1、RCNT2、…RCNTn选择最后的部件BLKn,并将存入子熔丝组SFSn的锁存数据,锁存于读出数据锁存电路RDL(Dout1)、RDL(Dout2)、…RDL(Doutm)里。
(4)总结这样一来,即使在有关第2实施例的熔丝电路中,也和有关第1实施例的熔丝电路同样,通过由n(n为多数)个子熔丝组构成1个熔丝组,就可能重写n次熔丝数据。
而且,作成这样的结构,熔丝数据的读出/编程或重写,只把熔丝数据输入熔丝电路,没有特殊的控制,可以自动而且容易地实行。
5.应用例说明具有有关本发明例的熔丝电路的LSI芯片以及利用该LSI的系统的例子。
图13表示系统LSI芯片布局的一例。
在LSI芯片上,形成CPU、逻辑电路、SRAM和DRAM。而且,在LSI上任意的位置,配置本电路,即,关于本发明例的熔丝电路。从芯片的外部观看的情况下,有关送给芯片的信号和控制方法等,现有和本发明的例子中,没有什么改变之处。也就是,在本发明例中,没有复杂的控制,就能重写熔丝组的数据。
还有,关于LSI芯片,作为该芯片内装入的功能(部件),不应限定于本例,当然,对图13的例,能够给LSI芯片内追加,减少,变更等其装入的功能(部件)。
图14表示通用LSI芯片布局的一个例子。
在本例中,表示通用存储器的芯片布局。在存储的芯片上,形成存储单元阵列及其外围电路。而且,在存储器芯片上任意的位置,配置本电路,即,有关本发明例的熔丝电路。从芯片外部观看的情况下,关于送给芯片的信号和控制方法等,在现有和本发明的例中,没有什么改变之处。也就是,在本发明例中,可在没有复杂的控制下,对熔丝组的数据重写。
还有,在本例中,虽然说明了通用存储器的布局,但是例如,对其他的LSI芯片,例如,混装存储器和逻辑电路的存储器混合逻辑LSI等,也能应用关于本发明例的熔丝电路。
图15表示接触式IC卡的概况。
在塑料卡10上装载连接器11和IC卡用MPU12,连接器11有外部电极,通过使该外部电极和外部装置(阅读器/记录器)18直接接触,进行数据等的交换。一般,使连接器11和IC卡用MPU12模块化,成为IC模块,把IC模块嵌入塑料卡10的凸起区完成IC卡。
IC卡用MPU12具备控制部13、运算部14、ROM15和RAM16。在ROM15中,保存数据处理用的程序。例如,在该ROM15中,可应用关于本发明例的熔丝电路。而且,RAM16是用作数据暂存用的。EEPROM17是用作数据保存用的。
图16表示无线式IC卡的概况。
在塑料卡20,内装天线21和IC卡用MPU22。天线21是用于和外部装置(阅读器/记录器)30之间进行数据等交换的装置。IC卡用MPU22具备调制解调电路23、输入输出控制电路24、CPU25、ROM26、RAM27和总线29。
天线21中接收到的无线信号,经由调制解调电路23被输入到输入输出控制电路24,而且,将数据处理用的程序存入ROM26。例如,可将本发明例的熔丝电路应用于ROM26。SRAM27是用作数据暂时存储用的。EEPROM28用作为数据保存用的。
还有,有关本发明例的熔丝电路也可应用于用1张卡能处理各种各样用途的多功能卡(multicard)(例如,复合卡(combicard)等)内装载的芯片。
图17表示IC卡的外觀。
塑料卡10有一定的厚度,在其表面一部分设置凸起区。在IC模块53上装着IC(芯片)。在相对于装载IC模块53的IC侧的一面的相反侧的面上,形成外部端子(电极)54。要使IC模块53嵌入凸起区,使得外部端子54露出。
图18表示IC模块。图19是沿着图18的XIX-XIX线的剖面图。还有,图18中省略了外部端子。
在IC模块53的一侧的面上,装载IC(芯片)55。IC55用树脂56覆盖起来。而且,在IC模块53的另一侧的面上,形成外部电极54。
6.总结倘若采用本发明例的熔丝电路,可用标准CMOS工艺来形成,同时,对1个熔丝组,在没有特殊的控制下,就能自动地实行熔丝数据的重写。
尽管在本发明例中,熔丝数据的重写着眼于封装(装配)工序后用户一方的重写,然而当然,其他时期,例如,封装工序前,如果出现需要重写熔丝数据的话,此时,也能应用本发明。
本发明例的熔丝电路,对混装逻辑电路(ASIC等)和存储电路(DRAM、SRAM等)的存储器逻辑电路混合LSI是有效的。例如,在这样的混合LSI中,也能把本发明例的熔丝电路应用于存储电路(冗余电路)的不良地址(冗余数据)的编程。
本发明例的熔丝电路,不限于冗余电路中的不良地址的读出/编程,而且对各种数据的程序,尤其是对容量少数据(例如,512kbit以下)的编程是有效的。
例如,本发明例的熔丝电路,在对有关电路动作的微调数据、芯片ID、密码,进而,对有关手机液晶显示器对比度的数据等进行编程的场合都能应用。
在本发明例的熔丝电路中,各熔丝部件内子熔丝组的位数,虽然全部设为相等,但是也可以不同。而且,把1个熔丝组(参照图3)内的各熔丝部件内子熔丝组的位数设为相等,在不同的熔丝组间,使进行编程的位数不同也无妨。
7.其他本发明例的熔丝电路,特别用于需要非易失性存储少量数据,同时少数次的场合,然而对也需要改写这些数据的混合LSI、系统LSI、逻辑LSI、存储器LSI等半导体集成电路也是有效的。
另外的优点和改进,对本领域普通技术人员将是显而易见。因此,本发明在其广阔的方面并不限于这里表示和描述的具体细节和表现的各实施例。所以,应该能够作各种各样的修改而不脱离由附属权利要求书及其等同物所限定的本发明总构思的精神或范围。
权利要求
1.一种包括部件的熔丝电路,其特征在于,该部件各自具有由电可编程的熔丝器件构成的子熔丝组和控制对该熔丝器件编程的编程控制电路,该熔丝器件当中的1个,是表示该子熔丝组的有效/无效的允许位;该编程控制电路,根据该允许位的值,从该部件当中决定成为编程对象的部件。
2.按照权利要求1所述的熔丝电路,其特征在于,还包括锁存对成为编程对象的部件的程序数据的程序数据锁存电路。
3.按照权利要求1所述的熔丝电路,其特征在于,该部件串联连接到n(n为多个)段,在第1段的部件,该编程控制电路,根据该第1段内的该允许位的值,决定该第1段是否成为编程的对象。
4.按照权利要求1所述的熔丝电路,其特征在于,该第1段的部件内的该允许位的值表示该子熔丝组无效时,该第1段的部件就成为编程的对象。
5.按照权利要求1所述的熔丝电路,其特征在于,该部件串联连接到n(n为多个)段,在第i(2≤I≤n)段的部件,该编程控制电路,根据该第(i-1)段的部件内的该允许位的值和该第i段的部件内的该允许位的值,决定该第i段是否成为该编程的对象。
6.按照权利要求5所述的熔丝电路,其特征在于,该第(i-1)段的部件内的该允许位的值表示该子熔丝组有效,该第i段的部件内的该允许位的值表示该子熔丝组无效时,该第1段的部件就成为该编程序的对象。
7.按照权利要求1所述的熔丝电路,其特征在于,该部件各自具有控制对该熔丝器件编程后的熔丝数据读出的读出控制电路,该读出控制电路,根据允许位的值,从该部件当中决定成为读出对象的部件。
8.按照权利要求7所述的熔丝电路,其特征在于,该部件串联连接到n(n为多个)段,在第i(1≤i≤n-1)段的部件中,该读出控制电路,根据该第i段的部件内的该允许位的值和第(i+1)段的部件内的该允许位的值,决定该第i段的部件是否成为该读出的对象。
9.按照权利要求8所述的熔丝电路,其特征在于,该第i段的部件内的该允许位的值表示该子熔丝组有效、该第(i+1)段的部件内的该允许位的值表示该子熔丝组无效时,该第1段的部件就成为该读出的对象。
10.按照权利要求7所述的熔丝电路,其特征在于,该部件串联连接到n(n为多个)段,在第n段的部件中,该读出控制电路,根据该第n段的部件内的该允许位的值,决定该第n段的部件是否成为该读出的对象。
11.按照权利要求10所述的熔丝电路,其特征在于,该第n段的部件内的该允许位的值表示该子熔丝组有效时,该第n段的部件就成为该读出的对象。
12.按照权利要求1所述的熔丝电路,其特征在于,该部件各自具有锁存从该熔丝器件读出的熔丝数据的读出数据锁存电路。
13.按照权利要求1所述的熔丝电路,其特征在于,该部件各自具有锁存从该熔丝器件当中之一读出的熔丝数据的读出数据锁存电路,而且除去该允许位外,锁存其余熔丝数据的读出数据锁存电路由所述部件共有。
14.按照权利要求1所述的熔丝电路,其特征在于,该熔丝器件各自是电熔丝器件或反熔丝器件。
15.按照权利要求1所述的熔丝电路,其特征在于,该编程在封装工序前或后的任意时期实行。
16.按照权利要求1所述的熔丝电路,其特征在于,对该熔丝组的数据重写次数上限等于该部件的个数。
17.按照权利要求1所述的熔丝电路,其特征在于,该部件串联连接到n(n为多个)段,数据重写的每次,成为该编程对象的部件从第1段的部件往第n段的部件移动。
18.一种集成电路,具有至少一个功能部件,该部件包括非易失性存储有关该集成电路的数据的存储器,其特征在于,该存储器是能重写有关所述集成电路的数据的按照权利要求1的熔丝电路。
19.一种读出/编程方法,其特征在于,对具有n(n为多个)段串联连接的子熔丝组的熔丝电路,在编程的每次,通过从第1段的子熔丝组往第n段的子熔丝组顺序自动地变动,对成为该编程对象的子熔丝组,实行对该熔丝电路的数据重写。
20.按照权利要求19所述的读出/编程方法,其特征在于,电源接通之后,立即根据表示该子熔丝组的有效/无效的允许位值自动地决定成为该编程对象的子熔丝组。
21.按照权利要求20所述的读出/编程方法,其特征在于,该电源接通之后,立即根据该允许位值,自动地决定成为熔丝数据读出对象的子熔丝组。
22.按照权利要求21所述的读出/编程方法,其特征在于,成为该熔丝数据读出对象的子熔丝组,存入最新的数据。
23.按照权利要求21所述的读出/编程方法,其特征在于,该电源接通之后,全部的熔丝数据和该允许位一起锁存在熔丝读出数据锁存电路里。
24.按照权利要求21所述的读出/编程方法,其特征在于,该电源接通之后,首先,立即将该允许位锁存在读出数据锁存电路里,决定成为该熔丝数据读出对象的子熔丝组以后,将此子熔丝组的熔丝数据锁存在该读出数据锁存电路里。
全文摘要
一个熔丝组由多个熔丝部件构成。多数熔丝部件各自具有,由电可编程的多个熔丝器件构成的子熔丝组和控制对多个熔丝器件编程的程序控制电路。多数熔丝器件当中的1个是允许位,根据该允许位的值,决定成为编程对象的1个熔丝部件。
文档编号G11C17/18GK1585124SQ20041007948
公开日2005年2月23日 申请日期2004年8月7日 优先权日2003年8月8日
发明者大塚伸朗 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1