首页 / 国际专利分类库 / 物理 / 信息存储 / 双同步电子设备和FIFO存储器电路

双同步电子设备和FIFO存储器电路

申请号 CN201520777288.3 申请日 2015-10-08 公开(公告)号 CN205375448U 公开(公告)日 2016-07-06
申请人 意法半导体股份有限公司; 发明人 S·M·罗塞利; G·谷亚纳西亚; U·马里;
摘要 本公开涉及双同步 电子 设备和FIFO 存储器 电路 。一种双同步电子设备可以包括:FIFO存储器电路,以及第一数字电路,所述第一数字电路耦合至所述FIFO存储器电路并且配置成基于第一时钟 信号 操作,并且基于写 指针 对所述FIFO存储器电路进行写入。所述双同步电子设备可包括:第二数字电路,所述第二数字电路耦合至所述FIFO存储器电路并且配置成,基于与所述第一 时钟信号 不同的第二时钟信号操作,并且基于读指针从所述FIFO存储器电路进行读取。所述FIFO存储器电路可被配置成:检测所述写指针到新 位置 的跳转,根据当前位置确定所述读指针的跳转候选,选择跳转候选,并且基于所选择的跳转候选对所述读指针进行同步。
权利要求

1.一种双同步电子设备,其特征在于,包括:
先进先出FIFO存储器电路
第一数字电路,所述第一数字电路耦合至所述FIFO存储器电路并且配置成:
基于第一时钟信号操作,以及
基于写指针对所述FIFO存储器电路进行写入;以及
第二数字电路,所述第二数字电路耦合至所述FIFO存储器电路并且配置成:
基于与所述第一时钟信号不同的第二时钟信号操作,以及
基于读指针从所述FIFO存储器电路进行读取;
所述FIFO存储器电路配置成:
检测所述写指针到新位置的跳转,
根据当前位置确定所述读指针的多个跳转候选,
从所述多个跳转候选选择一个跳转候选,以及
基于所选择的跳转候选对所述读指针进行同步。
2.如权利要求1所述的双同步电子设备,其特征在于,每个跳转候选包括根据所述当前位置的所述读指针的格雷编码跳转候选。
3.如权利要求1所述的双同步电子设备,其特征在于,所述FIFO存储器电路被配置成基于所述新位置与所述多个跳转候选的相应位置之间的距离选择跳转候选。
4.如权利要求1所述的双同步电子设备,其特征在于,所述FIFO存储器电路被配置成丢弃具有小于所述当前位置且大于所述新位置的相应位置的跳转候选。
5.如权利要求1所述的双同步电子设备,其特征在于,所述FIFO存储器电路被配置成通过利用格雷编码将所述读指针从所选定的跳转候选的相应位置增加到所述新位置,来对所述读指针进行同步。
6.如权利要求1所述的双同步电子设备,其特征在于,所述FIFO存储器电路被配置成,当检测到所述写指针的另外的跳转时,根据所选择的跳转候选的相应位置确定所述读指针的第二多个跳转候选。
7.如权利要求1所述的双同步电子设备,其特征在于,所述FIFO存储器电路包括:处理电路装置和存储器核,所述存储器核耦合到所述处理电路装置并且配置成储存从所述第一数字电路传送到所述第二数字电路的数据。
8.如权利要求1所述的双同步电子设备,其特征在于,所述写指针到所述新位置的所述跳转包括从所述当前位置的不连续跳转。
9.如权利要求1所述的双同步电子设备,其特征在于,所述FIFO存储器电路包括16-128比特双同步FIFO存储器。
10.一种先进先出FIFO存储器电路,其特征在于,所述FIFO存储器电路待被耦合到双同步电子设备中,并且包括:第一数字电路和第二数字电路,所述第一数字电路基于第一时钟信号操作,并且基于写指针对所述FIFO存储器电路进行写入,所述第二数字电路基于不同于所述第一时钟信号的第二时钟信号操作,并且基于读指针从所述FIFO存储器电路进行读取,所述FIFO存储器电路包括:
处理电路装置和存储器核,所述存储器核耦合到所述处理电路装置并且配置成:
储存从所述第一数字电路传送到所述第二数字电路的数据,
检测所述写指针到新位置的跳转,
根据当前位置确定所述读指针的多个跳转候选,
从所述多个跳转候选选择一个跳转候选,以及
基于所选择的跳转候选对所述读指针进行同步。
11.如权利要求10所述的FIFO存储器电路,其特征在于,每个跳转候选包括根据所述当前位置的所述读指针的格雷编码跳转候选。
12.如权利要求10所述的FIFO存储器电路,其特征在于,所述处理电路装置被配置成基于所述新位置与所述多个跳转候选的相应位置之间的距离选择跳转候选。
13.如权利要求10所述的FIFO存储器电路,其特征在于,所述处理电路装置被配置成丢弃具有小于所述当前位置且大于所述新位置的相应位置的跳转候选。
14.如权利要求10所述的FIFO存储器电路,其特征在于,所述处理电路装置被配置成通过利用格雷编码将所述读指针从所选定的跳转候选的相应位置增加到所述新位置,来对所述读指针进行同步。
15.如权利要求10所述的FIFO存储器电路,其特征在于,所述FIFO存储器电路被配置成,当检测到所述写指针的另外的跳转时,根据所选择的跳转候选的相应位置确定所述读指针的第二多个跳转候选。
16.如权利要求10所述的FIFO存储器电路,其特征在于,所述写指针到所述新位置的所述跳转包括从所述当前位置的不连续跳转。

