存储器仲裁电路系统中的亚稳态预测及避免的制作方法

文档序号:6766999阅读:176来源:国知局
存储器仲裁电路系统中的亚稳态预测及避免的制作方法
【专利摘要】本发明提供了一种具有危害预测和预防电路系统的集成电路。危害预测电路系统可预测在两个周期信号之间的未来危害状况,并且危害预防电路系统可选择性地延迟两个周期信号中的至少一个,以避免预测的危害状况。使用仲裁电路,单端口存储器单元可提供多端口存储器功能,其中仲裁电路包括危害预测和预防电路系统并且从至少两个请求生成器中接收存储器访问请求。仲裁电路可以以同步模式操作,并且基于预定的逻辑表执行端口选择。仲裁电路也可以以异步模式操作,并且仲裁电路一接收到存储器访问请求就将其执行。用危害预测和预防电路系统可避免通过从至少两个请求生成器中同时接收存储器访问请求而导致的亚稳态。
【专利说明】存储器仲裁电路系统中的亚稳态预测及避免
[0001]相关申请的交叉参考
[0002]本申请要求在2013年8月13日提交的美国专利申请N0.13/966,130的优先权,其在此整体通过引用的方式并入本申请。

【背景技术】
[0003]诸如可编程集成电路的集成电路可以静态随机存取存储器(SRAM)单元的形式包含易失性存储器元件。诸如SRAM单元的易失性存储器元件通常基于交叉耦合的反相器(即,锁存器)。存储器元件经常成阵列布置。在典型的阵列中,数据线用来将数据写入存储器元件并且从中读取数据。地址线可用来选择访问哪些存储器元件。
[0004]某些应用程序要求存储器元件具有双端口能力(即,存储器元件包括两个端口,其中的每一个均用来执行读/写操作)。为支持双端口操作,存储器元件通常以八晶体管配置形成。双端口存储器元件包括两个交叉耦合的反相器。将第一对访问晶体管耦合到交叉耦合的反相器,以用作第一读/写端口,而将第二对访问晶体管耦合到交叉耦合的反相器,以用作第二读/写端口。然而,以这种方式布置的传统八晶体管(8T)双端口存储器单元占用了多于传统六晶体管^T)单端口存储器单元两倍的面积。
[0005]在努力将双端口存储器电路系统的面积减少的过程中,已经开发出允许使用6T存储器元件来提供同步双端口功能的技术(即,两个端口都使用单个时钟控制)。例如,双倍时钟技术包含在高时钟相位(以实现与第一端口关联的请求)期间和在低时钟相位(以实现与第二端口关联的请求)期间访问存储器元件。然而,双倍时钟存储器访问限制了存储器性能,并且不可用来支持异步双端口操作(即,包含使用具有不同的时钟频率和/或相位的两个分离时钟信号以控制两个端口的操作)。


【发明内容】

[0006]根据本发明的某些方面,电路系统可包括第一输入端、第二输入端、危害预测电路系统和危害预防电路系统,其中第一输入端接收具有第一周期的第一周期信号,第二输入端接收具有第二周期的第二周期信号。危害预测电路系统可预测在第一周期信号和第二周期信号之间的未来危害状况。例如,危害预测电路系统可在第一时刻预测到未来危害状况,并且未来危害状况经预测在第一时刻之后的第二时刻发生。在第二时刻之前的相应周期信号的至少一个时钟循环期间,危害预防电路系统可按照第一预定持续时间选择性地延迟第一周期信号和第二周期信号中的至少一个。
[0007]本文中描述的实施例可以以多种方式来实施,诸如过程、装置、系统、器件,或在处理机上执行的方法。下文描述了若干本发明的发明实施例。
[0008]在某些实施例中,危害预测电路系统可进一步包括延迟脉冲生成电路,其生成具有预定脉冲持续时间的危害预测脉冲。危害检测脉冲的上升沿可相对第一周期信号的有效沿按照预定的延迟间隔被延迟。如果期望,则上述危害预测电路系统可进一步包括边沿检测电路,该电路确定第二周期信号的有效沿是否发生在危害检测脉冲的脉冲持续时间内。
[0009]从附图和下列实施例的详细描述中,本发明的进一步特征、其本质和各种优点将更显而易见。

【专利附图】

【附图说明】
[0010]图1A为根据本发明的实施例的集成电路的原理图。
[0011]图1B为根据本发明的实施例的带有仲裁电路的说明性多端口存储器电路系统的图示。
[0012]图2为根据本发明的实施例的说明性单端口存储器电路系统的图示,其模拟了带有仲裁电路的多端口存储器电路系统。
[0013]图3为根据本发明的实施例示出来自两个端口的异步存储器访问请求如何可在仲裁电路中导致亚稳态的波形图。
[0014]图4为根据本发明的实施例的有助于解释用于同时预测两个异步时钟的上升时钟沿的方法的波形图。
[0015]图5为根据本发明的实施例的预测两个时钟信号之间冲突的说明性电路系统的图示,其中该冲突在仲裁电路中可能导致亚稳态。
[0016]图6为根据本发明的实施例的说明在图5中所示的电路的两个时钟信号之间的冲突预测的波形图。
[0017]图7为根据本发明的实施例的模拟具有仲裁电路的双端口存储器电路系统的说明性单端口存储器电路系统的图示,其中仲裁电路基于图5的冲突预测,延迟来自一个端口的存储器访问。
[0018]图8为根据本发明的实施例的有助于说明在图7中示出的电路系统行为的波形图。
[0019]图9为根据本发明的实施例的使用可配置的延迟电路系统进行两个时钟信号之间的冲突预测的说明性电路系统的图示。
[0020]图10为根据本发明的实施例的可基于在两个周期信号之间的相对时序执行以避免危害状况的说明性步骤的流程图。
[0021]图11为根据本发明的实施例的可经执行来预测在两个时钟信号之间的冲突的说明性步骤的流程图,该冲突在仲裁电路中可能导致亚稳态。

