SRAM时序测试电路及测试方法转让专利

申请号 : CN202010167715.1

文献号 : CN111341376B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈根华徐柯王林

申请人 : 展讯通信(上海)有限公司

摘要 :

本发明实施例提供一种SRAM时序测试电路及测试方法。其中,SRAM时序测试电路双端口SRAM存储单元和测试电路单元,测试电路单元包括第一模式切换电路,其两个输入端分别与两个读数据信号输出端连接,一个输入端接收到的数据信号的翻转的时刻与另一个输入端接收到的数据信号的翻转的时刻不同;边沿信号触发电路的输入端与第一模式切换电路的输出端连接;第二模式切换电路的输入端与边沿信号触发电路的输出端连接,两个输出端分别与两个时钟信号输入端相连;第一模式切换电路还设置有第一使能端,第二模式切换电路具有第二使能端。从而利用双端口SRAM具有两个读数据信号输出端口的特点产生边沿触发信号,实现对Tcq的测量。

权利要求 :

1.一种SRAM时序测试电路,其特征在于,包括:双端口SRAM存储单元和测试电路单元;

其中,所述双端口SRAM存储单元包括两个地址信号输入端、两个时钟信号输入端和两个读数据信号输出端;

所述测试电路单元包括:

第一模式切换电路,设置有两个输入端,所述两个输入端分别与所述两个读数据信号输出端连接;其中,一个输入端接收到的数据信号的翻转的时刻与另一个输入端接收到的数据信号的翻转的时刻不同;

边沿信号触发电路,所述边沿信号触发电路输入端与所述第一模式切换电路的输出端连接;

第二模式切换电路,所述第二模式切换电路的输入端与所述边沿信号触发电路的输出端连接、所述第二模式切换电路的两个输出端分别与所述两个时钟信号输入端相连;

所述第一模式切换电路还设置有第一使能端,所述第二模式切换电路具有第二使能端;所述双端口SRAM存储单元还包括两个裕度控制信号输入端和分别于所述两个裕度控制信号输入端对应的两个裕度选择信号输入端;

其中,每个裕度控制信号输入端和与其对应的裕度选择信号输入端,用于控制时钟信号输入端从接收到第一信号的时刻到所述读数据信号输出端输出数据信号的时刻间的时长,所述第一信号为使所述读数据信号输出端输出数据信号的信号;

或者,所述双端口SRAM存储单元和测试电路单元之间设置有延迟电路;

所述延迟电路,用于使所述第一模式切换电路的两个输入端接收到的数据信号的翻转的时刻不同。

2.根据权利要求1所述的SRAM时序测试电路,其特征在于,

当所述第一使能端控制所述第一模式切换电路接入所述读数据信号输出端,且所述第二使能端控制所述第二模式切换电路接入所述边沿信号触发电路的输出端时,所述双端口SRAM存储单元、第一模式切换电路、所述边沿信号触发电路和第二模式切换电路形成第一环形振荡电路;

当所述第一使能端控制所述第一模式切换电路接入所述第二模式切换电路的输出端时,所述第一模式切换电路、所述边沿信号触发电路和第二模式切换电路形成第二环形振荡电路。

3.根据权利要求2所述的SRAM时序测试电路,其特征在于,所述第一模式切换电路包括两个第一二路选通器;

其中,每个所述第一二路选通器上设置有一个第一使能端,且一个输入端与一个所述读数据信号输出端连接,另一个输入端与所述第二模式切换电路的输出端相连,输出端与所述边沿信号触发电路连接。

4.根据权利要求3所述的SRAM时序测试电路,其特征在于,所述边沿信号触发电路包括两个第一或非门和同或门;其中,每个第一或非门的一个输入端与第一模式切换电路一个输出端连接,另一个输入端与一个第一使能端连接,输出端与所述同或门的一个输入端连接,所述同或门的输出端经过N个反相器与所述第二模式切换电路的输入端连接,所述N为大于或等于3的奇数。

5.根据权利要求4所述的SRAM时序测试电路,其特征在于,所述第二模式切换电路包括两个第二二路选通器;

其中,每个所述第二二路选通器上设置有一个第二使能端,且一个输入端经过N个反相器与所述同或门的输出端连接,另一个输入端接收外部时钟信号,输出端一其中一个时钟信号输入端连接。

6.根据权利要求3所述的SRAM时序测试电路,其特征在于,所述测试电路单元还包括测试启动电路;

所述测试启动电路设置有两个输入端和两个输出端,所述两个输入端分别与所述两个读数据信号输出端连接,所述两个输出端分别与两个所述第一二路选通器的一个输入端连接。

7.根据权利要求6所述的SRAM时序测试电路,其特征在于,所述测试启动电路包括两个第二或非门,其中,每个第二或非门的一个输入端读取外部输入的数据信号,另一个输入端接收其中一个读数据信号输出端输出的数据,输出端与所述第一模式切换电路的输入端连接。

8.根据权利要求5所述的SRAM时序测试电路,其特征在于,所述测试电路单元还包括:地址产生电路,输入端经过M个反相器与所述边沿信号触发电路输出端相连,其中,M为大于或等于2的偶数;

第三模式切换电路,输入端与所述地址产生电路输出端相连,输出端与所述地址信号输入端相连。