说明书全文

双同步电子设备和FIFO存储器电路

技术领域

[0001] 本公开涉及电子设备领域,并且更具体地涉及具有先进先出存储器电路的双同步电子设备。

背景技术

[0002] 在集成电路(IC)中,电路装置的电气心跳是时钟信号,并且所述时钟信号控制了其中的许多电路运行的节奏。在一些相对复杂的IC中,诸如在片上系统(SoC)中,可能存在用于不同的IC(例如,处理单元、存储器、外设、以及其他专用单元)之间进行通信的复杂的系统,以便保证符合系统的性能规范。实际上,在特定的SoC应用中,一些部件能够以不同的时钟速率运行。
[0003] 在一些SoC应用中,IC可以包括使用不同时钟频率的设备之间的先进先出(FIFO)队列。例如,FIFO队列可以被设置在向FIFO队列中写入信息的第一设备(诸如微处理器)和从FIFO队列读取信息的第二设备(诸如外设或第二微处理器)之间。每个设备以与其自身的时钟相同的速率读取FIFO队列中的数据或向FIFO队列中写入数据。FIFO队列的存在用于实现具有不同时钟频率的SoC的两个域之间的共存。FIFO队列用作对工作在不同时钟速率的设备之间的数据流进行调节的缓存器(buffer)。
[0004] 参考图1-图2,现在对用于FIFO存储器队列200的方法进行了描述。FIFO存储器队列200包括基于第一时钟信号操作的第一写逻辑电路201、基于第二时钟信号操作的第二读逻辑电路202、耦合在逻辑电路之间的存储器核203、以及同样耦合在逻辑电路之间的指针同步电路204。
[0005] 指针同步电路204包括:写使能块210,其接收来自第一写逻辑 电路201的写使能信号;第一二进制至格雷码编码器块211,其耦合至写使能块;第一触发器块212,其耦合至第一二进制至格雷码编码器块;第一和第二块213a-213b,它们相继耦合至第一触发器块;第一格雷码至二进制编码器块223,其耦合至第二块;以及第一比较块214,其耦合至第一格雷码至二进制编码器块并且输出FIFO空信号。指针同步电路204包括:读使能块221,其接收来自第二读逻辑电路202的读脉冲;第二格雷码至二进制编码器块222,其耦合至读使能块;
第二二进制至格雷码编码器块220,其耦合至读使能块;第二触发器块219,其耦合至第二二进制至格雷码编码器块;第一和第二块218a-218b,它们相继耦合到第二触发器块;第三格雷码至二进制编码器块217,其耦合至第二块;第四格雷码至二进制编码器块215,其耦合至第一触发器块212;以及第二比较块216,其耦合至第三格雷码至二进制编码器块并且向第一写逻辑电路201输出FIFO满信号。
[0006] 在该FIFO存储器队列200中,存储器核203在第一时钟域中被写入,并且在一个写入域周期中仅仅能在该存储器核中的一个位置压入。在第二时钟域中,读取域从存储器核203获取数据,每个读取域周期一个位置。
实用新型内容
[0007] 在SoC产品中,将不同的数字逻辑划分为不同的域是很普遍的。时钟域是SoC的不同数字部分,在该时钟域中,同步顺序逻辑由专用时钟驱动。因此,时钟域之间的通信通过双同步、多同步或异步技术进行设计,这些技术允许信号以安全的方式从发射机跨越到接收机。为了保证这些信号的完整性,跨时钟域可能不受欢迎,这是因为延迟、由占位面积造成的高成本、动态功率的耗散和管理复杂化。本实用新型的实施例目的之一旨在提供至少部分地解决上述技术问题的双同步电子设备和FIFO存储器电路。
[0008] 总体来说,双同步电子设备可以包括FIFO存储器电路,以及第 一数字电路,所述第一数字电路耦合至所述FIFO存储器电路并且配置成基于第一时钟信号操作,并且基于写指针对所述FIFO存储器电路进行写入。所述双同步电子设备可包括:第二数字电路,所述第二数字电路耦合至所述FIFO存储器电路并且配置成,基于与所述第一时钟信号不同的第二时钟信号操作,并且基于读指针从所述FIFO存储器电路进行读取。所述FIFO存储器电路可被配置成:检测所述写指针到新位置的跳转,根据当前位置确定所述读指针的多个跳转候选,从所述多个跳转候选选择跳转候选,并且基于所选择的跳转候选对所述读指针进行同步。
[0009] 特别是,每个跳转候选可包括根据所述当前位置的所述读指针的格雷编码跳转候选。所述FIFO存储器电路可被配置成基于所述新位置与所述多个跳转候选的相应位置之间的距离选择跳转候选。所述FIFO存储器电路可被配置成丢弃具有小于所述当前位置且大于所述新位置的相应位置的跳转候选。所述FIFO存储器电路可被配置成通过利用格雷编码将所述读指针从所选定的跳转候选的相应位置增加到所述新位置,来对所述读指针进行同步。所述FIFO存储器电路可被配置成,当检测到所述写指针的另外的跳转时,根据所选择的跳转候选的相应位置确定所述读指针的第二多个跳转候选。
[0010] 在一些实施例中,所述FIFO存储器电路包括:处理电路装置和存储器核,所述存储器核耦合到所述处理电路装置并且配置成储存从所述第一数字电路传送到所述第二数字电路的数据。所述写指针到所述新位置的跳转可以包括从所述当前位置的不连续跳转。例如,所述FIFO存储器电路可包括16-128比特双同步FIFO存储器。
[0011] 另一方面针对一种FIFO存储器电路,所述FIFO存储器电路待被耦合到双同步电子设备中,并且包括:第一数字电路和第二数字电路,所述第一数字电路基于第一时钟信号操作,并且基于写指针对所述FIFO存储器电路进行写入,所述第二数字电路基于不同于所述第一时钟信号的第二时钟信号操作,并且基于读指针从所述FIFO存储器电路进行读取,所述FIFO存储器电路包括:处理电路装置和 存储器核,所述存储器核耦合到所述处理电路装置并且配置成:储存从所述第一数字电路传送到所述第二数字电路的数据,检测所述写指针到新位置的跳转,根据当前位置确定所述读指针的多个跳转候选,从所述多个跳转候选选择一个跳转候选,以及基于所选择的跳转候选对所述读指针进行同步。
[0012] 每个跳转候选可以包括根据所述当前位置的所述读指针的格雷编码跳转候选。
[0013] 所述处理电路装置可以被配置成基于所述新位置与所述多个跳转候选的相应位置之间的距离选择跳转候选。
[0014] 所述处理电路装置可以被配置成丢弃具有小于所述当前位置且大于所述新位置的相应位置的跳转候选。
[0015] 所述处理电路装置可以被配置成通过利用格雷编码将所述读指针从所选定的跳转候选的相应位置增加到所述新位置,来对所述读指针进行同步。
[0016] 所述FIFO存储器电路可以被配置成,当检测到所述写指针的另外的跳转时,根据所选择的跳转候选的相应位置确定所述读指针的第二多个跳转候选。
[0017] 所述写指针到所述新位置的所述跳转可以包括从所述当前位置的不连续跳转。
[0018] 本实用新型的实施例所提供的双同步电子设备和FIFO存储器电路特别适用于在业务类型难以预测时,并且可以允许更快地跨时钟域,从而相对于传统的格雷编码具有改善的性能。附图说明
[0019] 图1是根据现有技术的FIFO存储器队列的示意图。
[0020] 图2是根据图1的FIFO存储器队列的指针同步电路的示意图。
[0021] 图3是根据本公开的双同步电子设备的示意图。
[0022] 图4是图示图3的双同步电子设备的操作的流程图
[0023] 图5是图示图3的双同步电子设备的操作的表格。
[0024] 图6是图示图3的双同步电子设备的操作的另一个流程图。
[0025] 图7是图3的FIFO存储器电路的详细示意图。
[0026] 图8是图3的双同步电子设备的详细示意图。

