读写SRAM的电路及SRAM数据访问方法与流程

文档序号:14475799阅读:1098来源:国知局
读写SRAM的电路及SRAM数据访问方法与流程

本发明涉及集成电路技术领域,特别是涉及一种读写sram的电路及sram数据访问方法。



背景技术:

fpga(field-programmablegatearray,现场可编程门阵列)是在pal(programmablearraylogic,可编程阵列逻辑)、gal(genericarraylogic,通用阵列逻辑)、cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic,applicationspecificintegratedcircuit)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

sram(staticrandomaccessmemory,静态随机存储器)具有高速度、低功耗与标准工艺相兼容的优点,其广泛应用于pc、个人通信、消费电子产品(智能卡、数码相机、多媒体播放器)等领域。目前,sram主要应用于需要缓存比较小或对功耗有要求的系统中。

专利文献cn200710076827.0,专利名称:一种sram中数据的读写方法及装置。如图1所示,当串行读写脉冲信号有效时,将数据写入sram;将串行读写脉冲信号与内部扫描时钟信号进行与/或运算,产生并行读脉冲信号;当所述并行读脉冲信号有效且与所述有效的串行读写脉冲信号相位相反时,将所述写入sram的数据并行读出。通过采用串行读写与并行读出对电平的时钟有效,从而使串行读写与并行读出无时序冲突,进而保证了数据读写的正确性。该专利文献存在如下不足之处:第一,现有技术的读写脉冲与时钟需要进行逻辑运算,对控制时钟质量会造成一定影响,可能引起时钟偏斜或者毛刺,造成速度瓶颈;第二,现有技术读操作采用并行总线,对于分布式sram需要较多的内部走线资源,并行数据接口跨越较长的物理距离,导致较大延迟,可能引起时序问题;第三,需要使用多路时钟输入和读写脉冲输入,需使用较多的端口资源,同时需要考虑信号跨时钟域问题。



技术实现要素:

因此,为解决现有技术存在的技术缺陷和不足,本发明提出一种读写sram的电路及sram数据访问方法。

具体地,本发明一个实施例提出的一种读写sram的电路,包括:地址/数据控制模块、地址移位链、数据移位链及sram存储器阵列,其中,

所述地址/数据控制模块接收时钟信号和串行数据,用于在所述时钟信号内对所述串行数据进行译码并输出移位使能信号;

所述地址移位链连接至所述地址/数据控制模块,用于接收所述地址/数据控制模块的移位使能信号进行地址移位操作;

所述数据移位链连接至所述地址/数据控制模块,用于接收所述地址/数据控制模块的移位使能信号或用于传输sram存储器的所述串行数据,进行数据移位操作;

所述sram存储器阵列分别连接至所述地址移位链和所述数据移位链,用于根据所述地址移位链的地址及所述数据移位链的移位指令读写数据。

在本发明的一个实施例中,所述地址/数据控制模块具体用于向所述地址移位链传输时钟信号、地址递增使能信号、初始地址移位使能信号和数据移位位宽选择信号。

在本发明的一个实施例中,所述地址/数据控制模块具体用于向所述数据移位链传输时钟信号和数据移位位宽选择信号。

在本发明的一个实施例中,所述地址移位链具体用于通过地址移位总线向所述sram存储器阵列进行地址移位操作。

在本发明的一个实施例中,所述数据移位链具体用于通过数据移位总线向所述sram存储器阵列进行数据移位操作。

在本发明的一个实施例中,所述sram存储器阵列包括多个sram存储器单元。

在本发明的一个实施例中提出一种访问sram的方法,包括:

在同一时钟信号下载入初始地址和控制指令;

判断是否进行地址递加;

将所述控制指令进行译码确定读sram存储器或写sram存储器,并确定数据移位位宽;

将初始地址移位至地址所在的sram存储器单元;

对所选中的所述sram存储器单元进行读数据或写数据并完成数据移位;

判断载入的地址是否溢出,若溢出,则访问操作完成。

在本发明的一个实施例中,将初始地址移位至地址所在的sram存储器单元,包括:

对初始地址进行地址译码;

根据所述地址译码将地址移位至需要访问的sram存储器单元行。

在本发明的一个实施例中,对所选中的所述sram存储器单元进行读数据或写数据,包括:

对所述控制指令进行译码;

若所述控制指令为读数据,则将数据移位输出;

若所述控制指令为写数据,则将数据移位输入。

在本发明的一个实施例中,判断载入的地址是否溢出,包括:

若判断载入的地址未溢出,则进行一次新地址的访问操作,直至访问完所有载入的地址。

本发明实施例,具备如下优点:

1、本设计中读写控制信号的产生是通过指令译码完成,电路中采用同一时钟域多级寄存器流水的方式实现,所有电路都在同一时钟控制下,有效避免了时钟信号的偏斜或者毛刺产生,保证了时钟质量,提高电路工作频率。

2、本发明采用的串行访问方式是通过数据移位进行数据刷新,当最后1bit数据完成移位,则整行数据都传输完成,可以保证被正确采样,克服并行数据采样时序问题,同时节约一定内部走线资源,sram内部采用串行思想,可选择1/8/64bit数据进行串行传输。

3、利用本发明设计的电路能够节约端口资源,普通sram接口大多需要较多的数据接口,而本发明设计的外部端口只需串行时钟输入和串行数据,采用串行读写访问的方式,可以极大节约端口资源。

通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定,这是因为其应当参考附加的权利要求。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。

附图说明

下面将结合附图,对本发明的具体实施方式进行详细的说明。

图1为现有技术中一种sram中数据的读写方法的示意图;

图2为本发明实施例提供的一种读写sram的电路示意图;

图3为本发明实施例提供的一种读写sram的电路结构示意图;

图4为本发明实施例提供的一种读写sram的方法流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

实施例一

请参见图2、图3和图4,图2为本发明实施例提供的一种读写sram的电路示意图,图3为本发明实施例提供的一种读写sram的电路结构示意图,图4为本发明实施例提供的一种读写sram的方法流程图。。

该电路包括:地址/数据控制模块(ad/datacontrol)、地址移位链(addressshiftchain,缩写为asc)、数据移位链(datashiftchain,缩写为dsc)及sram存储器阵列,其中,

地址/数据控制模块接收时钟信号(clock,缩写为clk)和串行数据(serial_data),用于在时钟信号内对串行数据进行译码并输出移位使能信号;

地址移位链连接至地址/数据控制模块,用于接收地址/数据控制模块的移位使能信号进行地址移位操作;

数据移位链连接至地址/数据控制模块,用于接收地址/数据控制模块的移位使能信号或用于传输sram存储器的所述串行数据,进行数据移位操作;

sram存储器阵列分别连接至地址移位链和数据移位链,用于根据所述地址移位链的地址及所述数据移位链的移位指令读写数据。

优选地,地址/数据控制模块具体用于向地址移位链传输地址移位链时钟信号(addressshiftchainclock,缩写为asc_clk)、地址递增使能信号(addressincrementalenable,缩写为ad_incr_en)、初始地址移位使能信号(addressshiftenable,缩写为asc_en_addr)和数据移位位宽选择信号(buswidthselect,缩写为bw_sel)。

优选地,地址/数据控制模块具体用于向数据移位链传输数据移位链时钟信号(datashiftchainclock,缩写为dsc_clk)和数据移位位宽选择信号和数据移位链时钟信号。

优选地,地址移位链具体用于通过地址移位总线向sram存储器阵列进行地址移位操作。

优选地,数据移位链具体用于通过数据移位总线向sram存储器阵列进行数据移位操作。

优选地,sram存储器阵列包括多个sram存储器单元(sramcell)。

该访问方法包括:

步骤1、在同一时钟信号下载入初始地址和控制指令;

步骤2、判断是否多地址访问进行地址递加;

步骤3、将控制指令进行译码确定读sram存储器或写sram存储器,并确定数据移位位宽;

步骤4、将初始地址移位至地址所在的sram存储器单元;

步骤5、对所选中的sram存储器单元进行读数据或写数据并完成数据移位。

步骤6、判断载入的地址是否溢出,若溢出,则访问操作完成。

优选地,步骤4包括:

步骤4.1、对初始地址进行地址译码;

步骤4.2、根据地址译码将地址移位至需要访问的sram存储器单元行。

优选地,步骤5包括:

步骤5.1对控制指令进行译码;

步骤5.2若控制指令为读数据,则将数据移位输出;

步骤5.3若控制指令为写数据,则将数据移位输入。

优选地,步骤6包括:

步骤6.1若判断载入的地址未溢出,则进行一次新地址的访问操作,直至访问完所有载入的地址。

本实施例的有益效果:

本实施例的地址控制、指令控制均在电路中实现,只需提供数据流,操作简单;并且可以节约大量端口资源和走线资源,对于规模较大芯片可以有效减少走线阻塞;另外可以有效避免如并行数据接口跨越较长的物理距离,导致较大延迟,造成时序瓶颈问题,在一定程度上提高访问效率。