【具体实施方式】
[0022]本文中提供的实施例涉及集成电路,并且更具体地涉及集成电路中的存储器电路系统。本发明的存储器电路系统可用于任何合适的集成电路。例如,仅举几例,存储器电路系统可用于专用集成电路(ASIC)、专用标准产品(ASSP)、微处理器或可编程的集成电路。
[0023]本领域的技术人员应该认识到,本示例性实施例可在没有这些具体细节中的一些或全部的情况下实行。在其他的实例中,未详细描述众所周知的操作,以便避免不必要地模糊本实施例。
[0024]在图1A中示出了根据本发明的集成电路101的说明性实施例。
[0025]集成电路101可具有多个组件。这些组件可包括处理电路系统102、存储电路系统110和输入/输出电路系统104。处理电路系统102可包括嵌入式微处理器、数字信号处理器(DSP)、微控制器或其他处理电路系统。输入/输出电路系统104可包括并联输入/输出电路系统、差动输入/输出电路系统、串行数据收发器电路系统,或适合传送和接收数据的其他输入/输出电路系统。诸如导线和总线的内部互连资源103可用来将数据从一个组件发送到另一个组件,或者用来将数据从一个组件广播到一个或多个其他组件。外部互连资源105,诸如导线和总线、光学互连基础结构,或具有可选中间开关的有线网络和无线网络,可用来与其他器件通信。
[0026]存储电路系统110可具有随机存取存储器(RAM)、只读存储器(ROM)或其他可访问存储器元件。存储电路系统110可以为单端口存储器、双端口存储器、四端口存储器或具有任何其他任意数目的端口。可替代地,存储电路系统110被实施为具有控制电路系统的单端口存储器,其模拟双端口、四端口,或其他多端口的行为。经通过互连资源103向存储电路系统110发送读或写请求,处理电路系统102可访问存储电路系统110。可替代地,外部组件可经由外部互连资源105、输入/输出电路系统104和互连资源103访问存储电路系统110。响应接收读取请求,存储电路系统110可检索请求的数据,并且通过互连资源103将检索的数据发送给请求者。在写入请求的情况下,存储电路系统110可存储接收的数据。
[0027]图1B为存储电路110的图不,其包括具有仲裁电路的存储器电路系统,仲裁电路经配置仅使用单端口存储器元件提供同步和异步多端口存储器操作。存储电路111可包含至少一个存储器阵列114。如图1B所示,存储器阵列114可包括成行和列布置的存储器元件(有时被称为存储器单元)100。存储器单元100可为单端口存储器单元。作为实例,存储器单元100可为具有六个晶体管的单端口差动存储器单元(例如,具有一对访问晶体管的存储器单元,其中访问晶体管用作用于该存储器单元的单端口)。使用单端口存储器单元提供双端口存储器功能可帮助提高芯片成品率、提供减小的最小所需电源电压(例如,减小的功耗),并且节省电路面积。
[0028]存储器阵列114可耦合到诸如行和列控制电路系统112的行和列控制电路系统。行和列控制电路系统112可包括行寻址电路系统、列多路复用电路系统、写入驱动器电路系统、读取感测电路系统、数据寄存器电路系统等。经由诸如路径116和路径118的路径,行和列控制电路系统112可用来在阵列114中产生期望的时变信号和/或固定信号到存储器单元110。提供给存储器元件100的信号有时可统称为控制信号。在特定的环境中,这些信号中的一些信号可用作电源信号、清除信号、数据信号、地址信号等。
[0029]通过总体存储器电源线,可将电源信号同时分配给在阵列114中的所有单元。存储器电源线可垂直定向,使得在每个路径118中均有存储器电源线的一个分支,或者其可以水平定向,使得在每个路径116中均有存储器电源线的一个分支。作为示例,使用共享的水平或垂直导体的模式,可将正电源电压Vcc并行供给每个单元100。使用共享的水平或垂直线的模式,可同样将地电压Vss并行供给单元100。诸如地址线和数据线的控制线通常彼此正交(例如,地址线是水平的而数据线是垂直的,或反之亦然)。
[0030]正电源电压Vcc可通过正电源线提供。地电压Vss可通过地电源线提供。任何合适的值均可用于正电源电压Vcc和地电压Vss。例如,正电源电压Vcc可以为1.2伏、1.1伏、1.0伏、0.9伏,小于0.9伏,或任何其他合适的电压。地电压Vss可为零伏(作为实例)。在典型的布置中,电源电压Vcc可为1.0伏,Vss可为零伏,并且地址信号、数据信号和清除信号的信号电平的范围可从零伏(当低时)到1.0伏(当高时)。也可使用在其中Vcc作为时间的函数而变化,在其中Vss小于零伏,并且在其中控制信号过载(即,在其中控制信号具有大于Vcc-Vss的信号强度)的布置。
[0031]通常,可以有与路径116和路径118关联的任何合适数目的导线。例如,阵列114的每行可包括在路径116的相应一个中的关联地址线,而阵列114的每列可包括在路径118的相应一个中的关联数据线(例如,真和互补的数据线)。术语“行”和“列”仅代表指代在存储器阵列114中的单元100的特定组的一种方式,并且有时可交换使用。如果需要,其他模式的线路可用在路径116和路径118中。例如,可使用不同数目的电源信号、地址信号和数据信号。
[0032]地址线116中的一个可提供断言地址信号,以选择要访问的存储器单元100的行。当选定的行正在访问时,在除选定的地址线以外的地址线116上的地址信号可保持反断言。在读取操作期间,每列中的数据线可被预充电至正电源电压Vcc,而在写入操作期间,每列中的数据线可被驱动至适当的电压电平,以将期望的写入数据写入到选定单元100中的至少一些。在正常操作期间,当所有数据线可预充电至Vcc时,所有地址信号可保持反断言(作为实例)。
[0033]通过使用外围存储器电路系统,在阵列114中的单端口存储器单元110可提供双端口功能。行和列控制电路系统112可从访问使能电路124中接收控制信号。访问使能电路124可具有第一输入端、第二输入端、稱合到电路系统112的输出端,和控制输入端,其中第一输入端经配置接收与第一存储器端口(端口 A)关联的存储器访问请求(例如,数据信号和地址信号),第二输入端经配置接收与第二存储器端口(端口 B)关联的存储器访问请求信号,控制输入端经配置通过路径126A和路径126B从仲裁电路122中接收存储器访问仲裁信号。
[0034]仲裁电路122可接收来自端口 A的存储器访问请求、来自端口 B的存储器访问请求、与端口 A关联的第一时钟信号Aclk,以及与端口 B关联的第二时钟信号Bclk。仲裁电路122可从任意数目的附加端口中接收存储器访问请求。例如,存储电路111可经配置实施四端口存储器。在四端口存储器配置中,仲裁电路122可从四个端口中接收存储器访问请求。仲裁电路122可确定在其中可授权在端口 A和端口 B上接收的存储器访问请求的顺序。
[0035]使用访问使能电路124,仲裁电路122可通过路径126A将存储器访问仲裁信号驱动至高,以选择性将来自端口 A的数据和寻址信号路由到行和列控制电路系统112,并且使用访问使能电路124,仲裁电路122可通过路径126B将存储器访问仲裁信号驱动到高,以选择性将来自端口 B的数据和寻址信号路由到行和列控制电路系统112 (作为实例)。当仲裁电路122决定执行请求时,仲裁电路122将临时断言通过路径134提供的信号START以指导读/写管理电路120使能期望的读/写操作。响应于从仲裁电路122接收断言的START,在写入操作期间,读/写管理电路120可向电路系统112提供断言的写入驱动器使能信号,并且在读取操作期间,其可提供断言的感测放大器使能信号(例如,通过经由路径136向电路系统112提供来自读/写管理电路120的读/写使能信号)。
[0036]在读取操作期间,可将在电路系统112中使用感测放大器电路生成的输出数据信号馈送到输出锁存器128和130。输出锁存器128可使用从电路120中通过路径132提供的端口 A的输出时钟信号AoutcIk来控制,而输出锁存器130可使用从电路120中通过路径133提供的端口 B的输出端口信号Boutclk来控制。可向器件111上的其他数字电路系统或逻辑电路系统提供与第一存储器端口关联的锁存输出数据信号(例如,数据信号Aout)和与第二存储器端口关联的锁存输出数据信号(例如,数据信号Bout),用于进一步的处理。
[0037]当前的存储器请求已经实现时(即,读/写操作在期望存储器位置进入到存储器阵列114完成后),仲裁电路122可从读/写管理电路120接收断言信号DONE。响应于检测断言的DONE,仲裁电路122可继续处理其他待解决的存储器访问请求。
[0038]在图1B中描述的存储电路111仅为说明,并非旨在限制本发明的保护范围。如果需要,仲裁电路122可经配置处理来自任何需要数目端口的存储器请求,以支持三端口存储器模式、四端口存储器模式等。
[0039]图2示出说明性仲裁电路222的图示,该仲裁电路222通过路径226A和路径226B为两个端口 A和B提供存储器访问仲裁信号。仲裁电路222可以以同步模式和异步模式操作。在同步模式中,可使用共享时钟源(例如,时钟信号Aclk与时钟信号Bclk相同)控制来自多个端口的请求。因此,可在共享时钟信号的上升沿同时接收来自两个或更多端口的存储器访问请求。例如,在同步模式中,仲裁电路222可确定在在多个端口处接收的存储器访问请求被授权访问存储器的顺序。
[0040]在两个端口中的仅一个处存在待解决请求的情境中,可选择与待解决请求关联的端口用于处理。在一个端口接收写入请求并且另一个端口接收读取请求的情境中,可选择接收读取请求的端口用于处理(即,仲裁电路222可经配置实施读取端口优先权)。如果需要,仲裁电路222也可经配置实施写入端口优先权(即,可选择接收写入请求的端口用于处理)。在两个端口都接收写入请求或两个端口都接收读取请求的情境中,可给予第二端口优先权(即,在端口 B处的请求将在端口 A处的请求之前被处理)。如果需要,当两个端口都接收同样类型的存储器请求时,仲裁电路222也可经配置实施端口 A优先权(即,当端口 A和端口 B都接收读取请求,或者当端口 A和端口 B都接收写入请求时,在端口 A处请求的将在端口 B处的请求之前被处理处理)。
[0041]在另一个合适的布置中,仲裁电路222可经配置以异步模式操作(例如,在其中使用不同相位和/或频率的时钟控制来自多个端口的请求的模式)。在异步操作模式中,来自不同存储器端口的请求经常在不同时间到达。因此,仲裁电路222可经配置在电路222 —接收到第一到达存储器请求后就将其处理,并且当第一到达存储器请求已经完成时,处理第二(稍后)到达存储器请求。
[0042]在异步模式操作期间,可能出现在两个不同的存储器端口处同时接收存储器访问请求的情况。例如,第一存储器访问请求可在端口 A处被接收,并且第二存储器访问请求可在端口 B处被接收。在这种情境中,仲裁电路222可变成如在图3示出的波形图中所示的亚稳态。在图3的示例中,时钟Aclk和Bclk在时间310处都具有上升沿。因此,分别在寄存器210A和寄存器210B的输出端上产生的信号Iatcha和Iatchb可在时间320处具有上升沿,这可导致由端口选择电路系统220产生的信号P0RTSEL变成亚稳态。端口选择电路系统220可花费一些时间来解决亚稳态(例如,对应于图3中的Tmet的时间)。在时间330,在已经解决信号P0RTSEL中的亚稳态之后,请求生成电路230可将存储器访问首先授权给端口 A,如通过在时间340处的信号reqa中的上升沿所示。在端口 A完成存储器访问后,诸如图1B中的读/写管理电路120的控制电路就可将诸如信号donea的相应控制信号发送给仲裁电路。响应于接收信号donea,仲裁电路222中的请求生成电路230可将存储器访问授权给端口 B,如在时间350处的信号reqb中的上升沿所示。
[0043]来自端口的每个存储器访问可要求访问时间Tacc。在这种情境中,用于一个端口的最大访问时间Twc等于两个访问时间加上解决亚稳态的时间的总和,如方程(I)所示:
[0044]Twc = 2*Tacc+Tmet (I)
[0045]不可以比最大访问时间Twc更快地操作存储电路111。可能期望的是预测同时存储器访问请求并且采用预防措施以避免仲裁电路中的亚稳态,由此通过消除或以其它方式减少解决亚稳态的时间Tmet潜在地减少了最大访问时间Twc。
[0046]可导致信号变成亚稳态的情境有时也称为危害。例如,在时间上充分接近地发生的来自不同端口的存储器访问请求可能导致仲裁电路中的信号P0RTSEL变成亚稳态并且构成危害。基于时钟信号的触发事件,可提前预测可导致仲裁电路中的信号P0RTSEL变成亚稳态的未来危害状况(例如,控制不同存储器端口上的存储器访问并且在稍后的时间里彼此充分接近地发生的时钟信号的触发事件)。
[0047]时钟信号的触发事件可取决于由该指时钟信号控制的电路系统。例如,诸如触发器或寄存器的边沿敏感电路系统可通过时钟信号的有效沿来触发。在某些配置中,寄存器可通过时钟信号的上升沿来触发。在其他配置中,寄存器也可通过时钟信号的下降沿来触发。其他的电路系统可具有不同的触发事件。比如,仅举几例,双沿触发的触发器可在上升时钟沿和下降时钟沿对输入数据进行采样并存储,诸如锁存器的电平敏感电路系统可在时钟信号为高或为低时对输入信号进行采样。本发明的实施例可独立于任何时钟信号受控电路系统的触发事件来预测并预防该电路系统中的危害。
[0048]图4示出两个时钟信号Aclk和Bclk的波形图。时钟信号Aclk可具有已知周期Tl并且时钟信号Bclk可具有已知周期T2,它们均可被固定在合理的高准确度、经受一些变化或抖动。考虑到时钟周期Tl和T2彼此不同并且时钟周期T2为时钟周期Tl的非整数倍的情境。本发明主要适用于两个时钟具有不同周期的情形,但是不限于在这些情形中的使用。例如,时钟周期T2可被限义为T1〈T2〈2*T1,并且Aclk与Bclk可具有在给定时间范围(例如,靠近时间440)内出现的有效时钟沿。在这种配置中,可以预期的是较早地预测同时触发事件。由于Aclk在时间440时具有触发事件,所以Aclk早于一个周期Tl在时间430时以及早于两个周期Tl在时间410时也具有触发事件。类似地,Bclk早于一个周期Τ2在时间420时具有触发事件。
[0049]在时钟信号Aclk和Bclk之间存在各种可能的时序关系,其可用来预测在时间440时的同时触发事件。例如,可基于在时间410时的时钟信号Aclk的触发事件和在时间420时的时钟信号Bclk的触发事件来预测在时间440时的同时触发事件。即,如果时钟信号Bclk在时钟信号Aclk具有触发事件之后的2*Τ1-Τ2处具有触发事件,那么时钟信号的Aclk和Bclk的同时触发事件将发生在时钟信号Bclk在时间420时的触发事件之后的时钟周期Τ2处。替代地,如果时钟信号Aclk在时间430处具有触发事件(即,在Bclk在时间420具有触发事件之后的Τ2-Τ1处),那么同时触发事件将发生在稍后的时钟周期Tl处。也可以利用时钟信号Aclk和Bclk之间的其他时序关系,诸如上升沿和下降沿之间的时序关系、下降沿和上升沿之间的时序关系、下降沿之间的时序关系、上升沿之间的时序关系、包含多个时钟周期等来预测同时触发事件。
[0050]由于时钟周期的不确定性和信号延迟,可能期望的时在被用来预测同时触发事件的时序关系之前和之后提供附加时间dt。在以上示例中,如果在时钟信号Aclk具有触发事件之后,时钟信号Bclk在2*Tl-T2-dt和2*Tl-T2+dt之间的时间间隔中具有触发事件,那么同时触发事件可发生。
[0051]图5示出用于预测时钟信号Aclk和Bclk的同时触发事件的说明性危害预测电路系统500。图6示出说明通过危害预测电路系统500传播的信号的波形图600。
[0052]考虑时钟信号Aclk和Bclk在时间650处具有同时触发事件的情境。在该情境中,触发事件由信号Aclk和Bclk的上升沿来表征。通过在时钟信号Aclk在时间610处具有上升沿之后,时钟信号Bclk在时间间隔2*Tl-T2-dt和2*Tl-T2+dt具有上升沿,可预测信号Aclk和Bclk的同时上升沿。使用时间延迟电路510可将时钟信号AclK延迟,通过将时钟信号Aclk延迟Delayl = 2*T1-T2_dt,时间延迟电路510可产生信号ckadl。使用时间延迟电路520进一步将信号ckadl延迟Delay2 = 2*dt,可产生信号ckad2。执行信号ckadl和ckad2的反转522的逻辑与运算(例如,使用逻辑与门524),可产生具有预定脉冲持续时间的危害脉冲信号,诸如可在时间620处(即,在Iatchb的预期上升沿之前的dt)具有上升沿随后在时间630处(即,在Iatchb的预期上升沿之后的dt)具有下降沿的信号hazard。寄存器530可在信号Bclk的上升沿时存储信号hazard,从而产生信号hazard_regl。信号hazarcLregl可在信号Bclk的上升沿时从逻辑“O”转换为逻辑“I”。由于在寄存器530的数据和时钟端口上的几乎同时发生事件的不确定性,信号hazard_regl可首先变成亚稳态。信号hazard_regl可花费T2时钟周期的一半(B卩,直到时间640)来解决亚稳态。在时间640处,寄存器540可在信号Bclk的下降沿时存储信号hazard_regl,从而产生信号hazard_reg2,并且确保信号hazard_regl在信号Bclk的上升沿上是稳定的。
[0053]危害预测电路系统500和相应的波形图600仅为说明,并非旨在限制本发明的保护范围。如果需要,危害预测电路系统500可使用不同的逻辑功能来基于信号ckadl和信号ckad2产生信号hazard。例如,仅举几例,信号hazard可通过执行信号ckad2和信号ckadl的反转的或非运算或者通过实施函数ckadl与非clkad2的查找表来产生。在未改变本发明的保护范围的情况下,对于危害预测电路系统500的其他修改是可能的。如果需要,危害预测电路系统500可产生信号hazard_reg2,当预期到危害时,信号hazard_reg2为逻辑“O”,并且在所有其他情况下,信号haZard_reg2为逻辑“I”。在这种情境中,可相应修改由信号hazard_reg2控制的电路系统。
[0054]信号hazard_reg2可预测导致来自端口 A和端口 B的同时存储器访问请求的时钟信号Aclk和Bclk的同时上升沿。如上所见,来自端口 A和端口 B的同时存储器访问请求可导致图2的仲裁电路222中的潜在亚稳态。危害预测电路系统500可生成对于一个时钟周期T2可为逻辑“I”的信号haZard_reg2,在时钟信号Aclk和Bclk的同时上升沿之前开始半时钟周期T2的一半。
[0055]图7示出电路700的原理图,该电路700在危害预防电路系统718中使用由危害预测电路系统500(见图5)生成的信号hazard_reg2来预防仲裁电路711中的亚稳态。危害预防电路系统718可具有时间延迟电路714,以将由信号Iatchb表示的端口 B上的存储器访问请求延迟预定的持续时间,诸如对应于Delay3的时间,其中信号Iatchb由电路700中的寄存器710B产生。危害预防电路系统718也可包括多路复用器720,以通过基于信号hazard_reg2 (例如,诸如由图5中的危害预测电路系统500产生的信号hazard_reg2的控制信号)在信号Iatchb和时间延迟的Iatchb之间选择来在端口 B上产生由信号Iatchb'表示的存储器访问请求。例如,每当hazard_reg2预测时钟信号Aclk和Bclk的同时上升沿,多路复用器720就可选择时间延迟的信号Iatchb来产生信号latchb',并且在所有其他情形下,多路复用器720均可选择latchb。
[0056]图8示出说明电路700的某些方面的操作的波形图800。时钟信号Aclk和Bclk均可在时间850处具有上升沿,其可导致来自端口 A和端口 B的存储器访问请求同时到达仲裁电路722。如上所见,来自两个不同端口的存储器访问请求同时到达仲裁电路722可导致仲裁电路中的亚稳态。
[0057]作为预测时钟信号Aclk和Bclk在时间850处都具有上升沿的结果,图5中示出的危害预测电路系统500可在时间840处在信号hazard_reg2中产生从逻辑“O”到逻辑“I”的转换。在时间840时开始,并且只要信号hazard_reg2为高,则危害预防电路系统718中的多路复用器720就可以通过选择时间延迟信号Iatchb而不是信号Iatchb来在端口 B产生存储器访问请求(信号latchb')。因此,信号latchb'可在时间860处具有上升沿,而不是在时间850处具有上升沿。将端口 B上的存储器访问请求从时间850延迟至时间860可防止仲裁电路722同时产生用于两个不同端口的两个存储器访问请求。由于两个存储器访问请求相继到达而不是同时到达,所以亚稳态可被避免。因此,在选择来自端口 B的存储器访问请求用于实现之前,仲裁电路722可首先选择来自端口 A的存储器访问请求用于实现。因此,通过解决亚稳态的时间Tmet来将最大访问时间Twc从Twc = Tmet+2*Tacc减少到 Twc = 2 Tacc0
[0058]危害预测电路系统500可与以任意时钟频率操作的电路系统一起使用。例如,危害预测电路系统500可控制对可编程逻辑的访问,可编程逻辑经配置以在可编程逻辑的编程期间所确定的时钟周期操作。因此,可能期望的是实施带有可编程延迟的危害预测电路系统500,以启用对以任意时钟频率操作的电路系统的支持。图9示出说明性危害预测电路系统900的视图,其可操作以便与以任意时钟频率操作的电路系统一起使用。多路复用器930和多路复用器940可通过选择级联延迟910 (例如,延迟910A、910B、910C等)中的任一者来从多种延迟中选择,以分别产生到逻辑与门524和反相器522的输入信号(参见图5中的信号ckadl和ckad2)。多路复用器940可选择比多路复用器930更大的延迟,而不是更小的延迟。如图9所示,延迟电路91A到91E可串联布置,并且每个延迟电路的输出可被馈送到多路复用器930和多路复用器940中。替代地,延迟电路可被并联布置,或者其可以以并联和串联延迟电路的混合布置。
[0059]可提供逻辑异或门960和可配置的存储位970,以控制危害预测电路系统900是否在表明信号Aclk的上升沿的同时表明信号Bclk的上升沿,或者控制危害预测电路系统900是否在表明信号Aclk的下降沿的同时表明信号Bclk的上升沿。在可配置的存储位970中存储逻辑“I”可在逻辑异或门960的输出端生成信号Aclk的反转。由于危害预测电路900的剩余部分预测Bclk和逻辑异或门960的输出的同时上升沿,所以当将逻辑“I”存储在可配置的存储位970中时,危害预测电路系统900可在表明信号Aclk的下降沿的同时表明信号Bclk的上升沿。类似地,在可配置的存储位970中存储逻辑“O”可在逻辑异或门960的输出端生成信号Aclk,并且危害预测电路900可在表明信号Aclk的上升沿的同时表明信号Bclk的上升沿。
[0060]危害预测电路系统900可向延迟信号Bclk提供附加延迟电路920A到920C。多路复用器950可在由延迟电路920A、920B,或920C延迟的信号Bclk中选择。延迟电路920A到920C可具有比延迟电路910A到910E更小的延迟。如图9所示,延迟电路920可被串联布置。替代地,延迟电路920可被并联布置,或者以串联和并联延迟电路混合的方式布置。延迟信号Bclk而不是信号Aclk可提供附加的灵活性。例如,可能预期的是将时钟信号Bclk延迟与信号latchb'的周期相比小的延迟,而不是将时钟信号Aclk延迟时钟周期的几乎一半。
[0061]执行由多路复用器930产生的信号和由多路复用器940产生的信号的反转的逻辑与运算可产生逻辑信号hazard。寄存器530可在由多路复用器950产生的信号的上升沿时存储信号hazard,从而产生信号hazard_regl。寄存器540可在由多路复用器950产生的信号的下降沿时存储信号hazard_regl,从而产生信号hazard_reg2。
[0062]图10为根据本发明实施例的说明性步骤的流程图1000,这些说明性步骤可使用危害预测电路系统来执行,用来预测危害并且避免两个周期信号之间的亚稳态。在步骤1010期间,可接收第一周期信号和第二周期信号,诸如具有第一周期和第二周期的第一时钟信号和第二时钟信号。基于两个周期信号的有效沿之间的预定接近度,在步骤1020期间可预测未来亚稳态状况。在步骤1030期间,基于在步骤1020期间预测的亚稳态状况,第二周期信号可被延迟预定持续时间。替代地,第一周期信号可被延迟预定持续时间,或者第一周期信号和第二周期信号每个都可被延迟不同的时间量。
[0063]图11为根据本发明实施例的说明性步骤的流程图1100,这些说明性步骤可使用危害预测电路系统来执行,用以预测在将来可能导致亚稳态的两个时钟信号之间的危害,以及延迟时钟信号中的一个以避免此类未来的亚稳态。
[0064]在步骤1110期间,可接收第一周期信号和第二周期信号,诸如具有第一周期和第二周期的第一时钟信号和第二时钟信号。在步骤1120期间,危害预测电路系统可确定第一周期信号的未来有效沿在第二周期信号的有效沿的预定持续时间内,并且可确定此类配置构成危害。在步骤1030期间,可将第一周期信号延迟第一时间延迟和第二时间延迟,从而产生第一延迟信号和第二延迟信号。在步骤1040期间,可基于第一延迟信号和第二延迟信号生成危害信号。例如,第一延迟信号和第二延迟信号的反转之间的逻辑与运算,可生成如在图5的预测电路中所示的危害信号。替代地,可在第一延迟信号的反转和第二延迟信号之间执行逻辑或非运算。其他组合也是可能的。如在步骤1150中所示,危害信号可被存储在由第二周期信号触发的第一寄存器中。在步骤1160期间,可将第一寄存器的输出存储在第二寄存器中,第二寄存器由第二周期信号的反转触发。在步骤1170期间,可将第二周期信号延迟给定的时间延迟。最后,在步骤1180期间,可基于存储在第二寄存器中的信号来选择第二周期信号或延迟的第二周期信号。
[0065]在此描述的方法和装置可并入到任何合适的电子器件或电子器件的系统中。例如,可将方法和装置并入到诸如微处理器或其他集成电路的多种类型的器件中。示例性集成电路包括可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程逻辑阵列(FPAL)、电可编程逻辑器件(EPLD)、电可擦除可编程逻辑器件(EEPLD)、逻辑单元阵列(LCA)、现场可编程门阵列(FPGA)、专用标准产品(ASSP)、专用集成电路(ASIC),以上仅举几例。
[0066]尽管以特定顺序描述了方法操作,但是应该理解,只要叠加操作的处理以期望的方式被执行,其他操作即可在描述的操作之间执行,可将描述的操作调整使得它们在稍有不同的时间发生,或者可将描述的操作分布在允许处理操作发生在与处理关联的各种间隔的系统中。
[0067]附加实施例:
[0068]附加实施例1.一种电路系统,其包括:第一输入端,其接收具有第一周期的第一周期信号;第二输入端,其接收具有第二周期的第二周期信号;危害预测电路系统,其预测第一周期信号和第二周期信号之间的未来危害状况,其中危害预测电路系统在第一时刻预测未来危害状况,并且未来危害状况经预测发生在第一时刻之后的第二时刻;以及危害预防电路系统,其在第二时刻之前的相应的周期信号的至少一个时钟周期期间选择性地将第一周期信号和第二周期信号中的至少一个延迟第一预定持续时间。
[0069]附加实施例2.根据附加实施例1所述的电路系统,其中危害预测电路系统进一步包括:延迟脉冲生成电路,其生成具有预定脉冲持续时间的危害预测脉冲,危害预测脉冲的上升沿相对于第一周期信号的有效沿被延迟预定的间隔延迟;以及边沿检测电路,其确定第二周期信号的有效沿是否发生在危害检测脉冲的脉冲持续时间内。
[0070]附加实施例3.根据附加实施例1所述的电路系统,其中危害预测电路系统包括可调整的延迟元件。
[0071]附加实施例4.根据附加实施例3所述的电路系统,其中可调整的延迟元件包括:多个固定延迟元件,其中多个固定延迟元件中的每个均产生各自的输出信号;以及多路复用器,其从多个固定延迟元件中接收每个输出信号,并且产生从接收的输出信号中选择的多路复用器输出信号。
[0072]附加实施例5.根据附加实施例4所述的电路系统,其中多个固定延迟元件被串联耦合,以形成延迟路径。
[0073]附加实施例6.根据附加实施例1所述的电路系统,其中危害预测电路系统进一步包括:基于第二周期信号触发的第一寄存器,其中第一寄存器接收并且存储预测未来危害状况的危害预测信号。
[0074]附加实施例7.根据附加实施例6所述的电路系统,其进一步包括:基于第二周期信号的反转触发的第二寄存器,其中第二寄存器接收并且存储来自第一寄存器的危害预测信号。
[0075]附加实施例8.根据附加实施例7所述的电路系统,其进一步包括:耦合在第二输入端和第一与第二寄存器之间的第三延迟元件,其中第三延迟元件接收第二周期信号,并且将第二周期信号延迟第三延迟,其中基于延迟的第二周期信号触发第一寄存器,并且其中基于延迟的第二周期信号的反转触发第二寄存器。
[0076]附加实施例9.一种实现存储器访问请求的电路系统,该电路系统包括:第一端口,在该第一端口处使用第一时钟信号接收第一存储器访问请求;第二端口,在该第二端口处使用第二时钟信号接收第二存储器访问请求;以及耦合到第一端口和第二端口的危害预防电路系统,其中危害预防电路系统将第二存储器访问请求延迟,并且确定要选择第一存储器访问请求、第二存储器访问请求和延迟的第二存储器访问请求中的哪一个用于实现。
[0077]附加实施例10.根据附加实施例9所述的电路系统,其中危害预防电路系统包括耦合到第二端口的多个延迟元件,并且选择多个延迟元件中的一个以延迟第二存储器访问请求。
[0078]附加实施例11.根据附加实施例9所述的电路系统,其进一步包括:危害预测电路系统,其接收第一时钟信号和第二时钟信号,并且通过第一时钟信号和第二时钟信号产生预测同时触发事件的控制信号。
[0079]附加实施例12.根据附加实施例11所述的电路系统,其中危害预防电路系统进一步包括:多路复用器,其接收第二存储器访问请求和延迟的第二存储器访问请求,并且基于来自危害预测电路系统的控制信号从接收的请求中进行选择。
[0080]附加实施例13.根据附加实施例12所述的电路系统,其中危害预防电路系统基于由危害预测电路系统产生的控制信号来确定要选择第一存储器访问请求、第二存储器访问请求和延迟的第二存储器访问请求中的哪一个用于实现。
[0081]附加实施例14.根据附加实施例12所述的电路系统,其中危害预测电路系统进一步包括:第一延迟元件,其接收第一时钟信号并且产生延迟的第一时钟信号;第二延迟元件,其接收延迟的第一时钟信号并且产生进一步延迟的第一时钟信号;以及逻辑电路系统,其接收延迟的第一时钟信号和进一步延迟的第一时钟信号,并且基于接收的信号产生逻辑输出信号。
[0082]附加实施例15.根据附加实施例14所述的电路系统,其中逻辑电路系统经配置实施延迟的第一时钟信号和进一步延迟的第一时钟信号的反转的逻辑与运算。
[0083]附加实施例16.根据附加实施例14所述的电路系统,其中危害预测电路系统进一步包括:第一寄存器,其接收逻辑输出信号和第二时钟信号,并且基于第二时钟信号的触发事件存储逻辑输出信号;以及产生控制信号的第二寄存器,其中第二寄存器接收第二时钟信号和来自第一寄存器的存储逻辑输出信号,并且基于第二时钟信号的反转的触发事件对存储逻辑输出信号进行存储。
[0084]附加实施例17.根据附加实施例14所述的电路系统,其中危害预测电路系统的第一延迟元件包括可编程延迟元件,其可操作以便从多个延迟中进行选择并且将第一时钟信号延迟多个延迟中的一个。
[0085]附加实施例18.—种方法,其包括:在第一输入端处接收具有第一周期的第一周期信号;在第二输入端处接收具有第二周期的第二周期信号;在第一时刻,基于在第一时刻第一周期信号和第二周期信号之间的相对时序预测在第一周期信号或第二周期信号的有效沿时的未来危害状况,其中未来危害状况经预测在迟于第一时刻的第二时刻发生;以及选择性地将第一周期信号或第二周期信号的有效时钟沿延迟第一预定持续时间,其中有效时钟沿与第二时刻之前的相应的周期信号的至少一个时钟循环期间的预定危害持续时间内的时钟循环相关联。
[0086]附加实施例19.根据附加实施例18所述的方法,其中预测未来危害状况进一步包括:确定第一周期信号的有效沿在第二周期信号的有效沿的第二预定持续时间内。
[0087]附加实施例20.根据附加实施例19所述的方法,其进一步包括:响应于确定第一周期信号的有效沿在第二周期信号的有效沿的第二预定持续时间内,生成危害信号。
[0088]附加实施例21.根据附加实施例20所述的方法,其进一步包括:基于按照时间延迟而延迟的第二周期信号,生成延迟的周期信号;以及基于危害信号在延迟的周期信号和第二周期信号之间进行选择。
[0089]附加实施例22.根据附加实施例19所述的方法,其中生成危害信号进一步包括:将第一周期信号延迟第一时间延迟,以产生第一延迟信号;将第一周期信号延迟第二时间延迟,以产生第二延迟信号;以及基于第一延迟信号和第二延迟信号的有效沿,生成中间危害信号。
[0090]附加实施例23.根据附加实施例22所述的方法,其进一步包括:从多个固定时间延迟中选择第一时间延迟。
[0091]附加实施例24.根据附加实施例22所述的方法,其进一步包括:将中间危害信号存储在第二周期信号的有效沿上。
[0092]附加实施例25.根据附加实施例22所述的方法,其进一步包括:将第二周期信号延迟第三时间延迟,以产生第三延迟信号;将中间危害信号存储在第三延迟信号的有效沿上;以及将所存储的中间危害信号存储在反转的第三延迟信号的有效沿上。
[0093]上文仅说明了本发明的原理,并且在未背离本发明的保护范围和精神的情况下,本领域的技术人员可以做出各种修改。
【权利要求】
1.一种电路系统,其包括: 第一输入端,其接收具有第一周期的第一周期信号; 第二输入端,其接收具有第二周期的第二周期信号; 危害预测电路系统,其预测在所述第一周期信号和第二周期信号之间的未来危害状况,其中所述危害预测电路系统在第一时刻预测所述未来危害状况,并且所述未来危害状况经预测在所述第一时刻之后的第二时刻发生;以及 危害预防电路系统,其在所述第二时刻之前的相应周期信号的至少一个时钟循环期间,选择性地将所述第一周期信号和第二周期信号中的至少一个延迟第一预定持续时间。
2.根据权利要求1所述的电路系统,其中所述危害预测电路系统进一步包括: 延迟脉冲生成电路,其生成具有预定脉冲持续时间的危害预测脉冲,所述危害检测脉冲的上升沿相对于所述第一周期信号的有效沿被延迟预定的延迟间隔;以及 边沿检测电路,其确定所述第二周期信号的有效沿是否发生在所述危害检测脉冲的脉冲持续时间内。
3.根据权利要求1所述的电路系统,其中所述危害预测电路系统包括可调整的延迟元件。
4.根据权利要求3所述的电路系统,其中所述可调整的延迟元件包括: 多个固定延迟元件,其中所述多个固定延迟元件每个均产生各自的输出信号,其中所述多个固定延迟元件被串联耦合以形成延迟路径;以及 多路复用器,其从所述多个固定延迟元件中接收输出信号中的每个,并且产生从所接收的输出信号中选择的多路复用器输出信号。
5.根据权利要求1所述的电路系统,其中所述危害预测电路系统进一步包括: 基于所述第二周期信号触发的第一寄存器,其中所述第一寄存器接收并且存储预测所述未来危害状况的危害预测信号; 基于所述第二周期信号的反转触发的第二寄存器,其中所述第二寄存器接收并且存储来自所述第一寄存器的所述危害预测信号;以及 在所述第二输入端和所述第一寄存器和第二寄存器之间耦合的第三延迟元件,其中所述第三延迟元件接收所述第二周期信号,并且以第三延迟来延迟所述第二周期信号,其中基于所述延迟的第二周期信号触发所述第一寄存器,并且其中基于所述延迟的第二周期信号的反转触发所述第二寄存器。
6.一种实现存储器访问请求的电路系统,所述电路系统包括: 第一端口,在所述第一端口处使用第一时钟信号接收第一存储器访问请求; 第二端口,在所述第二端口处使用第二时钟信号接收第二存储器访问请求;以及耦合到所述第一端口和第二端口的危害预防电路系统,其中所述危害预防电路系统将所述第二存储器访问请求延迟,并且确定要选择所述第一存储器访问请求、所述第二存储器访问请求和所述延迟的第二存储器访问请求中的哪一个用于实现。
7.根据权利要求6所述的电路系统,其中所述危害预防电路系统包括耦合到所述第二端口的多个延迟元件,并且选择所述多个延迟元件中的一个以延迟所述第二存储器访问请求。
8.根据权利要求6所述的电路系统,其进一步包括: 危害预测电路系统,其接收所述第一时钟信号和所述第二时钟信号,并且通过所述第一时钟信号和第二时钟信号产生预测同时触发事件的控制信号。
9.根据权利要求8所述的电路系统,其中所述危害预防电路系统进一步包括: 多路复用器,其接收所述第二存储器访问请求和所述延迟的第二存储器访问请求,并且基于来自所述危害预测电路系统的控制信号从所接收的请求中进行选择,其中基于由所述危害预测电路系统产生的所述控制信号,所述危害预防电路系统确定要选择所述第一存储器访问请求、所述第二存储器访问请求和所述延迟的第二存储器访问请求中的哪一个用于实现。
10.根据权利要求9所述的电路系统,其中所述危害预测电路系统进一步包括: 第一延迟元件,其接收所述第一时钟信号并且产生延迟的第一时钟信号; 第二延迟元件,其接收所述延迟的第一时钟信号并且产生进一步延迟的第一时钟信号;以及 逻辑电路系统,其接收所述延迟的第一时钟信号和所述进一步延迟的第一时钟信号,并且基于所接收的信号产生逻辑输出信号。
11.根据权利要求10所述的电路系统,其中所述逻辑电路系统经配置实施所述延迟的第一时钟信号和所述进一步延迟的第一时钟信号的反转的逻辑与运算。
12.根据权利要求10所述的电路系统,其中所述危害预测电路系统进一步包括: 第一寄存器,其接收所述逻辑输出信号和所述第二时钟信号,并且基于所述第二时钟信号的触发事件存储所述逻辑输出信号;以及 产生所述控制信号的第二寄存器,其中所述第二寄存器从所述第一寄存器中接收所述第二时钟信号和所述存储的逻辑输出信号,并且基于所述第二时钟信号的反转的触发事件来存储所述存储的逻辑输出信号。
13.根据权利要求10所述的电路系统,其中所述危害预测电路系统的所述第一延迟元件包括可编程的延迟元件,所述可编程的延迟元件可操作以便从多个延迟中进行选择并且以所述多个延迟中的一个来延迟所述第一时钟信号。
14.一种方法,其包括: 在第一输入端接收具有第一周期的第一周期信号; 在第二输入端接收具有第二周期的第二周期信号; 在第一时刻,基于在所述第一时刻的所述第一周期信号和第二周期信号之间的相对时序,预测在所述第一周期信号或第二周期信号的有效沿的未来危害状况,其中所述未来危害状况经预测在迟于所述第一时刻的第二时刻发生;以及 以第一预定持续时间,选择性延迟所述第一周期信号或第二周期信号的有效时钟沿,所述有效时钟沿与所述第二时刻之前的相应周期信号的至少一个时钟循环期间的预定危害持续时间内的时钟循环有关。
15.根据权利要求14所述的方法,其中预测所述未来危害状况进一步包括: 确定所述第一周期信号的所述有效沿在所述第二周期信号的所述有效沿的第二预定持续时间内;以及 响应确定所述第一周期信号的所述有效沿在所述第二周期信号的所述有效沿的第二预定持续时间内,生成危害信号。
16.根据权利要求15所述的方法,其进一步包括:基于以时间延迟而被延迟的所述第二周期信号,生成延迟的周期信号;以及基于所述危害信号,在所述延迟的周期信号和所述第二周期信号之间选择。
17.根据权利要求15所述的方法,其中生成所述危害信号进一步包括:以第一时间延迟将所述第一周期信号延迟,以产生第一延迟信号;以第二时间延迟将所述第一周期信号延迟,以产生第二延迟信号;以及基于所述第一延迟信号和第二延迟信号的有效沿,生成中间危害信号。
18.根据权利要求17所述的方法,其进一步包括:从多个固定时间延迟中选择所述第一时间延迟。
19.根据权利要求17所述的方法,其进一步包括:将所述中间危害信号存储在所述第二周期信号的所述有效沿上。
20.根据权利要求17所述的方法,其进一步包括:以第三时间延迟将所述第二周期信号延迟,以产生第三延迟信号;将所述中间危害信号存储在所述第三延迟信号的有效沿上;以及将所存储的中间危害信号存储在反转的第三延迟信号的有效沿上。
【文档编号】G11C11/413GK104376870SQ201410397457
【公开日】2015年2月25日 申请日期:2014年8月13日 优先权日:2013年8月13日
【发明者】D·刘易斯 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1