一种SRAM的旁路结构
技术领域
本发明涉及一种SRAM(静态随机存取存储器),特别是涉及一种SRAM的旁路(bypass)结构。
背景技术
对SRAM的操作包括写入数据和读取数据。当往SRAM中写入数据时,如果其输入端的数据原样反映到其输出端,则该功能称为旁路功能,实现该功能的结构称为旁路结构。
请参阅图1,这是SRAM的信号示意图。其中DIN表示数据的输入信号。DOUT表示数据的输出信号。CLK表示时钟信号,其上升沿有效。WEN表示写使能信号,其为低电平(0)时表示数据写入SRAM,此时输出信号DOUT要复制输入信号DIN;其为高电平(1)时表示从SRAM读取数据。
图1中写使能信号WEN为低电平时,输入的数据DIN为DATA1,这表示该段时间内要往SRAM中写入数据DATA1。在具有旁路功能的SRAM中,其输出数据DOUT也要是DATA1。
第一种情况Case1,写使能信号WEN和输入数据DIN只经过一次锁存,数据DATA1在时钟信号CLK到来之前就输出为输出数据DOUT,使得前一个输出数据的持续时间变短,容易引起误操作。而且由于写使能信号WEN、输入数据DIN到来的时间是不确定的,会造成输出数据DOUT随时中断上一个数据输出而进行旁路输出,这样会使电路功能混乱,尤其在读数据之后马上写数据,无法分辨输出数据DOUT究竟是读取的数据还是旁路输出的写入数据。
第二种情况Case2,写使能信号WEN和数据输入信号DIN再进行第二次锁存以实现寄存功能,此时数据输出信号DOUT在时钟信号CLK为高电平时才开始输出数据DATA1,这是旁路功能的正确实现。
图1中,写使能信号WEN和数据输入信号DIN都要提高于时钟信号CLK的上升沿一段时间,这是两个信号各自的信号建立时间(setuptime)twes和tds。
从图1中可以发现,虽然写使能信号WEN和输入数据DIN在SRAM器件的内部电路中具有一次锁存,但在实现旁路功能时仍会出错。只有对这两个信号进行二次锁存,才能正确地实现旁路功能。
请参阅图2,这是一种现有的SRAM的旁路结构的电路示意图。为便于描述,用虚线将其划分为A、B、C、D四个部分。
A部分是写使能信号WEN和输入数据DIN额外增加的锁存器,每个锁存器由三个非门和两个传输门组成。例如,写使能信号锁存器包括串联的第一非门inv_1、第一传输们pass_1和第二非门inv_2;以及与第二非门inv_2并联的第一支路。所述第一支路为串联的第二传输门pass_2和第三非门inv_3。其输出信号WEN_i与WEN形状相同,只是时序上稍晚。数据输入信号锁存器的结构与之完全相同。
B部分产生一对相反的旁路控制信号BPS和BPSX,这部分电路是由第四非门inv_4和第五非门inv_5串联组成的。其输入为写使能信号的锁存信号WEN_i,经过第四非门inv_4后输出旁路控制信号BPS,经过第五非门inv_5后输出旁路控制信号inv_5。
C部分是由两个二输入与非门nand2_1、nand2_2组成的RS锁存器,这是SRAM电路中原有的锁存器,并非本发明所加的部分。其功能为将灵敏放大器(sensa)的输出信号对Q、QX进行锁存。该信号对Q、QX可视为是从SARM中所读取的数据信号。在向SRAM写入数据对,该信号对Q、QX都为高电平,表示处于无效状态。根据RS锁存器的工作特点,在新的读取数据到来之前,RS锁存器的输出保持上次读到的数据。
D部分为旁路结构的实现部分,是由一对相反的旁路控制信号BPS和BPSX控制的二选一结构的两个传输门pass_5和pass_6组成。这两个传输门pass_5和pass_6的输入分别是输入数据的锁存信号DIN_i和RS锁存器的输出,其输出均为整个SRAM的旁路结构的输出端DOUT。在读取SRAM的时候,输出数据DOUT为RS锁存器的输出;在向SRAM写入数据的时候,输出数据DOUT为锁存后输入数据DIN_i。
图2所示的SRAM的旁路结构在具体实现时,A部分的每一个锁存器需要用10个MOS晶体管。整个电路结构需要28个MOS晶体管(对于每一位的输入输出而言),这会浪费SRAM的很多面积,同时增加功耗。
另一种现有的SRAM的旁路结构,是通过对SRAM内部控制来实现的。在向SRAM写的同时进行读操作,将输入信号显示在输出上,以实现旁路功能。这种结构不需要额外添加MOS晶体管即可实现,因而可节约SRAM的面积。但是由于写的同时进行读操作,导致功耗比较大,与图2所示的多个MOS晶体管的实现电路的功耗差不多。
发明内容
本发明所要解决的技术问题是提供一种SRAM的旁路结构,具有低的功耗和面积。
为解决上述技术问题,本发明SRAM的旁路结构包括两个非门和两个三输入与非门;
两个非门的输入端分别接写入数据信号对;
两个三输入与非门的第一输入端分别接两个非门的输出端,两个三输入与非门的第二输入端接读取数据信号对,第一三输入与非门的输出端接第二三输入与非门的第三输入端,第二三输入与非门的输出端接第一三输入与非门第三输入端;
其中,第一或第二三输入与非门的输出端作为该SRAM的旁路结构的输出端。
其中,所述写入数据信号对包括一个写入数据的同相信号和一个写入数据的反相信号,这两个信号均为低电平则是无效状态。
其中,所述读取数据信号对包括一个读取数据的同相信号和一个读取数据的反相信号,这两个信号均为高电平则是无效状态。
其中,所述两个三输入与非门组成了一个RS锁存器,实现对读取数据信号对和写入数据信号对的选择及锁存功能。
其中,当向SRAM写入数据时,读取数据信号对同时为高电平,所述RS锁存器的输出为写入数据的同相信号;
当从SRAM读取数据时,写入数据信号对同时为低电平,所述RS锁存器的输出信号为读取数据的同相信号。
本发明SRAM的旁路结构具有简单的电路结构,在半导体集成电路中实现时需要较少的MOS晶体管,因而节约了SRAM器件的面积,并因而降低了SRAM器件的功耗。
附图说明
图1是SRAM的旁路功能的信号示意图;
图2是一种现有的SRAM的旁路结构的电路示意图;
图3是本发明SRAM的旁路结构的电路示意图;
图4是本发明SRAM的旁路结构的各信号的时序关系图。
图中附图标记说明:
inv_n(n为自然数)为第n非门;pass_n(n为自然数)为第n传输门;nand2_n(n为自然数)为第n二输入与非门;nand3_n(n为自然数)为第n三输入与非门。
具体实施方式
请参阅图3,这是本发明SRAM的旁路结构,包括两个非门和两个三输入与非门;
第一非门inv_1的输入端接写入数据信号对GW、GWX中的一个,例如GWX;
第二非门inv_2的输入端接写入数据信号对GW、GWX中的另一个,例如GW;
第一三输入与非门nand3_1的第一输入端接第一非门inv_1的输出端;其第二输入端接读取数据信号对Q、QX中的一个,例如QX;其第三输出端连接第二三输入与非门nand3_2的输出端;其输出端作为整个SRAM的旁路结构的输出端DOUT;
第二三输入与非门nand3_2的第一输入端接第二非门inv_2的输出端;其第二输入端接读取数据信号对Q、QX中的另一个,例如Q;其第三输出端连接第一三输入与非门nand3_1的输出端。
所述写入数据信号对GW、GWX是SRAM器件中已有的信号,由其内部电路产生,并提供给SRAM器件中的写入电路使用。在写入数据信号对中,GWX是写入数据的同相信号,GW是写入数据的反相信号。这也意味着,有效状态时写入数据信号对中的一个为高电平另一个为低电平,如果两个信号均为低电平则是无效状态。
所述读取数据信号对Q、QX也是SRAM器件中已有的信号,由其内部的灵敏放大器输出。在读取数据信号对中,Q是读取数据的同相信号,QX是读取数据的反相信号。这也意味着,有效状态时读取数据信号对中的一个为高电平另一个为低电平,如果两个信号均为高电平则是无效状态。
为便于描述,将图3所示的电路也用虚线划分为A、B两部分。
A部分由两个反相器inv_1和inv_2组成。它们将该写入数据信号对GW、GWX转换为一个为高电平另一个为低电平表示有效状态、两个信号均为高电平则是无效状态的信号。
B部分是旁路功能的具体实现部分,由两个三输入与非门nand3_1和nand3_2组成RS锁存器,实现对读取数据信号对Q、QX和写入数据信号对GW、GWX的选择及锁存功能。
具体地,B部分的工作原理为:
当写使能信号WEN为低电平时,表示向SRAM写入数据。此时读取数据信号对Q、QX同时为高电平,表示为无效状态。输出信号DOUT为写入数据的同相信号GWX的内容。
当写使能信号WEN为高电平时,表示从SRAM读取数据。此时写入数据信号对GW、GWX同时为低电平,表示为无效状态。输出信号DOUT为读取数据的同相信号Q的内容。
请参阅图4,这是本发明SRAM的旁路结构的各信号的时序关系图。其中写入数据信号对GW、GWX同时为0无效。读取数据信号对Q、QX同时为1无效。时钟信号CLK的上升沿有效,写使能信号WEN的有效状态为0。
在第一时钟周期Cycle0,写使能信号WEN为0,表示向SRAM写入数据。输入数据DIN为0,表示向SRAM写入0。由于输入数据DIN是0,写入数据的同相信号GWX为0,反相信号GW在时钟信号CLK上升沿之后一段时间变为1。读取数据信号对Q和QX在这个周期同时为1,即无效状态。这样写入数据信号对GW、GWX的数据经图3中的A、B部分输出,输出数据DOUT为写入数据的同相信号GWX,为0。该第一时钟周期Cycle0便实现了SRAM器件的旁路功能。
在第二时钟周期Cycle1,写使能信号WEN为1,表示从SRAM读取数据。假设读取的数据为1,则读取数据的同相信号Q为1,反相信号QX在时钟信号CLK上升沿后一段时间变为0。写入数据信号对GW和GWX在这个周期同时为0,即无效状态。这样读取数据信号对Q、QX数据经图3中的B部分输出,输出数据DOUT为读取数据的同相信号Q,为1。
比较图2和图3可知,本发明SRAM的旁路结构明显简单。采用半导体集成电路予以实现时,图3所示的SRAM的旁路结构只需8个MOS晶体管即可(而每一位的输入输出而言),比图2所示的一种现有的SRAM的旁路结构节省了20个MOS晶体管(对每一位的输入输出而言),因而节约了SRAM器件的面积。同时由于实现所需的MOS晶体管数量较少,功耗也得到了降低。
以上仅为本发明的优选实施例,并不用于限定本发明。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。