9.根据权利要求8所述的SRAM时序测试电路,其特征在于,所述地址产生电路采用时钟同步电路,其使能端为第二使能端。

10.根据权利要求9所述的SRAM时序测试电路,其特征在于,所述第三模式切换电路包括两个二路选通器,每个所述二路选通器上设置有一个第二使能端,且一个输入端与所述地址产生电路的输出端连接,另一个输入端接入外部地址信号,输出端与一个地址信号输入端连接。

11.一种SRAM时序测试方法,其特征在于,应用于如权利要求1‑10任一项所述的SRAM时序测试电路,所述方法包括:所述测试电路单元还包括测试启动电路;

所述测试启动电路设置有两个输入端和两个输出端,所述两个输入端分别与所述两个读数据信号输出端连接,所述两个输出端分别与两个所述第一二路选通器的一个输入端连接;

通过两个第一使能端控制所述第一模式切换电路接入所述测试启动电路的输出端,且通过所述第二使能端控制所述第二模式切换电路接入所述边沿信号触发电路的输出端时,获得第一环形振荡电路的输出振荡周期;

通过所述两个第一使能端控制所述第一模式切换电路接入所述第二模式切换电路的输出端时,获得第二环形振荡电路的输出振荡周期;

根据两个环形振荡电路的输出振荡周期,计算得到SRAM存储单元的数据读取时间。

12.根据权利要求11所述的方法,其特征在于,在测量所述第一环形振荡电路的输出振荡周期之前,还包括:通过外部模式触发一次对SRAM存储单元中一个地址的读取,读取的地址值保持在所述读数据信号输出端。

13.根据权利要求12所述的方法,其特征在于,通过外部模式触发包括:第二使能端分别控制第二模式切换电路输入外部测试输入时钟信号、第三模式切换电路输入外部地址输入信号,所述外部测试输入时钟信号触发 SRAM 存储单元对外部地址输入信号进行读取。

14.根据权利要求11所述的方法,其特征在于,在测量所述第一环形振荡电路的输出振荡周期之前,还包括:调整两个读数据信号输入端输出的数据信号的时间以使所述两个读数据信号输入端输出的数据信号的翻转的时间具有时间差。

说明书 :

SRAM时序测试电路及测试方法

技术领域

[0001] 本发明实施例涉及芯片技术,尤其涉及一种SRAM时序测试电路及测试方法。

背景技术

[0002] 在半导体工艺进入深亚微米时代后,芯片可以工作在几百MHz或上GHz的频率下,其内部的静态随机存储器(Static Random Access Memory,SRAM)的工作频率有可能更高。但在芯片测试中,由于封装和测试机台的影响,外部测试提供的时钟信号往往只能达到几十或至多一百MHz的频率。
[0003] 在前述背景下,现今芯片的测试一般大量依赖于内建自测试(BIST)电路,BIST电路的优点不仅是测试的自动化,而且因为不需要经过外部的测试通路,所以可以实现高速测试。SRAM的BIST电路又称为本申请内建自测试(MBIST)电路,其内部包含测试信号产生电路和SRAM输出判断比较电路。MBIST电路在芯片内部高速时钟的控制下对SRAM进行测试,若测试正确,不仅证明SRAM功能正确,也表示SRAM时钟周期不会大于测试时钟周期,这样,外界可以获得SRAM时钟周期的测试数据。然而,除SRAM时钟周期外,SRAM数据读取时间(简称Tcq)也是SRAM重要的时序指标参数,通过传统MBIST电路,这个参数无法测量得到。

发明内容

[0004] 本发明实施例提供一种SRAM时序测试电路及测试方法,以利用DP SRAM具有两组相互独立的时钟信号和读数据信号端口的特点,通过控制两个读数据信号输出端输出数据信号的翻转的时间差,实现对两个读数据信号输出端对应的数据读取时间Tcq的测量。
[0005] 第一方面,本发明实施例提供一种SRAM时序测试电路,包括:
[0006] 双端口SRAM存储单元和测试电路单元;
[0007] 其中,所述双端口SRAM存储单元包括两个地址信号输入端、两个时钟信号输入端和两个读数据信号输出端;
[0008] 所述测试电路单元包括:
[0009] 第一模式切换电路,设置有两个输入端,所述两个输入端分别与所述两个读数据信号输出端连接;其中,一个输入端接收到的数据信号的翻转的时刻与另一个输入端接收到的数据信号的翻转的时刻不同;
[0010] 边沿信号触发电路,所述边沿信号触发电路输入端与所述第一模式切换电路的输出端连接;
[0011] 第二模式切换电路,所述第二模式切换电路的输入端与所述边沿信号触发电路的输出端连接、所述第二模式切换电路的两个输出端分别与所述两个时钟信号输入端相连;
[0012] 所述第一模式切换电路还设置有第一使能端,所述第二模式切换电路具有第二使能端。
[0013] 可选的,所述双端口SRAM存储单元还包括两个裕度控制信号输入端和分别于所述两个裕度控制信号输入端对应的两个裕度选择信号输入端;
[0014] 其中,每个裕度控制信号输入端和与其对应的裕度选择信号输入端,用于控制时钟信号输入端从接收到第一信号的时刻到所述读数据信号输出端输出数据信号的时刻间的时长,所述第一信号为使所述读数据信号输出端输出数据信号的信号。
[0015] 可选的,所述双端口SRAM存储单元和测试电路单元之间设置有延迟电路;
[0016] 所述延迟电路,用于使所述第一模式切换电路的两个输入端接收到的数据信号的翻转的时刻不同。
[0017] 可选的,当所述第一使能端控制所述第一模式切换电路接入所述读数据信号输出端,且所述第二使能端控制所述第二模式切换电路接入所述边沿信号触发电路的输出端时,所述双端口SRAM存储单元、第一模式切换电路、所述边沿信号触发电路和第二模式切换电路形成第一环形振荡电路;
[0018] 当所述第一使能端控制所述第一模式切换电路接入所述第二模式切换电路的输出端时,所述第一模式切换电路、所述边沿信号触发电路和第二模式切换电路形成第二环形振荡电路。
[0019] 可选的,所述第一模式切换电路包括两个第一二路选通器;
[0020] 其中,每个所述第一二路选通器上设置有一个第一使能端,且一个输入端与一个所述读数据信号输出端连接,另一个输入端与所述第二模式切换电路的输出端相连,输出端与所述边沿信号触发电路连接。
[0021] 可选的,所述边沿信号触发电路包括两个第一或非门和同或门;其中,
[0022] 每个第一或非门的一个输入端与第一模式切换电路一个输出端连接,另一个输入端与一个第一使能端连接,输出端与所述同或门的一个输入端连接,所述同或门的输出端经过N个反相器与所述第二模式切换电路的输入端连接,所述N为大于或等于3的奇数。
[0023] 可选的,所述第二模式切换电路包括两个第二二路选通器;
[0024] 其中,每个所述第二二路选通器上设置有一个第二使能端,且一个输入端经过N个反相器与所述同或门的输出端连接,另一个输入端接收外部时钟信号,输出端一其中一个时钟信号输入端连接。
[0025] 可选的,所述测试电路单元还包括测试启动电路;
[0026] 所述测试启动电路设置有两个输入端和两个输出端,所述两个输入端分别与所述两个读数据信号输出端连接,所述两个输出端分别与两个所述第一二路选通器的一个输入端连接。
[0027] 可选的,所述测试启动电路包括两个第二或非门,其中,每个第二或非门的一个输入端读取外部输入的数据信号,另一个输入端接收其中一个读数据信号输出端输出的数据,输出端与所述第一模式切换电路的输入端连接。
[0028] 可选的,所述测试电路单元还包括:
[0029] 地址产生电路,输入端经过M个反相器与所述边沿信号触发电路输出端相连,其中,M为大于或等于2的偶数;
[0030] 第三模式切换电路,输入端与所述地址产生电路输出端相连,输出端与所述地址信号输入端相连。
[0031] 可选的,所述地址产生电路采用时钟同步电路,其使能端为第二使能端。
[0032] 可选的,所述第三模式切换电路包括两个二路选通器,所述每个二路选通器上设置有一个第二使能端,且一个输入端与所述地址产生电路的输出端连接,另一个输入端接入外部地址信号,输出端与一个地址信号输入端连接。
[0033] 第二方面,本申请还提供一种SRAM时序测试方法,应用于第一方面任一实施例对应的SRAM时序测试电路,方法包括:
[0034] 通过两个第一使能端控制所述第一模式切换电路接入所述测试启动电路的输出端,且通过所述第二使能端控制所述第二模式切换电路接入所述边沿信号触发电路的输出端时,获得第一环形振荡电路的输出振荡周期;
[0035] 通过所述两个第一使能端控制所述第一模式切换电路接入所述第二模式切换电路的输出端时,获得第二环形振荡电路的输出振荡周期;
[0036] 根据两个环形振荡电路的输出振荡周期,计算得到SRAM存储单元的数据读取时间。
[0037] 可选的,在测量所述第一环形振荡电路的输出振荡周期之前,还包括:
[0038] 通过外部模式触发一次对SRAM存储单元中一个地址的读取,读取的地址值保持在所述读数据信号输出端。
[0039] 可选的,通过外部模式触发包括:第二使能端分别控制第二模式切换电路输入外部测试输入时钟信号、第三模式切换电路输入外部地址输入信号,所述外部测试输入时钟信号触发SRAM存储单元对外部地址输入信号进行读取。
[0040] 可选的,在测量所述第一环形振荡电路的输出振荡周期之前,还包括:
[0041] 调整两个读数据信号输入端输出的数据信号的时间以使所述两个读数据信号输入端输出的数据信号的翻转的时间具有时间差。
[0042] 本发明实施例提供一种SRAM时序测试电路及测试方法,其中,SRAM时序测试电路双端口SRAM存储单元和测试电路单元,所述双端口SRAM存储单元包括两个地址信号输入端、两个时钟信号输入端和两个读数据信号输出端;测试电路单元包括第一模式切换电路,其两个输入端分别与两个读数据信号输出端连接;其中,一个输入端接收到的数据信号的翻转的时刻与另一个输入端接收到的数据信号的翻转的时刻不同;边沿信号触发电路的输入端与第一模式切换电路的输出端连接;第二模式切换电路的输入端与边沿信号触发电路的输出端连接,两个输出端分别与两个时钟信号输入端相连;第一模式切换电路还设置有第一使能端,第二模式切换电路具有第二使能端。从而利用双端口SRAM具有两个读数据信号输出端口的特点,通过控制两个读数据信号输出端输出的数据信号的翻转的时间差,实现对两个读数据信号输出端对应的数据读取时间Tcq的测量。即在两个读数据信号输出端输出的数据信号相同和不同时,通过第一模式切换电路使边沿信号触发电路的输出产生高低电平的切换,而不需要专门设计用于使边沿信号触发电路产生边沿触发信号的外部延时电路,从而减小芯片面积。

