CN114842902A - 测试包括保守可逆逻辑的存储器 - Google Patents
测试包括保守可逆逻辑的存储器 Download PDFInfo
- Publication number
- CN114842902A CN114842902A CN202210109646.8A CN202210109646A CN114842902A CN 114842902 A CN114842902 A CN 114842902A CN 202210109646 A CN202210109646 A CN 202210109646A CN 114842902 A CN114842902 A CN 114842902A
- Authority
- CN
- China
- Prior art keywords
- test
- address
- circuit
- address decoder
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 297
- 230000015654 memory Effects 0.000 title claims abstract description 127
- 230000002441 reversible effect Effects 0.000 title claims abstract description 37
- 230000006870 function Effects 0.000 claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 7
- 230000003679 aging effect Effects 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 25
- 230000007704 transition Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000035882 stress Effects 0.000 description 6
- 241001245475 Ancilla Species 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002800 charge carrier Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/024—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/46—Test trigger logic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C2029/1802—Address decoder
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本公开涉及测试包括保守可逆逻辑的存储器。一种集成电路装置包括读取/写入存储器单元阵列、应用程序逻辑电路和地址解码器电路,所述地址解码器电路被耦合成从所述应用程序逻辑电路接收输入且将输出提供到所述存储器单元阵列。所述地址解码器电路通过具有从所述输入到所述地址解码器电路的所述输出的双射传递函数而可逆,且通过在所述输入和所述输出处具有相同数目的1而保守。在测试期间,所述应用程序逻辑电路将测试值和测试辅助位提供到所述地址解码器电路。在正常操作期间,所述应用程序逻辑电路将应用程序存储器地址和恒定辅助位提供到所述地址解码器电路。
Description
技术领域
本公开大体上涉及测试,且更具体地说,涉及测试包括保守可逆逻辑的存储器。
背景技术
存储器中的地址解码器通常对定时非常关键,其中即使是解码器中的边缘缺陷也可能导致定时违规,从而导致存储器发生故障。边缘缺陷可能归因于潜伏制造缺陷或归因于老化,其中最关键老化机理为偏置温度不稳定性(BTI),其中电荷载流子进入金属氧化物半导体场效应晶体管(MOSFET)的栅极,从而使得阈值电压(Vt)变化,这会减小晶体管的速度。p型MOSFET和n型MOSFET两者都受BTI应力影响。对于p型MOSFET,其栅极处的低压引起BTI应力(使得Vt向前移位),而高压引起BTI恢复(使得Vt向后移位,回到其初始值)。在n型MOSFET上出现相同效果,不同之处在于其栅极处的高电压引起BTI应力,而低电压引起BTI恢复。
在互补金属氧化物半导体(CMOS)电路中,p型MOSFET和n型MOSFET两者用于构造逻辑门,且装置上的BTI应力影响信号通过逻辑门的传播时间。此外,BTI应力(且因此Vt移位)通常以不同方式影响时钟路径和数据路径,这可能在时钟和数据之间产生竞态条件,从而引起这些数据和时钟路径的端点处的触发器中的设置或保持时间的违规。这些违规可能导致IC的操作故障。
由于功能安全要求,现场(制造和组装后)的内置式自测试(BIST)对于存储器来说至关重要,所述存储器包括存储器中需要针对边缘延迟故障进行测试的地址解码器。当今,高级地址解码器测试需要多种不同测试模式,这需要额外芯片面积以用于存储或产生测试模式,且需要大量执行时间,在此期间必须暂停应用程序的执行。因此,需要可以可靠地识别定时违规的对地址解码器的改进的测试。
发明内容
以下为本发明的各种实施例。
在一个实施例中,集成电路包括读取/写入存储器单元阵列;应用程序逻辑电路;以及地址解码器电路,所述地址解码器电路被耦合成从应用程序逻辑电路接收输入且将输出提供到存储器单元阵列。所述地址解码器电路通过具有从所述输入到所述地址解码器电路的所述输出的双射传递函数而可逆,且通过在所述输入和所述输出处具有相同数目的1而保守。在测试期间,应用程序逻辑电路将测试值和测试辅助位提供到地址解码器电路,并且在正常操作期间,应用程序逻辑电路将应用程序存储器地址和恒定辅助位提供到地址解码器电路。在实施例的一个方面,集成电路另外包括耦合在应用程序逻辑电路与地址解码器电路之间的第一多路复用器,第一多路复用器被配置成在正常操作期间将应用程序存储器地址提供到地址解码器,且在测试期间将测试值提供到地址解码器电路。在另外的实施例中,集成电路另外包括耦合在应用程序逻辑电路与地址解码器电路之间的第二多路复用器,第二多路复用器被配置成在正常操作期间将恒定辅助位提供到地址解码器电路,且在测试期间将测试辅助位提供到地址解码器电路。在又一方面,集成电路另外包括耦合在地址解码器电路与读取/写入存储器单元阵列之间的“异或”逻辑电路,其中“异或”逻辑电路被配置成接收来自应用程序逻辑电路的解码应用程序存储器地址以及来自地址解码器电路的输出,且被配置成输出用于存取读取/写入存储器单元阵列的解码地址。在另一方面,应用程序逻辑电路被配置成:在测试的第一阶段期间将测试值中的所有位设置为第一二进制值,且将解码应用程序存储器地址设置为读取/写入存储器单元阵列的要在测试期间用于写入存取的测试地址的解码版本;并且,在测试的第二阶段期间,将测试值中的所有位设置为与第一二进制值相反的第二二进制值。在又一方面,应用程序逻辑电路另外被配置成:在测试的第二阶段期间,将数据写入到对应于由“异或”逻辑电路输出的解码地址的存储器位置,其中所述写入使用关键定时执行;并且,在测试的第三阶段期间,从读取/写入存储器单元阵列的测试地址读取数据,其中所述读取使用非关键定时执行。在另一方面,应用程序逻辑电路被配置成:在测试期间,在测试的第一阶段中将所有位被设置为一的测试值提供到地址解码器电路;在测试期间,在测试的第二阶段中将所有位被设置为零的测试值提供到地址解码器电路,且将数据值写入到对应于读取/写入存储器单元阵列中的解码地址的存储器位置;并且,在测试的第二阶段之前,将解码应用程序存储器地址设置为读取/写入存储器单元阵列的测试地址的解码版本。在另外的实施例中,应用程序逻辑电路被配置成:在测试之后,从读取/写入存储器单元阵列的测试地址读取数据值,且将读取数据值与在测试期间写入到读取/写入存储器单元阵列的数据值进行比较;并且当读取数据值不等于写入数据值时,指示地址解码器中存在故障。在一个实施例的另一方面,地址解码器电路使用弗雷德金门实施。
在另一实施例中,用于测试集成电路中的老化效应的方法包括,在测试模式期间:将作为输入提供到地址解码器电路的测试值中的所有位设置为第一二进制值;在预定时间之后,将作为输入提供到地址解码器电路的测试值中的所有位设置为不同于第一二进制值的第二二进制值;在逻辑电路中处理地址解码器电路的输出和解码测试地址,其中,在测试模式下,解码测试地址被设置为存储器装置中的测试地址的解码版本;从逻辑电路提供解码地址;以及在对应于存储器装置中的解码地址的存储器位置处写入数据值。所述方法另外包括,一旦测试模式结束:使用非关键定时方案在测试地址处读取存储器装置的内容;将数据值与在测试地址处读取的内容进行比较;以及当数据值与在测试地址处读取的内容不匹配时指示存在故障。在一个方面,逻辑电路为按位“异或”逻辑,并且所述方法另外包括在正常操作模式期间将解码测试地址设置为全零(0)。在另一方面,所述方法另外包括在测试模式期间将测试辅助位提供到地址解码器电路。在另一方面,所述方法另外包括在正常操作模式期间将辅助位的恒定值提供到地址解码器电路。在另一方面,地址解码器电路使用弗雷德金门实施。在又一方面,来自逻辑电路的解码地址具有关键定时属性。
在又一实施例中,处理系统包括:包括被配置成执行应用程序代码的处理器单元的应用程序逻辑电路;被耦合成从应用程序逻辑电路接收输出的地址解码器电路,其中地址解码器电路是可逆且保守的;被配置成接收来自地址解码器电路的输出和来自应用程序逻辑电路的解码应用程序地址的异或逻辑电路;以及被耦合成接收由异或逻辑电路输出的解码地址的存储器阵列。应用程序逻辑被配置成:在测试模式的第一阶段期间,输出所有位被设置为第一二进制值的测试值;并且,在测试模式的第二阶段期间,输出测试值的所有位被设置为不同于第一二进制值的第二二进制值的测试值,且在对应于由异或逻辑输出的解码地址的存储器位置处将数据值写入到存储器阵列。应用程序逻辑电路还被配置成:在测试模式的第二阶段之前,将解码应用程序地址设置为存储器阵列的测试地址的解码版本;并且,在测试模式结束时,从测试地址读取存储器阵列的内容,且将所述内容与数据值进行比较以确定地址解码器电路是否正确运行。在一个方面,处理系统另外包括耦合在应用程序逻辑电路与地址解码器电路之间的第一多路复用器,第一多路复用器被配置成在正常操作期间将应用程序存储器地址提供到地址解码器,且在测试期间将测试值提供到地址解码器电路。在另一方面,处理系统另外包括耦合在应用程序逻辑电路与地址解码器电路之间的第二多路复用器,第二多路复用器被配置成在正常操作期间将恒定辅助位提供到地址解码器电路,且在测试模式的第一阶段和第二阶段期间将测试辅助位提供到地址解码器电路。在另一方面,应用程序逻辑电路另外被配置成在测试模式结束时,将解码应用程序地址的所有位设置为第二二进制值,且将应用程序地址而不是测试值输出到地址解码器电路。在另一方面,第二二进制值为零,且第一二进制值为一。
附图说明
本发明通过举例示出且不受附图的限制,在附图中,类似标记指示类似元件。为了简单和清晰起见而示出图中的元件,并且这些元件未必按比例绘制。
图1A以示意性形式示出已知的弗雷德金(Fredkin)门。
图1B示出对应于图1A的弗雷德金门的真值表。
图2以框图形式示出根据本发明的一个实施例的具有带有地址解码器和对应测试电路的存储器的集成电路(IC)。
图3示出根据本发明的一个实施例的图2的IC中的各种信号的定时图。
图4以流程图形式示出根据本发明的一个实施例的操作图2的IC的方法。
具体实施方式
地址解码器对于定时是关键的,其中即使是边缘缺陷也可能导致定时违规。在一个方面,地址解码器使用保守可逆逻辑(使用保守可逆逻辑门)实施。保守可逆逻辑的使用提供100%变换故障覆盖的可能性。在一个实施例中,执行地址解码器的自测试,这允许通过执行对仅一个存储器地址的写入存取来测试地址解码器的所有可能存储器地址。此测试可例如通过进入测试模式且在地址解码器的输入处提供逻辑一向量来实现,这应该会在输出处产生全逻辑一。然后,在地址解码器的输入处提供零向量,其中所有输出应该会变换成零。以此方式,可针对一到零变换的传播延迟来测试地址解码器。这通过在将输入变换成零向量之后,使用逻辑门将地址解码器的输出转换成有效的解码存储器地址来执行。举例来说,逻辑门可使用地址解码器的输出来处理所接收的解码测试地址(对应于存储器内对于定时最关键的测试地址),以提供有效的解码存储器地址。
同时仍在测试模式中,使用已处理的解码测试地址执行写入操作,以将测试数据写入到测试地址。测试数据也可被称为“测试背景”。随后,在测试模式中或在正常操作(即,正常模式或应用程序模式)期间,读取测试地址(利用非关键定时)以确定读取数据是否与应在测试模式期间写入到测试地址的测试数据匹配。如果存在匹配,则地址解码器在具有关键定时的写入操作期间提供正确的定时(即,一到零变换的正确的传播延迟)。然而,所述值的不匹配指示在具有关键定时的写入操作期间在地址解码器内发生了变换故障。在一个实施例中,根据哪个变换更关键,可针对零到一变换而不是一到零变换来执行地址解码器的此变换测试。以此方式,通过将测试数据写入到存储器的单个测试地址,可针对变换故障充分测试整个地址解码器(实施有保守可逆逻辑)。
图1A和1B示出被称为弗雷德金门的保守可逆门的例子。保守门被限定为在输出和输入处具有相同数目的在逻辑一状态中的信号的门。保守门可用于构建保守组合逻辑,所述保守组合逻辑对应地在输出和输入处具有相同数目的逻辑一。可逆门也具有相同数目的输出和输入,并且另外,所述可逆门具有双射传递函数,从而意味着一个人可从输出明确地得出门的输入。应注意,例如“与”门并不具有双射传递函数,因为逻辑零的输出可以是输入的不同组合(例如,其中至少一个输入为零的任何输入集)的结果。可逆电路由可逆门构成,所述可逆门连接时无需扇出和反馈环路。
保守和可逆特性彼此独立。也就是说,保守逻辑通常但未必是可逆的,且可逆逻辑大部分不是保守的。同时保守且可逆的组合逻辑被称为保守可逆逻辑。标准CMOS电路中的保守可逆逻辑通常使用弗雷德金门实现。图1A示出弗雷德金门10,所述弗雷德金门10包括多路复用器(MUX)12和14。弗雷德金门10具有三个输入A、B和C,以及三个输出X、Y和Z。输入A被提供到MUX 12和14中的每一个的控制输入,且还直接作为输出X被提供。MUX 12的第一输入被耦合成接收输入C,MUX 14的第二输入被耦合成接收输入B,并且MUX 12的输出提供输出Y。MUX 14的第一输入被耦合成接收输入B,MUX 14的第二输入被耦合成接收输入C,并且MUX 14的输出提供输出Z。当MUX12或14的控制输入为逻辑电平零时,提供MUX的第一输入作为MUX的输出,且当MUX 12或14的控制输入为逻辑电平一时,提供MUX的第二输入作为MUX的输出。
在图1B中提供弗雷德金门10的所得真值表,其中以二进制形式提供所有逻辑状态。应注意,在每一行中,输入A、B和C包括与对应输出X、Y和Z相同数目的逻辑一。举例来说,当ABC=010时,则XYZ=001。也就是说,在A=0的情况下,MUX 12和14中的每一个选择第一输入来作为其输出提供,因此,MUX 12提供C作为Y(使得Y=0),且MUX 14提供B作为Z(使得Z=1)。并且,输出X、Y和Z的每个组合对应于输入A、B、C的独特组合。举例来说,仅在输入ABC=010的情况下获得输出XYZ=001,且ABC的其它组合不提供输出XYZ=001。对于真值表的所有行成立。应注意,具有MUX 12和14的弗雷德金门10可利用标准CMOS芯库单元实施。
仍涉及弗雷德金门10,应注意,“与”门、“或”门或反相器的逻辑函数可利用弗雷德金门10实现。举例来说,通过将B固定为恒逻辑零(其中B将被视为“辅助输入”),剩余变量实施“与”函数。也就是说,在B固定为零的情况下,门10提供“与”逻辑函数,其中Z=A与C。在此情况下,因为X和Y不用于此函数,所以X和Y被视为“无用(garbage)输出”。类似地,通过将C固定为恒逻辑一(其中C现在将被视为“辅助输入”),剩余输入信号实施“或”逻辑函数,其中Z=A或B。在此情况下,X和Y同样被视为“无用输出”。类似地,通过将B固定为逻辑零且将C固定为逻辑一(其中B和C两者都是“辅助输入”),门10提供逆逻辑函数,其中Y=非A。在此情况下,由于X和Z不用于此函数,因此X和Z被视为“无用输出”。由于弗雷德金门10可用于实施例如“或”和“与”等逻辑函数以及反相器(通过将每个辅助输入固定为恒零或恒一输入以提供所要逻辑函数以及忽略无用输出),因此可使用弗雷德金门实施任何组合逻辑。然而,通常需要更多面积,因为辅助输入和无用输出两者都会导致面积浪费。
当保守可逆门(例如,弗雷德金门)在无反馈路径的情况下用于实施组合逻辑时,所得逻辑是保守可逆逻辑(也被称为保守可逆电路)。应注意,在任何保守可逆电路的情况下,当在输入处施加全零向量时,电路的所有输出也是逻辑零,并且当在输入处施加全一向量时,所有输出也是逻辑一。举例来说,如可在图1B中看出,当全逻辑零被施加为ABC时,输出XYZ也是全逻辑零,并且当全逻辑一被施加为ABC时,输出XYZ也是全逻辑一。如果弗雷德金门用于实施保守可逆电路,则当到电路的所有输入都是逻辑零时,所有输出也应该是逻辑零,并且当所有输入都是逻辑一时,所有输出也应该是逻辑一。
在存储器的地址解码器(其可实施于行解码器或列解码器中)的情况下,可由地址解码器对传入地址进行解码以产生多个输出(例如,每个输出对应于存储器的一个字线或位线),其中每个输出可以是逻辑一或逻辑零。在一个实施例中,逻辑一激活(即,选择)对应的字线或位线,并且逻辑零不选择对应的字线或位线。因此,应注意,地址解码器的为全零或全一的输出不是存储器存取的有效输出,因为将选择所有字线或位线中的任一个,或将不选择字线或位线中的任一个。
在一个实施例中,用于将传入存储器地址解码为多个输出(对应于解码地址)的逻辑实施为保守可逆逻辑。在存储器的正常操作期间,对于每个传入存储器地址,每个辅助位需要按保守可逆逻辑需要被设置为恒一或恒零,以获得正确的解码地址。并且,除了解码地址之外,还可能产生无用位。解码地址随后用于存取存储器的存储器阵列中的适当存储器位置以用于读取或写入存取(且可忽略无用位)。
图2以框图形式示出集成电路(IC)200,所述IC 200包括应用程序逻辑202、多路复用器(MUX)206和208,以及存储器204。应用程序逻辑202耦合到MUX206和208且耦合到存储器204,并且MUX206和208耦合到存储器204。应用程序逻辑202包括处理器210(例如,中央处理单元(CPU))、测试电路212、恒零/恒一电路(const-0/const-1)214和存储电路216。处理器210也可被称为处理器单元,且可被配置成执行应用程序代码。应用程序逻辑202可包括比图2中所示出的电路更多的电路,例如执行IC 200的函数或应用程序中的任一个所需的任何电路。MUX 206和208中的每一个根据控制输入的值提供两个数据输入中的一个作为输出。任何选择电路可用于实施MUX的函数。在所示实施例中,MUX 206在第一数据输入处从应用程序逻辑202(例如,从CPU 210)接收存储器地址(addr_appl)、在第二数据输入处从应用程序逻辑202(例如,从测试电路212)接收测试值(test_value),并且在控制输入处从应用程序逻辑202(例如,从测试电路212)接收测试模式指示符(test_mode)。MUX 208在第一数据输入处从应用程序逻辑202(例如,从const-0/const-1 214)接收辅助位,在第二数据输入接收test_value(其中提供到MUX 208的test_value也可被称为测试辅助位),并且在控制输入处接收test_mode。在test_mode被取反的情况下(在逻辑电平零下),MUX 206将addr_appl作为addr_mux提供到地址解码器220,并且MUX 208将来自应用程序逻辑202的辅助位作为ancilla_mux提供到解码器220。在test_mode被确证的情况下(在逻辑电平一下),MUX 206将test_value作为addr_mux提供到地址解码器220,并且MUX 208将test_value作为ancilla_mux提供到解码器220。
存储器204可以是可写入且可读取的任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(SRAM)等),或非易失性存储器(NVM)(例如,快闪存储器、电阻随机存取存储器(ReRAM)、磁阻随机存取存储器(MRAM)等)。存储器204包括存储器阵列218,其中阵列218包括被配置成存储多个位的多个存储器单元。在一个实施例中,存储器阵列218包括M个字线和N个位线,其中存储器单元位于字线和位线的每个相交点处,且能够存储存储器位(在逻辑一或逻辑零下)。对于对存储器阵列218的读取存取或写入存取,(例如,由CPU210)提供对应存储器存取地址,所述对应存储器存取地址用于选择阵列218的适当字线和位线以用于读取或写入存取。存储器204还包括地址解码器220,所述地址解码器220在正常操作期间被配置成将存储器存取地址(例如,来自CPU 210的addr_appl)解码成解码地址(dec_addr),所述解码地址选择耦合到由存储器存取地址选择的阵列218的位单元的适当字线和位线。因此,在一个实施例中,对于存储器204,地址解码器220可以是行解码器(例如,字线解码器)或列解码器(例如,位线解码器),或可以是行解码器和列解码器两者。
在所示实施例中,地址解码器220利用保守可逆逻辑实施。地址解码器220具有用以接收存取地址的第一输入224(其中存取地址的地址位可被称为功能输入)和用以接收辅助位的第二输入226。存取地址作为addr_mux从MUX 206接收,并且辅助位作为ancilla_mux从MUX 208接收(根据保守可逆逻辑的实施方案,辅助位,且因此ancilla_mux可按需要包括任何数目的位)。如上文通过图1A和1B的例子所论述,使用保守可逆逻辑需要辅助位,其中每个辅助位按需要被设置为恒一或恒零(通过const-0/const-1 214),以便对功能输入执行正确逻辑函数。
在存储器的正常操作期间(其中test_mode被取反或关联到逻辑电平零),对于每个传入存储器地址(作为addr_mux被提供到解码器220的addr_appl),每个辅助位(作为ancilla_mux被提供到解码器220)需要按保守可逆逻辑需要被设置为恒一或恒零,以获得正确的解码地址。并且,在解码器220的输出处,除了解码地址(dec_addr)之外,还可能产生无用位(无用数据)。然后,解码地址用于存取存储器的存储器阵列中的适当存储器位置以用于读取或写入存取。存储器204包括耦合在地址解码器220的输出与存储器阵列218之间的逻辑电路222,其中逻辑电路222接收第一输入(来自应用程序逻辑202,例如来自CPU 210或测试电路212的dec_addr_appl)和第二输入(来自解码器222的dec_addr和无用数据)。在正常操作期间,逻辑电路222将解码器220的输出(dec_addr)原封不动地提供到阵列218(作为dec_addr_xor)。在测试模式中,逻辑电路222利用解码器220的输出处理dec_addr_appl,以提供已处理dec_addr_appl作为dec_addr_xor。
在一个实施例中,逻辑电路222包括用于地址解码器220的每个输出位(包括dec_addr和无用数据的每个位)的异或(“异或”)门。因此,dec_addr_appl中的位数(例如,20位)与dec_addr(例如,16)和无用数据(例如,4)中的总位数匹配。在此实施例中,在正常操作期间,将dec_addr_appl提供为全零,使得“异或”门“异或”具有零的dec_addr的每个位和无用数据的每个位,以便直接提供dec_addr作为dec_addr_xor(因为dec_addr_xor=dec_addr异或0=dec_addr)。
然而,在测试期间,将test_mode确证为逻辑电平一,并且测试电路212提供适当的test_value和dec_addr_appl(其为例如对应于作为存储器阵列218中对于时间最关键的存储器地址的测试地址的解码版本的解码测试地址)。test_value被提供为一的向量或零的向量。如果test_value为一的向量(其经由MUX 206和208作为addr_mux和ancilla_mux被提供到解码器220的输入224和226),则由于解码器220的保守可逆逻辑,dec_addr和无用数据应全部为一。类似地,如果test_value为零的向量,则dec_addr和无用数据应全部为零。通过将test_value首先提供为一的向量,接着提供为零的向量,可充分测试解码器220中一到零的变换。如果解码器220正确地操作,则在将test_value从一的向量变换成零的向量后,地址解码器220的输出应在存储器204的传播限制内从一变换成零(因此,遵守解码器220的关键定时要求)。如果到逻辑电路222的“异或”门的输入为全零,则将解码测试地址(dec_addr_appl的值)作为dec_addr_xor提供到存储器阵列218,因为“0异或A=A”。如果解码器220未正确地操作,则从一到零的变换不会全部正确地传播,且存储器204的操作失败,因为dec_addr_appl将不等于dec_addr_xor。此方面通过将test_value从一的向量变换成零的向量,接着将测试数据(data_appl)写入到对应于解码测试地址dec_addr_appl的存储器位置来进行测试。如果此写入成功,则可假设解码器220中不存在一到零变换故障。如果此写入失败,则可假设解码器220中存在至少一个一到零变换故障。
将参考图3的定时图进一步描述IC 200在测试模式期间的操作,所述定时图示出根据本发明的一个实施例的IC 200内的各种信号的值。在图3中,时间周期在顶部指示,标记为1-4。这些可被称为循环且对应于IC 200内的时钟的循环,在图3中标记为“时钟”。在测试模式期间,此时钟可具有与正常操作期间所使用的频率不同的频率。在循环1(对应于“时钟”的第一时钟循环)中,IC 200在正常操作下开始,其中test_mode被设置为逻辑电平零。在正常操作期间,如上文所论述,可将dec_addr_appl设置为零,使得逻辑电路222将dec_addr作为dec_addr_xor提供到存储器阵列218以用于正常读取和写入存取。应注意,IC 200和存储器204中可存在额外控制电路和信号以提供IC 200和存储器204的完整功能,但仅在解释本发明的实施例所必需范围内在图2和3中示出子集。
在循环1内(约在循环1的一半),将test_mode确证为逻辑电平一以进入测试模式。这开始地址解码器220的自测试。应注意,在测试模式期间,暂时中止(即,暂停)存储器204的正常操作。因此,需要尽可能快速地执行测试操作。当输入测试模式时,可由测试电路212设置dec_addr_appl(解码测试地址)、data_appl(用于写入到测试地址的测试数据)和test_value。如上文所论述,测试地址和测试数据可分别对应于存储器阵列218的最关键定时地址以及最关键数据字。可替换的是,可按需要使用任何测试地址和测试数据。并且,应注意,在测试模式下,测试地址以其解码形式被提供为解码测试地址dec_addr_appl。在一个实施例中,测试电路212包括状态机,所述状态机控制测试操作,从而按需要提供测试值,其中测试值(例如,test_value、测试地址、解码测试地址、测试数据等)可存储在存储电路216中(例如,在测试操作或正常操作期间CPU 210可由存取的寄存器内)。测试电路212还可由CPU 210控制。在所示实施例中,在此第一测试阶段中,首先将test_value设置为一,提供到解码器220。应注意,这些信号的定时并不关键,并且可在进入测试模式之前由测试电路212设置每个信号的定时。
在循环2的上升时钟边沿之后,在循环1中被提供为test_value的一(作为ancilla_mux和addr_mux被提供到解码器220)传播通过解码器220,使得dec_addr和无用数据也变成全一。在循环2内(在第二测试阶段中),测试电路212将test_value设置为全零(零的向量)。因此,经由ancilla_mux和addr_mux将零提供到解码器220,使得解码器220的输出处的dec_addr和无用数据变换成全零。逻辑电路222使用解码器220的输出来处理所接收的解码测试地址(dec_addr_appl)。在输出为全零(且逻辑电路222如上文所描述利用“异或”门实施)的情况下,所得已处理的解码测试地址与所接收的解码测试地址相同(即,dec_addr_xor=dec_addr_appl)。已处理的解码测试地址被提供到阵列218。并且,在循环2内(在循环3之前),将写入启用确证为逻辑电平一。
在循环3的上升时钟边沿之后,在写入启用被确证为逻辑电平一的情况下,data_appl(测试数据)得以写入到对应于阵列218中的dec_addr_xor(已处理的解码测试地址)的存储器位置。此写入还可被视为第二测试阶段的一部分。在循环3内,test_mode再次被取反。并且,在循环4之前对write_enable取反。在test_mode被取反的情况下,存储器204返回到正常操作,其中dec_addr_appl被设置为零,addr_appl经由addr_mux被提供到解码器220,并且辅助位经由ancilla_mux被提供到解码器220。
在返回到正常操作(正常模式)之后的某个时间点,读取存储器204的对应于测试地址的地址位置,并且将从阵列218返回的读取数据与在测试模式期间提供以用于写入的测试数据进行比较。应注意,由于此读取在正常操作期间执行,因此测试地址作为addr_appl由应用程序逻辑202提供到MUX 206,所述测试地址连同被提供到MUX 208的适当辅助位一起被提供到解码器以获得dec_addr,所述dec_addr作为dec_addr_xor原封不动地被提供到阵列218,如上文所描述)。为了使测试数据(data_appl)已在测试期间恰当地存储在测试地址(对应于dec_addr_appl)处,解码器220的所有输出必须在存储器204的所允许的定时容限内正确地从一变换成零。仅当正确地执行一到零变换时,输出解码器220才被恰当地设置为全零,从而允许逻辑电路222提供dec_addr_appl的值作为dec_addr_xor。在此情况下,在从测试地址(对应于在测试期间提供的dec_addr_appl)进行后续读取存取后,恢复正确的测试数据(即,读取数据=测试数据)。这指示解码器220没有一到零变换故障。
然而,如果在测试期间,解码器220的输出中的任一个未恰当地变换(在写入操作之前),则data_appl不会被写入到对应于解码测试地址(在测试期间提供为dec_addr_appl)的存储器位置中,因为dec_addr_xor并不像预期的那样等于dec_addr_appl。替代地,data_appl可能已基于dec_addr_appl而写入到某一其它解码地址,或可能已产生失败写入操作。因此,在从测试地址进行读取后,在测试期间存储为data_appl的正确的测试数据不会恢复(即,读取数据不等于测试数据),从而指示在解码器220内发生至少一个变换故障。应注意,在此实施例中,在退出测试模式之后,使用非关键定时在正常模式下执行读取操作。可替换的是,读取操作可在仍处于测试模式时执行,然而,可能不希望使测试模式更久。也就是说,如果读取操作在测试模式之外的正常操作期间完成,则有更多时间可用以执行所述读取操作。并且,应注意,为了在测试模式期间执行读取操作,在测试模式期间可能需要额外修改,例如允许更多时间以确保test_value的变换完全传播通过解码器220。还应注意,不管读取操作是在正常模式还是测试模式下执行,所述读取操作可被称为第三测试阶段。
图4以流程图形式示出根据本发明的一个实施例的用于测试实施有保守可逆逻辑的地址解码器(例如,220)的方法400。方法400开始于进入(402)存储器(例如,204)的测试模式,所述存储器具有实施有保守可逆逻辑的地址解码器(例如,220)以及存储器阵列(例如,218)。将一向量(全一)提供到地址解码器的输入(404),并且随后将零向量(全零)提供到地址解码器的输入(406)。逻辑电路(例如,222)从测试电路(例如,212)或存储器外部的处理器(例如,CPU 210)接收存储器阵列的解码测试地址(例如,dec_addr_appl)。逻辑电路使用地址解码器的输出(例如,dec_addr和无用数据)来处理(408)所接收的解码测试地址,以将已处理的解码测试地址(例如,dec_addr_xor)提供到存储器阵列。如上文所描述,逻辑电路可包括“异或”门,所述“异或”门处理解码测试地址的每个位和地址解码器的对应输出位,以提供已处理的解码测试地址的对应位。接下来,执行写入操作(例如,利用关键定时)以将测试数据写入到存储器阵列的对应于已处理的解码测试地址的存储器位置(410)。然后,可退出测试模式(412),以便进入正常模式(即,返回到正常操作)。
仍参考图4,在正常操作期间,从测试地址执行读取操作(414)(例如,利用非关键定时)以获得读取数据(其中测试地址经由MUX 206作为addr_appl被提供到地址解码器220)。在决策菱形416处,如果读取数据与测试数据匹配,则指示解码器中不存在一到零变换故障(418)。然而,如果读取数据与测试数据不匹配,则指示解码器中存在至少一个一到零变换故障(420)。如参考图3所描述,在替代实施例中,测试模式中可包括更多功能,其中在测试模式期间可执行框414,也可执行决策菱形416的检查。
尽管图3和4的以上描述被称为针对地址解码器220执行一到零变换测试,但可应用类似方法来执行零到一变换测试。举例来说,在测试模式期间,代替于提供一向量作为test_value,接着提供零向量作为test_value,随后执行写入操作,可首先提供零向量,接着提供一向量,以执行零到一变换测试。并且,为了使逻辑电路222恰当地处理解码测试地址,替代地提供解码测试地址作为解码测试地址的反相(dec_addr_appl',其中值的名称后的撇号指示值的反相),其中在将值提供到逻辑电路222之前对解码测试地址的每个位进行反相。此反相可由CPU 210或测试电路212执行,或已反相的解码测试地址的单独值可存储在存储装置216中。(对于零到一变换测试,针对图3和4的描述的其余部分可因此保持不变。)
在图3的实施例中,其中逻辑电路222实施有按位“异或”门以处理dec_addr_appl从而提供dec_addr_xor,使用来自解码器220的输出的零恰当地处理dec_addr_appl,因为“0异或A=A”。类似地,对于测试零到一变换,使用来自解码器220的输出的一恰当地处理dec_addr_appl',因为“1异或A'=A”。在替代实施例中,不同逻辑可用于逻辑电路222以处理解码测试地址,使得当正确地提供解码器220的输出时,dec_addr_appl=dec_addr_xor。并且,在一个实施例中,可通过首先针对零到一变换故障进行测试且接着针对一到零变换故障进行测试(或首先针对一到零变换故障进行测试且接着针对零到一变换故障进行测试)来测试两个变换。
在一些实施例中,可针对测试模式或在测试模式中时采取额外动作。举例来说,存储在任何测试地址处的数据可在测试之前存储,然后在测试之后恢复。并且,在进入测试模式后,可首先将任何测试地址初始化为已知预定值,例如,全零。然而,应注意,在测试模式中时采取的任何额外动作增加测试持续时间,这在一些应用中(例如,在功能安全的框架中)可能是不可接受的或可能需要减到最少。
因此,现在可了解,可如何通过使用保守可逆存储器地址解码器来现场获得完整的变换故障覆盖。这可通过将第一逻辑状态向量施加到解码器的输入,接着将与第一逻辑状态相反的第二逻辑状态向量施加到解码器的输入来在测试模式中实现。然后,可执行写入操作(其可使用关键定时)以将测试数据写入到测试地址。随后从测试地址执行读取存取(其可使用非关键定时),且将所获得的读取数据与在测试模式期间写入的测试数据进行比较。匹配指示在解码器中不发生从第一逻辑状态到第二逻辑状态的变换故障。以此方式,可通过对仅一个存储器地址执行写入存取而针对从第一逻辑状态到第二逻辑状态的变换故障来测试地址解码器的所有可能地址。
尽管在面积和电力方面需要较大开销以实施保守可逆逻辑,但在一些应用中,确保例如由随时间的BTI应力引起的变换故障的100%检测是关键的。举例来说,这些应用程序可包括安全性相关存储器(例如,嵌入在限制存取或授予权限、计算挑战-响应对等的逻辑中的存储器)或安全相关存储器(例如,在安全关键逻辑中使用的,尤其针对故障可能危及人类生活的逻辑而使用的存储器)。
本文中在参考使信号、状态位或类似设备呈现为其逻辑真或逻辑假状态时分别使用术语“确证”或“设置”和“取反”(或“撤销确证”或“清除”)。如果逻辑真状态为逻辑电平一,则逻辑假状态为逻辑电平零。并且如果逻辑真状态为逻辑电平零,则逻辑假状态为逻辑电平一。
本文中所描述的每个信号可设计为正逻辑或负逻辑,其中负逻辑可由信号名称上的横线或名称后的星号(*)表示。在负逻辑信号的情况下,信号为低电平有效,其中逻辑真状态对应于逻辑电平零。在正逻辑信号的情况下,信号为高电平有效,其中逻辑真状态对应于逻辑电平一。应注意,本文中所描述的任何信号均可设计为负逻辑信号或正逻辑信号。因此,在替代实施例中,描述为正逻辑信号的那些信号可实施为负逻辑信号,并且描述为负逻辑信号的那些信号可实施为正逻辑信号。
由于实施本发明的设备大部分由本领域的技术人员已知的电子组件和电路构成,因此为了理解和了解本发明的基本概念且为了不混淆或偏离本发明的教示,将不会以比上文所示出的认为必要的任何更大程度阐述电路细节。
尽管已经相对于特定导电类型或电位的极性描述了本发明,但本领域的技术人员应了解到,可颠倒导电类型或电位的极性。
此外,在说明书和权利要求书中的术语“前方”、“背面”、“顶部”、“底部”、“上方”、“下方”等(如果存在的话)用于描述性目的,且未必用于描述永久性相对位置。应理解,如此使用的术语在适当情况下可互换,使得本文中所描述的发明的实施例例如能够相比本文中所示出或以其它方式描述的那些定向以其它定向进行操作。
在适当时,以上实施例中的一些可使用多种不同信息处理系统实施。举例来说,尽管图2和其论述描述示例性信息处理架构,但呈现这种示例性架构仅为了在论述本发明的各种方面时提供有用的参考。当然,出于论述的目的,对所述架构的描述已被简化,并且其只是可根据本发明使用的适当架构的许多不同类型中的一种。本领域的技术人员应认识到,逻辑块之间的边界仅为说明性的,且替代实施例可合并逻辑块或电路元件,或在各种逻辑块或电路元件上施加功能的替代分解。因此,应理解,本文中所描绘的架构仅仅是示例性的,并且实际上,可实施实现相同功能的许多其它架构。
本领域的技术人员将认识到,上述操作的功能之间的边界仅为说明性的。多个操作的功能可被组合成单个操作,和/或单个操作的功能可被分布在另外的操作中。此外,替代实施例可包括特定操作的多个例子,且操作的次序可在各种其它实施例中进行更改。
虽然本文中参考特定实施例描述了本发明,但可在不脱离如所附权利要求书中所阐述的本发明的范围的情况下进行各种修改和改变。举例来说,不同排序可用于施加全一和全零测试向量。因此,说明书和图式应视为说明性而不是限制性意义,并且预期所有此类修改都包括在本发明的范围内。并不意图将本文中关于具体实施例所描述的任何益处、优点或针对问题的解决方案理解为任何或所有权利要求的关键、必需或必不可少的特征或元件。
如本文中所使用,术语“耦合”并不意图限于直接耦合或机械耦合。
此外,如本文中所使用,术语“一”被限定为一个或多于一个。而且,权利要求书中如“至少一个”和“一个或多个”的介绍性短语的使用不应被解释为暗示由不定冠词“一”或“一个”引入的另一权利要求要素将含有这类引入的权利要求要素的任何特定权利要求限于仅含有一个这类要素的发明,甚至是在同一权利要求包括介绍性短语“一个或多个”或“至少一个”和如“一”或“一个”的不定冠词时也如此。这同样适用于定冠词的使用。
除非另外说明,否则例如“第一”和“第二”的术语用于任意地区分此类术语所描述的元件。因此,这些术语未必意图指示此类元件的时间或其它优先级排序。
Claims (10)
1.一种集成电路装置,其特征在于,包括:
读取/写入存储器单元阵列;
应用程序逻辑电路;
地址解码器电路,所述地址解码器电路被耦合成从所述应用程序逻辑电路接收输入且将输出提供到所述存储器单元阵列,其中:
所述地址解码器电路通过具有从所述输入到所述地址解码器电路的所述输出的双射传递函数而可逆,且通过在所述输入和所述输出处具有相同数目的1而保守;
在测试期间,所述应用程序逻辑电路将测试值和测试辅助位提供到所述地址解码器电路;并且
在正常操作期间,所述应用程序逻辑电路将应用程序存储器地址和恒定辅助位提供到所述地址解码器电路。
2.根据权利要求1所述的集成电路装置,其特征在于,另外包括:
第一多路复用器,所述第一多路复用器耦合在所述应用程序逻辑电路与所述地址解码器电路之间,所述第一多路复用器被配置成在所述正常操作期间将所述应用程序存储器地址提供到地址解码器,且在所述测试期间将所述测试值提供到所述地址解码器电路。
3.根据权利要求2所述的集成电路装置,其特征在于,另外包括:
第二多路复用器,所述第二多路复用器耦合在所述应用程序逻辑电路与所述地址解码器电路之间,所述第二多路复用器被配置成在所述正常操作期间将所述恒定辅助位提供到所述地址解码器电路,且在所述测试期间将所述测试辅助位提供到所述地址解码器电路。
4.根据权利要求3所述的集成电路装置,其特征在于,另外包括:
“异或”逻辑电路,所述“异或”逻辑电路耦合在所述地址解码器电路与所述读取/写入存储器单元阵列之间,所述“异或”逻辑电路被配置成接收来自所述应用程序逻辑电路的解码应用程序存储器地址以及来自所述地址解码器电路的输出,且输出用于存取所述读取/写入存储器单元阵列的解码地址。
5.根据权利要求4所述的集成电路装置,其特征在于,所述应用程序逻辑电路被配置成:
在所述测试的第一阶段期间,将所述测试值中的所有位设置为第一二进制值,且将所述解码应用程序存储器地址设置为所述读取/写入存储器单元阵列的要在所述测试期间用于写入存取的测试地址的解码版本;并且
在所述测试的第二阶段期间,将所述测试值中的所有位设置为与所述第一二进制值相反的第二二进制值。
6.根据权利要求4所述的集成电路装置,其特征在于:
所述应用程序逻辑电路被配置成:
在所述测试期间,在所述测试的第一阶段中将所有位被设置为一的测试值提供到所述地址解码器电路;
在所述测试期间,在所述测试的第二阶段中将所有位被设置为零的测试值提供到所述地址解码器电路,且将数据值写入到对应于所述读取/写入存储器单元阵列中的所述解码地址的存储器位置;并且
在所述测试的所述第二阶段之前,将所述解码应用程序存储器地址设置为所述读取/写入存储器单元阵列的测试地址的解码版本。
7.一种用于测试集成电路中的老化效应的方法,其特征在于,包括:
在测试模式期间:
将作为输入提供到地址解码器电路的测试值中的所有位设置为第一二进制值;
在预定时间之后,将作为输入提供到所述地址解码器电路的所述测试值中的所有位设置为不同于所述第一二进制值的第二二进制值;
在逻辑电路中处理所述地址解码器电路的输出和解码测试地址,其中,在所述测试模式下,所述解码测试地址被设置为存储器装置中的测试地址的解码版本;
从所述逻辑电路提供解码地址;
在对应于所述存储器装置中的所述解码地址的存储器位置处写入数据值;并且
一旦所述测试模式结束,
使用非关键定时方案在所述测试地址处读取所述存储器装置的内容;
将所述数据值与在所述测试地址处读取的所述内容进行比较;以及
当所述数据值与在所述测试地址处读取的所述内容不匹配时指示存在故障。
8.根据权利要求7所述的方法,其特征在于,所述逻辑电路为按位“异或”逻辑,所述方法另外包括在正常操作模式期间将所述解码测试地址设置为全零。
9.根据权利要求7所述的方法,其特征在于,另外包括:
在所述测试模式期间将测试辅助位提供到所述地址解码器电路。
10.一种处理系统,其特征在于,包括:
应用程序逻辑电路,所述应用程序逻辑电路包括被配置成执行应用程序代码的处理器单元;
地址解码器电路,所述地址解码器电路被耦合成从所述应用程序逻辑电路接收输出,其中所述地址解码器电路是可逆且保守的;
异或逻辑电路,所述异或逻辑电路被配置成接收来自所述地址解码器电路的输出和来自所述应用程序逻辑电路的解码应用程序地址;
存储器阵列,所述存储器阵列被耦合成接收由所述异或逻辑电路输出的解码地址,
其中,所述应用程序逻辑电路被配置成:
在测试模式的第一阶段期间,输出所有位被设置为第一二进制值的测试值;
在所述测试模式的第二阶段期间,输出所述测试值的所有位被设置为不同于所述第一二进制值的第二二进制值的所述测试值,且在对应于由所述异或逻辑输出的所述解码地址的存储器位置处将数据值写入到所述存储器阵列;
在所述测试模式的所述第二阶段之前,将所述解码应用程序地址设置为所述存储器阵列的测试地址的解码版本;
在所述测试模式结束时,从所述测试地址读取所述存储器阵列的内容,且将所述内容与所述数据值进行比较以确定所述地址解码器电路是否正确运行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/248,661 | 2021-02-02 | ||
US17/248,661 US11435940B2 (en) | 2021-02-02 | 2021-02-02 | Testing a memory which includes conservative reversible logic |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114842902A true CN114842902A (zh) | 2022-08-02 |
Family
ID=82561522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210109646.8A Pending CN114842902A (zh) | 2021-02-02 | 2022-01-29 | 测试包括保守可逆逻辑的存储器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11435940B2 (zh) |
CN (1) | CN114842902A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11915775B2 (en) * | 2021-09-29 | 2024-02-27 | Micron Technology, Inc. | Apparatuses and methods for bad row mode |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5691950A (en) * | 1996-01-19 | 1997-11-25 | Sgs-Thomson Microelectronics, Inc. | Device and method for isolating bit lines from a data line |
KR20060014057A (ko) * | 2003-05-22 | 2006-02-14 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 전자 회로 테스트 방법 및 장치 |
US20060041798A1 (en) * | 2004-08-23 | 2006-02-23 | On-Chip Technologies, Inc. | Design techniques to increase testing efficiency |
WO2016200747A1 (en) * | 2015-06-08 | 2016-12-15 | Microsoft Technology Licensing, Llc | System for reversible circuit compilation with space constraint, method and program |
US11112458B1 (en) * | 2020-08-21 | 2021-09-07 | Nxp B.V. | Testing an integrated circuit having conservative reversible logic |
-
2021
- 2021-02-02 US US17/248,661 patent/US11435940B2/en active Active
-
2022
- 2022-01-29 CN CN202210109646.8A patent/CN114842902A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11435940B2 (en) | 2022-09-06 |
US20220244881A1 (en) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7369455B2 (en) | Calibration circuit of a semiconductor memory device and method of operating the same | |
US7373572B2 (en) | System pulse latch and shadow pulse latch coupled to output joining circuit | |
Zarrineh et al. | On programmable memory built-in self test architectures | |
US7017089B1 (en) | Method and apparatus for testing a content addressable memory device | |
US7093176B2 (en) | Programmable test for memories | |
CN107591170B (zh) | 用于存储器操作条件改变的方法和设备 | |
JP2012248194A (ja) | 状態保持回路における状態保全性の検証 | |
US8689068B2 (en) | Low leakage current operation of integrated circuit using scan chain | |
US5896399A (en) | System and method for testing self-timed memory arrays | |
CN102844742B (zh) | 带有mux-d扫描功能的脉冲动态逻辑门 | |
US6990038B1 (en) | Clock driver and boundary latch for a multi-port SRAM | |
CN114842902A (zh) | 测试包括保守可逆逻辑的存储器 | |
US11755803B2 (en) | Programmable macro test design for an integrated circuit | |
KR20090096154A (ko) | 병렬 비트 테스트를 수행하는 테스트 시스템 | |
US8806416B1 (en) | Method and circuit to implement a static low power retention state | |
Zorian et al. | An effective BIST scheme for ring-address type FIFOs | |
US11112458B1 (en) | Testing an integrated circuit having conservative reversible logic | |
Mohammad | Embedded memory interface logic and interconnect testing | |
US6944784B2 (en) | Flip-flop having multiple clock sources and method therefore | |
AU614426B2 (en) | Constitution for expanding logic scale of a programmable logic array | |
Li | Transparent-test methodologies for random access memories without/with ECC | |
Zarrineh et al. | Self test architecture for testing complex memory structures | |
US20180074126A1 (en) | Apparatus and method for employing mutually exclusive write and read clock signals in scan capture mode for testing digital interfaces | |
US10706949B2 (en) | Multi-port register file device and method of operation in normal mode and test mode | |
US10020031B2 (en) | Location-based optimization for memory systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |