包括说明书、附图和摘要的、于2015年10月23日提交的日本专利申请No.2015-208680的公开的全部内容以引用方式并入本文中。
技术领域
本发明涉及多端口存储器、已经装载了多端口存储器的半导体装置、和用作设计半导体装置的LSI(大规模集成电路)设计支持系统中的库的存储器宏单元,并且特别地,涉及在受干扰状态下有利地执行测试的多端口存储器和对在受干扰状态下所涉及的在多端口存储器上执行的测试中有利地利用的半导体装置和存储器宏单元。
背景技术:
在对双端口SRAM(静态随机存取存储器)(下文中,被简称为DP-SRAM)执行的测试中,已知同一存储器单元(也就是说,一个存储器单元)从两个端口进行存取的所谓受干扰状态是使操作定时余量减小的最差状态中的一种。受干扰状态意指以下状态,其中当激活(active)了耦合到同一存储器单元的多条字线时,已经使用了一条字线的端口的读余量和/或写余量比当不激活其他字线时的一个或多个余量更劣化。作为测试对象的端口将被称为测试端口并且激活其他字线的端口将被称为干扰端口。
在日本未审专利申请公开No.2010-80001和Yuichiro Ishii等人的“A 28nm Dual-Port SRAM Macro With Screening Circuitry Against Write-Read Disturb Failure Issues”(IEEE J.Solid-State Circuits,U.S.A.,Institute of Electrical and Electronics Engineers,2011年11月,第46卷,第11期,第2535-2544页)中,公开了被配置为调节激活干扰端口侧和测试端口侧上的字线以酌情给出受干扰状态的定时的这种电路。当激活干扰端口侧上的字线并且受干扰状态已经达到其饱和水平时,激活测试端口侧上的字线。
在日本未审专利申请公开No.2008-299991中,公开了一种DP-SRAM,该DP-SRAM调节基于延迟控制信号来激活两个端口的字线的定时。
在日本未审专利申请公开No.2009-64532中,公开了一种DP-SRAM,BIST(内建自测)电路已经耦合到该DP-SRAM。当输入指示从两个端口同时进行存取的测试模式信号时,BIST电路中的地址图案生成电路生成地址信号AA[0:a]和AB[0:a],A端口和B端口二者用地址信号AA[0:a]和AB[0:a]来选择同一存储器单元并且供应如此生成的对DP-SRAM的A端口和B端口的输入端子进行寻址的地址信号。
技术实现要素:
本发明的发明人等人审阅日本未审专利申请公开No.2010-80001、No.2008-299991和No.2009-64532和Yuichiro Ishii等人的“A 28nm Dual-Port SRAM Macro With Screening Circuitry Against Write-Read Disturb Failure Issues”(IEEE J.Solid-State Circuits,U.S.A.,Institute of Electrical and Electronics Engineers,2011年11月,第46卷,第11期,第2535-2544页)后,发现存在如下待解决的新问题。
尽管在日本未审专利申请公开No.2010-80001和No.2008-299991和Yuichiro Ishii等人的“A 28nm Dual-Port SRAM Macro With Screening Circuitry Against Write-Read Disturb Failure Issues”(IEEE J.Solid-State Circuits,U.S.A.,Institute of Electrical and Electronics Engineers,2011年11月,第46卷,第11期,第2535-2544页)中公开了调节字线激活定时的电路机构,但针对适于激活耦合到一个存储器单元的多条字线的地址信号输入方法,没有进行任何描述。通常,多端口存储器被配置为,使多个访问主体可以相互独立地访问多个端口。例如,多个CPU(中央处理单元)耦合到互不相同的端口并且相互独立地和/或相互异步地访问多端口存储器。
因此,为了实现多端口存储器中的受干扰状态,除了诸如例如日本未审专利申请公开No.2010-80001和No.2008-299991和Yuichiro Ishii等人的“A 28nm Dual-Port SRAM Macro With Screening Circuitry Against Write-Read Disturb Failure Issues”(IEEE J.Solid-State Circuits,U.S.A.,Institute of Electrical and Electronics Engineers,2011年11月,第46卷,第11期,第2535-2544页)中描述的调节字线激活定时之外,还请求将适于激活耦合到一个存储器单元的多条字线的地址信号同时输入多个端口中。然而,这里“同时”意指致力于同一访问周期,不意指物理和算术上严格的一天内的同一时间。
由于在许多情况下使用同一地址值来激活耦合到一个存储器单元的多条字线,因此请求将同一地址值输入多个端口的地址端子。然而,由于在正常操作中访问多个端口的多个访问主体如以上提到地相互独立地操作,因此难以将同一地址值同时输入多个端口的地址端子。例如,难以进行配置使得相互异步操作并且相互独立的多个CPU(在同一访问周期中)同时发出同一地址。
另一方面,允许通过将诸如例如日本未审专利申请公开No.2009-64532中公开的BIST耦合到多端口存储器,将同一地址同时输入多个端口。然而,由于BIST本身由标准单元加以配置,因此就芯片面积而言带给存储器的开销大。特别地,小存储器容量带给存储器的开销增大。
高度有益的是提供一种多端口存储器,该多端口存储器能够通过耦合到一个端口的一个访问主体形成受干扰状态并且在不利用BIST电路的情况下独立进行操作。
虽然以下将描述用于如上所述地解决主题的问题的措施,但根据本说明书的描述和附图,本发明的其他主题和新颖特征将变得清楚。
将如下描述根据一个实施例的多端口存储器。
也就是说,根据一个实施例的所述多端口存储器包括存储器单元、第一字线和第二字线、第一位线和第二位线、第一地址端子和第二地址端子、地址控制电路等并且具有第一操作模式和第二操作模式。所述多端口存储器被如下地配置。
分别地,所述第一字线被激活,由此所述存储器单元电耦合到所述第一位线,并且所述第二字线被激活,由此所述存储器单元电耦合到所述第二位线。也就是说,所述第一字线和所述第二字线是能够选择同一存储器单元的两条字线。在所述第一操作模式下,所述地址控制电路基于输入所述第一地址端子的第一地址信号来执行关于是否激活所述第一字线的控制,并且基于输入所述第二地址端子的第二地址信号来执行关于是否激活所述第二字线的控制。也就是说,基于输入所述第一地址端子的所述第一地址信号和输入所述第二地址端子的所述第二地址信号,将所述第一字线和所述第二字线独立于彼此进行控制。在所述第二操作模式下,所述地址控制电路基于输入所述第一地址端子的所述第一地址信号来执行关于是否激活耦合到同一存储器单元的所述第一字线和所述第二字线的控制。
如下,将简要描述通过以上提到的一个实施例而得到的有利效果。
也就是说,在所述第二操作模式下,可以仅仅通过经由一个地址端子输入地址信号,控制存储器成为受干扰状态,并且仅仅通过控制耦合到所述多端口存储器的端口之一的访问主体,变得可以在受干扰状态下进行测试。
附图说明
图1是示意性示出根据第一实施例的多端口存储器的配置的一个示例的框图。
图2是示出作为多端口存储器的一个示例的DP-SRAM的存储器单元的配置的一个示例的电路图。
图3是示出作为多端口存储器的一个示例的DP-SRAM的整个配置的一个示例的示意图。
图4是示出根据第二实施例的DP-SRAM的一个示例的配置图。
图5是以真值表形式指示的根据第二实施例的DP-SRAM的操作的一个示例的说明性示图。
图6是示出时钟生成器的操作的一个示例的定时图。
图7是示出根据第三实施例的DP-SRAM的一个示例的配置图。
图8是以真值表形式指示的根据第三实施例的DP-SRAM的操作的一个示例的说明性示图。
图9是示出根据第四实施例的DP-SRAM的一个示例的配置图。
图10是以真值表形式指示的根据第四实施例的DP-SRAM的操作的一个示例的说明性示图。
图11是示出根据第五实施例的DP-SRAM的一个示例的配置图。
图12是以真值表形式指示的根据第五实施例的DP-SRAM的操作的一个示例的说明性示图。
图13是示出已经使用了根据第五实施例的DP-SRAM的系统配置的一个示例的示意图。
图14是示出利用多端口存储器作为库的LSI设计支持系统的一个配置示例的框图。
具体实施方式
将参照附图详细描述本发明的优选实施例。顺带一提,在用于示出本发明的实施例的所有附图中,为具有相同功能的元件分派相同标号并且省略对其的重复描述。在框图和配置图上绘制的对角线是意指所涉及的信号线由多条布线加以配置的所谓矢量表示。然而,还可以用多条布线配置没有用矢量表示的信号线。另一方面,存在即使当用矢量表示时也根据规范用一条布线实现信号线的情况。
第一实施例
图1是示意性示出根据第一实施例的多端口存储器100的配置的一个示例的框图。图1中示出的多端口存储器100是包括k个端口的n条位线、m条字线的多端口存储器(k、n和m均是正整数)。多端口存储器100包括存储器单元阵列60、输入/输出电路50、地址控制电路10、地址端子XA1、XA2至XAK、控制信号端子Xctrl等。存储器单元阵列60由排列成n行×m列的矩阵的存储器单元MC_0_0至MC_0_n-1、MC_m-1_0至MC_m-1_n-1构成。各存储器单元MC由存储1位信息和对应于各个端口的多个传输门MT1、MT2、…(只示出MT1和MT2)的原存储器单元PMC构成。
在存储器单元阵列60上,对应于各个端口的m×k条字线WL1_0至WL1_m-1、WL2_0至WL2_m-1、…、WLk_0至WLk_m-1被连线并且n×k条位线BL1_0至BL1_n-1、BL2_0至BL2_n-1、…、BLk_0至BLk_n-1在这多条字线的正交方向上连线。存储器单元布置在所涉及的字线和所涉及的位线相互交叉的点。对应于第一端口的第一字线WL1_0至WL1_m-1与各端口对应地被激活,由此与这些第一字线耦合的存储器单元MC_0_0至MC_0_n-1分别电耦合到第一位线BL1_0至BL1_n-1。同样地,对应于第二端口的第二字线WL2_0至WL2_m-1被激活,由此与这些第二字线耦合的存储器单元MC_0_0至MC_0_n-1分别电耦合到第二位线BL2_0至BL2_n-1。另外,类似于以上,对应于第k端口的第k字线WLk_0至WLk_m-1被激活,由此与第k字线耦合的存储器单元MC_0_0至MC_0_n-1分别电耦合到第k位线BLk_0至BLk_n-1。对于对应于其他各个端口的字线,同样如此。
地址信号A1、A2、…、Ak通过对应于各个端口的地址端子XA1、XA2、…、Xak输入地址控制电路10中并且各种控制信号通过控制信号端子Xctrl输入地址控制电路10中。地址控制电路10基于已经用输入控制信号选择的地址信号的值来激活字线WL1_0至WL1_m-1、WL2_0至WL2_m-1、…、WLk_0至WLk_m-1并且控制输入/输出电路50。输入/输出电路50执行其自身和对应于各个端口的数据输入/输出端子XD1、XD2、…、XDk中的每个之间的数据D1、D2、…、Dk的输入/输出。输入/输出电路50驱动对应的位线,以基于通过控制信号端子Xctrl输入的各种控制信号,将数据从存储器单元阵列60读取到所涉及的位线上并且将数据输出到对应的数据输入/输出端子或者将已经通过数据输入/输出端子输入的数据写入存储器单元阵列60中的与所选择字线的各位线对应的存储器单元中。
尽管不受特别限制,但使用例如熟知的CMOSFET(互补型金属氧化物半导体场效应晶体管)半导体制造技术,将多端口存储器100装载到形成在诸如硅等的单一半导体衬底上的LSI上。在这种情况下,可以将多端口存储器100的电路信息、布局信息、和设计信息(诸如,将取决于电路、布局等确定的性能等)设置为LSI设计支持系统的库中包括的存储器宏单元。将在第六实施例中详细描述这一点。
根据第一实施例的多端口存储器100具有多种操作模式,包括第一操作模式和第二操作模式(modeA、modeB)。
第一操作模式modeA是例如正常操作模式,地址控制电路10在这种操作模式下执行逐个端口独立的控制。也就是说,地址控制电路10执行关于是否基于通过对应于各端口的地址端子输入的地址信号来激活对应端口的字线的控制。例如,地址控制电路10执行关于是否基于输入地址端子XA1的地址信号A1来激活对应于第一端口的字线WL1_0至WL1_m-1中的一条以及是否基于输入地址端子XA2的地址信号A2来激活对应于第二端口的字线WL2_0至WL2_m-1中的一条的控制。
第二操作模式modeB是例如在受干扰状态下执行的存储器测试的操作模式,并且地址控制电路10执行关于激活与测试主体端口的存储器单元耦合的其他端口的字线的控制。通过响应于从测试主体端口对所涉及存储器单元的访问,激活与以上相同的存储器单元耦合并且对应于其他端口的字线来创建受干扰状态。也就是说,地址控制电路10执行关于是否基于通过对应于所涉及测试主体端口的地址端子输入的地址信号来激活测试主体端口的字线的控制,还执行关于是否激活干扰侧端口的字线的控制。例如,在第二操作模式modeB中,地址控制电路10基于输入地址端子XA1的地址信号A1执行控制,以激活对应于第一端口的字线WL1_0至WL1_m-1中的一条并且激活耦合到与以上相同的存储器单元并且对应于第二端口的字线WL2_0至WL2_m-1中的一条。
由此,在第二操作模式modeB中,仅通过经由一个端口的地址端子输入地址信号,变得可以控制存储器至受干扰状态,并且仅通过控制与多端口存储器的端口中的一个耦合的访问主体,变得可以在受干扰状态下执行存储器测试。
另外,可包括第三操作模式modeC。第三操作模式也是在受干扰状态下执行存储器测试的操作模式。在第三操作模式modeC中,地址控制电路10将与第二操作模式modeB中的测试对象端口不同的端口设置为测试对象端口并且执行控制,以激活与所涉及存储器单元耦合并且对应于其他端口的字线。例如,在第三操作模式modeC中,地址控制电路10基于输入地址端子XA2的地址信号A2执行控制,以激活对应于第一端口的字线WL1_0至WL1_m-1中的一条并且激活耦合到与以上相同的存储器单元并且对应于第二端口的字线WL2_0至WL2_m-1中的一条。由此,从第二端口进行的访问被设置为测试对象并且第一端口用作干扰侧端口。
在包括至少三个端口的这种端口存储器中,至少一个端口用作一个测试对象端口的干扰侧端口,由此变得可以在受干扰状态下执行存储器测试。在所有端口的操作相互独立执行的规范的多端口存储器中,当激活除了测试对象端口外的所有端口的字线时,这导致最差的受干扰状态。在这种情况下,地址控制电路10基于测试对象端口的地址,激活耦合到与以上相同的存储器单元并且对应于其他端口的字线。另一方面,在对端口之间/端口之中的同时访问施加一些限制的这种多端口存储器中,可限定操作模式,以在限制的范围内创建最差的受干扰状态并且可安装应对这种情形的地址控制电路10。
参照附图在第一实施例中描述的配置仅仅是一个示例。在包括至少两个端口的条件下,端口的数量k是可选的。另外,字线的数量m并且位线的数量n也是可选的。不必要求各端口具有写功能和读功能两者并且可选地可逐个端口地限定功能。另外,位线可具有通过正逻辑信号布线和负逻辑信号布线这两个信号布线传输1位信息的互补配置。在这种情况下,在与对应于只读端口的位线耦合的存储器单元中,还可包括放大读出信号的缓冲器晶体管。另外,存储器单元的类型是可选的,而不管是易失性类型还是非易失性类型。存储器单元可以是SRAM、DRAM(动态随机存取存储器)、电可覆写或不可覆写ROM(只读存储器)等。在多端口存储器中,端口的数量k是2(端口数量k=2)并且存储器由SRAM构成的这种多端口存储器被特别地称为双端口SRAM(DP-SRAM)。
在以下第二实施例至第五实施例中的每个中,虽然将描述DP-SRAM的详细实施例,但可以将它扩展至端口的数量k是至少3的多端口存储器或者还可以可选地将它变成除了SRAM外的类型的存储器。
第二实施例
图2是示出作为多端口存储器的一个示例的DP-SRAM的存储器单元MC的配置的一个示例的电路图。将在两个端口被称为“A端口”和“B端口”的情况下进行描述。为了将包括六个MOS-SRAM的典型存储器单元配置为双端口存储器,通过添加用作传输门的两个MOSFET,用8个MOSFET配置存储器单元。均由两个MOSFET(M1和M2、M3和M4)构成的两个反相器安装在电源和地电势源之间,使共同的输出端子耦合到配合的输入端子,以构成一个原存储器元件(对应于图1中的PMC)。均由两个传输门M5和M6和M7和M8构成的两个传输门耦合到存储器元件的两个存储器节点。与A端口对应的字线WLA和互补的位线BLA和/BLA和与B端口对应的字线WLB和互补的位线BLA和/BLA被连线。字线WLA耦合到传输门M5和M7的栅极端子。当激活字线WLA时,存储器单元的存储器节点电耦合到位线BLA和/BLA。字线WLB耦合到传输门M6和M8的栅极端子。当激活字线WLB时,存储器单元的存储器节点电耦合到位线BLB和/BLB。
图3是示出作为多端口存储器的一个示例的DP-SRAM 100的整个配置的一个示例的示意图。DP-SRAM 100包括存储器单元阵列60、对应于A端口的输入/输出电路A(51)、控制电路A(11)和字驱动器A(13)和对应于B端口的输入/输出电路B(52)、控制电路B(12)和字驱动器B(14)。输入/输出电路A(51)和输入/输出电路B(52)是图1中的输入/输出电路50的配置示例,并且控制电路A(11)和控制电路B(12)、和字驱动器A(13)和字驱动器B(14)是图1中示出的地址控制电路10的配置示例。输入/输出电路A(51)和输入/输出电路B(52)均包括被省略的位线驱动电路、感测放大器和预充电电路并且分别耦合到位线BLA和/BLA和位线BLB和/BLB。字驱动器A(13)和字驱动器B(14)分别耦合到字线WLA和字线WLB。字线WLB和WLA均被图示为多条字线(图1中,m条线)中的一个。字驱动器A(13)和字驱动器B(14)分别受控制电路A(11)和控制电路B(12)控制,由此各自激活对应于各端口的多条字线中的一条或多条字线。控制电路A(11)和控制电路B(12)控制由输入/输出电路A(51)和输入/输出电路B(52)并行执行的位线预充电、位线驱动和/或感测放大器激活等。
图4是示出根据第二实施例的DP-SRAM 100的一个示例的配置图。DP-SRAM 100包括存储器单元阵列60、对应于A端口的输入/输出电路A(51)、控制电路A(11)和字驱动器A(13)和对应于B端口的输入/输出电路B(52)、控制电路B(12)和字驱动器B(14)。
A端口侧控制电路A(11)包括输入/输出控制电路A(15)、预充电控制电路A(17)、预解码器A(19)、时钟生成器A(21)、地址选择电路A(23)、时钟选择电路A(27)等,并且地址信号AA、A端口使能(enable)信号CEA和A端口时钟信号CLKA被输入控制电路A(11)。另外,测试使能信号TME也被输入控制电路A(11)。另一方面,B端口侧控制电路B(12)包括输入/输出控制电路B(16)、预充电控制电路B(18)、预解码器B(20)、时钟生成器B(22)、地址选择电路B(24)、时钟选择电路B(28)等,并且地址信号AB、B端口使能信号CEB和B端口时钟信号CLKB被输入控制电路B(12)。测试时钟信号TCLK和选择信号SELT被共同输入控制电路A(11)和控制电路B(12),由此分别控制A端口侧上的输入/输出电路A(51)和字驱动器A(13)和B端口侧上的输入/输出电路B(52)和字驱动器B(14)。
信号TAA和TCEA从A端口侧控制电路A(11)供应到B端口侧控制电路B(12)并且信号TAB和TCEB从B端口侧控制电路B(12)供应到A端口侧控制电路A(11)。信号TAA和TAB是在进行干扰测试时从测试侧传递到干扰侧的地址信号,信号TCEA和TCEB是在进行干扰测试时用于激活从测试侧发送到干扰侧的时钟信号的信号。
A端口侧地址选择电路A(23)将其自身的地址信号AA和从B端口侧供应的地址信号TAB中的一个视为选定地址信号SAA并且将信号SAA供应到预解码器A(19)。同样地,B端口侧地址选择电路B(24)将其自身的地址信号AB和从A端口侧供应的地址信号TAA中的一个视为选定地址信号SAB并且将信号SAB供应到预解码器B(20)。预解码器A(19)和预解码器B(20)的解码结果信号DAA和DAB被分别供应到字驱动器A(13)和字驱动器B(14),由此激活对应的字线。
除了图4之外,还将使用图5描述DP-SRAM 100的操作。图4中示出的逻辑电路是用于实现图5中的真值表上列出的功能的电路的一个示例并且可以可选地改变,包括改变信号的正逻辑/负逻辑。
图5是以真值表形式指示的根据第二实施例的DP-SRAM 100的操作的一个示例的说明性示图。
当选择信号SELT是“0”时,这指示正常操作模式并且时钟选择电路A(27)和B(28)分别选择时钟信号CLKA和CLKB作为用于各个端口的操作时钟信号。当选择信号SELT是“1”时,这指示测试模式并且时钟选择电路A(27)和B(28)二者选择时钟信号TCLK作为A端口和B端口之间公共的操作时钟信号。在测试模式(SELT=“1”)中,当测试模式使能信号TME是“0”时,执行正常存储器测试,而当信号TME是“1”时,执行受干扰状态下的存储器测试。
在正常操作模式(SELT“0”)中,信号CEA和CEB用作独立于彼此作用于A端口和B端口的端口使能信号,端口使能信号CEA使得在有效(assert)的状态(“1”)下A端口与时钟信号CLAK同步进行操作,端口使能信号CEB使得在有效的状态(“1”)下B端口与时钟信号CLAB同步进行操作。即使在测试模式(SELT=“1”)中,信号CEA和CEB也用作在正常存储器测试(TME=“0”)中独立于彼此作用于A端口和B端口的端口使能信号。然而,这两个端口与测试时钟信号TCLK同步进行操作。在测试模式(SELT=“1”)中,另外,在受干扰状态下执行的存储器测试(TME=“1”)中,信号CEA和CEB用作用于指定测试对象端口和干扰端口的信号。这里,测试对象端口是实际上针对测试对存储器单元进行访问的端口,并且干扰端口是激活耦合到与以上相同的存储器单元由此形成受干扰状态的字线的端口。当CEA=“1”且CEB=“0”时,A端口用作测试对象端口并且B端口用作干扰端口。相反地,当CEA=“0”且CEB=“1”时,B端口用作测试对象端口并且A端口用作干扰端口。当CEA=“1”且CEB=“1”时,这指示未受干扰的操作,而当CEA=“0”且CEB=“0”时,这指示没有端口被访问的NOP(无操作)。
将更详细地描述正常操作模式(SELT=“0”)。尽管将只描述A端口的操作,但B端口的操作与A端口的操作相同,因为A端口和B端口彼此能异步并且独立于彼此进行操作。由于SELT=“0”,因此TEST=“0”。这里,TEST是指示干扰测试模式的信号,TEST“1”指示干扰测试模式并且TEST“0”指示正常测试模式或正常操作模式。当CEA=“1”并且控制A端口至使能状态时,导致CKEA=“1”。然而,由于TEST=“0”,因此TCEA=“0”。这里,CKEA是用于激活时钟信号的信号,并且当CKEA=“1”时,激活A端口侧时钟信号。TCEA是在干扰测试模式下用于激活从测试侧发送到干扰侧的时钟信号的信号。尽管当TCEA=“1”时,时钟信号激活信号TCEA激活相反侧B端口的时钟信号,但由于TEST=“0”并因此TCEA=“0”,所以对B端口侧没有施加影响。由于CKEA=“1”,因此时钟选择电路A(27)选择的时钟信号CLKA被作为时钟选择信号SCKA输出并且时钟选择信号SCKA被输入时钟生成器A(21)。从时钟生成器A(21)输出限定时钟选择信号SCKA的上升作为原点的内部时钟信号(ICKA)。随后,将描述内部时钟信号ICKA的定时。A端口本身的地址信号AA是通过地址选择电路A(23)选择的并且被作为地址信号SAA供应到预解码器A(19)。字驱动器A(13)基于从预解码器A(19)输出的解码结果信号DAA,激活对应于地址信号AA的一条字线。使用内部时钟信号ICKA,限定字线激活的定时和输入/输出控制电路A(15)和预充电控制电路A(17)的操作定时。当读数据时,预充电控制电路A(17)进行操作,由此所涉及的位线被预充电并且对应于地址信号AA的字线被激活。输入/输出控制电路A(15)进行操作,由此输入/输出电路A(51)中的感测放大器(未示出)进行操作并且从通过激活的字线选择的存储器单元读出数据。当写数据时,对应于地址信号AA的字线被激活并且输入/输出控制电路A(15)进行操作,由此输入/输出电路A(51)中的位线驱动电路(未示出)驱动所涉及的位线并且数据被写入通过激活的字线选择的存储器单元。
将描述使用测试时钟信号TCLK的正常存储器测试模式(SELT=“1”,TME=“0”)。由于SELT=“1”,因此当时钟选择信号SCKA和SCKB和时钟选择信号SCKA和SCKB被输入时钟生成器A(21)和时钟生成器B(22)时,输出通过时钟选择电路A(27)和时钟选择电路B(28)选择的测试时钟信号TCLK。由此,DP-SRAM 100与测试时钟信号TCLK同步操作。由于其他操作与以上提到的正常操作模式下的操作相同,因此省略对其的描述。
将描述干扰测试模式(SELT=“1”,TME=“1”)。
当CEA=“1”并且CEB=“0”时,A端口用作测试对象端口并且B端口用作干扰端口。
在A端口侧,CKEA=“1”并且选择测试时钟信号TCLK作为时钟选择信号SCKA进行输出,然后将时钟选择信号SCKA供应到时钟生成器A(21)。另外,IFA=“0”并且选择地址信号AA作为地址信号SAA进行输出并且将地址信号SAA供应到预解码器A(19)。与由预解码器A(19)用解码结果信号DAA选择的地址信号AA对应的字线与从时钟生成器A(21)输出的内部时钟信号ICKA同步地激活并且输入/输出控制电路A(15)和预充电控制电路A(17)与内部时钟信号ICKA同步地操作,由此执行对A端口侧的数据读出或数据写入。另外,由于TCEA=“1”,因此与对A端口侧的存储器访问操作同时地,A端口侧的地址信号AA被作为地址信号TAA发送。
在B端口侧,由于CEB=“0”,因此IFB=“1”并且地址选择电路B(24)选择从A端口侧发送的地址信号TAA(也就是说,取代B端口侧的地址信号AB的A端口侧的地址信号AA)并且将地址信号AA作为选择信号SAB输出并且选择信号SAB被供应到预解码器B(20)。因此,另外,在B端口侧,通过预解码器B(20)选择与A端口侧相同的对应于地址信号AA的字线并且通过字驱动器B(14)激活如此选择的字线。另外,尽管B端口侧的使能信号CEB是“0”(CEB=“0”),但从A端口侧供应的时钟激活信号TCEA是“1”(TCEA=“1”)因此CKEB=“1”并且选择时钟信号TCLK作为B端口时钟选择信号SCKB并且时钟选择信号SCKB被供应到时钟生成器B(22)。时钟生成器B(22)生成并且输出与时钟信号TCLK同步的B端口内部时钟信号ICKB。尽管字驱动器B(14)与内部时钟信号ICKB同步地操作,但IFB=“1”,因此内部时钟信号ICKB没有被发送到预充电控制电路B(18)和输入/输出控制电路B(16)。在输入/输出电路B(52)中,位线的预充电没有被清零,对B端侧既不执行数据读出,又不执行数据写入。
当CEA=“0”并且CEB=“1”时,B端口用作测试对象端口并且A端口相反地用作干扰端口,并且与以上相同的方式进行操作。省略对其的描述。
当CEA=“0”并且CEB=“0”时,TCEA=“0”并且TCEB=“0”并且CKEA=“0”并且CKEB=“0”,因此时钟选择信号SCKA和SCKB二者被固定于“0”并且时钟生成器A(21)和时钟生成器B(22)都不操作。A端口和B端口都不操作并且创建NOP状态。
当CEA=“1”并且CEB=“1”时,这指示未受干扰的操作。由于IFA=“0”并且IFB=“0”,因此地址信号AA被作为地址信号SAA发送并且地址信号AB被作为地址信号SAB发送。当地址信号AA不同于地址信号AB时,由于与对于A端口和B端口之间不同的存储器单元耦合的字线被激活,因此没有创建受干扰状态。另外,即使地址信号AA与地址信号AB相同并且耦合到同一存储器单元的字线被激活,当没有酌情调节用于激活字线的定时时,也难以执行适宜的干扰测试。通常,因为由于端口之间的时钟偏移,字线激活的定时彼此偏离,所以难以执行适宜的干扰测试。
将描述时钟生成器A(21)和B(22)。可以通过采用例如日本未审专利申请公开No.2010-80001和Yuichiro Ishii等人的“A 28nm Dual-Port SRAM Macro With Screening Circuitry Against Write-Read Disturb Failure Issues”(IEEE J.Solid-State Circuits,U.S.A.,Institute of Electrical and Electronics Engineers,2011年11月,第46卷,第11期,第2535-2544页)中公开的熟知电路配置来配置时钟生成器A(21)和B(22)。
图6是示出时钟生成器的操作的一个示例的定时图。尽管图6示出时钟生成器A(21)的波形的一个示例,但对于时钟生成器B(22)而言,同样如此。针对正常操作模式的时间段和测试操作模式的时间段中的每个示出与所选择的时钟信号SCK的一个周期对应的波形。
在正常操作TEST=低(“0”)水平并且IFA=低(“0”)水平的时间段中,在信号传播路径已经从时钟选择信号SCKA的上升起延迟了延迟d0之后,字线激活脉冲ICKA上升,然后在脉冲前行了脉冲宽度d1之后下降。按照这个操作,也就是说,在信号传播因字驱动器A(13)延迟了之后,字线WLA被激活。脉宽d1是在时钟生成器A(21)中生成的,具有使其变得可以酌情执行数据读取和数据写入的值。
至于测试操作模式的时间段,用实线指示当A端口用作测试对象时的波形,用虚线指示当A端口用作干扰侧时的波形。在测试操作模式的时间段中TEST=高(“1”)水平,当A端口处于测试侧时,IFA=低(“0”)水平,而当A端口处于干扰侧时,IFA=高(“1”)水平。
当A端口处于测试侧并且IFA=低(“0”)水平时,字线激活信号ICKA在时钟选择信号SCKA上升之后在信号传播路径的延迟d0后因延迟了da而上升,然后在传播了与正常操作模式下的脉宽相同的脉宽d1之后下降。另一方面,当A端口处于干扰侧并且IFA=高(“1”)水平时,字线激活信号ICKA在时钟选择信号SCKA上升之后因延迟了信号传播路径的d0而上升,然后在传播了对应于延迟da+d1+db的脉宽之后下降。这里,在时钟生成器A(21)中生成延迟da和db。
如上所述,可以通过将A端口设置为测试对象并且将B端口设置为干扰侧来执行A端口的干扰测试。变得可以确实地使干扰侧端口的字驱动器通过将延迟da和db设置成比端口之间的时钟偏移的值大的值来执行干扰操作。然而,担心的是,延迟量过大会引起所谓的过度杀伤(overkill),因为出现过量的干扰。例如,当因数据写操作中的比正常脉宽d1大得多的脉宽的干扰而阻碍了位线电平的反转时,出现过量的干扰。要求酌情地限定或调节延迟da和db,以避免出现将不会在正常操作模式下出现的这种过量干扰。
如上所述,选择在其自身端口的地址和用于驱动字线的配合端口的地址使用哪个地址的地址选择电路被安装在这两个端口中的每个中并且测试中使用的地址从测试侧端口传递到干扰侧端口,以便只控制测试侧端口,由此变得可以使干扰侧端口执行干扰操作。另外,控制激活字线的定时的时钟生成器被安装在端口中的每个中并且控制干扰侧的字线,使得相比于正在激活测试侧的字线的时间段,信号确实更早地上升并且确实更晚地下降,由此端口之间的时钟偏移被吸收并且变得可以执行适宜的干扰测试。另外,使用在正常操作模式下使用的端口使能信号CEA和CEB,以指定各端口是否作为测试侧端口或干扰侧端口操作,由此不要求添加专门用于干扰测试的控制信号和用于控制信号的端子。
在许多情况下,在以DP-SRAM为代表的多端口单元中,各个端口耦合到互不相同的访问主体(诸如,CPU等)并且由各个访问主体相互独立地并且相互异步地进行访问。因此,为了对多端口存储器执行干扰测试,按惯例,要求安装诸如MBIST(内建自测)等的专用测试电路。为了执行干扰测试,要求操作耦合到相互协作的多个端口的访问主体,以将从多个端口进行的存取相互同步。然而,实际上难以操作与互不相同的端口协作耦合的多个CPU,因为实际上,通常不允许添加只是用于测试的协作功能。
有利的是,地址选择电路和时钟生成器安装在DP-SRAM 100的存储器宏单元中。相比于例如通过使用标准单元等作为MBIST的功能的自动布置和布线,将地址选择电路和时钟生成器安装在存储器宏单元外部的情况,变得可以更加减小芯片面积。另外,由于当设计宏单元的布局时安排好了电路的布置和布线,因此有助于进针对延迟的设计并且不要求采取大的定时余量。
第三实施例
图7是示出根据第三实施例的DP-SRAM 100的一个示例的配置图。包括地址解码信号选择电路A(25)和B(26)来取代图4中示出的根据第二实施例的DP-SRAM 100中的地址选择电路A(23)和B(24)。当其自身侧的预解码器A(19)的解码结果信号DAA被供应到字驱动器A(13)时,地址解码信号选择电路A(25)将解码结果信号DAA作为输入信号PAA输出,而当解码结果信号DAA被供应到其他侧的字驱动器B(14)时,地址解码信号选择电路A(25)将解码结果信号DAA作为输入信号PAB输出。同样地,当其自身侧的预解码器B(20)的解码结果信号DAB被供应到字驱动器B(14)时,地址解码信号选择电路B(26)将解码结果信号DAB作为输入信号PAB输出,而当解码结果信号DAB被供应到其他侧的字驱动器A(13)时,地址解码信号选择电路B(26)将解码结果信号DAB作为输入信号PAA输出。当解码结果信号相互地从其配合的端口输入时,控制从其自身侧作为输入信号PAA和PAB输出的信号,使其具有高阻抗。由于其他配置和操作与第二实施例中的配置和操作相同,因此省略对其的描述。
由此,变得可以将预解码器的解码结果信号DAA和DAB作为输入信号PAA和PAB分别传递到字驱动器A(13)和B(14),以取代相互地传递地址信号TAA和TAB。
图8是以真值表形式指示的根据第三实施例的DP-SRAM 100的操作的一个示例的说明性示图。另外,在图8中的真值表中,指示图5中示出的根据第二实施例的DP-SRAM的操作的真值表中的列“地址选择”被“预解码信号选择”取代。DP-SRAM以与根据第二实施例的DP-SRAM相同的方式进行操作,不同的是,采用预解码结果取代地址作为中间值,从而应对以上提到的电路配置的改变。
另外,在第三实施例中,表现出与以上提到的第二实施例的效果相同的有利效果。
第四实施例
图9是示出根据第四实施例的DP-SRAM的一个示例的配置图。包括有效强制电路A(29)和B(30),以取代图4中示出的根据第二实施例的DP-SRAM 100的地址选择电路A(23)和B(24)和图7中示出的根据第三实施例的DP-SRAM 100的地址解码信号选择电路A(25)和B(26)。有效强制电路A(29)和B(30)是将预解码结果信号DAA和DAB分别与有效强制信号IFA和IFB逐位求或的逻辑电路。当有效强制信号IFA被有效时,不管解码结果DAA如何,A端口侧的所有字线都被激活,并且致使从字驱动器A(13)输出有效强制信号IFA。当有效强制信号IFB被有效时,不管解码结果DAB如何,B端口侧的所有字线都被激活,并且致使从字驱动器B(14)输出有效强制信号IFB。由于其他电路配置和操作与根据第二实施例和第三实施例的DP-SRAM 100的电路配置和操作相同,因此省略对其的描述。
由此,至于干扰侧端口的字线,可以不仅激活耦合到存储器单元的字线作为测试对象,而且激活干扰侧端口的所有字线。
图10是以真值表形式指示的根据第四实施例的DP-SRAM 100的操作的一个示例的说明性示图。图10中的真值表与指示图8中示出的根据第三实施例的DP-SRAM的操作的真值表相同,不同的是,在干扰测试(SELT=“1”和TME=“1”)中,已经被设置为干扰侧的端口的“预解码信号选择”信号的所有位被强制设置成“1”,因为已经为端口使能信号CEA和CEB指定了“0”。
由此,相比于第二实施例和第三实施例中的电路的电路规模,地址控制电路(10、11、12)的电路规模进一步减小。尤其是,字线数量小的多端口存储器中,电路简化的效果强。
顺带一提,有效强制电路A(29)和B(30)是当所有的有效强制信号IFA和IFB和信号IAA和IAB都是正逻辑信号时的“将预解码结果信号DAA和DAB分别与有效强制信号IFA和IFB逐位地求或的逻辑电路”的描述。当这些信号中的一个或两个变成一个或多个负逻辑信号时,相应地酌情改变逻辑电路的配置。
第五实施例
图11是示出根据第五实施例的DP-SRAM的一个示例的配置图。在图4中示出的根据第二实施例的DP-SRAM 100中,通过时钟选择电路A(27)和B(28)分别在其自身端口的时钟信号CLKA和CLKB和测试时钟信号TCLK之间执行时钟信号的选择。相比之下,在第五实施例中,没有使用测试时钟信号TCLK并且时钟信号CLKA和CLKB被类似地用于正常操作模式下的信号选择。在干扰测试中,测试侧的时钟信号被传递到干扰侧。时钟信号CLKA和CLKB被输入时钟选择电路A(27)并且使用有效强制信号IFA来选择信号中的一个并且进行输出。同样地,时钟信号CLKA和CLKB也被输入时钟选择电路B(28),并且使用有效强制信号IFB来选择信号中的一个并且进行输出。由此,测试时钟信号TCLK的输入被取消。另外,取代测试模式使能信号TME,逐端口地输入测试模式使能信号TMEA和TMEB。由于其他配置和操作与第二实施例中的配置和操作相同,因此省略对其的描述。
图12是以真值表形式指示的根据第五实施例的DP-SRAM的操作的一个示例的说明性示图。删除了指示图5中示出的根据第二实施例的DP-SRAM的操作的真值表中的SELT、TME和TCLK的列,替代地,添加了TMEA和TMEB的列。尽管不管测试模式使能信号TMEA和TMEB中的哪个被有效,都执行与图5中的干扰测试中的操作相同的操作,但使用信号CLKA或CLKB作为时钟信号来取代时钟信号TCLK。在CEA=“1”并且CEB=“1”的未受干扰测试中,A端口侧与时钟信号CLKA同步地操作并且B端口侧与时钟信号CLKB同步地操作。当CEA=“1”并且CEB=“0”时,B端口是测试侧并且A端口是干扰侧,因此测试侧的时钟信号CLKB被传递到干扰侧A端口,供使用。相反地,当CEA=“0”并且CEB=“1”时,A端口是测试侧并且B端口是干扰侧,因此测试侧的时钟信号CLKA被传递到干扰侧B端口,供使用。当CEA=“0”并且CEB=“0”时,这指示NOP。由于正常操作模式与第二实施例中的正常操作模式相同,因此省略对其的描述。
图13是示出已经使用了根据第五实施例的DP-SRAM的系统配置的一个示例的示意图。CPU A 201耦合到DP-SRAM 100的A端口并且CPU B 202耦合到DP-SRAM 100的B端口。CPU A 201和CPU B 202能够在正常操作模式下独立于彼此并且彼此异步地访问DP-SRAM 100并且另外能够在测试模式下独立于彼此并且彼此异步地对DP-SRAM100执行存储器测试。在这种情况下,当其自身所耦合的端口被设置为测试对象时,可以将其他端口设置为干扰端口并且可以在没有多个CPU协作操作的情况下自己执行干扰测试。如有请求,则可执行相互通信,使得只有从干扰端口侧CPU发送的端口使能信号(CEA和CEB)被无效(negate)。顺带一提,如图11中所示,由于已经输入DP-SRAM100的测试模式使能信号TMEA和TMEB只是被求或并且输出干扰测试模式信号TEST,因此可进行改变,使得输入一个TEST信号来取代输入测试模式使能信号TMEA和TMEB。然而,变得可以通过经由划分成测试模式使能信号TMEA和TMEB输入信号来对称地设置A端口侧和B端口侧,因此,有效之处在于,变得可以从任一个端口转变成测试模式。
第五实施例的特征点在于,配置被改变成不使用测试时钟信号TCLK。尽管在图11和图12中已经示出了第二实施例的配置改变后的配置示例,但还可以通过改变其他实施例(诸如,第三实施例和第四实施例)的配置来提供新实施例。地址系统的传递和测试时钟信号TCLK规范的存在/不存在是相互独立的技术思路并且可选地可彼此相组合。
第六实施例
图14是示意性示出利用多端口存储器100作为库的LSI设计支持系统300的一个配置示例的框图。
LSI设计支持系统300包括处理单元310、存储器单元320、输入/输出单元330等。例如,通过包括显示器、键盘、鼠标等作为输入/输出单元330并且包括诸如硬盘等的存储介质作为存储器单元320的计算机来实现LSI设计支持系统300,并且处理单元310被实现为装载在所涉及计算机上的处理器。已经做出的更高级功能描述、RTL(寄存器传输级)描述或门级电路描述的网表被作为设计信息321存储在存储器单元320中。另外,包括标准单元库、存储器宏单元库、模拟宏单元库等的库322被存储在存储器单元320中,另外,功能限制、信号延迟限制、布局限制等已经被创建的设计规则323被存储在存储器单元320中。处理单元310可以通过执行存储器单元320中存储的程序执行逻辑合成、定时验证、通过自动布置和布线进行的布局设计、和对设计信息321进行的其他各种类型的验证并且可以将执行的结果作为设计结果信息324输出到存储器单元320。例如,电路信息、布局信息和各种验证结果被输出到设计结果信息324并且存储在其中。输入/输出单元330用作作为用户的LSI设计者使用的用户界面,以在处理这些信息时输入设计信息321,或者在处理这些信息的过程中输入各种类型的设计参数,或者确定设计结果信息324。
以本申请的各实施例中指示的DP-SRAM为代表的多端口存储器100被作为存储器宏单元包括在库322中。可包括各种参数相互变化的多个固定的存储器宏单元并且存储器宏单元可通过在处理单元310中操作的RAM编译器生成并且被输出到存储器单元320。存储器宏单元可经由互联网通过诸如DVD(数字通用盘)等的便携式存储介质或通信介质来提供,从而被作为库结合到LSI设计支承系统300中。
尽管以上基于本发明的优选实施例具体描述了发明人进行的本发明和其他,但无须说,本发明不限于以上提到的实施例并且可在不偏离本发明主旨的范围内,按各种方式进行改变和修改。
例如,已经在像说明书中描述的一样地信号是正逻辑信号或负逻辑信号的假设下进行了各实施例中已经例示的逻辑电路的配置并且可以可选地改变正逻辑和负逻辑之间的关系。