附图说明

[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为一种SRAM时序测试电路原理示意图;
[0045] 图2为图1电路在进行Tcq测量时的波形示意图;
[0046] 图3为图1中形成的第二环形振荡电路的输出波形示意图;
[0047] 图4为本申请一实施例提供的DP SRAM时序测试电路的原理示意图;
[0048] 图5为图4电路在进行Tcq测量时的波形示意图;
[0049] 图6为图4中形成的第二环形振荡电路的输出波形示意图;
[0050] 图7为本申请一实施例提供的DP SRAM时序测试方法的流程示意图。

具体实施方式

[0051] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 图1为一种测量SRAM数据读取时间的电路。在图1所示的电路中,主要利用两个环形振荡电路,分别测得两个环形振荡电路的输出振荡周期,从而得到准确的Tcq值。其中,使能信号MD_EX=0,使能信号OSCE=0时,由I0‑I8形成第一个振荡电路,测得其振荡周期为Tx,波形如图2所示。使能信号MD_EX=0,使能信号OSCE=0时,由I0‑I8形成第一个振荡电路,其波形如图2所示,为测试电路在测量Tcq时产生的波形图,从时钟信号CK的前一上升沿到后一上升沿为时钟信号CK的时钟周期,即为SRAM存储单元对地址输入数据的读取时间,定义为Tx,但是这个时间依次经过了第一模式切换电路I5、第一反相器、同或门I0、第三反相器I7和第二模式切换电路I8的延迟,所以想要得到精确的SRAM读取数据时间Tcq,就需要减去从信号D0输出到产生新的信号CK上升沿的延迟时间,定义为Tosc。从图2所示的波形图可以看出,Tcq即为Tx与Tosc的差值,所以只要测量出Tx和Tosc的值,便可以得到Tcq的精确值。其中,通过外部测试仪器测量脉冲信号触发器的输出信号OSC_OUT的振荡周期,得到Tx。
[0053] 然后MD_EX保持为0,使能信号OSCE由0置位1,由I7、I8、I5、I4和I0组成第二个环形振荡器,信号OSC_OUT输出波形如图3所示,测量第二环形振荡电路的输出信号OSC_OUT的振荡周期,即可得到从信号D0输出到产生新的信号CK上升沿的延迟时间,定义为Ty,从环形振荡电路原理可知,Tosc=Ty/2。
[0054] 因此,Tcq=Tx‑Ty/2,即可测量得到SRAM读取数据周期Tcq。
[0055] 虽然采用图1所示的电路可以测量得到SRAM读取数据周期Tcq,但是如图1所示,图1示出的SRAM为单端口SRAM,对于双端口静态随机本申请(dual‑port Static Random Access Memory,DP SRAM),由于DP SRAM具有两组相互独立的时钟信号和读数据信号端口,因此,如果按照图1所示的电路来测量DP SRAM的每个读数据信号端口的读取数据周期Tcq,则需要设置两组图1中的测试电路单元,分别测量DP SRAM的每个读数据信号端口的读取数据周期Tcq,这样显然会使得电路结构复杂,并且增加占用的芯片的面积,导致芯片面积较大。
[0056] 本申请提供可一种时序测试电路,用来测试DP SRAM的读取数据周期Tcq,其技术构思为:由于DP SRAM具有两组相互独立的时钟信号及读数据信号端口,因此,可利用两个读数据信号端口,使两个读数据信号端口输出的数据信号的翻转的时间之间存在时间差,从而产生边沿触发信号,使控制信号OSC_OUT的输出每隔一段时间就会有一个低脉冲产生,例如,在两个读数据信号端口输出的数据信号不同时,控制信号OSC_OUT产生一个下降沿,两个读数据信号端口输出的数据信号相同时,控制信号OSC_OUT产生一个上升沿,从而产生低脉冲,由于两个读数据信号端口输出的数据信号每隔一段时间就存在相同的情况,每隔一段时间出现不同的情况,使得控制信号OSC_OUT每隔一段时间就会产生一个低脉冲,因此,不需要设置外部延迟电路,减小芯片面积。
[0057] 图4为本申请一实施例提供的DP SRAM时序测试电路的原理示意图。如图4所示,SRAM时序测试电路包括:双端口SRAM存储单元I15和测试电路单元,第一模式切换电路100、边沿信号触发电路200和第二模式切换电路300、测试启动电路400、地址产生电路I12、第三模式切换电路500。
[0058] 所述双端口SRAM存储单元I15包括两个地址信号输入端AA和AB、两个时钟信号输入端CKA和CKB、两个写使能信号输入端WEBA和WEBB、两个写数据信号输入端DIA和DIB、两个读信号输出端DOA和DOB。
[0059] 其中,SRAM存储单元I15为时钟上升沿有效的时钟同步电路,时钟信号输入端用于输入时钟同步信号,时钟信号的上升沿触发SRAM存储单元I15进行一次读或写的操作;写使能信号输入端用于输入低电平有效的写使能信号WEBA或WEBB,定义高电平为逻辑“1”,低电平为逻辑“0”,例如当输入的信号WEBA为逻辑“0”时,触发SRAM存储单元I15中的写数据信号输入端DIA的写操作,通过写数据信号输入端DIA输入写数据输入信号D1,将数据写入SRAM存储单元I15中;所述地址信号输入端AA和AB分别与所述第三模式切换电路500的两个输出端相连,用于输入由外部模式或地址产生电路I12产生的地址数据;所述SRAM存储单元I15的任一读数据信号输出端,用于输出读数据输出信号DOA_EX或DOB_EX,将SRAM存储单元I15读取到的数据进行输出;所述测试启动电路400的两个输入端分别与读信号输出端DOA、DOB连接,输出端与第一模式切换电路100的输入端连接,可使第一环形振荡电路产生第一个低脉冲,从而使第一环形振荡电路振荡输出。
[0060] 在本申请一实施例中,可选的,参照图4所示,测试启动电路400包括两个与非门I5和I6。其中,与非门I5的一个输入端用于读取外部输入的数据信号,另一个输入端与读信号输出端DOA连接,接收从读信号输出端DOA读取的数据信号,输出端与第一模式切换电路100中的二路选通器I3的一个输入端连接;与非门I6的一个输入端用于读取外部输入的数据信号,另一个输入端与读信号输出端DOB连接,接收从读信号输出端DOB读取的数据信号,输出端与第一模式切换电路100中的二路选通器I4的一个输入端连接。
[0061] 在本申请一实施例中,可选的,参照图4所示,第一模式切换电路100选用两个具有输入端、一个输出端和第一使能端的二路选通器I3和I4。其中,二路选通器I3的输入端A与与非门I5的输出端连接,输入端B与所述第二模式切换电路200中的二路选通器I8的输出端相连,输出端与边沿信号触发电路200中的与非门I1的一个输入端连接,所述第一使能端用于接入控制信号OSCEA,用于控制二路选通器I3的输出,即当信号OSCEA为逻辑“0”时,二路选通器I3输出通过输入端A接收到的数据信号;当信号OSCEA为逻辑“1”时,二路选通器I3输出通过输入端B接收到的数据信号;二路选通器I4的输入端A与与非门I6的输出端连接,输入端B与所述第二模式切换电路200中的二路选通器I9的输出端相连,输出端与边沿信号触发电路200中的与非门I2的一个输入端连接,所述第一使能端用于接入控制信号OSCEB,用于控制二路选通器I4的输出,即当信号OSCEB为逻辑“0”时,二路选通器I4输出通过输入端A接收到的数据信号;当信号OSCEB为逻辑“1”时,二路选通器I4输出通过输入端B接收到的数据信号。
[0062] 在本申请一实施例中,可选的,参照图4所示,边沿信号触发电路200包括两个或非门I1、I2和同或门I0。其中,所或非门I1的一个输入端与二路选通器I3的输出端连接,另一个输入端接入使能信号OSCEB,输出端输出信号NODEB,将信号NODEA输入同或门I0的一个输入端;所或非门I2的一个输入端与二路选通器I4的输出端连接,另一个输入端接入使能信号OSCEA,输出端输出信号NODEB,将信号NODEB输入同或门I0的另一个输入端;同或门I0的两个输入端分别接收信号NODEA、信号NODEB,同或门I0根据信号NODEA和信号NODEB,通过输出端输出边沿信号触发电路的控制信号,即输出控制信号OSC_OUT。其中,如图4所示,控制信号OSC_OUT通过N个各反相器分别与二路选通器I8、I9的其中一个输入端连接,N为大于或等于3的奇数,图4中的N为3,即反相器I10、I11和I7。需要说明的是,本申请中的同或门I0可以替换为异或门,只要能实现在读数据信号输出端DOA、DOB输出的数据不同以及输出的数据相同时,能是控制信号OSC_OUT的波形产生低脉冲即可。
[0063] 在本申请一实施例中,可选的,参照图4所示,第二模式切换电路200选用两个具有输入端、一个输出端和第一使能端的二路选通器I8和I9。其中,二路选通器I8输入端A经过N个反相器与同或门I0的输出端连接,以接入控制信号OSC_OUT,输入端B接入外部测试输入时钟信号CKA_EX,输出端与双端口SRAM存储单元I15的时钟信号输入端CKA连接,使能端接入使能信号MD_EX,用于对SRAM存储单元I15上的时钟信号输入端CKA的时钟输入信号进行选择,即当使能信号MD_EX为逻辑“0”时,时钟信号输入端CKA输入同或门I0输出信号(控制信号OSC_OUT)的逻辑反;当使能信号MD_EX为逻辑“1”时,钟信号输入端CKA输入外部测试输入时钟信号CKA_EXT;二路选通器I9输入端A经过N个反相器与同或门I0的输出端连接,以接入控制信号OSC_OUT,输入端B接入外部测试输入时钟信号CKB_EX,输出端与双端口SRAM存储单元I15的时钟信号输入端CKB连接,使能端接入使能信号MD_EX,用于对SRAM存储单元I15上的时钟信号输入端CKB的时钟输入信号进行选择,即当使能信号MD_EX为逻辑“0”时,时钟信号输入端CKB输入同或门I0输出信号(控制信号OSC_OUT)的逻辑反;当使能信号MD_EX为逻辑“1”时,钟信号输入端CKB输入外部测试输入时钟信号CKB_EXT。其中,使能信号MD_EX同时也是地址产生电路I12和第三模式切换电路500的使能信号,并分别接入两者的使能端。
[0064] 其中,图4中示出了3个反相器,即反相器I10、反相器I11和反相器I7,这里反相器用于降低环形振荡器的频率,如果频率过高,不便于振荡周期的准确测量,从而导致最终得到的读取数据周期Tcq不准确,因此,反相器的个数可根据实际需求选择。
[0065] 在本申请一实施例中,可选的,参照图4所示,地址产生电路I12选用上升沿有效的时钟同步电路,其输入端经过M个反相器与所述同或门I0的输出端相连其中,M为大于或等于2的偶数,反相器的具体数量可根据实际需求选择,本申请对此不限制,输出端分别与所述第三模式切换电路500中二路选通器I13、I14的输入端A相连,由使能信号MD_EX进行控制,并且由边沿信号触发电路200的输出信号OSC_OUT的上升沿触发输出地址。当然,本发明中的地址产生电路I12可以由任何形式、满足任意地址宽度SRAM的地址产生电路所替换,只要地址产生电路产生的地址能够实现本发明DP SRAM取数据时间的测量,即可为本发明所采用。
[0066] 在本申请一实施例中,可选的,参照图4所示,所述第三模式切换电路500同样选用具有两个输入端、一个输出端和第三使能端的二路选通器I13、I14。其中,二路选通器I13的输入端A与地址产生电路I12的输出端连接,输入端B接入外部地址输入信号AA_EX,输出端与所述DP SRAM的地址信号输入端AA相连,使能端接入使能信号MD_EX,当使能信号MD_EX为逻辑“0”时,所述DP SRAM的地址信号输入端AA输入由地址产生电路I12输出的地址信号;当使能信号MD_EX为逻辑“1”时,所述DP SRAM的地址信号输入端AA输入外部地址输入信号AA_EXT;二路选通器I14的输入端A与地址产生电路I12的输出端连接,输入端B接入外部地址输入信号AB_EX,输出端与所述DP SRAM的地址信号输入端AB相连,使能端接入使能信号MD_EX,当使能信号MD_EX为逻辑“0”时,所述DP SRAM的地址信号输入端AB输入由地址产生电路I12输出的地址信号;当使能信号MD_EX为逻辑“1”时,所述DP SRAM的地址信号输入端AB输入外部地址输入信号AB_EXT。
[0067] 需要说明的是,本申请中两个读数据信号端口输出的数据之间存在延迟例如是DP SRAM的读信号输出端DOA、DOB在输出数据信号时输出的数据信号的翻转的时间之间存在延迟,即在时钟信号上升沿到来时,读信号输出端DOA先输出翻转后的数据信号,延迟一段时间后,读信号输出端DOB再输出翻转后的数据信号,例如,读信号输出端DOA输出的数据信号先由“0”变为“1”,这个时候读信号输出端DOB输出的数据信号依然为“0”,一段时间后,读信号输出端DOA输出的数据信号再由“0”变为“1”。或者也可以在双端口SRAM存储单元I15和测试电路单元之间设置延迟电路,读信号输出端DOA、DOB输出数据信号后,将数据信号输入到延迟电路中,通过延迟电路使任一输出端输出的数据信号比另一输出端输出的数据信号有延迟。例如,读信号输出端DOA、DOB输出的数据信号开始均为“0”,在时钟信号上升沿到来后,读信号输出端DOA、DOB输出的数据信号由“0”变为“1”,但是,由于读信号输出端DOB输出的数据信号经延迟电路后在输入到测试启动电路,因此,对于测试启动电路来说,其接收到的读信号输出端DOA、DOB输出的数据信号的翻转时间之间存在时间差。本发明实施例对此不限制,只要能使读信号输出端DOA、DOB输出的数据信号之间存在延迟即可。
[0068] 其中,本申请以读信号输出端DOA、DOB在输出数据信号时输出的数据信号的翻转的时间之间就存在延迟为例进行说明。如图4所示,双端口SRAM存储单元I15还包括两个裕度控制信号输入端EMCEA、EMCEB和分别于所述连两个裕度控制信号输入端对应的两个裕度选择信号输入端EMCA[3:0]、EMCB[3:0]。其中,裕度控制信号输入端EMCEA、EMCEB为高电平有效,通过裕度选择信号输入端EMCA[3:0]可以调整控制时钟信号输入端CKA从接收到第一信号的时刻到读数据信号输出端DOA输出数据信号的时刻间的时长,所述第一信号为使读数据信号输出端DOA输出数据信号的信号,当裕度控制信号输入端EMCEA为高电平时,控制时钟信号输入端CKA从接收到第一信号的时刻到读数据信号输出端DOA输出数据信号的时刻间的时长为通过裕度选择信号输入端EMCA[3:0]设置的时间;同理,裕度控制信号输入端EMCEB和裕度选择信号输入端EMCB[3:0]用于设置控制时钟信号输入端CKB从接收到第一信号的时刻到读数据信号输出端DOB输出数据信号的时刻间的时长。
[0069] 当使能信号MD_EX和使能信号OSCEA、OSCEB均为逻辑“0”时,所述DP SRAM存储单元I15、第一模式切换电路100、边沿信号触发电路200和第二模式切换电路300形成第一环形振荡电路;当使能信号OSCEA、OSCEB为逻辑“1”时,所述第一模式切换电路100、边沿信号触发电路200和第二模式切换电路300形成第二环形振荡电路。
[0070] 本发明基于DP SRAM时序测试电路,还揭示了一种DP SRAM时序测试方法,用于测量DP SRAM的读取数据时间Tcq。其中,DP SRAM具有两组相互独立的时钟信号及读数据信号端口,因此,需要测量时钟信号输入端CKA与读信号输出端DOA之间的读取数据时间Tcq,以及时钟信号输入端CKB与读信号输出端DOB之间的读取数据时间Tcq。但是,两个读取数据时间Tcq的测量方法相同,本申请以测量其中一个数据读取时间Tcq为例进行说明。因此,在测量数据读取时间Tcq之前,将EMCEA设置为“0”,使得EMCA[3:0]不起作用,EMCEB设置为“1”,调整EMCB[3:0]的参数,将时钟信号输入端CKB与读信号输出端DOB之间的读取数据时间Tcq调整的比时钟信号输入端CKA与读信号输出端DOA之间的读取数据时间Tcq慢,这样读数据信号输出端DOA与DOB的数据信号的翻转时间上会有一定的延迟。
[0071] 并且,这里以DP SRAM只包含两个地址单元AddrH和AddrL为例,描述DP SRAM时序测试电路的测试方法,结合图7所示,包括以下步骤:
[0072] S101、通过外部模式触发一次对SRAM存储单元中一个地址的读取,读取的地址值保持在读数据信号输出端。
[0073] 具体的,将写使能信号WEBA和WEBB置为逻辑“0”,触发DP SRAM存储单元向地址单元写入数据,在地址单元AddrH写入逻辑“1”,地址单元AddrL写入逻辑“0”。将使能信号MD_EX置为逻辑“1”,控制二路选通器I8、I9分别输出外部时钟信号CKA_EX、CKB_EX,其中,外部时钟信号CKA_EX、CKB_EX为逻辑“1”,以及二路选通器I13、I14分别输出外部地址输入信号AA_EX、AB_EX,外部时钟信号CKA_EX、CKB_EX的上升沿触发DP SRAM存储单元I15对地址单元AddrL中的数据读取一遍,这样DP SRAM存储单元I15的读数据信号输出端DOA与DOB将输出0,由DP SRAM输出接口的特性可知,在下一次DP SRAM读取操作发生前其读数据信号输出端DOA与DOB将保持前一次读取的数据。此时,根据图4所示的电路逻辑可知,OSC_OUT输出高电平,即输出1。
[0074] S102、通过两个第一使能端控制第一模式切换电路接入测试启动电路的输出端,且通过第二使能端控制第二模式切换电路接入边沿信号触发电路的输出端时,获得第一环形振荡电路的输出振荡周期。
[0075] 具体的,使DP SRAM写使能信号WEBA和WEBB保持为“1”,并将MD_EX由“1”转换为“0”,DOA_EX也同时由“1”转换为“0”,而DOB_EX依然保持为“1”,OSCEA和OSCEB也保持为“0”。控制信号OSC_OUT的输出由高电平切换为低电平,产生一个下降沿。这个下降沿引起DP SRAM的时钟CKA/CKB由“0”到“1”的跳变,可以触发一次DP SRAM存储单元对地址AddrH的读操作,这是因为地址产生电路I12的设计使得当MD_EX由“1”转换为“0”时,首先输出的地址为AddrH,所以地址AA与AB将接收地址AddrH。因此,读数据信号输出端DOA与DOB的输出数据信号将由逻辑“0”翻转为逻辑“1”,在读数据信号输出端DOA、DOB分别对应的读取时间Tcq到达时,输出“1”。
[0076] 在读数据信号输出端DOA、DOB输出“1”之前,且在DOA_EX由“1”转换为“0”的一段时间后,将DOB_EX由“1”转换为“0”,MD_EX保持为“0”,OSCEA和OSCEB也保持为“0”。此时,控制信号OSC_OUT的输出由“0”切换为“1”,产生一个上升沿,这个上升沿引起地址产生电路I12的输出由AddrH变化为AddrL,从而在时钟CKA/CKB下一次由“0”到“1”的跳变时,数据信号输出端DOA和DOB的输出数据信号翻转为“0”。并且,这个上升沿引起DP SRAM的时钟CKA/CKB由“1”到“0”的跳变。
[0077] 在读数据信号输出端DOA对应的读取时间Tcq到达时,读数据信号输出端DOA输出的数据信号由“0”翻转为“1”,而读数据信号输出端DOB输出的数据信号依然为“0”,此时,控制信号OSC_OUT的输出由“1”切换为“0”,产生一个下降沿。这个下降沿引起DP SRAM的时钟CKA/CKB由“0”到“1”的跳变,触发一次DP SRAM存储单元对地址AddrL的读操作。
[0078] 当读数据信号输出端DOB对应的读取时间Tcq也到达时,读数据信号输出端DOB输出的数据信号由“0”翻转为“1”,此时,读数据信号输出端DOA和DOB输出的数据信号均为“1”,因此,控制信号OSC_OUT的输出由“0”切换为“1”,产生一个上升沿。这个上升沿引起地址产生电路I12的输出由AddrL变化为AddrH,从而在时钟CKA/CKB下一次由“0”到“1”的跳变时,数据信号输出端DOA和DOB的输出数据信号翻转为“1”。并且,这个上升沿引起DP SRAM的时钟CKA/CKB由“1”到“0”的跳变。
[0079] 在读数据信号输出端DOA对应的读取时间Tcq到达时,读数据信号输出端DOA输出的数据信号由“1”翻转为“0”,而读数据信号输出端DOB输出的数据信号依然为“1”,此时,控制信号OSC_OUT的输出由“1”切换为“0”,产生一个下降沿。这个下降沿引起DP SRAM的时钟CKA/CKB由“0”到“1”的跳变,触发一次DP SRAM存储单元对地址AddrH的读操作。
[0080] 当读数据信号输出端DOB对应的读取时间Tcq也到达时,读数据信号输出端DOB输出的数据信号由“1”翻转为“0”,此时,读数据信号输出端DOA和DOB输出的数据信号均为“0”,因此,控制信号OSC_OUT的输出由“0”切换为“1”,产生一个上升沿。这个上升沿引起地址产生电路I12的输出由AddrH变化为AddrL,从而在时钟CKA/CKB下一次由“0”到“1”的跳变时,数据信号输出端DOA和DOB的输出数据信号翻转为“1”。并且,这个上升沿引起DP SRAM的时钟CKA/CKB由“1”到“0”的跳变。
[0081] 因此,在读数据信号输出端DOA和DOB输出的数据信号不同时,控制信号OSC_OUT有一个下降沿,在每一个控制信号OSC_OUT的下降沿,使时钟CKA/CKB由“0”跳变到“1”,使读数据信号输出端DOA和DOB输出的数据信号翻转;当读数据信号输出端DOA和DOB输出的数据信号相同时,控制信号OSC_OUT有一个上升沿,在每一个控制信号OSC_OUT的上升沿,使时钟CKA/CKB由“1”跳变到“0”,使地址产生电路I12的输出发生一次跳变。在读数据信号输出端DOA和DOB输出的数据信号再次不同时,控制信号OSC_OUT再有一个下降沿,因此,只要MD_EX、DOA_EX、DOB_EX维持为“0”,OSCEA、OSCE也维持在“0”,SRAM就将不断反复地对地址AddrH和AddrL进行读取,而OSC_OUT每隔一段时间就会有一个低脉冲产生。
[0082] 测试电路波形如图5所示,为测试电路在测量Tcq时产生的波形图,从时钟信号CKA的前一上升沿到后一上升沿为时钟信号CKA的时钟周期,即为DP SRAM存储单元对地址输入数据的读取时间,定义为Tx。其中,这个时间Tx依次经过了DP SRAM存储单元中的数据信号输出端DOA的读取数据时间Tcq、第一模式切换电路100、边沿信号触发电路200、反相器I10、反相器I11、反相器I7和第二模式切换电路300的延迟,所以想要得到精确的读数据信号输出端DOA的读取数据时间Tcq,就需要减去从数据信号输出端D0A输出数据信号到产生新的信号CKA上升沿的延迟时间,定义为Tosc。从图5所示的波形图可以看出,Tcq即为Tx与Tosc的差值,所以只要测量出Tx和Tosc的值,便可以得到Tcq的精确值。测量Tx时,将使能信号MD_EX和使能信号OSCEA、OSCEB均置为逻辑“0”,通过外部测试仪器测量脉冲信号触发器的输出信号OSC_OUT的振荡周期,得到Tx。根据图5所示的波形可知,Tcq=Tx‑Tosc。
[0083] S103、通过两个第一使能端控制第一模式切换电路接入第二模式切换电路的输出端时,获得第二环形振荡电路的输出振荡周期。
[0084] 具体的,由于测量的是读数据信号DOA对应的读取数据时间Tcq,因此,将OSCEA置位1,从而由二路选通器I8、二路选通器I3、或非门I1、同或门I0、反相器I10、反相器I11和反相器I7形成第二环形振荡电路。控制信号OSC_OUT输出波形如图6所示,测量第二环形振荡电路的输出的控制信号OSC_OUT的振荡周期,即可得到从数据信号输出端DOA输出数据信号到产生新的信号CKA上升沿的延迟时间,定义为Ty,从环形振荡电路原理可知,Tosc=Ty/2。
[0085] S104、根据两个环形振荡电路的输出振荡周期,计算得到SRAM存储单元的数据读取时间。
[0086] 具体的,由公式Tcq=Tx‑Tosc以及公式Tosc=Ty/2,即可测量得到读数据信号输入端DOA对应的取数据周期Tcq。
[0087] 采用同样的方法,可以获得读数据信号输入端DOB对应的取数据周期Tcq。
[0088] 本发明中的DP  SRAM存储单元可以为任意地址宽度、任意输入输出位宽的DP SRAM,而不仅限于上述仅有两个地址单元和一个输入输出位的DP SRAM存储单元。
[0089] 需要说明的是,本申请中的测试电路单元中的元件也可以替换为其他元件或多个元件的组合,只要能实现该元件的作用即可。
[0090] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0091] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。