CN105320008B - 用于异步状态机的仲裁器 - Google Patents
用于异步状态机的仲裁器 Download PDFInfo
- Publication number
- CN105320008B CN105320008B CN201510290809.7A CN201510290809A CN105320008B CN 105320008 B CN105320008 B CN 105320008B CN 201510290809 A CN201510290809 A CN 201510290809A CN 105320008 B CN105320008 B CN 105320008B
- Authority
- CN
- China
- Prior art keywords
- signal
- latch
- coupled
- input
- request signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
Abstract
一种仲裁器,其可以被用于处理多个异步数据信号。每个数据信号与请求信号和相应的确认信号相关联。仲裁器包括锁存器阵列,其具有耦合到接收数据信号和请求信号的输入,以及耦合为提供数据向量和有效性向量的输出。当锁存器阵列处于透明状态时,数据向量包括取决于数据信号的值,并且有效性向量包括取决于请求信号的值。逻辑电路被配置为在任何请求信号变为活动时触发锁存器阵列,以在锁存器已经被触发之后的延迟时间激活全局请求信号,并且选择性地针对活动请求信号已经被锁存的一个或多个信道激活确认信号。
Description
本申请是于2012年5月29日申请的专利申请序列号为 NO.13/482,753的部分后续申请,该申请通过引用整体并入本文。
技术领域
本发明总体上涉及异步电路设计领域。更具体地,本发明涉及用于处理多个(几乎)同时切换的输入的仲裁器,以及该仲裁器在异步状态机中的应用。
背景技术
如今设计和制造的大部分数字电路是“同步的”。实质上,同步电路是基于两个根本上的假设,其大大简化了它们的设计:(1)所有信号是二进制的,以及(2)所有部件共享共同的离散时间概念,如整个电路中分布的时钟信号所定义的。
异步电路在根本上是不同的。它们也假设二进制信号,但不是共同的离散时间。相反,电路使用它们的部件之间的握手(handshaking),以便执行必要的同步、通信和操作序列。用对于同步电路经常使用的术语表达,这导致了与系统性精密时钟门控和本地时钟类似的表现,本地时钟不是同相的,而且它们的周期由实际电路延时确定。该差别产生了异步电路固有属性,这相比于同步(时钟)电路可能是有利的 (对于例如功率消耗,运行速度,电磁发射,对于电源电压、温度、制造过程参数的变化的鲁棒性等)。
另一方面,还存在一些缺点。异步电路通常需要控制逻辑以用于实施握手操作,这对于同步不同的电路元件是必须的,因为全局时钟信号不存在。实施握手的异步控制逻辑通常代表着电路复杂性的开销。
一般用于实施所述握手操作的重要握手部件要求沿若干个(输入)信道的通信是互斥的,至少在两个信道合并入同一信道的点上(参见例如Jens编写的PRINCIPLES OF ASYNCHRONOUS CIRCUIT DESIGN-A Systems Perspective的第5.8部分“Mutual exclusion,arbitraion and metastability”,Kluwer Academic Publishers,2001年)。也就是说,高低转变(或反之亦然)只可能在给定的时间发生在一个单独的信道上。两个或更多个信道中的同时“事件”通常由仲裁器处理,其使用所谓的互斥元件来决定首先处理哪个事件。然而,当两个事件同时发生或几乎同时发生(即短时间间隔内)时,互斥元件受到不希望的亚稳态(metastability)的影响。
特别地,当实施有限状态机(FSM)时,同时在不同通信信道(例如在不同的信令线中)中发生事件可能是有问题的,而且合适的仲裁电路(仲裁器)可能是相当复杂的。需要一种容易制备的状态机,其包括仲裁器,以用于在不同通信信道中处理同时发生的事件。
发明内容
公开了一种用于处理多个异步数据信号的仲裁器。每个数据信号关联于相应的请求信号和相应的确认信号。根据本发明的一个示例,仲裁器包括锁存器阵列,其接收数据信号和请求信号作为输入信号,并提供数据向量和相应的有效性向量作为输出信号。当锁存器处于透明状态时,数据向量包括取决于数据信号的值,有效性向量包括取决于请求信号的值。仲裁器还包括逻辑电路,其被配置为监视请求信号,并且在任何请求信号变成活动时触发锁存器(即“冻结”锁存器输出)。逻辑电路还被配置为在锁存器已经被触发之后一段延迟时间激活全局请求信号,并且选择性地针对活动请求信号已经被锁存的(多个) 信道激活确认信号。
附图说明
参考下面的附图和说明,本发明可被更好地理解。图中的部件不必按比例绘制,相反,重点放在示出本发明的原理。另外,在图中,相同的附图标记表示相应的部件。在附图中:
图1包括图1a和图1b,示出了在异步电路中使用发送器和接收器之间的请求和确认信号的握手;
图2包括图2a和图2b,示出了一个示例性的互斥元件;
图3包括图3a和图3b,示出了用于处理导向相同资源(例如接收器)的两个请求信号的仲裁器;
图4示出了根据本发明一个示例的一个步骤中用于处理多个请求信号的仲裁器,及其关于有限状态机的应用;
图5示出了可与图4的仲裁器一同使用的一个示例性的请求发生器电路;
图6提供了时序图,其示出了图4的仲裁器的功能;
图7示出了图4的示例所示的状态机的一个示例性实施方式;
图8示出了图5的请求发生器电路(请求者)的一个示例性实施方式;
图9示出了图4的仲裁器的一个示例性实施方式;
图10示出了图4的仲裁器的又一实施方式;
图11示出了图5的请求发生器的又一实施方式;
图12示出了实施例的请求发生器的一部分的示意图;
图13A-C示出了实施例的滤波锁存器和相应的示例性图;
图14示出了可替换实施例的滤波锁存器;以及
图15示出了实施例的仲裁方法的框图。
具体实施方式
在异步电路中,全局系统时钟不是必须的。相反,握手操作被用于同步不同的电路部件。图1a示出了从发送器10至接收器20的数据流。数据信号的变化是通过发送器10经由请求信号REQ发信令,而数据的接收是通过发送器经由确认信号ACK发信令。这些请求和确认信号与数据信号进行“捆绑”(在图1中标记为DATA),并且因此这一概念通常被称为“捆绑数据”。术语捆绑数据是指这样一种情况,其中数据信号使用常规的布尔电平对信息进行编码,并且其中单独的请求和确认信号与数据信号进行捆绑。
不同的握手协议是已知的。标记为DATA的信号应该在请求信号 REQ是活动的(例如,REQ=1)之前不久或与之同时是稳定的。作为例子,图1b示出了四相协议,其中请求和确认信号REQ和ACK也使用常规布尔电平对信息进行编码。术语“四相”是指通信动作的数量:(1)发送器10发出数据(数据信号DATA),并将请求信号 REQ设置为高电平,(2)接收器20接收数据,一旦该数据被正确接收或处理,将确认信号ACK设置为高电平,(3)发送器10通过将请求信号REQ复位为低电平而响应(此时数据不再保证是有效的),以及(4)接收器20通过将确认信号ACK复位为低电平而对此进行确认。此时,发送器10可以发起下一个通信周期。尽管所示的握手协议是非常普通的,但其它协议也是可用的且适当的。
上述介绍的协议假设发送器10为活动方,其在信道上发起数据传输。这就是所谓的推送(push)信道。反之,即,接收器20请求新数据,也是可行的,它称为拉取(pull)信道。在这种情况下,请求和确认信号REQ和ACK的方向被反转,并且数据的有效性被指示在从发送器10到接收器20的确认信号ACK中指示(拉取信道)。在摘要电路图中示出了链路/信道(如在图1a中)作为一个符号,信道的活动端通常以点标出。在仅需要两个电路部件同步且不需要数据交换的情况下,数据信号DATA可省略。此外,数据流可以是双向的 (推送/拉取信道)。尽管进一步的讨论关注于推送信道,本文所介绍的原理也可应用于拉取信道和推送/拉取信道。
考虑到如图1所示的数据交换和同步机制,清楚的是,接收多个输入信道的接收器必须处理(几乎)同时发生的请求(即请求信号 REQ的转变)。所谓的“互斥元件”(互斥是“互相”和“排斥”的混成词) 通常是用来确保在多个信号中的特定一个信号中发生的仅一个请求 (或者,通常是一个事件)被转发给接收器。
一个示例性的互斥元件(标记为MUTEX)在图2示出。输入信号R1和R2是由两个独立源发起的两个请求,而且互斥元件的任务是向相应的输出G1和G2传递这些输入,以这样的方式,在任何给定时间最多一个输出是活动的(即,例如在高电平)。如果只有一个输入请求到达,该操作是容易的。如果一个输入请求在另一个请求之前很早到达,则后一个请求被阻止,直到第一请求被解除声明。问题出现在当两个输入信号同时被声明时。然后互斥元件MUTEX需要进行仲裁决定,并且此时亚稳态出现了。由于这个亚稳态问题是公知的,在此不进行进一步讨论。
参考文献(参见例如Jens编写的PRINCIPLES OF ASYNCHRONOUS CIRCUITDESIGN-A Systems Perspective的第5.8 部分“Mutual exclusion,arbitraion andmetastability”,Kluwer Academic Publishers,2001年)。在图2b的示例中,互斥元件由触发电路(flip flop)(由两个NAND门实现)和布置在其下游的亚稳态滤波器(由 CMOS晶体管电路实现)组成。
互斥元件可以用于实现仲裁器,它可以用于控制对资源(例如,一个接收器)的访问,所述资源在若干个自治独立方(例如,若干发送器)之间共享。一种可能的实施方式在图3中示出。由于所示出的仲裁器实施方式也是公知的,这里只是给出粗略的解释,并参见的上述教科书。
在图3b的示例中,互斥元件MUTEX确保(请求)信号G1和 G2(在接口a’-a”处)相互排斥。在互斥元件之后是两个AND门,其目的是为了确保在y1/A1-和y2/A2-信道上的握手(在接口b’-b”处) 相互排斥。即,如果确认信号A1为低,请求信号y2只能变高,如果确认信号A2为低,请求信号y1只能变高。这样,如果握手正在沿着一个信道进行,那么仲裁器阻止在另一信道上的握手。在多于两个输入将被仲裁器处理的情况下,仲裁器电路要复杂得多。标记为“C”的门是Muller-C元件,其也是上述的教科书中详细讨论的。
在仲裁器被用来处理提供到有限状态机(FSM)的输入的情况下,在某一时刻仅有一个输入信号可以由FSM处理。此外,当处理多个输入时,需要大量互斥元件(例如布置在链路或树结构中),其中每个互斥元件必须处理亚稳态所引起的上述问题,该问题可能大幅减慢仲裁器。鉴于此,已经开发了一种新的仲裁器,它能够处理多个输入信道,因此允许例如有限状态机(FSM)在单个步骤中处理多个“事件”(例如,请求)。仲裁器的示例将在下面参考图4和图5进行描述。
图4示出了异步运行的有限状态机(FSM)40的框图,其接收多个输入数据信号D0、D1、D2、…、Dn,其中每个数据信号D0、D1、 D2、…、Dn是关联于相应的请求信号R0,R1,R2,…,Rn,以及确认信号A0,A1,A2,…,An,以允许握手操作,例如,如参照图 1所解释的。该输入数据信号D0、D1、D2、…、Dn,以及相应的请求信号R0、R1、R2、…Rn不直接提供给FSM40。相反,数据和请求信号Di、Ri(其中,i=0,1,2,……n)是提供给仲裁器30,其被配置为同时监视所有信道(信道0至信道n)的请求信号Ri。
一旦任何请求信号变为活动(例如,假设为高电平),所有请求和数据信号Ri、Di的值被存储在锁存器(即,锁存器阵列中)。为此,仲裁器被配置为同时监视用于转变的所有请求信号Ri(针对变为活动的信号)。当检测到一个或多个请求并且信号值已经被存储在锁存器阵列中,仲裁器等待预定时间跨度,以允许所有锁存器从可能的亚稳定状态中恢复。最后,一个全局请求信号REQ被生成并向FSM40 提供。输入数据信号D0、D1、…、Dn的锁存值作为数据向量iDATA (0:n)向FSM40提供,其中附加的数据向量iVALID(0:n)被产生 (有效性向量),并向FSM40提供,其指示有效数据(例如,相应的锁存请求信号为活动的那些数据信号Di的值)。因此,数据向量可以表示为
iDATA=(D0,D1,D2…,Dn),
并且附加的数据向量可以表示为
iVALID=(R0、R1、R2……Rn)。
也就是说,存储在附加的数据向量iVALID中的相应请求Ri是活动的数据向量iDATA中的这些元素Di是有效的(例如Ri=1)。当FSM 已经接收了数据向量iDATA、iVALID,相应的确认信号ACK产生并被发送回仲裁器,如对于图1的一般例子的解释。确认信号ACK被转发到那些已经检测到活动请求信号Ri的信道,即
当Ri=活动时(其中i=0,1,2,……n),Ai=ACK。
利用如上解释运行的仲裁器,多个输入数据信号可同时被处理。只有成功转发到FSM40的请求被确认回到发送器。未捕获的请求在下一个“循环”进行处理。然而,应注意的是,固定的循环周期是不需要的。相反,只要任何请求信号是活动的,仲裁器和FSM就继续处理请求信号。结果,还未被服务的事件(即,还未处理的活动请求) 的自动处理得以完成。
图5示出了“请求发生器”,其是电路35,其配置为响应于数据 DATAi(i=0,1,2,…,n)的实现生成请求信号。然而,当提供数据信号DATAi的信号源(或多个来源)能够提供对应于数据的适当请求信号时,不需要单独的请求发生器。应当注意,DATAi可表示单比特信号或n比特信号,例如与几个比特的数据字相关联的选通信号。请求发生器的一个示例性实施方式在下面参照图8进一步讨论。
图6示出了通过仲裁器30处理的相关信号(请求、数据和确认信号),如上面参考图4所解释的。在本实例中,仅考虑两个数据信号D0和D1以及两个相应的请求信号R0和R1以及两个相应的确认信号A0和A1。应当注意,当相应的请求信号R0和R1变为活动时,数据信号D0和D1可以认为是有效的。图6的两个上部图线示出了请求信号R0、R1,其中两个请求(上升沿)几乎同时到达仲裁器。然而,请求R1到达得稍晚,因而请求R0于时刻t1触发锁存器阵列。仲裁器然后将锁存的数据和请求信号转发到后续电路(例如,图4的示例中的FSM40)。为了避免亚稳态效应,在产生向数据的接收器(例如,FSM40)提供的“全局”请求信号REQ(见图4)之前,等待预定的延时t2-t1。当已正确接收到数据时,接收器(例如,FSM40)产生确认信号ACK。信号ACK被分配到活动请求信号已被捕获在锁存器阵列中的信道;在图6的本示例中,ACK信号被分配到信道0和1 作为信号A0和A1。
图7示出了有限状态机(FSM)40的示例性实施方式,其可与仲裁器30一同使用,如图4的示例所示。这里所示的FSM是Mealy类型的状态机并且包括逻辑电路41,其配置为根据当前状态变量S(0:k)和由向量iVALID(0:n)所给出的输入,计算更新的状态变量S’(0:k),即S’(0:k)=f(S(0:k),iVALID(0:n))。当计算完成时,更新的状态变量s’(0:k)继而被锁存在状态寄存器43中,并因此成为实际状态变量s(0:k),它们也可以被视为FSM的输出。更新的状态变量 s’(0:k)的锁存是由仲裁器30(见图4)所提供的请求信号REQ的延迟版本ENB触发的,其中信号REQ和ENB之间的延迟(参见延迟元件42)被设计为使得在信号ENB变为活动并触发状态寄存器(其可以被看作锁存器阵列)之前,更新状态变量S’(0:k)的计算已经完成。请求信号REQ的延迟版本ENB也被提供回到仲裁器作为确认信号 ACK,以信令指示数据向量iVALID(0:n)已被成功处理,并且FSM准备好接收新的数据。应该注意的是,这里给出的实施方式被认为是一个示例,并且例如,可以使用Muller流水线来存储,而不是基于触发电路的状态寄存器。
图8和9分别示出了图5的请求发生器电路35和图4的仲裁器40 的示例性实施方式。请求发生器电路35接收输入数据信号DATAi(例如,在本例中是1比特信号),并响应于输入数据信号DATAi的转变 (高到低以及低到高),提供一对相应的请求信号Ri和输出数据信号 Di。当请求信号Ri在输入数据信号DATAi的转变时为活动,则每个后续转变都被忽略,直至接收到确认信号Ai。数据信号DATAi不一定是 1比特信号,也可以是包括n个并行比特的多比特信号。
图8示出了图5所示的请求发生器35的一个示例性实施方式。在稳定状态下(例如通过信号Ai=1初始化),OR门353的输出为活动(例如,为高电平),因此锁存器355在锁存器356处于“保持状态”(即,保持输出与输入无关)时是透明的。结果,输入数据信号DATAi可穿过锁存器355传播并直接可用作数据信号Di。两个锁存器355和356的输出都作为输入向XOR门354提供。在稳定状态下,XOR门354的输出是不活动的(即处于低电平)。然而,当输入数据DATAi改变其电平(即,当信号DATAi中出现边缘)时,透明锁存器355的输出也发生改变,同时不透明的锁存器356的输出被保持,并且因此XOR门354 的输出变成活动(即,改变为高电平)。
XOR门354的活动输出触发Muller C-门351,因此请求信号Ri也变为活动。以这样的方式,输入数据信号DATAi的边缘产生请求。活动请求信号Ri促使(通过OR门353)锁存器355变为保持状态,而锁存器356变为透明。此时,两个锁存器的输出再次相等,因此,XOR门354的输出返回到不活动状态(低电平)。当接收到确认信号Ai,Muller C-门351再次(通过反相器352)被触发,并且当确认信号Ai经由OR 门353转发到锁存器时,锁存器355和356再次改变它们的状态(锁存器355变为透明,锁存器356保持其输出)。此时,请求发生器为“空闲”得以再次监视数据信号DATAi,并在观察到数据信号DATAi的下一个边缘时生成下一个请求。
应当注意的是,请求发生器35被配置为在相应的请求Ri之前稍早产生数据输出信号Di,以允许仲裁器可靠地捕获数据Di。该时间差是由于XOR门354和Muller C-门351造成的传播延迟。
图9所示的仲裁器40将请求信号R0、R1等与数据信号D0、D1等锁存在多信道锁存器320中。当使能信号为低(EN=0)时,锁存器是透明的。在这种情况下,输出向量iVALID包括请求信号(即,iVALID={R0, R1,…,Rn}),而且输出向量iDATA包括数据信号(即iDATA={D0,D1,…, Dn})。响应于变为活动的第一请求信号Ri,锁存器被触发(使能信号 EN=1),输出值(即,输出向量iVALID和iDATA的值)是“冻结的”,而且全局请求信号REQ被产生。锁存器320没有被禁用(即设置为透明),直到接收到确认信号ACK。典型的信号序列(即,一个请求-确认循环) 在下面进行描述,以说明图9的仲裁器的功能。
仅作为示例的目的,假设所有请求和确认信号Ri、Ai、REQ、ACK 最初是不活动的(对于i的所有相关值,Ri=0,Ai=0,REQ=0,ACK=0)。此外,保持信号HOLD(Muller C-门302的输出)最初也是不活动的 (HOLD=0),因此锁存器阵列320是透明的。在这种情况下,输入数据信号的值是无关的,输出数据向量iVALID包含输入数据信号的当前值 (即,iDATA={D0,D1,…,Dn}),这是锁存器阵列320为透明的结果。
为了进一步讨论,假设输入数据信号中的一个和相应的请求信号变为活动(例如,D0=1,并且非常短的时间后,R0=1)。由于锁存器阵列320是透明的,值被转发到锁存器输出,因此iVALID(0)和iDATA(0) 变为活动的(iVALID(0)=R0=1,且iDATA(0)=D0=1)。该结果使得 AND门X0的输出变为活动。当AND门X0、X1等的输出都被(作为输入)提供到OR门306,如果AND门中的至少一个检测到活动请求信号 (RD是“检测到请求”的缩写),OR门306的输出RD变为活动。即,当(且仅当)请求信号Ri的至少一个为活动,则RD=1。
如果检测到至少一个请求(RD=1),Muller C-门302将其输出信号 HOLD切换为高电平(HOLD=1)。定义的延迟时间TD后,延迟的HOLD 信号HOLDDEL也变成活动的(延迟元件303)。活动HOLD信号也经由 OR门304触发(即关闭)锁存器。因此,锁存器阵列输出iVALID(0:n) 和iDATA(0:n)是“冻结的”,并且锁存器阵列输入的变化对输出向量不再有影响。
其它锁存器输入的一个(即,Ri和/或Di,其中在本示例中i>0)可能在锁存器阵列320已被触发时已经“看见”转变。在这种情况下,锁存器阵列输出可能已经变为亚稳态。为此,不应采取任何动作,直到这些可能的亚稳态锁存器已经恢复。定义的恢复时间是通过延迟元件303来确保,使得锁存器阵列320的锁存器具有时间TD以用于从亚稳态恢复。
然后将延迟的HOLD信号HOLDDEL(在延迟时间TD已经过去之后) 输出作为全局请求信号REQ。此时,全局请求信号变为活动,AND门 305的输出也变为活动,因为信号HOLD和HOLDDEL现在都是活动的。结果,活动请求信号(在本例中仅分别为R0或iVALID(0))已经被“捕获”在锁存器阵列中的所有请求器经由AND门Yi(i=0,1,…n)接收相应的活动确认信号(在本示例中仅是信号A0)。这可以看作对iVALID (x)为活动的所有信道x的选择性确认。当接收到(选择性)确认信号Ai,对应的请求器(在本示例中是请求器0)将禁用其请求信号Ri。
当接收和处理仲裁器的输出向量iVALID(0:n)和iDATA(0:n)的 FSM通过激活全局确认信号ACK而应答时,Muller C-门302(其经由反相器301接收ACK信号)对其输出解除激活(HOLD=0)。此外,选择性确认信号Ai经由AND门305和AND门Yi(i=0,1,…n)被解除激活。延迟时间TD之后,全局请求REQ(对应于HOLDDEL)也被解除激活,这导致锁存器阵列320再次变得透明(使能信号EN通过OR门 304被设置为0)。在这种情况下,仲裁器是空闲的并且准备好处理出现在任何输入信道中(来自任何请求器)的另一请求。
图10示出了根据另一实施例的仲裁器,其中支持超频(overclock) 的数据输入,或具有太快的输入计时速率(toggle rate)以至于请求发生器35无法捕获边缘的数据输入。在这种超频情况下,当发出请求时,请求发生器35中发生计时冲突(timingviolation)。这可能出现在锁存器355刚被从透明状态转变到保持状态的上升或下降数据边缘。这样的计时冲突可能延长锁存的数据信号在请求发生器35中的恢复时间,以及具有将亚稳态输入计时到锁存器阵列320中的风险,如图9所示。
图10的实施例的仲裁器类似于图9的实施例的仲裁器,不同之处在于数据信号D0和D1分别通过iDATA(0)和iDATA(1)传递,而不进行锁存。因此,锁存器阵列420具有被配置为响应于Muller C-门302检测到这些信号的声明而锁存请求信号R0和R1的锁存器,但不包括锁存数据信号D0和D1的锁存器。相反,响应于全局请求REQ被声明,数据信号D0和D1直接由FSM读取。这样,数据信号D0和D1不会经受图6所示的时间t1和t2之间所示的锁存恢复时间。应当理解的是,为了简化说明,图10示出了来自请求器0和1的两个信道。在本发明的实施例中,实施例的仲裁器可以处理任何数量的并行请求以及伴随的数据,以及产生任何数量的相应的确认信号。
在一个实施例中,耦合到图10所示的仲裁器输出的FSM可被配置为忽略与不活动的请求发生器对应的数据。因此,FSM可被配置为评估对应于活动请求发生器的稳态数据输入。
图11示出了实施例的请求生成器500,其可用于替代图8中所示的请求发生器35。请求发生器500类似于请求发生器35,并加入耦合到 Muller-C门351的输出的亚稳态滤波器502。在一个实施例中,亚稳态滤波器502对Muller-C门351的输出进行滤波,以在数据信号DATAi 失灵时防止请求信号Ri被声明。这种情况可能发生在例如当锁存器355 处于透明状态,并且DATAi只有短暂的失灵,而不是清晰、持久地转变为相反的值。
图12示出了图11所示的Muller-C门351和亚稳态滤波器502的实施例的更详细示意图。可选的缓冲器536被示出为耦合到亚稳态滤波器 502的输出。在一个实施例中,Muller-C门351使用逻辑门540来实现的,所述逻辑门540包括串联连接的PMOS晶体管520和522和串联连接的NMOS晶体管524和526。PMOS晶体管520和NMOS晶体管524 的栅极耦合到输入A,并且PMOS晶体管522和NMOS晶体管526的栅极耦合到输入B。在操作期间,在输入A和B均为高的状态下,逻辑门540在节点/Q处的输出为低;并且在输入A和B均为低的状态下,逻辑门540在节点/Q处的输出为高。然而,当输入A和B具有不同的逻辑值时,逻辑门540产生三态或高阻抗输出。
在一个实施例中,Muller-C门351还包括静态锁存器,其是使用背对背反相器528和530实现的。在一些实施例中,反相器528弱于反相器530,以确保逻辑门540的输出强度足以克服反相器528的输出驱动电流,以使输出发生变化。
在一个实施例中,亚稳态滤波器502包括PMOS晶体管532和NMOS 晶体管534。图13A-C展示了各种情况,其示出了亚稳态滤波器502与反相器528和530结合的操作。例如,图13A示出了这样的情况,其中反相器528的输出为高,并且反相器530的输出为低。在此,PMOS晶体管532被关断,因为其源极耦合到低电压,并且NMOS晶体管534 将其漏极拉低,因为NMOS晶体管534的栅极为高。因此,亚稳态滤波器的输出为低。
亚稳态(即变化的意愿)关于输出状态的相应曲线图示出了图13A 操作在点544处的情形,对应于稳态工作点。阈值546表示亚稳态滤波器对电路操作的影响。例如,在表示反相器528和530的输出之间的单向电压差小于阈值546的输出状态中,亚稳态滤波器的输出为低。另一方面,当输出状态大于阈值546时,亚稳态滤波器的输出为高。
图13B示出了这样的情况,其中反相器528的输出为低,并且反相器530的输出为高。在此,PMOS晶体管532接通,因为其源极耦合到反相器530的高输出,并且NMOS晶体管534关断,因为NMOS晶体管534的栅极被设为低。亚稳态关于输出状态的相应曲线图展示了电路操作在稳态点548,其在x轴上是大于阈值546的点。因此,亚稳态电路的输出为高。
图13C示出了这样的情况,其中反相器528和530的输出处于大约 VDD/2,并且在亚稳定状态。如图所示,PMOS晶体管532关断,因为 PMOS晶体管532的源极处于与PMOS晶体管532的栅极大约相同的电压。NMOS晶体管534将其漏极拉低,因为其栅极处于VDD/2,在该实施例中,VDD/2足以接通NMOS晶体管534。亚稳态关于输出状态的相应曲线图展示了电路操作在稳定点550,其在x轴上是小于阈值546的点。因此,亚稳态滤波器的输出为低。一旦解决了锁存器的亚稳态状况,根据图13 A和13 B中的示例将解决亚稳态滤波器的输出。
应当理解,图12所示和图13A-C 描述的亚稳态滤波器502仅是亚稳态滤波器配置的许多不同实施例中的一种示例。在可替换实施例中,亚稳态滤波器可以被配置为具有亚稳态滤波器的大多数输入状态,以便映射到高输出状态而不是低输出状态。这种实施例的一个示例在图14中示出。在一个实施例中,PMOS晶体管532和NMOS晶体管534的栅极耦合到反相器528的输出,NMOS晶体管534的源极耦合到输出反相器 530,并且PMOS晶体管532的源极耦合到VDD。如图所示,反相器528 和530的输出的亚稳态映射到高输出状态而不是如图13A-C中所示的滤波锁存器的低输出状态。在进一步的实施例中,亚稳态滤波器可以使用放大器实现,例如耦合到反相器528和530的输出的运算放大器和/或比较器。在一个实施例中,反相器528和530的输出之间的电压差与阈值进行比较。该阈值可以被设置为,例如,将亚稳态区域映射到预定逻辑状态。在另一些替换实施例中,可以使用其他滤波电路和方法将亚稳态区域映射到预定的输出。
图15示出了操作仲裁器的实施例方法600的流程图。在步骤602 中,仲裁器接收对应于第一数据信号的第一请求信号。在一些实施例中,这些请求信号是通过监视每一个单独的第一数据信号产生的。这些数据信号的失灵可以例如,使用亚稳态滤波器,进行抑制,如参照图12和 13A-C描述的。在步骤604中,监视第一请求信号中的每一个的活动性。在一些实施例中,使用异或门,并且使用Muller C-门来监视第一请求信号,如参照图9和11描述的。在步骤606中,当在至少一个第一请求信号上检测到活动性时,所有第一请求信号被锁存。这个步骤可以通过将锁存器组的状态从透明状态改变为保持状态来执行。
在步骤608中,确定第一请求信号中的哪一个已经被声明。这可以通过例如评估保持状态的锁存器的输出来执行。接着,在步骤610中,发送对应于每一个活动的第一请求信号的数据有效信号。在步骤612中,全局请求信号在第一请求信号被锁存之后的第一延迟时间被发送。该全局请求可以被转发到例如FSM40。在步骤614中,对应于活动的或捕获的请求信号的确认信号被发送。在一些实施例中,步骤612和614可以同时发生,因为FSM可以在确认信号返回到所有捕获请求的同时接收全局请求。
在步骤616中,响应于全局请求信号,仲裁器等待全局确认。在步骤618中,一旦接收到该全局确认信号,仲裁器被解冻。解冻该仲裁器可包括,例如,使锁存器组中的锁存器成为透明,并对全局请求解除声明,以及对发送到捕获的请求解除声明。然后,操作再次返回到步骤602,此时第一请求信号被接收。
根据一个实施例,电路包括仲裁器,其被配置为接收对应于第一数据信号的第一请求信号,监视每个单独的第一请求信号的活动性,当在至少一个第一请求信号上检测到活动性时,锁存所有相应的第一请求信号,确定哪个第一请求信号已经被声明,发送对应于已声明的第一请求信号的数据有效信号,在第一请求信号被锁存之后的第一延迟时间发送全局请求信号,并发送对应于确定的数据有效信号的确认信号。每个第一请求信号与相应的第一数据信号相关联。
在一个实施例中,仲裁器被进一步配置为当在至少一个第一请求信号上检测到活动性时锁存第一数据信号。该电路还可以包括有限状态机,其耦合到锁存的第一数据信号和数据有效信号。有限状态机被配置为从仲裁器接收全局请求信号,并在接收到全局请求信号之后向仲裁器发送确认信号。
在一些实施例中,仲裁器被配置为将第一数据信号向另一电路传递。该电路可以包括有限状态机,其耦合到第一数据信号和数据有效信号。在本文中,有限状态机被配置为从仲裁器接收全局请求信号,并在接收到全局请求信号之后向仲裁器发送全局确认信号。仲裁器还可以接收尚未被锁存的已传递的第一数据信号。
在一个实施例中,仲裁器包括锁存器阵列,其具有用于每个第一请求信号的锁存器。锁存器阵列也可包括用于每个第一数据信号的锁存器。仲裁器也可以被进一步配置为用于接收全局确认信号,并在接收到全局请求信号之后对全局请求信号解除激活。在一些实施例中,通过确定第一请求信号上的边缘转变,在确定边缘转变时设置静态锁存器,以及对静态锁存器的输出进行滤波,仲裁器监视每个相应的第一请求信号。
根据进一步的实施例,电路包括锁存器阵列,其具有第一多个锁存器,其耦合到相应的多个第一请求信号;第一逻辑门,其具有耦合到多个第一请求信号的输入。第一逻辑门被配置为确定至少一个第一请求信号何时被激活。该电路还包括转变检测电路,其具有至第一逻辑门的输出的第一输入,耦合到全局确认输入的第二输入,以及耦合到锁存器阵列的全局请求信号端子和保持端子的输出。该电路还包括确认检测电路,其具有耦合到第一多个锁存器的输出的输入,以及耦合到第一确认输出端子的输出。在一个实施例中,第一逻辑门使用OR门来实现。
在一个实施例中,在转变检测电路在第一逻辑门的输出处检测到转变后,锁存器阵列被置于保持状态,并且在转变检测电路检测到全局确认输入被声明后,锁存器阵列被置于透明状态。在一些实施例中,确认检测电路包括多个AND门,其具有耦合到第一多个锁存器的相应输出的第一输入,耦合到全局请求信号端子的第二输入,以及耦合到相应的第一确认输出端子的输出。
该电路还可以包括多个请求发生器,其具有耦合到多个第一数据信号的输入和耦合到相应的多个第一请求信号的输出。多个请求发生器中的每一个包括第一锁存器、第二锁存器、第一逻辑门和第二逻辑门,第一锁存器具有耦合到多个第一数据信号中的一个的输入,第二锁存器具有耦合到第一锁存器的输出的输入,第一逻辑门耦合到第一锁存器和第二锁存器的输出,第二逻辑门具有耦合到第一门的输出的第一输入和第二输入。第一逻辑门被配置为确定第一锁存器和第二锁存器的输出是否具有差值,并且第二逻辑门被配置为当第一和第二输入处于第一状态时产生低输出信号,当第一和第二输入处于第二状态时产生高输出信号,以及当第一和第二输入处于第三状态和第四状态时产生高阻抗输出。多个请求发生器中的每一个还包括静态锁存器,其耦合到第二逻辑门的输出,从而第二门的输出耦合到第一锁存器和第二锁存器的控制输入。
在一个实施例中,该多个请求发生器中的每一个还包括亚稳态滤波器,其耦合在静态锁存器与第一锁存器和第二锁存器的控制输入之间。该亚稳态滤波器可以包括反相器,其具有耦合到静态锁存器的第一端子的输入和耦合到静态锁存器的第二端子的电源端子。
在一个实施例中,锁存器阵列还包括第二多个锁存器,其耦合到相应的多个第一数据信号。该电路还可以包括延迟电路,其耦合在转变检测电路的输出和全局请求信号端子之间。
根据进一步的实施例,操作仲裁器的方法包括接收对应于第一数据信号的第一请求信号,其中每个第一请求信号与相应的第一数据信号相关联。该方法还包括监视每个第一请求信号的活动性,当在至少一个第一请求信号上检测到活动性时,锁存所有第一请求信号,确定哪个第一请求信号已经被声明,发送对应于已声明的第一请求信号的数据有效信号,在第一请求信号被锁存之后的第一延迟时间发送全局请求信号,并发送对应于所确定的数据有效信号的确认信号。
该方法还可以包括当在至少一个第一请求信号上检测到活动性时,锁存第一数据信号。可替换地,该方法包括将第一数据信号向另一电路传递。第一数据信号可以响应于已发送的全局请求信号由所述另一电路锁存。
根据进一步的实施例,电路包括第一逻辑门,其被配置为当第一输入和第二输入处于第一数字状态时产生低输出信号,当第一输入和第二输入处于第二数字状态时产生高输出信号,以及当第一输入和第二输入处于第三数字状态和第四数字状态时产生高阻抗输出。该电路还包括耦合到第一逻辑门的输出的静态锁存器,以及耦合到静态锁存器的亚稳态滤波器。
在一个实施例中,第一逻辑门包括在第一参考节点和第二参考节点之间串联耦合的多个晶体管。多个晶体管可以包括第一类型的第一晶体管,其包括耦合到第一输入的控制节点;第一类型的第二晶体管,其包括耦合到第二输入的控制节点;第二类型的第三晶体管,其包括耦合到第一输入的控制节点;以及第二类型的第四晶体管,其包括耦合到第二输入的控制节点。第二类型与第一类型相反。静态锁存器可包括第一反相器和第二反相器,第一反相器具有耦合到第一逻辑门的输出的输入,第二反相器具有耦合到第一反相器的输出的输入和耦合到第一逻辑门的输出的输出。在一个实施例中,亚稳态滤波器包括第一类型的第五晶体管,其具有耦合到第一参考节点的第一节点和耦合到第一反相器的输入中的一个和第一反相器的输出的控制节点;以及第二类型的第六晶体管,其具有耦合到第二参考节点的第一节点,耦合到第五晶体管的第二节点的第二节点,以及耦合到第一反相器的输入中的另一个和第一反相器的输出的控制节点。在一个示例实施例中,第一类型是NMOS,第二类型是PMOS。
在一个实施例中,亚稳态滤波器包括反相器,其具有耦合到静态锁存器的输出的电源节点,耦合到静态锁存器的一个输入和静态锁存器的输出的输入节点。一些实施例的优点包括能够在仲裁长度的请求向量和数据上执行仲裁,以及能够使用超频且包含失灵的数据信号来执行仲裁。实施例的仲裁系统的另一个优点是能够容易地使用仲裁器来合成状态机,以用于处理不同信道上的并发事件。
虽然已经公开了本发明的各种示例性实施例,显然对于本领域技术人员来说,可以进行各种变化和修改,这将实现本发明的一些优点,而不背离本发明的精神和范围。对于本领域技术人员来说明显的是,实施相同功能的其他部件可以被适当地取代。应该注意的是,参照特定附图解释的特征可与其它附图的特征结合,即使在其中未明确进行描述。此外,本发明的方法可以实现在使用适当处理器指令的所有软件实施方式中,或在利用硬件逻辑和软件逻辑的组合以实现相同结果的混合实施方式中。这种对于发明构思的修改旨在由所附权利要求所涵盖。
Claims (25)
1.一种电路,包括:
仲裁器,被配置为:
接收对应于第一数据信号的第一请求信号,其中每个第一请求信号与相应的第一数据信号相关联;
监视相应的所述第一请求信号中的每一个第一请求信号的活动性;
当在所述第一请求信号中的至少一个第一请求信号上检测到活动性时,锁存所有相应的第一请求信号;
确定第一请求信号中的哪一个第一请求信号已经被声明;
发送对应于所声明的第一请求信号的数据有效信号;
在所述第一请求信号被锁存之后的第一延迟时间发送全局请求信号;以及
发送对应于确定的数据有效信号的确认信号。
2.根据权利要求1所述的电路,其中所述仲裁器进一步被配置为当在所述第一请求信号中的至少一个第一请求信号上检测到所述活动性时,锁存所述第一数据信号。
3.根据权利要求2所述的电路,还包括有限状态机,所述有限状态机耦合到锁存的所述第一数据信号和所述数据有效信号,所述有限状态机被配置为从所述仲裁器接收所述全局请求信号,并在接收到所述全局请求信号之后向所述仲裁器发送确认信号。
4.根据权利要求1所述的电路,其中所述仲裁器被配置为将所述第一数据信号向另一电路传递。
5.根据权利要求1所述的电路,还包括有限状态机,所述有限状态机耦合到所述第一数据信号和所述数据有效信号,所述有限状态机被配置为从所述仲裁器接收所述全局请求信号,并在接收到所述全局请求信号之后向所述仲裁器发送确认信号。
6.根据权利要求1所述的电路,其中所述仲裁器包括锁存器阵列,所述锁存器阵列具有用于每个第一请求信号的锁存器。
7.根据权利要求6所述的电路,其中所述锁存器阵列还包括用于每个第一数据信号的锁存器。
8.根据权利要求1所述的电路,其中所述仲裁器还被配置为接收全局确认信号,并在接收到所述全局请求信号之后停用所述全局请求信号。
9.根据权利要求1所述的电路,其中所述仲裁器通过确定所述第一请求信号上的边缘转变、在确定所述边缘转变时设定静态锁存器并且对所述静态锁存器的输出进行滤波,来监视相应的所述第一请求信号中的每个第一请求信号。
10.一种电路,包括:
锁存器阵列,所述锁存器阵列包括第一多个锁存器,所述第一多个锁存器耦合到相应的多个第一请求信号;
第一逻辑门,所述第一逻辑门具有耦合到所述多个第一请求信号的输入,所述第一逻辑门被配置为确定所述第一请求信号中的至少一个第一请求信号何时被激活;
转变检测电路,所述转变检测电路包括:
至所述第一逻辑门的输出的第一输入,
耦合至全局确认输入的第二输入,以及
耦合到所述锁存器阵列的保持端子和全局请求信号端子的输出;以及
确认检测电路,所述确认检测电路具有耦合到所述第一多个锁存器的输出的输入,和耦合到第一确认输出端子的输出。
11.根据权利要求10所述的电路,其中所述第一逻辑门包括OR门。
12.根据权利要求10所述的电路,其中在所述转变检测电路在所述第一逻辑门的所述输出处检测到转变后,所述锁存器阵列被置于保持状态,并且在所述转变检测电路检测到所述全局确认输入被声明后,所述锁存器阵列被置于透明状态。
13.根据权利要求10所述的电路,其中所述确认检测电路包括多个AND门,所述AND门具有耦合到所述第一多个锁存器的相应输出的第一输入,耦合到所述全局请求信号端子的第二输入,和耦合到所述第一确认输出端子中的相应一个第一确认输出端子的输出。
14.根据权利要求10所述的电路,还包括多个请求发生器,所述请求发生器具有耦合到多个第一数据信号的输入,和耦合到相应的所述多个第一请求信号的输出,其中所述多个请求发生器中的每一个请求发生器包括:
第一锁存器,所述第一锁存器具有耦合到所述多个第一数据信号中的一个第一数据信号的输入;
第二锁存器,所述第二锁存器具有耦合到所述第一锁存器的输出的输入;
第一逻辑门,所述第一逻辑门耦合到所述第二锁存器和所述第一锁存器的输出,所述第一逻辑门被配置为确定所述第二锁存器和所述第一锁存器的所述输出是否具有差值;
第二逻辑门,所述第二逻辑门具有耦合到所述第一逻辑门的输出的第一输入和第二输入,所述第二逻辑门被配置为当所述第一输入和所述第二输入处于第一状态时产生低输出信号,当所述第一输入和所述第二输入处于第二状态时产生高输出信号,并且当所述第一输入和所述第二输入处于第三状态和第四状态时产生高阻抗输出;以及
静态锁存器,所述静态锁存器耦合到所述第二逻辑门的输出,其中所述第二逻辑门的输出耦合到所述第二锁存器和所述第一锁存器的控制输入。
15.根据权利要求14所述的电路,其中所述多个请求发生器中的每一个请求发生器还包括亚稳态滤波器,所述亚稳态滤波器耦合在所述静态锁存器与所述第二锁存器和所述第一锁存器的所述控制输入之间。
16.根据权利要求15所述的电路,其中所述亚稳态滤波器包括反相器,所述反相器具有耦合到所述静态锁存器的第一端子的输入,以及耦合到所述静态锁存器的第二端子的电源端子。
17.根据权利要求10所述的电路,其中所述锁存器阵列还包括耦合到相应的多个第一数据信号的第二多个锁存器。
18.根据权利要求10所述的电路,还包括耦合在所述转变检测电路的所述输出和所述全局请求信号端子之间的延迟电路。
19.一种操作仲裁器的方法,包括:
接收对应于第一数据信号的第一请求信号,其中每个第一请求信号与相应的第一数据信号相关联;
监视所述第一请求信号中的每一个第一请求信号的活动性;
当在所述第一请求信号中的至少一个第一请求信号上检测到活动性时,锁存所有第一请求信号;
确定第一请求信号中的哪一个第一请求信号已经被声明;
发送对应于被声明的第一请求信号的数据有效信号;
在所述第一请求信号被锁存之后的第一延迟时间发送全局请求信号,以及
发送对应于确定的数据有效信号的确认信号。
20.根据权利要求19所述的方法,还包括当在所述第一请求信号中的至少一个第一请求信号上检测到活动性时,锁存所述第一数据信号。
21.根据权利要求19所述的方法,还包括将所述第一数据信号向另一电路传递。
22.根据权利要求21所述的方法,还包括响应于所发送的所述全局请求信号,通过所述另一电路锁存所述第一数据信号。
23.一种电路,包括:
第一逻辑门,所述第一逻辑门被配置为当第一输入和第二输入处于第一数字状态时产生低输出信号,当所述第一输入和所述第二输入处于第二数字状态时产生高输出信号,并且当所述第一输入和所述第二输入处于第三数字状态和第四数字状态时产生高阻抗输出;
静态锁存器,所述静态锁存器耦合到所述第一逻辑门的输出;以及
耦合到所述静态锁存器的亚稳态滤波器,所述亚稳态滤波器包括反相器,所述反相器具有耦合到所述静态锁存器的输出的电源节点,以及耦合到所述静态锁存器的输入中的一个输入和所述静态锁存器的输出的输入节点。
24.根据权利要求23所述的电路,其中:
所述第一逻辑门包括多个晶体管,所述多个晶体管串联连接在第一参考节点和第二参考节点之间,所述多个晶体管包括
第一类型的第一晶体管,所述第一类型的第一晶体管包括耦合到所述第一输入的控制节点,
所述第一类型的第二晶体管,所述第一类型的第二晶体管包括耦合到所述第二输入的控制节点,
第二类型的第三晶体管,所述第二类型的第三晶体管包括耦合到所述第一输入的控制节点,其中所述第二类型与所述第一类型相反,以及
所述第二类型的第四晶体管,所述第二类型的第四晶体管包括耦合到所述第二输入的控制节点;
所述静态锁存器包括
第一反相器,所述第一反相器具有耦合到所述第一逻辑门的所述输出的输入,以及
第二反相器,所述第二反相器具有耦合到所述第一反相器的输出的输入,以及耦合到所述第一逻辑门的所述输出的输出;以及
所述亚稳态滤波器包括
所述第一类型的第五晶体管,所述第一类型的第五晶体管具有耦合到所述第一参考节点的第一节点以及耦合到所述第一反相器的所述输入中的一个输入和所述第一反相器的输出的控制节点,
所述第二类型的第六晶体管,所述第二类型的第六晶体管具有耦合到所述第二参考节点的第一节点,耦合到所述第五晶体管的第二节点的第二节点,以及耦合到所述第一反相器的所述输入中的另一个输入和所述第一反相器的所述输出的控制节点。
25.根据权利要求24所述的电路,其中所述第一类型是NMOS,并且所述第二类型是PMOS。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/292,040 | 2014-05-30 | ||
US14/292,040 US9626317B2 (en) | 2012-05-29 | 2014-05-30 | Arbiter for asynchronous state machines |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105320008A CN105320008A (zh) | 2016-02-10 |
CN105320008B true CN105320008B (zh) | 2019-09-27 |
Family
ID=54481608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510290809.7A Active CN105320008B (zh) | 2014-05-30 | 2015-05-29 | 用于异步状态机的仲裁器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105320008B (zh) |
DE (1) | DE102015107968A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5489865A (en) * | 1992-02-28 | 1996-02-06 | Media Vision, Inc. | Circuit for filtering asynchronous metastability of cross-coupled logic gates |
US5815023A (en) * | 1997-03-20 | 1998-09-29 | Sun Microsystems, Inc. | Unbalanced multiplexer and arbiter combination |
CN103457594A (zh) * | 2012-05-29 | 2013-12-18 | 英飞凌科技奥地利有限公司 | 用于异步状态机的判优器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8191021B2 (en) * | 2008-01-28 | 2012-05-29 | Actel Corporation | Single event transient mitigation and measurement in integrated circuits |
-
2015
- 2015-05-20 DE DE102015107968.2A patent/DE102015107968A1/de active Pending
- 2015-05-29 CN CN201510290809.7A patent/CN105320008B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5489865A (en) * | 1992-02-28 | 1996-02-06 | Media Vision, Inc. | Circuit for filtering asynchronous metastability of cross-coupled logic gates |
US5815023A (en) * | 1997-03-20 | 1998-09-29 | Sun Microsystems, Inc. | Unbalanced multiplexer and arbiter combination |
CN103457594A (zh) * | 2012-05-29 | 2013-12-18 | 英飞凌科技奥地利有限公司 | 用于异步状态机的判优器 |
Also Published As
Publication number | Publication date |
---|---|
DE102015107968A1 (de) | 2015-12-03 |
CN105320008A (zh) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nowick et al. | Asynchronous design—Part 1: Overview and recent advances | |
CN105718391B (zh) | 事务性缓冲式存储器中的提早识别 | |
US10599178B2 (en) | Data transfer between asynchronous clock domains | |
US8669779B2 (en) | Systems, pipeline stages, and computer readable media for advanced asynchronous pipeline circuits | |
CN104064207A (zh) | 光存储器扩展架构 | |
TWI730197B (zh) | 分散控制同步環狀網路架構 | |
US20120330868A1 (en) | Matching apparatus and non-transitory computer readable storage medium | |
JP2022531910A (ja) | 制御フロー・バリアと再構成可能データ・プロセッサ | |
Barnard et al. | Communicating X-machines | |
CN103457594B (zh) | 用于异步状态机的判优器 | |
Ray et al. | Scalable progress verification in credit-based flow-control systems | |
CN105320008B (zh) | 用于异步状态机的仲裁器 | |
US10505704B1 (en) | Data uploading to asynchronous circuitry using circular buffer control | |
US9626317B2 (en) | Arbiter for asynchronous state machines | |
US11119530B1 (en) | Electronic device having relaxed timing constraints for management accesses | |
Kasapaki et al. | The Argo NoC: combining TDM and GALS | |
JP7337021B2 (ja) | 産業用ネットワークに接続されるスレーブ装置を制御するマスタ装置及び当該マスタ装置に備えられる通信モジュール | |
Cortadella et al. | Elasticity and Petri nets | |
Kutschera | Efficient interfacing between timing domains | |
CN113114187A (zh) | 异步脉冲传递阻塞单元及其控制方法、超导单磁通量子电路 | |
Rapson et al. | Coupling DCS and MARTe: two real-time control frameworks in collaboration | |
KR100970615B1 (ko) | 동기 입출력 포트 확장 장치 | |
Lee | Universality of Asynchronous Circuits Composed of Locally Reversible Elements | |
Czaja | Self-Modifying Nets for Synchronous, Connection-Oriented, Multicast Communication | |
McCalpin | Exploiting Fully Asynchronous Messaging Models in HPC Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |