一种双端口存储器的读写控制电路的制作方法

文档序号:6766299阅读:455来源:国知局
一种双端口存储器的读写控制电路的制作方法
【专利摘要】本发明公开了一种双端口存储器的读写控制电路,其包括:可控延时模块,其将时钟信号进行不同的延时;字线产生模块,根据所述可控延时模块输出的两路延时信号输出正常字线开启信号和延迟字线开启信号;读写使能判断模块,其根据双端口存储器的两端口读写使能信号和读写地址进行读写冲突判断;读写使能产生模块,其在所述读写冲突判断模块确定两端口存在写冲突时,将两端口的写使能信号转化为读使能信号;字线选择模块,其在两端口分别向同一个地址进行读、写操作时,输出选择延时字线开启信号的字线选择信号。本发明在时钟的半周期内解决双端字线的不同开启,对存储器的时序操作提供了更大的裕量,同时不需要对地址和数据进行缓存。
【专利说明】—种双端口存储器的读写控制电路
【技术领域】
[0001]本发明涉及集成电路存储器设计领域,特别是一种双端口存储器的读写控制电路。
【背景技术】
[0002]随着半导体制造工艺和集成电路设计能力的不断进步,人们已经能够把包括微处理器、存储器、模拟电路、接口逻辑甚至射频电路集成到一个芯片上,这就是系统级芯片(System-on-Chip, SoC)。随着数据吞吐量不断上升以及系统低功耗要求,系统级芯片对存储器的需求越来越大,在从DVD、播放机、移动电话到第二代居民身份证等的一系列应用中,设计者被要求集成更多数量和更大容量的片上存储器阵列,以满足各种数据和代码的存储需要。
[0003]高速数据采集与处理系统对大量快速拥入的多变量数据的处理能力以及对系统实时性有较高的要求。由于单个处理器处理能力有限,往往采用多个处理器以并行工作方式采集、处理信息。即采用多机系统可以减轻主机的负担,且使任务得以分配,提高整个系统的并行处理和实时处理能力。在多处理器系统中,多个处理器间如何进行数据共享与数据交换是设计的关键。单向读写的存储器无法供多个处理器共同处理,而双端口存储器(即双口 RAM)是实现多处理器间快速数据交换的强有力的工具。
[0004]双端口存储器作为一种性能优越的快速通信器件,它适用在多处理器的高速数字系统中。双端口 RAM其优点是:提供了两路完全独立的端口,每端都有完整的地址、数据和控制总线,允许两个处理器对双端口存储器的同一单元进行同时存取;具有两套完全独立的中断逻辑来实现两个处理器之间的握手控制信号;具有两套独立的“忙”逻辑,保证两个CPU同时对同一单元进行读/写操作的正确性。对于单个处理器而言,双端口 RAM同普通RAM没有什么明显区别。
[0005]当多个处理器对同一地址在同一时刻进行访问时,才会出现读写冲突现象。对于相同地址数据竞争情况的解决,双端口存储器提供的传统硬件工作方式为:双端口存储器具有解决两个处理器同时访问同一个地址单元的硬件仲裁逻辑。在双口存储器的两套控制线中,各有一 BUSY引脚,当一端的处理器对该存储器的某地址进行访问时,双端口存储器会将这一端的BUSY引脚置位高电平,并将另一端的BUSY引脚置位低电平;若当另一端的CPU也要对双口 RAM进行读写操作时,它会检测自己端的BUSY信号,如果为低则不能访问,而要等待一个时钟周期再检测BUSY信号,直到为高电平时才进行存储操作,这样避免了两个处理器同时竞争资源而引发错误的可能,这种方法的缺点首先在于当读写冲突发生时,需要等待一个时钟周期才能对BUSY信号为低的数据端进行读写(参见“朱荣,双端口共享存储器(即双端口 RAM)及其实际应用,甘肃科技,第19卷第3期,2003.3,21-23” )。
[0006]由于双端口存储器的两个端口同时对同一地址进行读写操作时会引起读写冲突,写入的数据会覆盖掉存储器中的原有数据,从而造成读出数据的丢失或者,当读写冲突发生时为避免读出数据的丢失,读数据端口从存储器中读出数据,而写数据端口则将数据暂时存入附加的寄存器中,待下一个时钟周期再写入存储器。同时,在等待的时钟周期里,为防止写入据端的数据丢失,则需要对其数据和地址进行缓存,必然需要消耗逻辑资源(参见“蔡刚等,嵌入式可编程存储器设计中的“选择性寄存”方法,电子与信息学报,第31卷第11期,2009.11,2762-2766”、“杨金林等,可重构存储器无地址冲突的访问机理及“比特标识”方法研究,电子与信息学报,第33卷第3期,2011.3,723-728”、“张卫新等,一种新颖的双端口数据高速缓冲存储器,微电子学,第33卷第6期,2003.12,537-540”)。

【发明内容】

[0007]本发明要解决的问题是:针对现有技术存在的问题,本发明提供了一种结构简单、可在半时钟周期内解决双端口存储器读写冲突的读写控制逻辑电路,且不需要额外的缓存资源。
[0008]本发明公开了一种双端口存储器的读写控制电路,其包括:
[0009]可控延时模块,其将时钟信号进行不同的延时,输出两路延时信号;
[0010]字线产生模块,其根据所述可控延时模块输出的两路延时信号输出正常字线开启信号和延迟字线开启信号;
[0011]读写使能判断模块,其根据双端口存储器的两端口读写使能信号和读写地址进行读写冲突判断;
[0012]读写使能产生模块,其在所述读写冲突判断模块确定两端口存在写冲突时,将两端口的写使能信号转化为读使能信号;
[0013]字线选择模块,其在两端口分别向同一个地址进行读、写操作时,输出选择延时字线开启信号的字线选择信号;
[0014]多路选择器,其根据所述字线选择信号选择输出正常字线开启信号或延迟字线开启信号;
[0015]其中,所述正常字线开启信号使得双端口存储器进行正常操作,而所述延时字线开启信号使得双端口存储器进行延时写操作。
[0016]与现有技术相比,本发明的优点在于:
[0017]本发明通过读写冲突判断电路避免了同地址的读写使能冲突问题,当双端口同时对同地址写时,通过读写冲突判断电路转化为同时对同地址读。这是因为当双端口同时对同地址写时,写入数据的有效性已经不能保障,而且双端口写入的数据不一致时,则必然形成器件电源和地的直连通道,造成大电流或器件的损坏。现有的技术是需要用户在使用的过程中避免使用双端口同时写操作,这显然加大了器件的使用风险(参见“AlteraCorporation.Cyclone Device Handbook, Vol.1, January2007:99-189’’)。
[0018]本发明通过半周期互补字线产生电路产生两个在半周期内互补的字线分别提供给每个端口使用,通过对端口读写的判断决定使用两个互补字线的其中一个。也就是说本发明的读写冲突解决方法可以在时钟的半个周期内完成双端口读写冲突时先读后写的功能,和现有方法需要延迟一个周期相比,时序的优势非常明显。
[0019]本发明提出的方案在通过对双端字线的开启选择,实现了半个时钟周期内解决双端口存储器读写冲突问题,不需要对地址和数据进行一个时钟周期的缓存,因此不需要缓存逻辑资源,减少了设计成本。【专利附图】