实施例二

请再次参见图3,本实施例在上述实施例的基础上对本发明的读写sram的电路进行具体说明。

地址/数据控制模块接收串行时钟信号和串行数据,其中,初始地址、数据及指令均是通过串行数据接口输入至地址/数据控制模块;

地址/数据控制模块将地址移位链时钟信号、地址递增使能信号和初始地址移位使能信号传输给地址移位链,地址/数据控制模块控制地址移位链进行地址移位操作,地址移位链通过地址移位总线向sram单元传输地址移位信号,并通过地址移位总线进行地址移位递增操作,地址移位信号通过数据移位位宽选择信号确定。

优选地,地址移位信号包括第一移位信号(shift_1st)、第二移位信号(shift_2nd)和第三移位信号(shift_3rd)。

地址/数据控制模块将数据移位链时钟信号传输给数据移位链,地址/数据控制模块控制数据移位链进行数据移位操作并根据数据移位位宽选择信号选择数据移位位宽,其中数据移位位宽可选择1bit、8bit或64bit,数据移位链通过数据总线向sram单元传输数据信号,并通过数据移位总线进行数据移位输入或数据移位输出操作。

优选地,第一移位信号与数据移位宽度1bit相对应,第二移位信号与数据移位宽度8bit相对应,第三移位信号与数据移位宽度64bit相对应。

本实施例设计的外部端口只需串行时钟输入和串行数据,采用串行读写访问的方式,可以极大节约端口资源。

实施例三

请再次参见图4。本实施例在上述实施例的基础上对本发明的读写sram的方法进行说明。具体方法包括如下步骤:

主要包括以下几个步骤;

步骤1、数据载入;

步骤1.1、启动电路,准备数据接收;

步骤1.2、地址/数据控制模块根据所设定的数据流格式对接收的数据进行采样并载入初始地址;

步骤1.3、地址/数据控制模块在初始地址载入完成后载入控制指令。

优选地,控制指令包括单行读指令、单行写指令、读递加指令、写递加指令。

步骤2、地址/数据控制模块判断是否进行地址递加;

步骤2.1、地址/数据控制模块判断为否,则进行移位操作;

步骤2.1.1、根据指令译码选择数据移位位宽;

优选地,数据移位位宽包括1bit、8bit和64it。

步骤2.1.2、对初始地址进行地址译码,地址/数据控制模块根据地址译码控制地址移位链进行地址移位操作,地址移位链通过地址移位总线向sram存储器单元传输地址移位信号;

优选地,地址移位信号包括第一移位信号、第二移位信号和第三移位信号。

步骤2.1.3、根据指令译码判断数据移位输出或数据移位输入;

对控制指令进行译码;

若控制指令判断为读数据,则将数据移位输出,sram存储器单元上的数据信号经过数据移位链被采样移位到数据总线上,最后再由地址/数据控制模块输出至串行数据信号,读数据操作完成;

若控制指令判断为读数据,则将数据移位输入,数据信号从串行数据信号输入经过地址/数据控制模块到数据总线上,最后数据移位链通过数据移位总线向sram存储器单元传输数据信号,并根据数据移位位宽选择信号选择的位宽进行数据移位,写操作完成;

数据移位操作结束后即完成sram存储器阵列的访问操作。

步骤2.2、地址/数据控制模块判断为是,则判断地址是否溢出;

步骤2.2.1、重复步骤2.1,完成一次访问操作,然后判断地址是否溢出;

步骤2.2.2、若判断地址未溢出,则进行地址递加,跳转到步骤2.1,接着完成一次新地址访问操作,直到访问完所有设定的地址,直至出现地址溢出,访问操作完成;

步骤2.2.3、若判断地址已溢出,则访问操作完成。

本实施例的有益效果:

1、本设计中读写控制信号的产生均是通过指令译码完成,并且所有电路都在同一时钟控制下,可以有效的避免因时钟信号过多造成的偏斜或者毛刺的问题,有效的提高了电路工作频率。

2、本实施例的串行访问方式是通过数据移位进行数据刷新,当所有数据都完成数据移位时,整行数据都传输完成,这种设计方式可以克服并行数据采样造成的时序问题,同时节约一定内部走线资源。

综上所述,本文中应用了具体个例对本发明实施例提供的一种读写sram的电路及sram数据访问方法的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1