具体实施方式

[0027] 此后将参照附图对本公开进行更全面的描述,在附图中示出了本公开的几个实施例。然而,本公开可以体现为许多不同的形式,并且不应该被视为被限制于本文所阐述的这些实施例。相反,这些实施例的提供是为了使本公开更加详尽和更加完整,并且将更全面地将本公开的范围传达给本领域的技术人员。在全文中,同样的数字表示同样的元件。
[0028] 在诸如应用处理器、微控制器、用于移动应用和多媒体应用的电路装置(智能电话/平板电脑、机顶盒、家庭网关等)的SoC产品中,将不同的数字逻辑划分为不同的域是很普遍的。时钟域是SoC的不同数字部分,在该时钟域中,同步顺序逻辑由专用时钟驱动。因此,时钟域之间的通信通过双同步、多同步或异步技术进行设计,这些技术允许信号以安全的方式从发射机跨越到接收机(即,信号必须被稳定和互相关地接收)。为了保证这些信号的完整性,跨时钟域可能不受欢迎,这是因为延迟、由占位面积造成的高成本、动态功率的耗散和管理复杂化。
[0029] 本公开能够提供适用于多种半导体产品的方法,特别适用于在业务类型(traffic shape)难以预测时,并且可以允许更快地跨时钟域,所采用的方式为使用自适应码序列来对多时钟FIFO的指针进行同步,从而相对于传统的格雷编码具有改善的性能。
[0030] 首先参考图3,现在将对根据本公开的双同步电子设备10进行描述。双同步电子设备10示意性地包括:配置成储存数据的FIFO存储器电路12、产生第一时钟信号的第一时钟14、以及耦合到FIFO存储器电路和第一时钟的第一数字电路11。双同步电子设备10示意性地包括产生第二时钟信号的第二时钟15、以及耦合到FIFO存储 器电路12和第二时钟的第二数字电路13。
[0031] FIFO存储器电路12示意性地包括处理电路装置16和存储器核17,存储器核17耦合至处理电路装置并且配置成储存用于在第一数字电路11和第二数字电路13之间传送的数据。例如,FIFO存储器电路12可包括16-128比特双同步FIFO存储器。
[0032] 第一数字电路11耦合至FIFO存储器电路12并且配置成基于第一时钟信号操作,并且基于写指针对所述FIFO存储器电路进行写入。第二数字电路13耦合至FIFO存储器电路12并且配置成基于第二时钟信号操作,并且配置成基于读指针从FIFO存储器电路进行读取,其中第二时钟信号与第一时钟信号不同。
[0033] 在从第一数字电路11传送数据期间,FIFO存储器电路12被配置成检测写指针至新位置的跳转。例如,写指针的跳转可能是来自第一数字电路11的数据突发的结果。FIFO存储器电路12被配置成确定根据当前位置的读指针的多个跳转候选。特别是,每个跳转候选可包括根据所述当前位置的读指针的格雷编码跳转候选,即,新位置不与格雷编码规则冲突。
[0034] FIFO存储器电路12被配置成从多个跳转候选选择跳转候选。更具体地,FIFO存储器电路12可以被配置成基于新位置与多个跳转候选的相应位置之间的距离选择跳转候选。FIFO存储器电路12可以被配置成丢弃具有小于所述当前位置且大于所述新位置的相应位置的跳转候选。
[0035] FIFO存储器电路12被配置成基于所选择的跳转候选对读指针进行同步。FIFO存储器电路12可以被配置成通过利用格雷编码将所述读指针从所选定的跳转候选的相应位置增加到所述新位置(在格雷编码规则内),来对所述读指针进行同步。
[0036] 在一些实施例中(图6),FIFO存储器电路12可以被配置成,当检测到所述写指针的另外的跳转时,根据所选择的跳转候选的对应的位置确定所述读指针的第二多个跳转候选。写指针到新位置的跳转可以包括从当前位置的不连续跳转。
[0037] 另一个方面针对操作包括FIFO存储器电路12的双同步电子设备10的方法。所述方法可以包括:使用耦合至FIFO存储器电路12的第一数字电路11,以基于第一时钟信号操作,以及基于写指针对所述FIFO存储器电路进行写入。所述方法可包括:使用耦合至所述FIFO存储器电路12的第二数字电路13,以基于与所述第一时钟信号不同的第二时钟信号操作,以及基于读指针从所述FIFO存储器电路进行读取。所述方法还可包括:使用所述FIFO存储器电路12,以检测所述写指针到新位置的跳转,根据当前位置确定所述读指针的多个跳转候选,从所述多个跳转候选选择跳转候选,以及基于所选择的跳转候选对所述读指针进行同步。
[0038] 有利的是,双同步电子设备10可以提高同步机制的性能,而无需多时钟FIFO的典型结构中的任何变化。特别是,双同步电子设备10在带宽使用上比现有技术执行得更好。双同步电子设备10可以具备使其适于多时钟设计中的多种业务类别的灵活性:从同步链中去除了格雷编码器,并且根据自适应算法推导方便的序列,所述自适应算法允许所公开的实施例以简单的方式处理(例如,利用指针跳转)非恒定的业务。这些改进在许多应用领域中是有价值的,并且,对于SoC外设特别有价值,这些外设的业务通常由用户驱动,可能难以预测且可能需要某种数据操作(例如,重新排序)。
[0039] 现在另外参考图4-图5,图4-图5图示了双同步电子设备10的示例性操作的流程图20和表格30。在该图示的操作示例中,写指针经由存储器位置0-421a-21e正常递增(即以类似格雷码的方式),并且从存储器位置421f跳转至新的存储器位置1321g。第二数字电路13确定多个跳转候选22a-22e,并且基于与新位置(例如,图示为01010的存储器位置21f)之间的距离选择最好的一个跳转候选。第二数字电路13随后以格雷编码的方式正常递增至最终的存储器位置21g。
[0040] 格雷编码适于同步,这是因为两个连续的编码值之间具有单位汉明距离(即,在一个码字与其相邻的码字之间仅有一比特的变化)。 给定了码字,典型的格雷编码是符合要求的二进制码字(legal binary word)集合中的唯一一个码字:其具体对应于在无符号向量上的二进制“+1”运算。假定写指针(FIFO指针)从一个值跳转到一个非连续值(例如,所图示的从4跳转到13),通过考察符合要求的码字的集合(即,其格雷码等效码字仅有一比特差异的所有码字),存在一组跳转候选22a-22e,在该组跳转候选22a-22e中,根据当前的格雷码指针值和期望的二进制目标,总是能够获得方便的码字21f(最差的情况是“+1”值自身)。
[0041] 双同步电子设备10考虑使二进制指针跨越任何计数序列并且通过类似格雷码的相关安全(correlation-safe)的跳转的方式(即,产生候选集合并从中选择最合适的候选)来驱动同步的收敛。算法是自适应的,因为在随后的任何周期中,算法总是能够依赖于新跳转机会。二进制指针从4跳转到13。
[0042] 通过考虑十进制数4的等效格雷码,对于其码字,存在5种可能的跳转。对应于大于目标存储器位置的值(例如,存储器位置2722e大于存储器位置1321g)或小于起始点的值(例如,存储器位置322c小于存储器位置421e)的码字被丢弃。在剩余的跳转中,选择最合适的一个跳转(例如,所图示的存储器位置1122d)。通过构造,总是存在到达目标的至少一个路径:在任何情况下,“+1”操作的存在都被保证并且允许算法收敛至期望值,同时,所述跳转允许其对该过程进行加速
[0043] 现在另外参考图6,流程图50示出了双同步电子设备10的另一种示例性操作,且该操作类似于图4的操作。在该图示的示例中,在读指针同步到在存储器位置1321g处的新跳转位置的同时,FIFO存储器电路12检测进行到存储器位置2221h的第二跳转的写指针。根据从第一多个跳转候选22a-22e所选择的跳转候选23e的相应位置,FIFO存储器电路12确定读指针的第二多个跳转候选23a-23e。FIFO存储器电路12选择在存储器位置20处的第二跳转候选23e,并且以格雷编码的方式经过位置21f正常递增至最终存储器位置 21h。有利的是,新跳转机会根据任何新的码字产生,从而能够在任意周期中根据业务类型动态地重新计算至目标的路径(自适应算法)。
[0044] 现在参考图7,将描述FIFO存储器电路12的示例性硬件实施例。FIFO存储器电路12示例性地包括处理电路装置31,所述处理电路装置31包括格雷编码块32和耦合至其的选择格雷码块33。FIFO存储器电路12示例性地包括耦合至选择格雷码块33的指针块34、耦合至处理电路装置的指针格雷码块35、耦合至指针格雷码块的强制(brute force)同步器块36、耦合至强制同步器块的指针格雷码同步器块37、耦合至指针格雷码同步器块的格雷码译码块38、以及耦合至格雷码译码器块的指针同步器块39。
[0045] 图7将核块(处理电路装置31)公开为了编码器等效电路,其包括候选产生器(格雷编码块32)和候选选择器(选择格雷码块33)。在图8中示出了核块的更多细节。
[0046] 核块使用当前的二进制指针值(指针块34)以生成类似格雷码的指针(指针格雷码块35)。特别是,核块用作典型的格雷码编码器,但是事实上,其能够提供方便的自适应序列。强制同步器(强制同步器块36)将类似格雷码的指针桥接至读取域并且桥接为同步的类似格雷码的指针(指针格雷码同步器块37)。传统的格雷码译码器(格雷码译码器块38)检测所同步的指针二进制值(指针同步器块39)。
[0047] 现在参考图8,将描述处理电路装置31的示例性硬件实施例。处理电路装置31示例性地包括:指针格雷码块51(格雷码追随器);多个非块52a-52c(1比特取反),其耦合至指针格雷码块;多个格雷码译码器53a-53c,其分别耦合至多个非块;多个超出范围块54a-54c(软件可编程阈值),其分别耦合至多个格雷码译码器;指针块56(二进制目标),其耦合至多个超出范围块;以及,优先级仲裁器55(软件可编程),其耦合至多个超出范围块并产生所选择的码(格雷码追随器的下一个值)。
[0048] 该示例性地硬件实施例包括软件可编程阈值(即,最大允许跳转)和优先级仲裁器55。在同步链的任何级处都不需要格雷编码器(即译码器53a-53c),这是因为码是由单比特取反产生的。
[0049] 本领域的技术人员将想到本公开的许多修改和本公开的其他实施例,它们都具有前面的说明书和相关附图中呈现的教导的益处。因此,应理解的是,本公开不限制在所公开的具体实施例,并且应理解,修改和实施例旨在包含在所附权利要求的范围之内。
QQ群二维码
意见反馈