【附图说明】
[0020]图1为本发明中双端口存储器的读写控制电路的整体框图;
[0021]图2为本发明中可控延时模块的电路示意图;
[0022]图3为本发明中半周期互补字线产生电路示意图;
[0023]图4为本发明中半周期互补子线产生的波形图;
[0024]图5为本发明中端口读与冲突判断电路意图;
[0025]图6为本发明中读与使能广生电路不意图;
[0026]图7为本发明中字线选择输出产生电路示意图。
【具体实施方式】
[0027]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0028]图1示出了本发明中双端口存储器的读写控制电路框图。如图1所示,本发明公开了一种双端口存储器的读写控制电路,该读写控制电路适于在半时钟周期内解决双端口存储器的读写冲突,其包括:
[0029]可控延时模块,其将时钟信号进行不同的延时,输出两路延时信号;
[0030]字线产生模块,其根据所述可控延时模块输出的两路延时信号输出正常字线开启信号和延迟字线开启信号;
[0031]读写冲突判断模块,其根据双端口存储器的两端口读写使能信号和读写地址进行读写冲突判断;
[0032]读写使能产生模块,其用于在读写冲突判断模块判断两端口均为向同一地址进行写操作时,将两端口的写使能信号转化为读使能信号;
[0033]字线选择模块在两端口向同一个地址进行读写操作时,在写入端输出选择延时字线开启信号的字线选择信号;
[0034]多路选择器MUX,其根据所述字线选择信号选择输出正常字线开启信号或延迟字线开启信号。其中,所述正常字线开启信号和延迟字线开启信号控制所述双端口存储器中相应端口正常开启或延迟开启。
[0035]所述可控延时模块通过选择器及不同的缓冲器链对输入的时钟信号产生两个延时可调节的时钟延时信号Delayl和Delay2。其通过S0,S1两个选择信号可以调节Delayl和Delay2的相对延时,满足对字线开启信号时序的要求。字线产生模块通过对Delay2延时信号和反向Delay2延时信号分别与Delayl经过与门产生两个脉冲信号,分别为正常字线开启信号和延迟字线开启信号,此脉冲信号作为存储器字线打开的开启信号。
[0036]图2示出了本发明中可控延时模块的电路结构示意图。如图2所示,所述可控延时模块包括:两组不同延时链及两个选择器,每一组的延时链由两个并行的缓冲器数目不等的延时链组成。
[0037]时钟信号Clk通过两个并行的缓冲器数目不等的延时链产生两个延时不同的信号,经过延时选择信号SO的选择,产生Delayl信号。Delayl信号再经过两个并行的缓冲器数目不等的延时链产生在Delayl基础上的两个延时不同的信号,经过延时选择信号SI的选择,产生Dealy2信号。其中,SO或SI用于选择输出所述两个并行的缓冲数目不等的延时链中的其中一个延时链产生的延时信号。
[0038]图3示出了本发明中字线产生模块的电路结构示意图。如图3所示,所述字线产生模块包括三个反相器和两个与门,其中Delay2经过第一反相器后与Delayl作为第一与门的输入,第一与门输出正常字线开启信号;所述Delay2还依次经过第二、第三反相器后与Delayl输入至第二与门,第二与门输出延时字线开启信号,其中正常字线开启信号和延时字线开启信号为时钟半周期互补脉冲信号。这两路字线开启信号的产生通过两级反相器和一级反相器的引入,保证读写冲突时字线不同时为高。
[0039]图4示出了本发明提出的字线产生模块产生的字线开启信号和延迟时钟信号的波形对比图。如图4所示,Dealyl上升后到Delay2信号上升前这段时间,产生正常字线开启信号。当Delay2信号上升后到Delayl下降前这段时间,产生延时字线开启信号。通过两级反相器的引入,确保正常字线开启信号下降后延时字线开启信号上升,保证两个字线开启信号不同时为高。
[0040]图5示出了本发明提出的读写冲突判断模块的电路结构图。如图5所示,包括一个地址比较模块、一个三输入的与门和两个反相器;其中A端口和B端口的地址经过地址比较模块的输出作为三输入与门的一个输入,A端口的读写使能信号经过反相器作为三输入与门的另一个输入,B端口的读写使能信号经过反相器作为三输入与门的最后一个输入,三输入与门的输出为读写冲突判断模块的输出。
[0041]为便于说明,假设读写使能信号为O时,表示端口为写使能,读写使能信号为I时,表示端口为读使能,A端口地址和B端口地址不同时地址比较模块输出O。对于双端口存储器而言,当两端口地址不同时,三输入与门的输出为0,即读写冲突判断输出为O ;
[0042]当两端口地址相同时,两端口的读写使能共有4种组合方式:
[0043]当A端口读写使能信号为I时,B端口读写使能信号为I时,三输入与门的输出为O0
[0044]当A端口读写使能信号为I时,B端口读写使能信号为O时,三输入与门的输出为O0
[0045]当A端口读写使能信号为O时,B端口读写使能信号为I时,三输入与门的输出为
O0
[0046]当A端口读写使能信号为O时,B端口读写使能信号为O时,三输入与门的输出为
1
[0047]可见,只有在两端口地址相同,且读写使能均为写使能信号时,读写冲突判断输出为I,其它情况下均为O。
[0048]图6为本发明中读写使能产生电路的结构图。如图6所示,A端口和B端口的读写使能产生电路结构相同,所述模块均为两输入的或门。其中一路输入来自三输入与门的输出,另一路输入来自各自端口的读写使能信号。同样为便于说明,假设读写使能信号为O时,表示端口为写使能,读写使能信号为I时,表示端口为读使能。假设两个端口地址相同,则地址比较的输出为0,两个端口地址不同,则地址比较的输出为I。对于双端口存储器而言,双端地址存在以下2种情况:
[0049]两端地址不同,则地址比较输出为0,三输入与门的输出为0,其为两输入或门的一个输入,另一个输入为各自端口的读写使能信号。则在两端地址不同时,各自端口的读写使能信号经过两输入或门后正常提供给各自端口使用。
[0050]两端地址相同,则地址比较输出为1,同时只有在两端口读写使能为O的情况下,三输入与门的输出为1,此时读写使能产生电路的输出为1,这样在两端地址相同且同时读写使能为写时,改变读写使能为读,保护器件安全。需要进一步说明的是,当双端口地址相同且双端同时写时,已经不能保证存储数据的可控性,此时需要关心的是器件的安全性和
可靠性。
[0051]通过图5和图6所示的读写使能判断及读写使能产生模块,避免了两个端口同时对同一地址进行写的操作,对器件的安全提供了主动保护。
[0052]图7示出了本发明中字线选择模块电路的结构图。如图7所示,A端口和B端口相同,均包括地址比较模块和一个反相器及两输入的与门,地址比较模块接收两端口的操作地址:A地址和B地址。各自端口的读写使能产生模块产生的读写使能输出信号经过反相器作为两输入与门的一个输入,地址比较模块的输出信号作为另一个两输入与门的输入,与门的输出即为字线选择信号。同样为便于说明,假设两个端口地址相同,则地址比较的输出为1,两个端口地址不同,则地址比较的输出为O。对于双端口存储器而言,双端地址存在以下2种情况;
[0053]两端地址不同,则地址比较输出为0,不管各自端口读写使能的输出为何,其输出经过与门后为O。
[0054]两端地址相同,则地址比较输出为1,则字线选择信号的输出为各自端读写使能输出的相反信号。也就是读写使能输出为1,即读使能时,字线选择信号输出为0,读写使能输出为0,即写使能时,字线选择信号输出为I。
[0055]当字线选择信号输出为O时,表示所选择的为正常字线开启信号,当字线选择信号输出为I时,表示所选择的为延时字线开启信号。也就是说,当A端口地址和B端口地址相同,即地址比较模块输出为1,且一个端口为写使能,即写使能信号为0,而另一端口为读使能,即读使能信号为I时,则写使能端口的字线选择信号为1,则选择延时字线开启信号,则该端口进行延时写;而另一端口的字线想廁信号为0,即选择正常字线开启信号,则另一端口正常读。
[0056]综上所述,也就是当双端口地址不一致时,不管各端口的读写使能为何,均选择正常字线开启信号。当双端口地址相同时,端口为读时,选择正常字线开启信号,端口为写时,选择延时字线开启信号。因为正常字线开启信号下降后延时字线开启信号上升,这样就实现了在读写冲突时,数据的先读后写。
[0057]所述可控延时模块产生可调节的时钟延时信号Delayl和Delay2,该时钟延时信号经过字线产生模块生成时钟半周期互补的两个字线开启脉冲信号,分别为正常字线开启信号和延迟字线开启信号。字线选择模块通过双端读写冲突判断和地址比较产生字线选择信号,此字线选择信号对这两个字线开启信号进行选择,当不存在同一地址读写冲突时,两个端口选择正常字线开启信号,当存在同一地址读写冲突时,读端口选择正常字线开启信号,写端口选择延迟字线开启信号。这两个字线开启信号提供给双端口字线开启使用,也就是说,双端口字线是否开启,需要字线开启信号激发。因此,当双端口存在读写冲突时,读端口选择正常字线开启信号激发字线开启,而写端口选择延迟字线开启信号激发字线开启。因为正常字线开启信号和延迟字线信号是时钟半周期互补脉冲信号,它们依次激发且互不重叠。因此通过选择不同的字线开启信号可以实现双端口字线在读写冲突时的字线有序开启,解决双端口存储器的读写冲突。
[0058]控制时序的可控延时模块产生两个可控延时的时钟延时信号,提供给字线产生模块产生两个半周期互补脉冲信号,分别为正常字线开启信号和延迟字线开启信号。其中对正常字线开启信号必须满足存储器正常读写的时序要求,延迟字线开启信号必须满足存储器延迟子线开启先读后写的时序要求,也就是说必须读操作完成后,延迟字线开启信号才能激发。对这两个脉冲信号的延时控制由可控延时模块产生。控制时序的可控延时模块设置两个可控延时单元,分别提供时钟相对于读写控制信号的延时以及字线开启时的脉冲宽度。当时钟经过第一个可控延时单元时,通过可选择的延时路径调整时序延时,调整读写使能信号到达灵敏放大器以及写驱动的延时,以满足读写操作对时序的要求。当时钟经过第二个可控延时单元时,通过可选择的延时路径调整产生字线开启脉冲的宽度,也就是字线打开的时间,满足存储器位线放电对延时的要求,当双端口存储器存在读写冲突时,实现双端口的先读后与功能。
[0059]以上所述仅是本发明的优选实施方式,本发明的保护范围并不局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理下的若干改进和润饰,也应视为本发明的保护范围。
【权利要求】
1.一种双端口存储器的读写控制电路,其包括: 可控延时模块,其将时钟信号进行不同的延时,输出两路延时信号; 字线产生模块,其根据所述可控延时模块输出的两路延时信号输出正常字线开启信号和延迟字线开启信号; 读写使能判断模块,其根据双端口存储器的两端口读写使能信号和读写地址进行读写冲关判断; 读写使能产生模块,其在所述读写冲突判断模块确定两端口存在写冲突时,将两端口的写使能信号转化为读使能信号; 字线选择模块,其在两端口分别向同一个地址进行读、写操作时,输出选择延时字线开启信号的字线选择信号; 多路选择器,其根据所述字线选择信号选择输出正常字线开启信号或延迟字线开启信号; 其中,所述正常字线开启信号使得双端口存储器进行正常操作,而所述延时字线开启信号使得双端口存储器进行延时写操作。
2.如权利要求1所述的控制电路,其中,所述可控延时模块包括: 两组不同延时链及两个选择器,每一组的延时链由两个并行的缓冲器数目不等的延时链组成;所述两组不同延时链中的一组延时链将时钟信号进行不同延时,并由第一选择器选择其中一种延时作为第一路延时信号,另一组延时链用于将第一路延时信号进行不同延时,并由第二选择器选择其中一种延时作为第二路延时信号。
3.如权利要求1所述的控制电路,其中,所述字线产生模块对所述两路延时信号中的第二路延时信号进行延时后与第一路延时信号相与输出延时字线开启信号,对所述第二路延时信号的反向信号和第一路延时信号相与后输出正常字线开启信号。
4.如权利要求1所述的控制电路,其中,所述读写冲突判断模块用于在两端口读写地址相同且读写使能信号均为写使能时,输出存在读写冲突的判断信号。
5.如权利要求1所述的控制电路,其中,所述读写冲突判断模块包括: 地址比较模块,用于比较双端口读写地址,并输出地址比较结果; 两个反相器,用于将两端口的读写使能信号进行反相后输出; 三输入与门,其接收地址比较结果和两个反相器的输出,其输出为读写冲突判断模块的输出。
6.如权利要求1所述的控制电路,其中,所述读写使能产生模块由两输入或门构成,其输入为两端口读写使能信号和读写冲突判断模块的输出,其输出为转换后的两端口读写使能信号。
7.如权利要求1所述的控制电路,其中,字线选择模块包括: 地址比较模块:用于比较两端口读写地址; 反相器,用于将相应端口转换后的读写使能信号进行反相; 两输入与门,其输入为地址比较模块的输出和反相器的输出,其输出为相应端口字线选择信号。
【文档编号】G11C7/22GK103730149SQ201410024773
【公开日】2014年4月16日 申请日期:2014年1月20日 优先权日:2014年1月20日
【发明者】秋小强, 杨海钢 申请人:中国科学院电子学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1