掌桥专利:专业的专利平台
掌桥专利
首页

一种FPGA内可配置SRAM的写入电路及方法

文献发布时间:2024-04-18 20:01:55


一种FPGA内可配置SRAM的写入电路及方法

技术领域

本发明涉及集成电路技术领域,更具体地涉及一种FPGA内可配置SRAM的写入技术。

背景技术

本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是已被公开的现有技术。

随着集成电路先进制造工艺特征尺寸的不断减小,金属氧化物半导体场效应晶体管(MOS)器件的偏差尤其是局部偏差(local Variation)变得越来越大,给静态随机访问存储器(SRAM)的可靠性带来极大的影响。SRAM的读写过程是N型驱动管(NMOS管)和P型驱动管(PMOS管)驱动能力的竞争过程,当NMOS管和PMOS管由于工艺偏差而造成驱动能力的差别较大时,就可能导致SRAM的读写失败。本文主要描述提高SRAM写可靠性的实现方法。

现场可编程门阵列(FPGA)的主流技术有基于反熔丝、基于SRAM和基于快闪(Flash)三种。相对于反熔丝和基于FLASH的FPGA,SRAM型FPGA具有强大的性能优势和设计灵活性,对飞控和航电应用具有巨大的吸引力。目前占据市场份额最大的FPGA厂商Xilinx和Altera的绝大部分产品都是基于SRAM的,欧美等国家的航空航天机构也把SRAM型FPGA作为核心电子元器件。

SRAM是SRAM型FPGA实现功能的重要组成元件,用户需将要实现的逻辑功能以码流的形式下载到FPGA的可编程SRAM中,如果可编程SRAM的写入失败,则可能导致用户无法实现预想的功能,芯片失效。

增强SRAM写可靠性方法主要有三种,SRAM使用工艺偏差较小的器件、提高SRAM的字线(Wordline,即SRAM的地址线)电压和增强驱动管的能力。采用器件偏差较小的器件类型构成SRAM可靠性提高明显,缺点是带来更大的面积或者静态漏电。提高SRAM的Wordline电压需要设计一个额外的稳压器,设计复杂并且开销大。增强驱动管的能力是常用设计手段,在写SRAM的过程中由NMOS构成的下拉管起主要作用,但随着芯片上条件(工艺角、电压与温度,即PVT)的变化,在边界情况下增加NMOS管的尺寸也会有写SRAM失败的情况发生。

目前FPGA厂商Xilinx和Altera在其先进工艺产品上也加强了SRAM的写可靠性,用于应对越来越大的工艺偏差以及更低的工作电压。其主要手段是抬高写过程中SRAM的Wordline电压,这样做会存在以下问题:增加设计成本,提高Wordline电压需要独立做一个稳压器,需要投入人力资源开发模拟电路,增加设计复杂度的同时也增加了芯片面积,提高整体的设计成本。

发明内容

本发明的目的在于提供一种FPGA内可配置SRAM的写入电路,在设计成本增加较低的情况下,提高了SRAM的写可靠性。

在本发明中,本发明提供了一种FPGA内可配置SRAM的写入电路,包括配置控制模块、数据控制器、多个地址译码器、配置存储单元阵列、下拉控制模块、以及缓冲器模块,其中:

所述配置控制模块连接所述数据控制器;

所述数据控制器分别通过多对位线和负位线连接所述配置存储单元阵列,每对位线和负位线连接所述配置存储单元阵列中的一列存储单元;

所述数据控制器通过所述多对位线和负位线、写使能信号线和数据下拉使能信号线连接所述缓冲器模块,并通过所述多对位线和负位线和所述数据下拉使能信号线连接所述下拉控制模块,其中所述下拉控制模块用于接收所述位线或负位线上的“0”信号,在所述数据下拉使能信号的控制下打开下拉“0”信号对应的位线或负位线的N型驱动管开关,关闭所述位线或负位线中的另一个的N型驱动管开关;

所述配置控制模块通过地址使能信号线连接所述多个地址译码器中的每一个,所述配置存储单元阵列中的每一行存储单元与所述多个地址译码器之间一一对应并通过字线对应连接。

在一个优选例中,所述下拉控制模块设置在所述配置存储单元阵列中的居中位置。

在一个优选例中,所述下拉控制模块设置在所述配置存储单元阵列中远离位线起点的边界位置。

在一个优选例中,一行所述存储单元对应一个或多个所述下拉控制模块。

在一个优选例中,所述下拉控制模块的面积和功耗小于所述数据控制器。

在一个优选例中,包括配置控制模块、数据控制器、多个地址译码器、配置存储单元阵列、下拉控制模块、和缓冲器模块,其中:

通过所述配置控制模块发送一帧数据,然后发送写使能信号;

通过所述数据控制器将所述数据传递到连接所述配置存储单元阵列中的一列存储单元的位线上,根据数据值,位线或负位线被所述数据控制器下拉为“0”;

在“0”信号建立完成后,通过所述数据控制器向所述缓冲器模块发送数据下拉使能信号;

