用于测试嵌入式存储器的存储器硬宏分区优化转让专利

申请号 : CN201280054443.8

文献号 : CN103917879B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : Y·佐里安K·达宾延G·托杰延

申请人 : 美商新思科技有限公司

摘要 :

一种被设计用于支持多种用于测试的设计(DFT)技术的存储器硬宏,具有与DFT技术和共享逻辑器件或者部件的存储器实例的功能操作关联的信号路径。该存储器硬宏包括形成功能存储器数据路径的功能输入端口和功能输出端口,该功能数据路径包括来自存储器实例的输入锁存器。该存储器硬宏还包括形成扫描数据路径的扫描输入端口和扫描输出端口,该扫描数据路径包括来自数据缓冲器电路阵列的输入锁存器和来自感测放大器阵列的输出锁存器。该存储器硬宏还包括形成BIST数据路径的BIST输入端口和BIST输出端口,该BIST数据路径包括来自数据缓冲器电路阵列的至少一个输入锁存器和来自感测放大器阵列的至少一个输出锁存器。

权利要求 :

1.一种存储器硬宏,包括:

功能输入端口、功能输出端口和从所述功能输入端口到所述功能输出端口的功能存储器数据路径,所述功能存储器数据路径包括:数据缓冲器电路阵列,包括来自存储器实例的输入锁存器,存储器单元阵列,以及感测放大器阵列,所述感测放大器阵列被包括在存储器实例中,所述感测放大器阵列包括来自所述存储器实例的输出锁存器;

扫描输入端口、扫描输出端口和从所述扫描输入端口到所述扫描输出端口的扫描数据路径,所述扫描数据路径包括:扫描触发器阵列,所述扫描触发器包括来自所述数据缓冲器电路阵列的输入锁存器;

以及

来自所述感测放大器阵列的输出锁存器,所述输出锁存器中的每个输出锁存器具有耦合到所述存储器阵列并且被耦合以用于从来自所述数据缓冲器电路阵列的所述输入锁存器中的一个输入锁存器接收所述输出的输入,每个输出锁存器具有耦合到所述扫描输出端口的输出;

其中所述扫描数据路径的所述扫描输出端口旁路所述存储器单元阵列;以及BIST输入端口、BIST输出端口和从所述BIST输入端口到所述BIST输出端口的BIST数据路径,当BIST使能信号被设置为第一逻辑电平以使能通过BIST数据路径的功能数据的传输时,所述BIST输入端口作为所述功能输入端口进行操作,并且当所述BIST使能信号被设置为第二逻辑电平以使能通过所述BIST数据路径的BIST测试数据的传输时,所述BIST输入端口在BIST模式中进行操作,所述BIST数据路径包括:来自所述数据缓冲器电路阵列的至少一个输入锁存器;

所述存储器单元阵列;以及

来自所述感测放大器阵列的至少一个输出锁存器。

2.根据权利要求1所述的存储器硬宏,其中将来自所述功能输出端口的功能存储器数据输出的定时与来自所述扫描输出端口的扫描数据输出的定时进行匹配。

3.根据权利要求1所述的存储器硬宏,其中所述输入锁存器和输出锁存器一起被钟控。

4.根据权利要求1所述的存储器硬宏,还包括预载荷端口、串行测试输入端口、存储器管线输出端口和串行测试数据路径,所述预载荷端口被配置用于启用通过所述串行测试数据路径的传输,所述串行测试数据路径按照从所述串行测试输入端口到所述存储器管线输出端口的以下顺序包括:BIST复用器电路;

来自所述数据缓冲器电路阵列的所述至少一个输入锁存器;

所述存储器单元阵列;

旁路复用器电路;以及

BIST捕获电路。

5.根据权利要求4所述的存储器硬宏,其中所述BIST复用器电路包括:选择输入,耦合到所述预载荷端口以从所述串行测试输入端口和存储器管线输出数据中的至少一项,以用于传输到BIST复用器输出。

6.根据权利要求1所述的存储器硬宏,其中所述扫描触发器包括:扫描输入锁存器,被耦合以用于接收来自存储器实例的所述输入锁存器的输出、并且具有被配置用于向旁路复用器电路输出扫描测试数据的输出。

7.根据权利要求1所述的存储器硬宏,其中所述存储器实例是嵌入式静态随机存取存储器(SRAM)。

8.根据权利要求1所述的存储器硬宏,其中所述存储器单元阵列在无刷新周期的功能模式中操作。

9.根据权利要求1所述的存储器硬宏,其中在所述存储器设计阶段期间在所述存储器硬宏内关闭与所述功能数据路径、扫描数据路径和BIST数据路径关联的定时。

10.一种存储器硬宏,包括:

输入复用器电路,具有用于从扫描测试数据、BIST测试数据和用户数据进行选择以用于向复用器输出进行传输的选择输入;

扫描触发器,包括第一输入锁存器电路,所述第一输入锁存器电路被耦合以用于接收所述复用器输出,所述扫描触发器被耦合以用于向与存储器实例关联的存储器测试逻辑传输扫描测试数据,并且所述第一输入锁存器电路被耦合以用于向包括在所述存储器实例中的存储器阵列传输BIST测试数据和/或用户数据;以及BIST捕获电路,包括输出锁存器电路,所述BIST捕获电路被耦合以用于从所述存储器阵列接收BIST测试数据和/或用户数据,所述输出锁存器电路被耦合以用于从所述存储器测试逻辑接收扫描测试数据。

11.一种存储器硬宏,包括:

BIST复用器电路,具有用于从BIST测试数据和存储器管线输出数据中的至少一项进行选择以用于向BIST复用器输出进行传输的选择输入;

扫描复用器电路,被耦合以用于接收所述BIST复用器输出,并且被配置以用于从BIST复用器输出信号和扫描测试数据中的至少一项进行选择以用于向第一输入锁存器电路进行传输,其中所述第一输入锁存器电路位于耦合到存储器阵列的数据缓冲器电路中;

