《存储器仲裁电路系统中的亚稳态预测及避免.pdf》由会员分享,可在线阅读,更多相关《存储器仲裁电路系统中的亚稳态预测及避免.pdf(28页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410397457.0 (22)申请日 2014.08.13 13/966,130 2013.08.13 US G11C 11/413(2006.01) (71)申请人 阿尔特拉公司 地址 美国加利福尼亚 (72)发明人 D刘易斯 (74)专利代理机构 北京纪凯知识产权代理有限 公司 11245 代理人 赵蓉民 (54) 发明名称 存储器仲裁电路系统中的亚稳态预测及避免 (57) 摘要 本发明提供了一种具有危害预测和预防电路 系统的集成电路。危害预测电路系统可预测在两 个周期信号之间的未来危害状况, 并且危害预防 电路系统可选择性地。
2、延迟两个周期信号中的至少 一个, 以避免预测的危害状况。使用仲裁电路, 单 端口存储器单元可提供多端口存储器功能, 其中 仲裁电路包括危害预测和预防电路系统并且从至 少两个请求生成器中接收存储器访问请求。仲裁 电路可以以同步模式操作, 并且基于预定的逻辑 表执行端口选择。仲裁电路也可以以异步模式操 作, 并且仲裁电路一接收到存储器访问请求就将 其执行。用危害预测和预防电路系统可避免通过 从至少两个请求生成器中同时接收存储器访问请 求而导致的亚稳态。 (30)优先权数据 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书12页 附图12页 。
3、(10)申请公布号 CN 104376870 A (43)申请公布日 2015.02.25 CN 104376870 A 1/3 页 2 1. 一种电路系统, 其包括 : 第一输入端, 其接收具有第一周期的第一周期信号 ; 第二输入端, 其接收具有第二周期的第二周期信号 ; 危害预测电路系统, 其预测在所述第一周期信号和第二周期信号之间的未来危害状 况, 其中所述危害预测电路系统在第一时刻预测所述未来危害状况, 并且所述未来危害状 况经预测在所述第一时刻之后的第二时刻发生 ; 以及 危害预防电路系统, 其在所述第二时刻之前的相应周期信号的至少一个时钟循环期 间, 选择性地将所述第一周期信号和第。
4、二周期信号中的至少一个延迟第一预定持续时间。 2. 根据权利要求 1 所述的电路系统, 其中所述危害预测电路系统进一步包括 : 延迟脉冲生成电路, 其生成具有预定脉冲持续时间的危害预测脉冲, 所述危害检测脉 冲的上升沿相对于所述第一周期信号的有效沿被延迟预定的延迟间隔 ; 以及 边沿检测电路, 其确定所述第二周期信号的有效沿是否发生在所述危害检测脉冲的脉 冲持续时间内。 3. 根据权利要求 1 所述的电路系统, 其中所述危害预测电路系统包括可调整的延迟元 件。 4. 根据权利要求 3 所述的电路系统, 其中所述可调整的延迟元件包括 : 多个固定延迟元件, 其中所述多个固定延迟元件每个均产生各自。
5、的输出信号, 其中所 述多个固定延迟元件被串联耦合以形成延迟路径 ; 以及 多路复用器, 其从所述多个固定延迟元件中接收输出信号中的每个, 并且产生从所接 收的输出信号中选择的多路复用器输出信号。 5. 根据权利要求 1 所述的电路系统, 其中所述危害预测电路系统进一步包括 : 基于所述第二周期信号触发的第一寄存器, 其中所述第一寄存器接收并且存储预测所 述未来危害状况的危害预测信号 ; 基于所述第二周期信号的反转触发的第二寄存器, 其中所述第二寄存器接收并且存储 来自所述第一寄存器的所述危害预测信号 ; 以及 在所述第二输入端和所述第一寄存器和第二寄存器之间耦合的第三延迟元件, 其中所 述第。
6、三延迟元件接收所述第二周期信号, 并且以第三延迟来延迟所述第二周期信号, 其中 基于所述延迟的第二周期信号触发所述第一寄存器, 并且其中基于所述延迟的第二周期信 号的反转触发所述第二寄存器。 6. 一种实现存储器访问请求的电路系统, 所述电路系统包括 : 第一端口, 在所述第一端口处使用第一时钟信号接收第一存储器访问请求 ; 第二端口, 在所述第二端口处使用第二时钟信号接收第二存储器访问请求 ; 以及 耦合到所述第一端口和第二端口的危害预防电路系统, 其中所述危害预防电路系统将 所述第二存储器访问请求延迟, 并且确定要选择所述第一存储器访问请求、 所述第二存储 器访问请求和所述延迟的第二存储器。
7、访问请求中的哪一个用于实现。 7. 根据权利要求 6 所述的电路系统, 其中所述危害预防电路系统包括耦合到所述第二 端口的多个延迟元件, 并且选择所述多个延迟元件中的一个以延迟所述第二存储器访问请 求。 8. 根据权利要求 6 所述的电路系统, 其进一步包括 : 权 利 要 求 书 CN 104376870 A 2 2/3 页 3 危害预测电路系统, 其接收所述第一时钟信号和所述第二时钟信号, 并且通过所述第 一时钟信号和第二时钟信号产生预测同时触发事件的控制信号。 9. 根据权利要求 8 所述的电路系统, 其中所述危害预防电路系统进一步包括 : 多路复用器, 其接收所述第二存储器访问请求和所。
8、述延迟的第二存储器访问请求, 并 且基于来自所述危害预测电路系统的控制信号从所接收的请求中进行选择, 其中基于由所 述危害预测电路系统产生的所述控制信号, 所述危害预防电路系统确定要选择所述第一存 储器访问请求、 所述第二存储器访问请求和所述延迟的第二存储器访问请求中的哪一个用 于实现。 10. 根据权利要求 9 所述的电路系统, 其中所述危害预测电路系统进一步包括 : 第一延迟元件, 其接收所述第一时钟信号并且产生延迟的第一时钟信号 ; 第二延迟元件, 其接收所述延迟的第一时钟信号并且产生进一步延迟的第一时钟信 号 ; 以及 逻辑电路系统, 其接收所述延迟的第一时钟信号和所述进一步延迟的第一。
9、时钟信号, 并且基于所接收的信号产生逻辑输出信号。 11. 根据权利要求 10 所述的电路系统, 其中所述逻辑电路系统经配置实施所述延迟的 第一时钟信号和所述进一步延迟的第一时钟信号的反转的逻辑与运算。 12. 根据权利要求 10 所述的电路系统, 其中所述危害预测电路系统进一步包括 : 第一寄存器, 其接收所述逻辑输出信号和所述第二时钟信号, 并且基于所述第二时钟 信号的触发事件存储所述逻辑输出信号 ; 以及 产生所述控制信号的第二寄存器, 其中所述第二寄存器从所述第一寄存器中接收所述 第二时钟信号和所述存储的逻辑输出信号, 并且基于所述第二时钟信号的反转的触发事件 来存储所述存储的逻辑输出。
10、信号。 13. 根据权利要求 10 所述的电路系统, 其中所述危害预测电路系统的所述第一延迟元 件包括可编程的延迟元件, 所述可编程的延迟元件可操作以便从多个延迟中进行选择并且 以所述多个延迟中的一个来延迟所述第一时钟信号。 14. 一种方法, 其包括 : 在第一输入端接收具有第一周期的第一周期信号 ; 在第二输入端接收具有第二周期的第二周期信号 ; 在第一时刻, 基于在所述第一时刻的所述第一周期信号和第二周期信号之间的相对时 序, 预测在所述第一周期信号或第二周期信号的有效沿的未来危害状况, 其中所述未来危 害状况经预测在迟于所述第一时刻的第二时刻发生 ; 以及 以第一预定持续时间, 选择性。
11、延迟所述第一周期信号或第二周期信号的有效时钟沿, 所述有效时钟沿与所述第二时刻之前的相应周期信号的至少一个时钟循环期间的预定危 害持续时间内的时钟循环有关。 15. 根据权利要求 14 所述的方法, 其中预测所述未来危害状况进一步包括 : 确定所述第一周期信号的所述有效沿在所述第二周期信号的所述有效沿的第二预定 持续时间内 ; 以及 响应确定所述第一周期信号的所述有效沿在所述第二周期信号的所述有效沿的第二 预定持续时间内, 生成危害信号。 权 利 要 求 书 CN 104376870 A 3 3/3 页 4 16. 根据权利要求 15 所述的方法, 其进一步包括 : 基于以时间延迟而被延迟的所。
12、述第二周期信号, 生成延迟的周期信号 ; 以及 基于所述危害信号, 在所述延迟的周期信号和所述第二周期信号之间选择。 17. 根据权利要求 15 所述的方法, 其中生成所述危害信号进一步包括 : 以第一时间延迟将所述第一周期信号延迟, 以产生第一延迟信号 ; 以第二时间延迟将所述第一周期信号延迟, 以产生第二延迟信号 ; 以及 基于所述第一延迟信号和第二延迟信号的有效沿, 生成中间危害信号。 18. 根据权利要求 17 所述的方法, 其进一步包括 : 从多个固定时间延迟中选择所述第一时间延迟。 19. 根据权利要求 17 所述的方法, 其进一步包括 : 将所述中间危害信号存储在所述第二周期信号。
13、的所述有效沿上。 20. 根据权利要求 17 所述的方法, 其进一步包括 : 以第三时间延迟将所述第二周期信号延迟, 以产生第三延迟信号 ; 将所述中间危害信号存储在所述第三延迟信号的有效沿上 ; 以及 将所存储的中间危害信号存储在反转的第三延迟信号的有效沿上。 权 利 要 求 书 CN 104376870 A 4 1/12 页 5 存储器仲裁电路系统中的亚稳态预测及避免 0001 相关申请的交叉参考 0002 本申请要求在 2013 年 8 月 13 日提交的美国专利申请 No.13/966,130 的优先权, 其在此整体通过引用的方式并入本申请。 背景技术 0003 诸如可编程集成电路的集。
14、成电路可以静态随机存取存储器 (SRAM) 单元的形式包 含易失性存储器元件。诸如 SRAM 单元的易失性存储器元件通常基于交叉耦合的反相器 ( 即, 锁存器 )。存储器元件经常成阵列布置。在典型的阵列中, 数据线用来将数据写入存 储器元件并且从中读取数据。地址线可用来选择访问哪些存储器元件。 0004 某些应用程序要求存储器元件具有双端口能力 ( 即, 存储器元件包括两个端口, 其中的每一个均用来执行读/写操作)。 为支持双端口操作, 存储器元件通常以八晶体管配 置形成。双端口存储器元件包括两个交叉耦合的反相器。将第一对访问晶体管耦合到交叉 耦合的反相器, 以用作第一读 / 写端口, 而将第。
15、二对访问晶体管耦合到交叉耦合的反相器, 以用作第二读 / 写端口。然而, 以这种方式布置的传统八晶体管 (8T) 双端口存储器单元占 用了多于传统六晶体管 (6T) 单端口存储器单元两倍的面积。 0005 在努力将双端口存储器电路系统的面积减少的过程中, 已经开发出允许使用 6T 存储器元件来提供同步双端口功能的技术 ( 即, 两个端口都使用单个时钟控制 )。例如, 双 倍时钟技术包含在高时钟相位 ( 以实现与第一端口关联的请求 ) 期间和在低时钟相位 ( 以 实现与第二端口关联的请求 ) 期间访问存储器元件。然而, 双倍时钟存储器访问限制了存 储器性能, 并且不可用来支持异步双端口操作(即,。
16、 包含使用具有不同的时钟频率和/或相 位的两个分离时钟信号以控制两个端口的操作 )。 发明内容 0006 根据本发明的某些方面, 电路系统可包括第一输入端、 第二输入端、 危害预测电路 系统和危害预防电路系统, 其中第一输入端接收具有第一周期的第一周期信号, 第二输入 端接收具有第二周期的第二周期信号。 危害预测电路系统可预测在第一周期信号和第二周 期信号之间的未来危害状况。 例如, 危害预测电路系统可在第一时刻预测到未来危害状况, 并且未来危害状况经预测在第一时刻之后的第二时刻发生。 在第二时刻之前的相应周期信 号的至少一个时钟循环期间, 危害预防电路系统可按照第一预定持续时间选择性地延迟第。
17、 一周期信号和第二周期信号中的至少一个。 0007 本文中描述的实施例可以以多种方式来实施, 诸如过程、 装置、 系统、 器件, 或在处 理机上执行的方法。下文描述了若干本发明的发明实施例。 0008 在某些实施例中, 危害预测电路系统可进一步包括延迟脉冲生成电路, 其生成具 有预定脉冲持续时间的危害预测脉冲。 危害检测脉冲的上升沿可相对第一周期信号的有效 沿按照预定的延迟间隔被延迟。如果期望, 则上述危害预测电路系统可进一步包括边沿检 测电路, 该电路确定第二周期信号的有效沿是否发生在危害检测脉冲的脉冲持续时间内。 说 明 书 CN 104376870 A 5 2/12 页 6 0009 从。
18、附图和下列实施例的详细描述中, 本发明的进一步特征、 其本质和各种优点将 更显而易见。 附图说明 0010 图 1A 为根据本发明的实施例的集成电路的原理图。 0011 图 1B 为根据本发明的实施例的带有仲裁电路的说明性多端口存储器电路系统的 图示。 0012 图 2 为根据本发明的实施例的说明性单端口存储器电路系统的图示, 其模拟了带 有仲裁电路的多端口存储器电路系统。 0013 图 3 为根据本发明的实施例示出来自两个端口的异步存储器访问请求如何可在 仲裁电路中导致亚稳态的波形图。 0014 图 4 为根据本发明的实施例的有助于解释用于同时预测两个异步时钟的上升时 钟沿的方法的波形图。 。
19、0015 图 5 为根据本发明的实施例的预测两个时钟信号之间冲突的说明性电路系统的 图示, 其中该冲突在仲裁电路中可能导致亚稳态。 0016 图6为根据本发明的实施例的说明在图5中所示的电路的两个时钟信号之间的冲 突预测的波形图。 0017 图 7 为根据本发明的实施例的模拟具有仲裁电路的双端口存储器电路系统的说 明性单端口存储器电路系统的图示, 其中仲裁电路基于图 5 的冲突预测, 延迟来自一个端 口的存储器访问。 0018 图 8 为根据本发明的实施例的有助于说明在图 7 中示出的电路系统行为的波形 图。 0019 图 9 为根据本发明的实施例的使用可配置的延迟电路系统进行两个时钟信号之 。
20、间的冲突预测的说明性电路系统的图示。 0020 图 10 为根据本发明的实施例的可基于在两个周期信号之间的相对时序执行以避 免危害状况的说明性步骤的流程图。 0021 图 11 为根据本发明的实施例的可经执行来预测在两个时钟信号之间的冲突的说 明性步骤的流程图, 该冲突在仲裁电路中可能导致亚稳态。 具体实施方式 0022 本文中提供的实施例涉及集成电路, 并且更具体地涉及集成电路中的存储器电路 系统。本发明的存储器电路系统可用于任何合适的集成电路。例如, 仅举几例, 存储器电路 系统可用于专用集成电路 (ASIC)、 专用标准产品 (ASSP)、 微处理器或可编程的集成电路。 0023 本领域。
21、的技术人员应该认识到, 本示例性实施例可在没有这些具体细节中的一些 或全部的情况下实行。 在其他的实例中, 未详细描述众所周知的操作, 以便避免不必要地模 糊本实施例。 0024 在图 1A 中示出了根据本发明的集成电路 101 的说明性实施例。 0025 集成电路101可具有多个组件。 这些组件可包括处理电路系统102、 存储电路系统 110 和输入 / 输出电路系统 104。处理电路系统 102 可包括嵌入式微处理器、 数字信号处理 说 明 书 CN 104376870 A 6 3/12 页 7 器 (DSP)、 微控制器或其他处理电路系统。输入 / 输出电路系统 104 可包括并联输入 。
22、/ 输出 电路系统、 差动输入 / 输出电路系统、 串行数据收发器电路系统, 或适合传送和接收数据的 其他输入 / 输出电路系统。诸如导线和总线的内部互连资源 103 可用来将数据从一个组件 发送到另一个组件, 或者用来将数据从一个组件广播到一个或多个其他组件。外部互连资 源 105, 诸如导线和总线、 光学互连基础结构, 或具有可选中间开关的有线网络和无线网络, 可用来与其他器件通信。 0026 存储电路系统110可具有随机存取存储器(RAM)、 只读存储器(ROM)或其他可访问 存储器元件。存储电路系统 110 可以为单端口存储器、 双端口存储器、 四端口存储器或具有 任何其他任意数目的端。
23、口。可替代地, 存储电路系统 110 被实施为具有控制电路系统的单 端口存储器, 其模拟双端口、 四端口, 或其他多端口的行为。经通过互连资源 103 向存储电 路系统 110 发送读或写请求, 处理电路系统 102 可访问存储电路系统 110。可替代地, 外部 组件可经由外部互连资源105、 输入/输出电路系统104和互连资源103访问存储电路系统 110。响应接收读取请求, 存储电路系统 110 可检索请求的数据, 并且通过互连资源 103 将 检索的数据发送给请求者。在写入请求的情况下, 存储电路系统 110 可存储接收的数据。 0027 图 1B 为存储电路 110 的图示, 其包括具。
24、有仲裁电路的存储器电路系统, 仲裁电路 经配置仅使用单端口存储器元件提供同步和异步多端口存储器操作。存储电路 111 可包含 至少一个存储器阵列 114。如图 1B 所示, 存储器阵列 114 可包括成行和列布置的存储器元 件 ( 有时被称为存储器单元 )100。存储器单元 100 可为单端口存储器单元。作为实例, 存 储器单元 100 可为具有六个晶体管的单端口差动存储器单元 ( 例如, 具有一对访问晶体管 的存储器单元, 其中访问晶体管用作用于该存储器单元的单端口)。 使用单端口存储器单元 提供双端口存储器功能可帮助提高芯片成品率、 提供减小的最小所需电源电压 ( 例如, 减 小的功耗 )。
25、, 并且节省电路面积。 0028 存储器阵列 114 可耦合到诸如行和列控制电路系统 112 的行和列控制电路系统。 行和列控制电路系统 112 可包括行寻址电路系统、 列多路复用电路系统、 写入驱动器电路 系统、 读取感测电路系统、 数据寄存器电路系统等。经由诸如路径 116 和路径 118 的路径, 行和列控制电路系统 112 可用来在阵列 114 中产生期望的时变信号和 / 或固定信号到存储 器单元 110。提供给存储器元件 100 的信号有时可统称为控制信号。在特定的环境中, 这些 信号中的一些信号可用作电源信号、 清除信号、 数据信号、 地址信号等。 0029 通过总体存储器电源线,。
26、 可将电源信号同时分配给在阵列 114 中的所有单元。存 储器电源线可垂直定向, 使得在每个路径 118 中均有存储器电源线的一个分支, 或者其可 以水平定向, 使得在每个路径 116 中均有存储器电源线的一个分支。作为示例, 使用共享的 水平或垂直导体的模式, 可将正电源电压Vcc并行供给每个单元100。 使用共享的水平或垂 直线的模式, 可同样将地电压Vss并行供给单元100。 诸如地址线和数据线的控制线通常彼 此正交 ( 例如, 地址线是水平的而数据线是垂直的, 或反之亦然 )。 0030 正电源电压 Vcc 可通过正电源线提供。地电压 Vss 可通过地电源线提供。任何合 适的值均可用于。
27、正电源电压 Vcc 和地电压 Vss。例如, 正电源电压 Vcc 可以为 1.2 伏、 1.1 伏、 1.0伏、 0.9伏, 小于0.9伏, 或任何其他合适的电压。 地电压Vss可为零伏(作为实例)。 在典型的布置中, 电源电压 Vcc 可为 1.0 伏, Vss 可为零伏, 并且地址信号、 数据信号和清除 信号的信号电平的范围可从零伏 ( 当低时 ) 到 1.0 伏 ( 当高时 )。也可使用在其中 Vcc 作 说 明 书 CN 104376870 A 7 4/12 页 8 为时间的函数而变化, 在其中 Vss 小于零伏, 并且在其中控制信号过载 ( 即, 在其中控制信 号具有大于 Vcc-V。
28、ss 的信号强度 ) 的布置。 0031 通常, 可以有与路径 116 和路径 118 关联的任何合适数目的导线。例如, 阵列 114 的每行可包括在路径116的相应一个中的关联地址线, 而阵列114的每列可包括在路径118 的相应一个中的关联数据线 ( 例如, 真和互补的数据线 )。术语 “行” 和 “列” 仅代表指代在 存储器阵列 114 中的单元 100 的特定组的一种方式, 并且有时可交换使用。如果需要, 其他 模式的线路可用在路径 116 和路径 118 中。例如, 可使用不同数目的电源信号、 地址信号和 数据信号。 0032 地址线116中的一个可提供断言地址信号, 以选择要访问的。
29、存储器单元100的行。 当选定的行正在访问时, 在除选定的地址线以外的地址线 116 上的地址信号可保持反断 言。 在读取操作期间, 每列中的数据线可被预充电至正电源电压Vcc, 而在写入操作期间, 每 列中的数据线可被驱动至适当的电压电平, 以将期望的写入数据写入到选定单元 100 中的 至少一些。在正常操作期间, 当所有数据线可预充电至 Vcc 时, 所有地址信号可保持反断言 ( 作为实例 )。 0033 通过使用外围存储器电路系统, 在阵列 114 中的单端口存储器单元 110 可提供双 端口功能。行和列控制电路系统 112 可从访问使能电路 124 中接收控制信号。访问使能电 路124。
30、可具有第一输入端、 第二输入端、 耦合到电路系统112的输出端, 和控制输入端, 其中 第一输入端经配置接收与第一存储器端口 ( 端口 A) 关联的存储器访问请求 ( 例如, 数据信 号和地址信号 ), 第二输入端经配置接收与第二存储器端口 ( 端口 B) 关联的存储器访问请 求信号, 控制输入端经配置通过路径 126A 和路径 126B 从仲裁电路 122 中接收存储器访问 仲裁信号。 0034 仲裁电路 122 可接收来自端口 A 的存储器访问请求、 来自端口 B 的存储器访问请 求、 与端口 A 关联的第一时钟信号 Aclk, 以及与端口 B 关联的第二时钟信号 Bclk。仲裁电 路 1。
31、22 可从任意数目的附加端口中接收存储器访问请求。例如, 存储电路 111 可经配置实 施四端口存储器。在四端口存储器配置中, 仲裁电路 122 可从四个端口中接收存储器访问 请求。仲裁电路 122 可确定在其中可授权在端口 A 和端口 B 上接收的存储器访问请求的顺 序。 0035 使用访问使能电路 124, 仲裁电路 122 可通过路径 126A 将存储器访问仲裁信号驱 动至高, 以选择性将来自端口 A 的数据和寻址信号路由到行和列控制电路系统 112, 并且使 用访问使能电路124, 仲裁电路122可通过路径126B将存储器访问仲裁信号驱动到高, 以选 择性将来自端口B的数据和寻址信号路。
32、由到行和列控制电路系统112(作为实例)。 当仲裁 电路 122 决定执行请求时, 仲裁电路 122 将临时断言通过路径 134 提供的信号 START 以指 导读 / 写管理电路 120 使能期望的读 / 写操作。响应于从仲裁电路 122 接收断言的 START, 在写入操作期间, 读 / 写管理电路 120 可向电路系统 112 提供断言的写入驱动器使能信号, 并且在读取操作期间, 其可提供断言的感测放大器使能信号(例如, 通过经由路径136向电 路系统 112 提供来自读 / 写管理电路 120 的读 / 写使能信号 )。 0036 在读取操作期间, 可将在电路系统 112 中使用感测放。
33、大器电路生成的输出数据信 号馈送到输出锁存器 128 和 130。输出锁存器 128 可使用从电路 120 中通过路径 132 提供 的端口A的输出时钟信号Aoutclk来控制, 而输出锁存器130可使用从电路120中通过路径 说 明 书 CN 104376870 A 8 5/12 页 9 133提供的端口B的输出端口信号Boutclk来控制。 可向器件111上的其他数字电路系统或 逻辑电路系统提供与第一存储器端口关联的锁存输出数据信号 ( 例如, 数据信号 Aout) 和 与第二存储器端口关联的锁存输出数据信号 ( 例如, 数据信号 Bout), 用于进一步的处理。 0037 当前的存储器请。
34、求已经实现时 ( 即, 读 / 写操作在期望存储器位置进入到存储器 阵列 114 完成后 ), 仲裁电路 122 可从读 / 写管理电路 120 接收断言信号 DONE。响应于检 测断言的 DONE, 仲裁电路 122 可继续处理其他待解决的存储器访问请求。 0038 在图 1B 中描述的存储电路 111 仅为说明, 并非旨在限制本发明的保护范围。如果 需要, 仲裁电路 122 可经配置处理来自任何需要数目端口的存储器请求, 以支持三端口存 储器模式、 四端口存储器模式等。 0039 图2示出说明性仲裁电路222的图示, 该仲裁电路222通过路径226A和路径226B 为两个端口 A 和 B 。
35、提供存储器访问仲裁信号。仲裁电路 222 可以以同步模式和异步模式操 作。在同步模式中, 可使用共享时钟源 ( 例如, 时钟信号 Aclk 与时钟信号 Bclk 相同 ) 控制 来自多个端口的请求。因此, 可在共享时钟信号的上升沿同时接收来自两个或更多端口的 存储器访问请求。例如, 在同步模式中, 仲裁电路 222 可确定在在多个端口处接收的存储器 访问请求被授权访问存储器的顺序。 0040 在两个端口中的仅一个处存在待解决请求的情境中, 可选择与待解决请求关联的 端口用于处理。在一个端口接收写入请求并且另一个端口接收读取请求的情境中, 可选择 接收读取请求的端口用于处理(即, 仲裁电路222。
36、可经配置实施读取端口优先权)。 如果需 要, 仲裁电路222也可经配置实施写入端口优先权(即, 可选择接收写入请求的端口用于处 理)。 在两个端口都接收写入请求或两个端口都接收读取请求的情境中, 可给予第二端口优 先权 ( 即, 在端口 B 处的请求将在端口 A 处的请求之前被处理 )。如果需要, 当两个端口都 接收同样类型的存储器请求时, 仲裁电路 222 也可经配置实施端口 A 优先权 ( 即, 当端口 A 和端口 B 都接收读取请求, 或者当端口 A 和端口 B 都接收写入请求时, 在端口 A 处请求的将 在端口 B 处的请求之前被处理处理 )。 0041 在另一个合适的布置中, 仲裁电。
37、路222可经配置以异步模式操作(例如, 在其中使 用不同相位和/或频率的时钟控制来自多个端口的请求的模式)。 在异步操作模式中, 来自 不同存储器端口的请求经常在不同时间到达。因此, 仲裁电路 222 可经配置在电路 222 一 接收到第一到达存储器请求后就将其处理, 并且当第一到达存储器请求已经完成时, 处理 第二 ( 稍后 ) 到达存储器请求。 0042 在异步模式操作期间, 可能出现在两个不同的存储器端口处同时接收存储器访问 请求的情况。例如, 第一存储器访问请求可在端口 A 处被接收, 并且第二存储器访问请求 可在端口 B 处被接收。在这种情境中, 仲裁电路 222 可变成如在图 3 。
38、示出的波形图中所示 的亚稳态。在图 3 的示例中, 时钟 Aclk 和 Bclk 在时间 310 处都具有上升沿。因此, 分别在 寄存器 210A 和寄存器 210B 的输出端上产生的信号 latcha 和 latchb 可在时间 320 处具有 上升沿, 这可导致由端口选择电路系统 220 产生的信号 PORTSEL 变成亚稳态。端口选择电 路系统 220 可花费一些时间来解决亚稳态 ( 例如, 对应于图 3 中的 Tmet 的时间 )。在时间 330, 在已经解决信号 PORTSEL 中的亚稳态之后, 请求生成电路 230 可将存储器访问首先授 权给端口 A, 如通过在时间 340 处的信。
39、号 reqa 中的上升沿所示。在端口 A 完成存储器访问 后, 诸如图 1B 中的读 / 写管理电路 120 的控制电路就可将诸如信号 donea 的相应控制信号 说 明 书 CN 104376870 A 9 6/12 页 10 发送给仲裁电路。 响应于接收信号donea, 仲裁电路222中的请求生成电路230可将存储器 访问授权给端口 B, 如在时间 350 处的信号 reqb 中的上升沿所示。 0043 来自端口的每个存储器访问可要求访问时间 Tacc。在这种情境中, 用于一个端口 的最大访问时间 Twc 等于两个访问时间加上解决亚稳态的时间的总和, 如方程 (1) 所示 : 0044 T。
40、wc 2*Tacc+Tmet (1) 0045 不可以比最大访问时间 Twc 更快地操作存储电路 111。可能期望的是预测同时存 储器访问请求并且采用预防措施以避免仲裁电路中的亚稳态, 由此通过消除或以其它方式 减少解决亚稳态的时间 Tmet 潜在地减少了最大访问时间 Twc。 0046 可导致信号变成亚稳态的情境有时也称为危害。例如, 在时间上充分接近地发生 的来自不同端口的存储器访问请求可能导致仲裁电路中的信号 PORTSEL 变成亚稳态并且 构成危害。基于时钟信号的触发事件, 可提前预测可导致仲裁电路中的信号 PORTSEL 变成 亚稳态的未来危害状况 ( 例如, 控制不同存储器端口上的。
41、存储器访问并且在稍后的时间里 彼此充分接近地发生的时钟信号的触发事件 )。 0047 时钟信号的触发事件可取决于由该指时钟信号控制的电路系统。例如, 诸如触发 器或寄存器的边沿敏感电路系统可通过时钟信号的有效沿来触发。在某些配置中, 寄存器 可通过时钟信号的上升沿来触发。在其他配置中, 寄存器也可通过时钟信号的下降沿来触 发。其他的电路系统可具有不同的触发事件。比如, 仅举几例, 双沿触发的触发器可在上升 时钟沿和下降时钟沿对输入数据进行采样并存储, 诸如锁存器的电平敏感电路系统可在时 钟信号为高或为低时对输入信号进行采样。 本发明的实施例可独立于任何时钟信号受控电 路系统的触发事件来预测并预。
42、防该电路系统中的危害。 0048 图 4 示出两个时钟信号 Aclk 和 Bclk 的波形图。时钟信号 Aclk 可具有已知周期 T1并且时钟信号Bclk可具有已知周期T2, 它们均可被固定在合理的高准确度、 经受一些变 化或抖动。考虑到时钟周期 T1 和 T2 彼此不同并且时钟周期 T2 为时钟周期 T1 的非整数倍 的情境。本发明主要适用于两个时钟具有不同周期的情形, 但是不限于在这些情形中的使 用。例如, 时钟周期 T2 可被限义为 T1T22*T1, 并且 Aclk 与 Bclk 可具有在给定时间范围 (例如, 靠近时间440)内出现的有效时钟沿。 在这种配置中, 可以预期的是较早地预。
43、测同时 触发事件。由于 Aclk 在时间 440 时具有触发事件, 所以 Aclk 早于一个周期 T1 在时间 430 时以及早于两个周期 T1 在时间 410 时也具有触发事件。类似地, Bclk 早于一个周期 T2 在 时间 420 时具有触发事件。 0049 在时钟信号 Aclk 和 Bclk 之间存在各种可能的时序关系, 其可用来预测在时间 440 时的同时触发事件。例如, 可基于在时间 410 时的时钟信号 Aclk 的触发事件和在时间 420 时的时钟信号 Bclk 的触发事件来预测在时间 440 时的同时触发事件。即, 如果时钟信 号 Bclk 在时钟信号 Aclk 具有触发事件。
44、之后的 2*T1-T2 处具有触发事件, 那么时钟信号的 Aclk 和 Bclk 的同时触发事件将发生在时钟信号 Bclk 在时间 420 时的触发事件之后的时 钟周期 T2 处。替代地, 如果时钟信号 Aclk 在时间 430 处具有触发事件 ( 即, 在 Bclk 在时 间420具有触发事件之后的T2-T1处), 那么同时触发事件将发生在稍后的时钟周期T1处。 也可以利用时钟信号 Aclk 和 Bclk 之间的其他时序关系, 诸如上升沿和下降沿之间的时序 关系、 下降沿和上升沿之间的时序关系、 下降沿之间的时序关系、 上升沿之间的时序关系、 包含多个时钟周期等来预测同时触发事件。 说 明 。
45、书 CN 104376870 A 10 7/12 页 11 0050 由于时钟周期的不确定性和信号延迟, 可能期望的时在被用来预测同时触发事件 的时序关系之前和之后提供附加时间dt。 在以上示例中, 如果在时钟信号Aclk具有触发事 件之后, 时钟信号 Bclk 在 2*T1-T2-dt 和 2*T1-T2+dt 之间的时间间隔中具有触发事件, 那 么同时触发事件可发生。 0051 图 5 示出用于预测时钟信号 Aclk 和 Bclk 的同时触发事件的说明性危害预测电路 系统 500。图 6 示出说明通过危害预测电路系统 500 传播的信号的波形图 600。 0052 考虑时钟信号Aclk和B。
46、clk在时间650处具有同时触发事件的情境。 在该情境中, 触发事件由信号Aclk和Bclk的上升沿来表征。 通过在时钟信号Aclk在时间610处具有上 升沿之后, 时钟信号 Bclk 在时间间隔 2*T1-T2-dt 和 2*T1-T2+dt 具有上升沿, 可预测信号 Aclk 和 Bclk 的同时上升沿。使用时间延迟电路 510 可将时钟信号 AclK 延迟, 通过将时钟 信号Aclk延迟Delay12*T1-T2-dt, 时间延迟电路510可产生信号ckad1。 使用时间延迟 电路 520 进一步将信号 ckad1 延迟 Delay2 2*dt, 可产生信号 ckad2。执行信号 cka。
47、d1 和 ckad2 的反转 522 的逻辑与运算 ( 例如, 使用逻辑与门 524), 可产生具有预定脉冲持续时间 的危害脉冲信号, 诸如可在时间 620 处 ( 即, 在 latchb 的预期上升沿之前的 dt) 具有上升 沿随后在时间 630 处 ( 即, 在 latchb 的预期上升沿之后的 dt) 具有下降沿的信号 hazard。 寄存器 530 可在信号 Bclk 的上升沿时存储信号 hazard, 从而产生信号 hazard_reg1。信 号 hazard_reg1 可在信号 Bclk 的上升沿时从逻辑 “0” 转换为逻辑 “1” 。由于在寄存器 530 的数据和时钟端口上的几乎。
48、同时发生事件的不确定性, 信号 hazard_reg1 可首先变成亚稳 态。信号 hazard_reg1 可花费 T2 时钟周期的一半 ( 即, 直到时间 640) 来解决亚稳态。在 时间 640 处, 寄存器 540 可在信号 Bclk 的下降沿时存储信号 hazard_reg1, 从而产生信号 hazard_reg2, 并且确保信号 hazard_reg1 在信号 Bclk 的上升沿上是稳定的。 0053 危害预测电路系统 500 和相应的波形图 600 仅为说明, 并非旨在限制本发明的保 护范围。 如果需要, 危害预测电路系统500可使用不同的逻辑功能来基于信号ckad1和信号 ckad。
49、2 产生信号 hazard。例如, 仅举几例, 信号 hazard 可通过执行信号 ckad2 和信号 ckad1 的反转的或非运算或者通过实施函数ckad1与非clkad2的查找表来产生。 在未改变本发明 的保护范围的情况下, 对于危害预测电路系统 500 的其他修改是可能的。如果需要, 危害预 测电路系统 500 可产生信号 hazard_reg2, 当预期到危害时, 信号 hazard_reg2 为逻辑 “0” , 并且在所有其他情况下, 信号 hazard_reg2 为逻辑 “1” 。在这种情境中, 可相应修改由信号 hazard_reg2 控制的电路系统。 0054 信号 hazard_reg2 可预测导致来自端口 A 和端口 B 的同时存储器访问请求的时钟 信号 Aclk 和 Bclk 的同时上升沿。如上所见, 来自端口 A 和端口 B 的同时存储器访问请求 可导致图 2 的仲裁电路 222 中的潜在亚稳态。危害预测电路系统 500 可生成对于一个时钟 周期 T2 可为逻辑 “1” 的信号 hazard_reg2, 在时钟信号 A。