通过所述下拉控制模块根据所述位线或负位线上的“0”信号,在所述数据下拉使能信号的控制下,将下拉“0”信号对应的位线或负位线的N型驱动管开关打开,将所述位线或负位线中的另一个的N型驱动管开关关闭;

通过所述配置控制模块发送的地址使能信号,开启字线,启动所述多个地址译码器;

在所述写使能信号和所述地址使能信号控制下,将存储单元的值改写为所述数据值,完成静态随机访问存储器的写入操作。

在一个优选例中,所述数据值包括“0”;

当配置控制模块发送数据“0”时,位线被数据控制器下拉为“0”,所述数据下拉使能信号需要等待位线上的“0”完全建立好后开启;

所述下拉控制模块根据所述位线上的“0”信号,在所述数据下拉使能信号的控制下,将下拉位线的N型驱动管开关打开,将负位线的N型驱动管开关关闭。

在一个优选例中,所述数据值包括“1”;

当配置控制模块发送数据“1”时,负位线被数据控制器下拉为“0”,所述数据下拉使能信号需要等待负位线上的“0”完全建立好后开启;

所述下拉控制模块根据所述负位线上的“0”信号,在所述数据下拉使能信号的控制下,将下拉负位线的N型驱动管开关打开,将位线的N型驱动管开关关闭。

在一个优选例中,所述写使能信号在一帧数据全部发送完成后发出;所述数据下拉使能信号需要等待N个周期结束直至“0”信号完全建立好后开启,N取决于“0”信号的建立时间。

在一个优选例中,在所述下拉控制模块接收到所述位线或负位线上的“0”信号,在所述数据下拉使能信号的控制下打开下拉“0”信号对应的位线或负位线的N型驱动管开关,关闭位线或负位线中的另一个的N型驱动管开关时,写通路上的驱动包括所述数据控制器和所述下拉控制模块。

本发明实施方式与现有技术相比,主要区别及其效果在于:

本公开采用多组下拉控制模块组合并且利用SRAM位线(Bitline,即SRAM的数据线)反馈的方式提高SRAM写的驱动能力,从而提高SRAM的写可靠性,尤其是提高SRAM在不同工艺偏差和较低电压下的写可靠性。

进一步的,该实现方法电路面积小,实现灵活,可根据不同的Bitline负载插入多组模块。这种设计方法可以大大降低设计成本和面积,提高产品竞争力。

应理解,在本发明范围内中,本发明的上述各技术特征和在下文(如实施例)中具体描述的各技术特征之间都可以互相组合,从而构成新的或优选的技术方案。限于篇幅,在此不再一一累述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请一个实施例中的写入电路框架结构示意图;

图2是根据本申请一个实施例中的增强写“0”时的实现流程示意图;

图3是根据本申请一个实施例中的增强写“1”时的实现流程示意图。

各附图中,各标示如下:

101-配置控制模块;

102-数据控制器;

103-地址译码器;

104-配置存储单元阵列;

105-下拉控制模块;

106-缓冲器;

201~206-增强写“0”时的步骤;

301~306-增强写“1”时的步骤。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。

在本发明中,本发明提供了一种FPGA内可配置SRAM的写入电路,其结构如图1所示,该电路包括配置控制模块101、数据控制器(DSR)102、多个地址译码器(addr_dec)103、配置存储单元(sram_cell)阵列104、下拉控制模块(pull_down)105、和缓冲器模块(RPT)106,其中:

配置控制模块101,负责配置存储单元地址/数据和其它电路接口的转换;

数据控制器102,负责将要写入的帧数据以字(word)为单位进行移位并将数据传递到位线(Bitline)和负位线(Bitline_n)上;

地址译码器103,对存储单元阵列进行地址译码并控制字线(Wordline)的开启和关闭。

配置存储单元阵列104,FPGA配置数据按帧为单位存储在配置存储单元阵列104中。

下拉控制模块105,通过识别位线和负位线的值来确定打开相应的下拉驱动管。

数据线缓冲器模块106,该模块的作用是在SRAM阵列中插入缓冲器,增加数据线的驱动能力,使数据能够完整的传递到存储阵列的边界处。

配置控制模块101连接数据控制器102;

数据控制器102分别通过多对位线和负位线连接配置存储单元阵列104,每对位线和负位线连接配置存储单元阵列104中的一列存储单元;

数据控制器102通过多对位线和负位线、写使能信号线(data_en)和数据下拉使能信号线(data_en_pd)连接缓冲器模块106,并通过多对位线和负位线和数据下拉使能信号线连接下拉控制模块105,其中下拉控制模块105用于接收位线或负位线上的“0”信号,在数据下拉使能信号的控制下打开下拉“0”信号对应的位线或负位线的N型驱动管开关,关闭位线或负位线中的另一个的N型驱动管开关;

配置控制模块101通过地址使能信号线(address_en)连接多个地址译码器103中的每一个,配置存储单元阵列104中的每一行存储单元与多个地址译码器103之间一一对应并通过字线对应连接。

在一个实施例中,下拉控制模块105设置在配置存储单元阵列104中的居中位置,此处效果较好。在一个实施例中,下拉控制模块105也可以设置在配置存储单元阵列104中远离位线起点的边界位置。可以根据版图的布局以及可靠性需求调整驱动电路的位置,增加设计灵活性。

在一个实施例中,一行存储单元对应一个或多个下拉控制模块105。不同工艺,线电阻不同,可根据不同负载电阻调节驱动电路的个数。

在一个实施例中,下拉控制模块105的面积和功耗小于数据控制器102。该方法相较于传统方法可以减小电路面积和功耗,利于降低产品成本。

在一个实施例中,包括配置控制模块101、数据控制器102、多个地址译码器103、配置存储单元阵列104、下拉控制模块105、以及缓冲器模块106,其中:

通过配置控制模块101发送一帧数据,然后发送写使能信号;写使能信号在一帧数据全部发送完成后发出;

通过数据控制器102将数据传递到连接配置存储单元阵列104中的一列存储单元的位线上,根据数据值,位线或负位线被数据控制器102下拉为“0”;

在“0”信号建立完成后,通过数据控制器102向缓冲器模块106发送数据下拉使能信号;数据下拉使能信号需要等待N个周期结束直至“0”信号完全建立好后开启,N取决于“0”信号的建立时间。

通过下拉控制模块105根据位线或负位线上的“0”信号,在数据下拉使能信号的控制下,将下拉“0”信号对应的位线或负位线的N型驱动管开关打开,将位线或负位线中的另一个的N型驱动管开关关闭;

通过配置控制模块101发送的地址使能信号,开启字线,启动多个地址译码器103;

在写使能信号和地址使能信号控制下,将存储单元的值改写为数据值,完成静态随机访问存储器的写入操作。

图2和图3分别示意了通过位线和反位线的反馈来增强SRAM写通路驱动能力的流程。具体来说,SRAM写过程主要由驱动电路里的下拉管来完成,在写“0”的过程中,位线被下拉为0,对于远离数据控制器102的配置存储单元104,写通路的位线的线长较长,电阻较大,增加了写入数值“0”的难度。下拉控制模块105的作用就是在确定写“0”数据后,增加位线通路上的驱动能力,此时下拉控制模块105中控制反位线下拉的驱动管关闭。在写“1”的过程中,反位线被下拉为0,对于远离数据控制器102的配置存储单元104,写通路的反位线的线长较长,电阻较大,增加了写入数值“1”的难度。下拉控制模块105的作用就是在确定写“1”数据后,增加反位线通路上的驱动能力,此时下拉控制模块105中控制位线下拉的驱动管关闭。

具体步骤如下,在一个实施例中,如图2所示,数据值包括“0”;

步骤201,通过配置控制模块101发送数据“0”,然后发送写使能信号。

步骤202,数据“0”通过数据控制器102传递到位线上,位线被数据控制器102下拉为“0”;此时写通路上的驱动只有数据控制器102打开。

步骤203,所述数据下拉使能信号需要等待N个周期结束直至位线上的“0”信号完全建立好后开启,N取决于“0”信号的建立时间。

步骤204,下拉控制模块105根据位线上的“0”信号,在数据下拉使能信号的控制下,将下拉位线的N型驱动管开关打开,将负位线的N型驱动管开关关闭。此时写通路上的驱动有数据控制器102和下拉控制模块105。下拉控制模块105的开启增强了写“0”通路的驱动能力。

步骤205,通过配置控制模块101发送的地址使能信号,开启字线,启动所述多个地址译码器103。

步骤206,在写使能信号和地址使能信号控制下,将存储单元的值改写为“0”,完成静态随机访问存储器的写入操作。

在一个实施例中,如图3所示,数据值包括“1”;

步骤301,通过配置控制模块101发送数据“1”,然后发送写使能信号。

步骤302,数据“1”通过数据控制器102传递到位线上,负位线被数据控制器102下拉为“0”;此时写通路上的驱动只有数据控制器102打开。

步骤303,所述数据下拉使能信号需要等待N个周期结束直至负位线上的“0”信号完全建立好后开启,N取决于“0”信号的建立时间。

步骤304,下拉控制模块105根据负位线上的“0”信号,在数据下拉使能信号的控制下,将下拉负位线的N型驱动管开关打开,将位线的N型驱动管开关关闭。此时写通路上的驱动有数据控制器102和下拉控制模块105。下拉控制模块105的开启增强了写“1”通路的驱动能力。

步骤305,通过配置控制模块101发送的地址使能信号,开启字线,启动所述多个地址译码器103。

步骤306,在写使能信号和地址使能信号控制下,将存储单元的值改写为“1”,完成静态随机访问存储器的写入操作。

需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本发明提及的所有文献都在本申请中引用作为参考,就如同每一篇文献被单独引用作为参考那样。此外应理解,在阅读了本发明的上述讲授内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

技术分类

06120116575955