扫描触发器电路,包括所述第一输入锁存器电路,所述第一输入锁存器电路具有被配置用于向旁路复用器电路的第一输入输出扫描测试数据的输出;以及BIST捕获电路,包括输出锁存器电路,所述输出锁存器电路:被耦合用于接收所述旁路复用器电路的输出;并且包含于耦合到所述存储器阵列的感测放大器电路中。

12.根据权利要求11所述的存储器硬宏,其中所述BIST复用器电路包括:第一复用器,被配置用于从所述BIST测试数据和所述存储器管线输出数据中的至少一项进行选择以用于向第二复用器进行传输,所述第二复用器被配置用于从第一复用器输出信号和用户数据进行选择以用于向所述BIST复用器输出进行传输。

13.根据权利要求11所述的存储器硬宏,其中所述扫描触发器电路还包括:第二输入锁存器电路,具有耦合到所述第一输入锁存器电路的所述输出和所述存储器阵列的数据输入的输出,以及耦合到所述旁路复用器电路的第二输入的输出。

14.根据权利要求11所述的存储器硬宏,其中所述BIST捕获电路包括被配置用于输出存储器输出数据的第一输出和被配置用于输出管线存储器输出数据的第二输出,所述存储器输出数据和所述管线存储器输出数据根据所述存储器阵列的所述数据输出来导出。

15.根据权利要求11所述的存储器硬宏,其中所述存储器硬宏的一部分位于存储器输入/输出(I/O)电路中。

16.一种存储器硬宏,包括:

BIST复用器电路,具有用于从BIST测试数据和存储器管线输出数据中的至少一项进行选择以用于向BIST复用器输出进行传输的选择输入;

扫描复用器电路,具有耦合到所述BIST复用器输出的输入和耦合到第一输入锁存器的输出,其中所述第一输入锁存器电路的至少一部分位于耦合到存储器阵列的数据缓冲器电路;

扫描触发器,包括所述第一输入锁存器电路,并且具有被配置用于向旁路复用器电路输出来自所述第一输入锁存器电路的输出的扫描测试数据的输出;以及BIST捕获电路,包括耦合到旁路复用器输出的输出锁存器电路,其中在耦合到所述存储器阵列的感测放大器电路中包括所述输出锁存器电路的至少一部分。

17.一种用于将至少一个SRAM存储器实例编译作为存储器硬宏的存储器编译器,所述存储器编译器包括:用于生成BIST复用器电路的代码部分,所述BIST复用器电路具有用于从BIST测试数据和存储器管线输出数据中的至少一项进行选择以用于向BIST复用器输出进行传输的选择输入,所述BIST复用器电路提供集成的所述存储器硬宏的输入端口;

用于生成扫描复用器电路的代码部分,所述扫描复用器电路具有耦合到所述BIST复用器输出的输入和耦合到第一输入锁存器的输出,其中所述第一输入锁存器电路的至少一部分位于耦合到存储器阵列的数据缓冲器电路中;

用于生成扫描触发器的代码部分,所述扫描触发器包括所述第一输入锁存器电路并且具有被配置用于向旁路复用器电路输出来自所述第一输入锁存器电路的输出的扫描测试数据的输出;以及用于生成BIST捕获电路的代码部分,所述BIST捕获电路包括:

输出锁存器电路,具有耦合到旁路复用器输出的输入和被耦合用于驱动所述存储器硬宏的输出端口的输出,其中所述输出锁存器电路的至少一部分位于感测放大器电路中;以及输出捕获寄存器,具有被耦合用于接收所述旁路复用器输出的所述输出的输入和被耦合用于向所述存储器硬宏的所述输出端口驱动所述存储器管线输出数据的输出。

说明书 :

用于测试嵌入式存储器的存储器硬宏分区优化

技术领域

[0001] 本公开内容总体涉及用于测试嵌入式集成电路的技术。具体而言,但不作为限制,本公开内容涉及用于测试被格式化为存储器硬宏的嵌入式存储器实例的系统和方法。

背景技术

[0002] 嵌入式存储器消耗广泛多种片上系统(SoC)设备中的越来越多数量的管芯面积。部分受半导体工艺技术发展驱动,用嵌入式存储器填充的管芯面积覆盖了许多SoC中的总管芯面积的大于百分之八十。并且由于嵌入式存储器可以覆盖大量管芯面积,所以嵌入式存储器可能更容易受到晶片制作以及其它制造和组装步骤引起的缺陷影响。高级半导体工艺技术产生的减少的特征尺寸也可能增加出现制作缺陷的概率。
[0003] 为了提高这些缺陷产生的测试覆盖,SoC设计者可以将使用用于测试技术的设计组合。例如用于测试技术的某个设计以嵌入式存储器实例为目标。用于测试技术的其它设计可以以验证一个或者多个信号路径为目标,该一个或者多个信号路径包括被耦合用于接收外部数据的输入管脚、包围存储器实例的测试逻辑和被耦合用于传输接收的数据的输出管脚。用于测试技术的附加设计可以包括在每个嵌入式存储器实例周围添加标准化的接口逻辑以有助于个别、并行或者以菊链方式测试多个嵌入式存储器实例。
[0004] 添加专门用于测试技术的特定设计的测试或者阴影逻辑可以提高故障覆盖而代价为性能密度。附加测试逻辑消耗了原本可以用于SoC的功能操作的管芯面积。并且对于许多高速设计,用附加测试逻辑包围存储器芯增加了向存储器实例的路由复杂性并且延长了定时关闭(timing closure)。
[0005] 因此希望具有用于提供用于测试方法的改进的设计的系统或者方法,这些系统和方法优化SoC性能密度并且减少与定时关闭关联的工作。

发明内容

附图说明

[0006] 在本说明书中并入的并且构成本说明的一部分的附图图示这里公开的实施例,其与说明书一起用于说明公开的实施例的原理:
[0007] 图1图示与公开的实施例一致的一个示例实施例的框图。
[0008] 图2图示与公开的实施例一致的示例存储器硬宏的框图。
[0009] 图3图示与公开的实施例一致的示例BIST复用器电路的框图。
[0010] 图4图示与公开的实施例一致的示例扫描复用器电路的框图。
[0011] 图5图示与公开的实施例一致的示例扫描触发器的框图。
[0012] 图6图示与公开的实施例一致的示例旁路复用器和BIST捕获电路的框图。
[0013] 图7图示与公开的实施例一致的示例存储器硬宏的操作模式表。
[0014] 图8图示与公开的实施例一致的示例存储器硬宏的另一操作模式表。

具体实施方式

[0015] 现在具体参照附图中所示公开的实施例。只要可能,相同标号将贯穿附图用来指代相同或者相似部分。应当注意附图是以大量简化的形式而无精确比例。
[0016] 配置概况
[0017] 本公开内容的实施例涉及优化存储器硬宏内的资源分区以支持用于测试嵌入式存储器实例和关联测试逻辑的多种技术。优化分区包括使用在存储器实例中包括的测试逻辑和外围存储器逻辑的组合以支持用于测试嵌入式存储器的多种技术的操作以及其它操作。通过这样做,与不同测试技术和存储器实例的功能操作关联的信号路径可以共享逻辑器件或者部件。测试技术例如可以包括而不限于存储器内置自测试(MBIST)、自动化的测试图案生成(ATPG)扫描、功能管线和IEEE标准1500。以这一方式对存储器硬宏进行分区减少与测试关联的面积开销、减少定时关闭的复杂性、最小化向存储器实例的路由并且提高故障覆盖。
[0018] 在以下描述中,术语“存储器实例”是指在管芯上实例化一个或者多个存储器块或者组。每个块可以包括一个或者多个存储器阵列以及用来从(多个)存储器阵列读取数据和向(多个)存储器阵列写入数据的关联外围逻辑。例如存储器实例可以包括嵌入的静态随机存取存储器(SRAM)或者在无刷新周期的情况下操作的其它存储器技术。存储器实例也可以包括动态随机存取存储器(DRAM)、内容可寻址存储器(CAM)或者射频(RF)存储器。
[0019] 除非另有具体陈述,否则对单数形式的使用包括了复数形式。在本说明书中,除非另有具体陈述,否则使用“或者”意味着“和/或”。另外,使用术语“包括(including)”以及其它形式、比如“包括了(includes)”和“包括有(included)”并非限制。此外,除非另有具体陈述,否则术语、比如“元件”或者“部件”涵盖包括一个单元的元件和部件,以及包括多于一个子单元的元件和部件。
[0020] 另外,可以使用术语“耦合”和“连接”及其派生词。应当注意这些术语未旨在于作为用于彼此的同义词。实际上,在具体实施例中,“连接”和/或“耦合”可以用来指示两个或者更多元件相互直接物理或者电子接触。然而“耦合”也可以意味着两个或者更多元件未相互直接接触、但是仍然相互配合、通信和/或交互。这里使用的章节标题仅用于组织目的,而不会解释为限制描述的主题内容。
[0021] 计算机器架构
[0022] 图1是图示被配置用于从计算机可读介质读取指令并且在处理设备中执行它们的示例机器的部件的框图。具体而言,图1示出计算机系统100这一示例形式的机器的图解表示,可以在该机器内执行指令124(例如软件),这些指令用于使机器执行这里讨论的方法中的任何一种或者多种方法。在备选实施例中,机器作为单独设备操作或者可以以将连接(例如联网)到其它机器的分布式方式操作。在联网的部署中,机器可以在服务器-客户端网络环境中作为服务器机器或者客户端机器或者在对等(或者分布式)网络环境中作为对等机器操作。
[0023] 机器可以是服务器计算机、客户端计算机、个人计算机(PC)或者适合执行指令124(依序或者非依序)的任何机器,这些指令指定将由该机器采取的动作。另外,尽管图示仅单个机器,但是也应当解读术语“机器”包括机器的任何汇集,这些机器个别或者联合执行指令124以执行这里讨论的方法中的任何一种或者多种方法。例如指令124可以执行存储器编译器操作以使设计者能够汇编用于与这里公开的方法一致的特定SoC的定制的存储器硬宏。
[0024] 示例计算机系统100可以包括被配置用于经由总线108相互通信的处理器102(例如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、一个或者多个专用集成电路(ASIC))、主存储器104、静态存储器106和存储单元116中的一项或者多项。
处理器102可以是专用处理器,因为该专用处理器可以被配置和编程用于作为存储器硬宏分区优化处理器操作,该存储器硬宏分区优化处理器被编程用于与主存储器104、静态存储器106和存储单元116交换命令和数据。
[0025] 存储单元116包括存储指令124(例如软件)的计算机可读介质122,这些指令体现这里描述的方法或者功能中的任何一种或者多种方法或者功能。指令124(例如软件)也可以在由计算机系统100执行期间完全或者至少部分驻留于主存储器104内或者处理器102内(例如处理器的高速缓冲存储器内),主存储器104和处理器102也构成计算机可读介质。
[0026] 籍贯在一个示例实施例中示出计算机可读介质122为单个介质,但是应当解读术语“计算机可读介质”包括能够存储指令(例如指令124)的单个介质或者多个介质(例如集中或者分布式数据库或者关联高速缓存和服务器)。也应当解读术语“计算机可读介质”包括能够存储指令(例如指令124)的任何有形介质,这些指令用于由机器执行并且使机器执行这里公开的方法中的任何一个或者多个方法。术语“计算机可读介质”包括但不限于固态存储器、光介质和磁介质这些形式的有形数据存储库。
[0027] 存储器硬宏架构
[0028] 图2图示与公开的实施例一致的示例存储器硬宏200的框图。在以下描述中,术语“硬宏”是指半导体器件上的逻辑功能的设计,该逻辑功能指定逻辑元件和/或电路的物理连接并且指定在部件之间的物理路径和布线图。硬宏也可以是指由于物理位置或者某个其它特性而相互约束的电路实例的分组。尽管可以在硬宏内约束电路实例的物理位置,但是可以固定或者可以未固定管芯的平面图中的硬宏的位置。
[0029] 如图2所示,示例硬宏200包括在宏边界202内包括的电路实例的分组。宏边界202可以包括被耦合用于从与存储器实例和测试操作模式的功能操作关联的一个或者多个信号路径接收数据或者向该一个或者多个信号路径传输数据的端口。为了简化,将单个存储器阵列与关联测试电路装置和外围存储器电路装置一起描绘。外围存储器电路装置的位置并非旨在于反映物理位置、而是代之以用用于辅助理解功能操作和测试操作模式的各信号路径的方式来描绘。例如信号路径可以包括而不限于功能存储器数据路径、扫描数据路径、BIST数据路径和串行测试数据路径。
[0030] 与本公开内容一致的实施例包括具有多个存储器阵列的存储器配置以及如以下描述的电路实例的分组的多个实例化。举例而言并且如图2中所示,电路实例分组可以包括BIST复用器-BIST数据mux204和BIST地址/控制mux206、扫描mux208、扫描触发器(scan flip-flop)210、存储器阵列212、旁路mux214和BIST捕获电路216。尽管在图2中未示出,但是可以对于在存储器实例中包括的每个存储器数据输入/输出(I/O)复制BIST mux204、扫描mux208、扫描触发器210、旁路mux214和BIST捕获电路216。类似地,可以对于每个存储器地址/控制输入复制BIST地址/控制mux206、扫描mux208和扫描触发器210。另外,与其它实施例一致的存储器硬宏可以包括用如下方式架构的备选和/或附加电路,该方式用于执行如这里讨论的方法。在图3-图6的描述中覆盖在存储器硬宏200中包括的每个电路实例的更多细节。
[0031] 为了提供与其它宏或者电路的物理和逻辑接口,在宏边界202中包括的端口可以包括一个或者多个管脚类型。例如存储器硬宏200可以包括用户管脚、测试管脚和输出管脚以及其它管脚类型。用户管脚可以包括耦合到BIST数据mux204的输入的用户数据输入管脚以及耦合到BIST地址/控制mux104的用户写入使能掩码(WEM)、用户地址(ADDR)和用户控制(CTL)管脚。尽管在图2中表示为单个传输路径,但是每个用户管脚可以代表一个或者多个管脚,该一个或者多个管脚形成适合与存储器硬宏100交换信息的总线或者其它接口。例如用户数据输入可以是包括多个管脚的端口或者互连,该多个接口适合并行传输格式化如下的信号:用户D[NB],其中NB代表与用户数据输入总线关联的位数或者字大小。类似地,用户WEM输入可以是包括多个管脚的互连,该多个管脚适合并行传输以与用户D[NB]相似的方式格式化的信号。用户ADDR输入也可以是包括多个管脚的互连,该多个管脚适合并行传输格式化如下的地址信号,ADDR[log2(NA)],其中NA代表地址位数。用户CTL输入管脚也可以包括被配置用于承载相异控制信号的多个管脚,这些控制信号包括但不限于掩码使能(ME)、写入使能(WE)和片选(CE)。
[0032] 存储器硬宏200也可以包括耦合到BIST数据mux204和BIST地址/控制mux104的一个或者多个选择输入的测试管脚BIST使能(BISTE)、耦合到BIST地址/控制mux104的输入的BIST写入使能掩码(WEM)和耦合到BIST数据mux204的选择输入之一的预载荷。为了减少测试端口计数,预载荷可以由在存储器硬宏200内的所有复用器共享。测试管脚也可以包括耦合到旁路mux112的选择输入的同步存储器旁路(SWT)以及耦合到扫描mux106的输入的ATPG扫描输入(SI)和扫描使能(SE)。虽然在图2中未图示,但是图6中描述的附加测试管脚包括耦合到BIST捕获电路的输入的捕获使能(CAPT)、数据保留控制(DR_CTL)、比较数据(CD)和MBIST电路扫描使能(SEQ)。在一些实施例中,可以用最小化外部路由的方式在存储器硬宏200以内分组或者路由与SWT、BISTE、CAPT、DR_CTL、SE和SEQ对应的信号。在这些实施例中,优选一个管脚从存储器硬宏边界202延伸以接收和/传输对应信号,该对应信号继而可以被分发到存储器硬宏200内的适当电路实例。
[0033] 备选地或者附加地,可以在存储器硬宏200外部注册与CAPT、DR_CTL、预载荷和CD对应的管脚。测试管脚BIST WEM、BIST数据和CD可以包括适合以关于用户输入管脚先前描述的方式传输多个信号的多个管脚。例如测试输入BIST WEM可以包括适合并行传输格式化如下的信号的多个管脚:BIST WEM[NB],其中NB代表与用户数据输入总线关联的位数或者字大小。
[0034] 为了减少外部管脚数目,在一些实施例中,可以向存储器硬宏200表示与BIST数据、CD和WEM关联的信号管脚为减少或者压缩数目的位。一旦接收,存储器硬宏200可以执行模运算以解压该数目的接收的位。例如这样的模运算可以根据以下等式操作:
[0035] 内部[x]=外部[x mod M](等式1)
[0036] 其中N代表存储器硬宏200内部的总线的位宽度,M代表存储器硬宏200外部的位宽度,并且x代表存储器硬宏200内部的存储器总线的位数。存储器硬宏200也可以包括输出管脚、存储器输出Q[NB]和存储器管线输出QP[NB],其中如先前讨论的那样,NB代表与用户数据输入总线关联的位数或者字大小。
[0037] 图3图示与公开的实施例一致的示例BIST复用器电路的框图。如这里所用术语mux或者复用器可以是适合允许响应于选择信号的特性选择在一个或者多个输入上的信号用于向输出传输的任何电路。Mux可以基于本领域普通技术人员已知的在选择输入接收的信号的逻辑值、模拟值、二进制地址或者其它信号特性从一个或者多个输入选择。Mux也可以是指被配置用于组合在一个或者多个输入接收的信号用于向单个输出传输的电路。另外,mux可以指背配置用于交织两个或更多信号以用于向单个输出传输的电路。交织可以在时域或者频域中出现。为了简化附图,各图图示mux的功能表示为梯形形状。然而每个功能表示可以对应于被配置用于执行如图所示希望的操作的一个或者多个复用器电路。
[0038] BIST数据mux204包括预载荷mux204a和用户数据mux204b。尽管图示为两个分离复用器,但是可以将BIST数据mux204逻辑或者物理地组织成一个或者多个复用器。也就是说,如图3中所示预载荷mux204a和用户数据mux204b图示BIST数据mux204执行的操作的功能表示。如图3中所示,预载荷mux204a包括耦合到管脚BIST测试数据和存储器管线输出QP的输入。预载荷mux204a提供用于访问输入BIST测试数据的单端口访问和对存储器阵列212的串行访问、由此减少用于存储器硬宏200的端口计数。预载荷mux204a也包括耦合到管脚预载荷的选择输入。在常规BIST操作中,预载荷mux204a选择从BIST测试数据接收的数据用于向预载荷mux204a的输出传输。在BIST/IEEE1500模式中,预载荷mux204a选择从QP接收的数据。例如在BIST/IEEE1500模式中,可以将预载荷信号设置成逻辑“1”的值,该值选择从QP接收的存储器管线数据以用于向用户数据mux204b传输。用户数据mux204b包括耦合到预载荷mux204a的输出、并且被耦合用于接收用户数据的输入。用户数据mux204也包括耦合到BISTE管脚的选择输入,该选择输入被配置用于选择预载荷mux204a的输出或者用户数据以用于向BIST mux输出传输。
[0039] 在一些实施例中,BIST地址/控制mux206可以被配置用于以与BIST数据mux204功能相似的方式操作。BIST地址/控制mux206包括WEM mux206a、ADDR mux206b和CTL mux206c。复用器WEM mux206a、ADDR mux206b和CTL mux206c中的每个复用器具有被耦合用于接收BIST使能信号BISTE的选择输入。WEM mux206a包括耦合到管脚用户WEM和BIST WEM的输入以及输出WEM mux输出。ADDR mux206b包括耦合到管脚用户ADDR和BIST ADR的输入以及输出ADDR mux输出。CTL mux206c包括耦合到管脚用户CTL和BIST CTL的输入以及输出CTL mux输出。
[0040] 图4图示与公开的实施例一致的示例扫描复用器电路208的框图。如图4中所示,扫描复用器208可以包括一个或者多个复用器电路208a-208d,该一个或者多个复用器电路具有耦合到BIST数据mux204和BIST地址/控制mux206的一个或者多个输出的输入,以及ATPG扫描输入。例如如图4中所示,扫描mux A包括耦合到BIST mux输出的输入和来自外部测试器的测试扫描输入数据。测试扫描输入数据可以是如本领域普通技术人员已知的外部存储器测试器产生的任何适当图案。扫描mux B包括耦合到WEM mux输出的输入和来自外部测试器的测试扫描输入数据。扫描mux C包括耦合到ADDR mux输出的输入和来自外部测试器的测试扫描输入数据。扫描mux D包括耦合到CTL mux输出的输入和来自外部测试器的测试扫描输入数据。
[0041] 在ATPG扫描模式中,扫描mux208被配置用于复用来自外部测试器的多个扫描数据和控制信息以用于向扫描触发器210传输。在一些实施例中,为了在ATPG扫描模式中操作扫描mux208,可以将扫描使能输入SE设置成逻辑“1”。在BIST模式中,扫描mux208被配置用于复用BIST数据mux204和BIST地址/控制mux206的输出以用于向扫描触发器210传输。为了在BIST模式中操作扫描mux208,可以将扫描使能输入SE设置成逻辑“1”,或者如果逻辑“1”将扫描mux208置于ATPG扫描模式中则可以将扫描使能输入SE设置成逻辑“0”。
[0042] 图5图示与公开的实施例一致的示例扫描触发器210的框图。如图5中所示,扫描触发器210可以包括第一系列输入锁存器电路210a1-210d1,该第一系列输入锁存器电路具有耦合到第二系列锁存器电路210a2-210d2的输入的输出。锁存器电路可以是指被配置用于在就绪位置保持数据直至需要的任何电路。如本领域普通技术人员所知,一对锁存器电路可以耦合在一起以形成触发器。如图5中所示,输入锁存器电路210a1-210d1耦合到锁存器电路210a2-210d2的输入以形成扫描触发器210。虽然在图5中未示出,但是扫描触发器210可以包括在锁存器电路210a1-210d1的输出与锁存器电路210a2-210d2的输入之间的适合生成输出信号输入锁存器输出A-D的附加组合逻辑或者电路。
[0043] 在一些实施例中,输入锁存器电路210a1-210d1可以位于在存储器实例中包括的外围电路装置,该外围电路装置用来从存储器阵列212读取数据和向存储器阵列212写入数据。也就是说,可以在用于选择行和列的存储器实例地址逻辑、用于在存储器阵列212的存储器单元中存储用户数据的写入逻辑、用于控制数据何时在存储器输出上出现的输出使能逻辑或者在存储器阵列212的功能操作中使用的其它外围电路装置中包括输入锁存器电路210a1-210d1。为了执行扫描mux210的功能,在存储器实例中包括的外围电路装置的一部分、比如输出寄存器锁存器可以与测试电路输入锁存器210a2-210d2之一操作地耦合。
[0044] 图6图示与公开的实施例一致的实例旁路mux214和BIST捕获电路216的框图。如图6中所示,旁路mux214可以被配置用于基于旁路选择信号SWT在ATPG扫描模式期间旁路存储器阵列212。旁路mux214可以包括被耦合用于接收存储器阵列212的数据输出的第一输入和被耦合用于接收在扫描mux210中包括的输出输入扫描锁存器210a2从而旁路存储器阵列212的第二输入。为了在ATPG扫描模式中操作旁路mux214,可以将旁路选择信号SWT设置成逻辑“1”,或者如果逻辑“0”将旁路mux214置于功能模式中则将旁路选择信号SWT设置成逻辑“0”。
[0045] 在一些实施例中,BIST捕获电路216可以被配置用于比较来自存储器阵列212的输出与预定值或者值集合。在其它实施例中,BIST捕获电路216可以被配置用于比较从扫描mux210输出的扫描测试数据与另一预定值或者值集合。举例而言并且如图6中所示,BIST捕获电路216可以包括异或门600、AND门602、OR门604、AND门606、复用器608、触发器610和感测放大器/锁存器612。异或门600具有耦合以接收旁路mux206的输出和比较数据值CD的输入。根据操作模式,可以外部寄存、在BIST控制之下操作或者去使能CD。AND门602可以被耦合以用于接收异或门600的输出并且被耦合用于接收捕获使能信号CAPT。根据操作模式,可以外部寄存、在BIST控制之下操作或者使能CAPT。OR门604可以被耦合以用于接收AND门602的输出和AND门606的输出。AND门606可以被耦合以用于接收来自触发器610的存储器管线输出QP以及数据保留控制信号DR_CTL。根据操作模式,可以外部寄存、在BIST控制之下操作、使能或者去使能DR_CTL。复用器608可以包括耦合到OR门604的输出的第一输入和耦合到来自外部测试器的ATPG扫描输入数据的第二输入。复用器608也可以包括耦合到BIST捕获电路扫描使能信号SEQ的选择输入。触发器610可以被耦合以用于接收复用器608的输出、存储器时钟CLK并且耦合到输出存储器管线输出QP。
[0046] 与本公开内容一致的实施例可以包括适合执行如这里讨论的BIST捕获电路216的希望的功能的备选或者附加组合逻辑。感测放大器/锁存器612可以被耦合以用于接收旁路复用器214的输出并且输出寄存的存储器输出信号Q。虽然被图示为位于BIST捕获电路216中,但是感测放大器/锁存器612位于在存储器实例中的用来从存储器阵列212读取数据的外围存储器电路装置。例如感测放大器/锁存器612可以包含于存储器实例中并且可以用来在存储器阵列212的读取操作期间读取存储器阵列212内的位线。
[0047] 图7图示与公开的实施例一致的实例存储器硬宏的操作模式表700。如图7中所示并且举例而言,存储器硬宏200可以在至少三个嵌入式存储器测试操作模式和常规或者功能操作模式中操作。
[0048] 在功能模式期间,去使能或者设置BISTE为逻辑“0”以使BIST数据mux204选择测试数据输入用于向扫描mux208传输并且使BIST地址/控制mux206选择用户WEM、用户ADDR和用户CTL用于向扫描mux208传输。类似地,也去使能或者设置扫描使能信号SE为逻辑“0”从而使扫描mux208选择BIST数据mux204和BISTaddr/ctrl mux206的输出用于向扫描触发器210传输。将旁路选择信号SWT设置成逻辑“0”以使旁路mux214选择存储器阵列212的数据输出Q_mem用于向BIST捕获电路216传输。去使能或者设置比较数据值为逻辑“0”从而使异或门600的输出跟踪Q_mem的逻辑值。将BIST捕获使能信号CAPT设置成逻辑“1”从而使AND门602的输出跟踪Q_mem的逻辑值。去使能或者设置数据保留控制信号DR_CTL为逻辑“0”从而使AND门606的输出设置成逻辑“0”。由于将606的输出设置成逻辑“0”,所以OR门604的输出也跟踪Q_mem的逻辑值。去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”从而使复用器508选择OR门604的输出用于向触发器610传输。在存储器时钟CLK的上升沿上,触发器510将向它的输出移位在它的输入接收的数据作为存储器管线输出信号QP。在功能模式期间,信号预载荷、BIST数据、BIST WEM、BIST ADDR和BIST CTL的值并不影响BIST捕获电路216的输出。
[0049] 在功能模式期间,用户数据由作为功能输入端口操作的BIST数据mux204接收并且由作为功能输出端口操作的感测放大器/锁存器612输出。在一些实施例中,功能存储器数据路径可以按照从功能输入端口到功能输出端口的以下顺序包括:包括在存储器实例中包括的输入锁存器(比如锁存器电路210a1-210d1之一)的数据缓冲器电路阵列;存储器单元阵列、比如存储器阵列212;以及在存储器实例、比如感测放大器/锁存器612中包括的感测放大器阵列。
[0050] 在ATPG扫描模式期间,可以异步地旁路存储器阵列212以提供快速ATPG测试、与功能模式操作时间匹配。在ATPG扫描模式期间,在存储器设备外部并且与ATPG测试设备关联的寄存器中设置以下信号:BISTE、CD、CAPT、DR_CTL、预载荷、BIST数据、BIST WEM和BIST CTL。为了输入扫描数据ATPG SI,使能或者设置用于扫描mux208a-208d中的一个或者多个扫描mux的SE输入为逻辑“1”以使相应mux选择ATPG SI用于向扫描触发器210传输。扫描触发器210接收在锁存器电路210a1-210d1之一的ATPG SI并且在存储器时钟CLK的上升沿上向旁路mux214输出ATPG SI。通过这样做,ATPG SI与功能模式操作时间匹配。为了向BIST捕获电路216输出ATPG SI数据,使能或者设置SWT为逻辑“1”。可以通过在ATPG控制之下将SEQ设置成1来向触发器610输出在复用器608的输入接收的ATPG SI数据。一旦由触发器610接收,ATPG SI数据将在CLK的后续时钟周期上在输出QP上出现。
[0051] 在ATPG扫描模式期间,ATPG扫描数据由作为扫描输入端口操作的扫描mux208接收并且由作为扫描输出端口的感测放大器/锁存器612输出。在一些实施例中,扫描数据路径可以包括按照从扫描输入端口到扫描输出端口的以下顺序包括:扫描触发器阵列,扫描触发器包括在存储器实例中包括的输入锁存器、比如锁存器电路210a1-210d1之一;旁路mux214;以及在存储器实例、比如感测放大器/锁存器612中包括的感测放大器阵列。感测数据路径旁路存储器阵列212。在ATPG扫描模式期间,来自扫描输出端口的扫描数据输出的定时与来自功能输出端口的功能存储器数据输出时间匹配,因为锁存电路210a1-210d1与感测放大器/锁存器612一起钟控。
[0052] 在BIST模式期间,去使能或者设置预载荷为逻辑“0”从而使预载荷mux204a选择BIST测试数据用于向用户数据mux204b传输。使能或者设置BISTE为逻辑“1”以使用户数据mux204b选择从BIST数据mux204a接收的BIST测试数据用于向扫描mux208传输并且使BIST addr/ctrl mux206选择BIST WEM、BIST ADDR和BIST CTRL用于向扫描mux208传输。去使能或者设置扫描使能信号SE为逻辑“0”从而使扫描mux208选择BIST数据mux204和BISTaddr/ctrl mux206的输出用于向扫描触发器210传输。将旁路选择信号SWT设置成逻辑“0”以使旁路mux214选择存储器阵列212的数据输出Q_mem用于向BIST捕获电路216传输。信号CD、CAPT、DR_CTL、SEQ、BIST数据、BIST WEM、BIST ADDR和BIST CTL在MBIST控制之下操作。也就是说,这些信号值由未示出、但是具有本领域普通技术人员已知的功能的MBIST控制器确定。
[0053] 在BIST模式期间,BIST数据由作为BIST输入端口操作的BIST数据mux204接收,并且由作为BIST输出端口操作的感测放大器/锁存器612输出。在一些实施例中,BIST数据路径可以按照从BIST输入端口到BIST输出端口的以下顺序包括:在存储器实例、比如锁存器电路210a1-210d1之一中包括的至少一个输入锁存器;存储器单元阵列、比如存储器阵列212;以及来自在存储器实例、比如感测放大器/锁存器612中包括的感测放大器阵列的至少一个输出锁存器。
[0054] 在IEEE1500模式期间,可以使用预载荷mux204a以串行方式访问存储器阵列212。在IEEE1500模式期间,使能或者设置预载荷为逻辑“1”从而使预载荷mux204a选择存储器管线输出数据QP数据用于向用户数据mux204b传输。使能或者设置BISTE为逻辑“1”以使用户数据mux204b选择从预载荷mux204a接收的QP用于向扫描mux208传输。去使能或者设置扫描使能信号SE为逻辑“0”,从而使扫描mux208选择用户数据mux204b和BIST addr/ctrl mux206的输出用于向扫描触发器210传输。在存储器时钟CLK的上升沿上,输入锁存器210a1将在它的输入接收的数据移位到它的输出,该输出耦合到存储器212的数据输入。将旁路选择信号SWT设置成逻辑“0”以使旁路mux214选择来自存储器阵列212的数据输出Q_mem用于向BIST捕获电路216传输。去使能或者设置比较数据值为逻辑“0”从而使异或门600的输出跟踪Q_mem的逻辑值。BIST捕获使能信号被配置用于在MBIST控制之下操作。使能或者设置数据保留控制信号DR_CTL为逻辑“1”从而使AND门606的输出跟踪QP的值。扫描使能信号DEQ在MBIST控制之下操作。
[0055] 在IEEE1500模式期间,来自存储器管线数据的串行数据由作为串行测试输入端口操作的BIST数据mux204接收并且由作为存储器管线输出端口操作的触发器610输出。在一些实施例中,串行测试数据路径可以按照从串行测试输入端口到存储器管线输出端口的以下顺序包括:BIST数据mux204;在存储器实例(比如锁存器电路210a1-210d1之一)中包括的至少一个输入锁存器;存储器单元阵列、比如存储器阵列212;旁路mux214;以及在BIST捕获单元216中包括的触发器610。可以使用预载荷来使能跨串行测试数据路径的传输。
[0056] 图8图示与公开的实施例一致的BIST捕获电路216的操作模式表800。如图8中所示并且举例而言,BIST捕获电路216可以根据以下模式操作:重置、管线、MBIST直通、MBIST累计、IEEE1500捕获、移位和数据保留。
[0057] 在重置模式期间,重置BIST捕获电路216以将QP和Q的值设置成逻辑“0”。比较数据功能在重置模式期间不活跃。因而,CD的值未影响BIST捕获电路216的输出。去使能或者设置BIST捕获使能信号CAPT为逻辑“0”。继而AND门602的输出将为逻辑“0”。去使能或者设置数据保留控制信号DR_CTL为逻辑“0”从而使AND门606的输出设置成逻辑“0”。由于将606的输出设置成逻辑“0”并且将AND门602的输出设置成逻辑“0”,所以OR门604的输出也为逻辑“0”。去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”从而使复用器608选择OR门604的输出用于向触发器610传输。在存储器时钟CLK的上升沿上,触发器510将向它的输出移位逻辑“0”的值作为存储器管线输出信号QP。
[0058] 在管线模式期间,从存储器阵列212读取并且在触发器610中依次存储数据。在后继周期期间,在向触发器610的输入呈现值时,数据在QP输出出现。也就是说,数据在选择与该数据对应的地址之后的一个时钟周期在QP出现。在管线模式期间,去使能或者设置CD为逻辑“0”从而使异或门600的输出跟踪Q_mem的逻辑值。去使能或者设置BIST捕获使能信号CAPT为逻辑“0”。继而AND门602的输出将为逻辑“0”。去使能或者设置数据保留控制信号DR_CTL为逻辑“0”从而使AND门606的输出设置成逻辑“0”。由于将606的输出设置成逻辑“0”并且将AND门602的输出设置成逻辑“0”,所以OR门604的输出也为逻辑“0”。去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”从而使复用器608选择OR门604的输出用于向触发器610输出。在存储器时钟CLK的上升沿上,触发器610将向它的输出移位逻辑“0”的值作为存储器管线输出信号QP。因此,QP的值将反映Q_mem-1在先前时钟周期期间的值,该值用Q_mem 表示。
[0059] 在MBIST直通模式期间,QP的值反映在时钟CLK的给定的周期比较Q_mem和CD的值。将CD设置成MBIST控制器确定的值以反映用于给定的时钟周期的Q_mem的预计值。异或门600作为比较器操作,该比较器在CD和Q_mem具有相同值的情况下输出逻辑“0”,或者否则输出逻辑“1”。使能或者设置BIST捕获使能信号CAPT为逻辑“1”从而使AND门
602的输出传递比较结果。去使能或者设置数据保留控制信号DR_CTL为逻辑“0”从而使AND门606的输出设置成逻辑“0”。由于将606的输出设置成逻辑“0”,所以OR门604的输出跟踪比较值。去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”从而使复用器608选择OR门604的输出用于向触发器610传输。在存储器时钟CLK的上升沿上,触发器610将向输出信号QP移位比较值。因此,在MBIST直通模式中,QP的值将反映如下值,该值指示Q_mem的预计值是与从存储器阵列212读取的Q_mem的实际值相同还是不同。
[0060] 在MBIST累计模式期间,BIST捕获电路216维持否定(negative)比较结果(例如值‘1’)直至重置BIST捕获电路216。将CD设置成MBIST控制器确定的值以反映用于给定的时钟周期的Q_mem的预计值。异或门600作为比较器操作,该比较器在CD和Q_mem具有相同值的情况下输出逻辑“0”,或者否则输出逻辑“1”。使能或者设置BIST捕获使能信号CAPT为逻辑“1”从而使AND门602的输出传递比较结果。使能或者设置数据保留控制信号DR_CTL为逻辑“1”从而使AND门606的输出反映CLK的先前周期的比较值。如果CLK的先前周期的比较值为逻辑“0”,则将从OR门604输出CLK的当前周期的比较值。去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”从而使复用器608选择CLK的当前周期的比较值的输出用于向触发器610传输并且在后续时钟周期上在QP出现。在CLK的先前周期的比较值为逻辑“1”的情况下,来自OR门604的输出将独立于在当前时钟周期确定的比较值的值而为逻辑“1”。只要去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”、或者直至重置BIST捕获电路216,QP将维持逻辑值“1”从而指示在CLK的先前周期期间捕获的否定比较结果。
[0061] 在IEEE1500模式期间,从存储器阵列212读取并且在触发器610中依次存储数据。在向触发器610的输入呈现值之后的时钟周期上,数据在QP输出出现。也就是说,数据在选择与该数据对应的地址之后的一个时钟周期在QP出现。在IEEE1500模式期间,去使能或者设置CD为逻辑“0”从而使异或门600的输出跟踪Q_mem的逻辑值。使能或者设置BIST捕获使能信号CAPT为逻辑“1”从而使AND门602的输出跟踪Q_mem的逻辑值。去使能或者设置数据保留控制信号DR_CTL为逻辑“0”从而使AND门606的输出设置成逻辑“0”。由于将606的输出设置成逻辑“0”,所以AND门602的输出也跟踪Q_mem的逻辑值。去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”从而使复用器608选择OR门
604的输出用于向触发器610传输。在存储器时钟CLK的上升沿上,触发器610将向输出信号QP移位逻辑Q_mem的值。因此,QP的值将在先前时钟周期期间反映Q_mem的值。
[0062] 在移位模式期间,可以在CLK的连续周期的上升沿期间以依次方式从触发器610输出ATPG扫描输入数据。在这一模式中,使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“1”,从而使复用器609选择ATPG扫描输入数据用于向触发器610传输和向QP输出。由于BIST捕获电路扫描使能信号SEQ被使能,所以向BIST捕获电路216的其余输入并不影响输出QP。
[0063] 在数据保留模式期间,BIST捕获单元216维持它的先前状态。去使能或者设置CD为逻辑“0”从而使异或门600的输出跟踪Q_mem的逻辑值。去使能或者设置BIST捕获使能信号CAPT为逻辑“0”。继而AND门602的输出将为逻辑“0”。使能或者设置数据保留控制信号DR_CTL为逻辑“1”从而使AND门606的输出反映来自CLK的先前周期的QP的值。由于在这一模式期间在逻辑“0”保持AND门602的输出,所以OR门604的输出跟踪AND门
606的输出的值,该值反映来自CLK的先前周期的QP的值。去使能或者设置BIST捕获电路扫描使能信号SEQ为逻辑“0”从而使复用器608选择来自CLK的先前周期的QP的值用于向触发器610传输。在存储器时钟CLK的上升沿上,触发器610将向输出信号QP移位来自CLK的先前周期的QP的值从而维持它的先前状态。
[0064] 在其它实施例中,存储器编译器可以被配置用于编译与公开的实施例一致的存储器硬宏。例如存储器编译器可以被配置用于基于处理器102执行的指令124编译至少一个SRAM存储器实例。存储器编译器可以被配置用于生成在存储器硬宏200中包括的电路实例并且生成与公开的实施例一致的存储器硬宏200的布局。通过生成存储器硬宏200的布局,在存储器设计阶段期间在存储器硬宏200以内关闭与功能数据路径、扫描数据路径、BIST数据路径和串行测试数据路径关联的定时。因此,减少用于每个数据路径和功能存储器数据路径的关闭定时的负担。
[0065] 这里已经参照附图描述各种实施例。然而将清楚可以对其进行各种修改和改变并且可以实施附加实施例而未脱离如在所附权利要求中阐述的公开内容的范围。
[0066] 另外,本领域技术人员将根据说明书的考虑和这里实施例中的一个或者多个实施例的实现而清楚其它实施例。因此旨在于这里的本公开内容和实施例仅视为示例而公开内容的真实范围和精神实质由列所附示例权利要求列表指示。