具有FIFO流水线的电子电路制造技术

技术编号:2845957 阅读:185 留言:0更新日期:2012-04-11 18:40
一种异步操作的FIFO流水线(10a-d)包括在功能上并联的多个握手链。通过根据数据项的值选择一条链而使每个连续数据项目通过。FIFO流水线(10a-d)包括连续的流水线级,每个流水线级具有多个握手链中的每一个的各个握手级(12、16)。协调电路(15)防止相互不同的握手链的握手彼此超越。优选地,四相握手协议与逻辑门(26、28)和设置-复位锁存器(20、22)一起使用,逻辑门(26、28)位于处于该级的输入上的请求线(REQ1_i、REQ0_i)和确认线(ACK1_i、ACK0_i)之间,设置-复位锁存器(20、22)具有耦合到逻辑门(26、28)的输出上的设置输入。该锁存器具有耦合到该级的输出上的请求线上的数据输出、耦合到该级的输出的确认线上的复位输入、以及耦合到协调电路(24)上的非数据输出。将协调电路(24)设置成当设置-复位锁存器(20、22)中的任何一个的非数据输出表示设置状态时,使流水线级中的所有握手级的逻辑门(26、28)的响应无效。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种具有异步操作的FIFO流水线的电子电路。异步操作的FIFO缓冲器在2001年Proc.International Conferenceon Computer Design第9-17页,Montek Singh和Steven M.Nowick的题为“MOUSETRAPUltra-High-Speed Transition-SignalingAsynchronous Pipelines”的文章中有介绍。MOUSETRAP提供与握手电路链并联的透明/保持锁存器链。握手电路用于保证没有新的数据项将锁存器中的前一数据项覆盖,直到该前一数据项目已经被处理为止。每个握手电路对应于相应的锁存器。每个握手电路与上游和下游握手电路进行握手处理。握手处理包括用于起动握手的请求信号和当已经处理该请求时的确认信号。在MOUSETRAP中,当特定的握手电路接收请求信号并准备好处理请求信号时,这个特定的握手电路向回发送确认信号,切换其对应的锁存器以便保持并将另外的请求信号传输给下游的下一锁存器的握手电路。当下一锁存器的握手电路确认该另外的请求信号时,该特定的握手电路则准备接收下一请求信号并使其锁存器透明。MOUSETRAP的握手电路使用条件选通(conditional pass)门和异或门。当握手电路准备好时,条件选通门将引入的请求传递到下游。特定握手电路的异或门用于控制条件选通门,从而在来自该特定握手电路和该链中的下一握手电路的请求信号之间存在差异时使这个选通电路阻挡引入的请求信号。因此异或门检测引入的请求是否已经进一步向下游传递,并在这种情况下,它命令条件选通门使后一引入请求通过。速度是FIFO缓冲器的重要设计目标。速度的一个测量方式是循环时间,即,在以最大可能的数据速度输送连续数据项时,在锁存器的输出上施加连续数据信号之间所需的时间。在诸如MOUSETRAP的握手接口的情况下,循环时间由握手电路控制,而握手电路必须设计成使得它们给锁存器足够的建立(set-up)和保持时间。由握手电路实现的循环时间对应于连续请求信号之间的最短时间,并由产生请求信号的电路回路中的电路确定。为了在MOUSETRAP中产生连续请求信号,信号必须传播通过一个回路,该回路包含特定握手电路的条件选通电路、下一握手电路的条件选通电路以及该特定握手电路的异或门。这个回路包括六个逻辑门两个在特定握手电路的条件选通电路中,两个在下一握手电路的条件选通电路中,两个在异或门中。这些逻辑门的数量和它们的扇出因数确定了循环时间。大部分逻辑门具有两个驱动两个输出。然而,这些逻辑门中的一个逻辑门(特定握手电路的条件选通电路的最后逻辑门)必须驱动三个输入(下一握手电路的条件选通电路的输入,以及特定握手电路以及其前身(predecessor)的异或门的输入)。在MOUSETRAP的情况下,这导致超过在MOUSETRAP中使用的锁存器的建立和保持时间的延迟。MOUSETRAP不建议在由握手电路实现的延迟中的另外减少的可能性,而且,如果它们不符合操作锁存器所需的最坏情况延迟,则这种减少是没用的。其中,本专利技术的目的是为了减少异步操作的FIFO流水线的循环时间。其中,本专利技术的目的是使得不需要对FIFO流水线的握手电路的循环时间进行限制,以便解决最坏情况延迟。其中,本专利技术的目的是为了减少确定异步操作的FIFO流水线的循环时间的电路回路中的逻辑门的最大扇出。本专利技术提供一种如权利要求1所述的电路。根据本专利技术,FIFO流水线包含并联的多个握手链(优选是两个)。通过将握手传输通过选择的一个握手链来代表数据项,所述链是在该数据项的值的控制下来选择的。流水线的连续级中的协调电路保证了不同链中的握手信号不彼此超越(overtake)。因此,不需要锁存器来表示用于选择该链的数据。因此,握手电路的最大可能速度可用于传输数据,而不需要使电路设计适于这些数据锁存器的延迟。优选地,流水线没有在来自握手电路的定时控制下用于储存不同可能的数据值的锁存器链,即,所有数据都通过握手链的选择来通信。这就避免了与需要驱动用于数据锁存器的控制信号相关的延迟。然而,即使存在数据锁存器链,本专利技术也是有利的,例如,如果在握手链的任何一个中的一级中实现了握手,则每个数据锁存器对应于流水线的相应一级,并被计时。当至少一个位由握手链的选择来表示时,可以使一个链中对于给定数据宽度的数据锁存器的宽度较小。因此,减少了由于需要驱动数据锁存器的控制信号产生的延迟。在流水线和产生用于流水线的数据项的数据源电路之间的接口,优选使用接口电路来选择握手链,通过该握手链,根据数据项的值来发送用于数据项的握手。同样,在流水线和使用(consume)来自流水线的数据项的数据接收电路之间的接口,优选使用接口电路根据用于实现握手的握手链来控制数据信号。数据源和/或接收电路可以是具有握手接口和附带的数据输入/输出的异步操作电路,和/或在中央时钟(对于源和接收电路可以不必是相同时钟)的控制下操作的同步操作电路。本专利技术区别于使用多个握手链,每个握手链具有附带的锁存器,其中握手以数据独立的方式,例如,交替地,分配在不同握手链上。这提高了吞吐(throughput)速度,但是没有减少对锁存器的需求。在本专利技术的实施例中,所要求保护的多个链中的几个链可以以数据值独立分配方案来并联使用,从而该数据在多个链中选择一个链。任何种类的握手协议都可用于交换握手,例如四相协议或两相协议,使用两条握手线(一条用于确认信号,一条用于请求信号)或不同数量握手线的协议等。实际上,在该握手链和/或在不同链中的不同级可以使用不同的协议。在一个实施例中,采用四相握手协议,并且使用如在权利要求中所述的电路。这个电路减少了电路回路中的逻辑门的最大扇出,因而减少了FIFO流水线的循环时间。将使用以下附图介绍本专利技术的这些和其它有利方案。附图说明图1示出FIFO流水线;图2示出握手级;图3示出在握手级中使用的信号;图4a-b示出到FIFO流水线的异步接口电路;图5a-b示出到FIFO流水线的同步接口电路。图1示出由FIFO流水线耦合的数据源电路1和数据接收电路2,在所述FIFO流水线中已经串联连接了许多级10a-d。尽管以举例方式示出了四级,但是应该理解,可以串联连接任何数量的级。每一级10a-d包含第一和第二握手电路12、16。这些级的第一握手电路耦合在第一握手链中(尽管示出了单条线作为握手耦合,但是应该理解,每个握手耦合实际上可包含用于握手信号传输的一条以上的线)。这些级的第二握手电路耦合在第二握手链中。此外,每个级10a-d包含耦合在级10a-d的第一和第二握手电路之间的协调电路15。在工作时,使用在成对的连续级10a-d之间的握手信号传输,将数据位通过流水线异步地传送。根据数据位的逻辑值(逻辑1和0),通过第一链或通过第二链来传递用于该数据位的相应握手。通过延迟来自级10a-d的握手电路12或16中的确认信号,直到来自第一或第二握手电路12、16的前一请求已经由下一级10a-d确认为止,协调电路15保证了不同链中用于逻辑1和0的握手不彼此超越。众所周知,在两个电路之间进行的握手信号传输包括从一个电路向另一个电路发送请求信号,并且一旦另一电路准备好处理下一请求信号就响本文档来自技高网...

【技术保护点】
一种电子电路,包括异步操作的FIFO流水线(10a-d),该FIFO流水线(10a-d)包括在功能上并联的多个握手链,用于通过使握手经过所述握手链中的被选的一个握手链而使每个连续数据项通过,根据所述数据项的值来选择的所述被选的一个握手链,所述FIFO流水线(10a-d)包括连续的流水线级,每个流水线级包括所述多个握手链中的每一个的各个握手级(12、16),以及协调电路(15),其设置成防止相互不同的握手链中的握手彼此超越。

【技术特征摘要】
【国外来华专利技术】EP 2004-1-13 04100087.81.一种电子电路,包括异步操作的FIFO流水线(10a-d),该FIFO流水线(10a-d)包括在功能上并联的多个握手链,用于通过使握手经过所述握手链中的被选的一个握手链而使每个连续数据项通过,根据所述数据项的值来选择的所述被选的一个握手链,所述FIFO流水线(10a-d)包括连续的流水线级,每个流水线级包括所述多个握手链中的每一个的各个握手级(12、16),以及协调电路(15),其设置成防止相互不同的握手链中的握手彼此超越。2.根据权利要求1所述的电子电路,包括具有用于以信号的形式发送所述数据项的值的数据输出(D)的数据源电路(1);耦合在该源电路(1)和所述FIFO流水线(10a-d)之间的接口电路,该接口电路具有耦合到所述握手链中的相应一个上的多个输出握手接口((REQ1_i、ACK1_i)、(REQ0_i、ACK0_i)),以及耦合到所述数据输出(D)的接口选择输入,用于在所述值的控制下选择在其上开始为该值进行握手处理的所述输出握手接口((REQ1_i,ACK1_i)、(REQ0_i,ACK0_i))之一。3.根据权利要求1所述的电子电路,包括具有用于接收所述数据项的值的数据输入(D)的数据接收电路(2);耦合在所述FIFO流水线(10a-d)和所述接收电路(2)之间的接口电路,该接口电路具有耦合到所述握手链中的相应一个上的多个输入握手接口((REQ1_o、ACK1_o)、(REQ0_o、ACK0_o)),该接口电路设置成在所述输入握手接口((REQ1_o,ACK1_o)、(REQ0_o,ACK0_o))中的任何一个上接收到相应的握手时,向所述数据输入(D)施加数据信号,该接口电路根据接收所述相应握手的所述输入握手接口((REQ1_o,ACK1_o)、(REQ0_o,ACK0_o))来控制所述数据信号的值。4.根据权利要求1所述的电子电路,其中所述握手级中的至少一个不耦合到具有数据输入的任何锁存器的定时输入上,所述锁存器用于储存所述数据项的值。5.根据权利要求1所述的电子电路,其中特定流水线级(10a-d)的所述协调电路(15)设置成当输出握手请求在所述握手级(12、16)的任何一个上未决时,延迟所述特定流水线级(10a-d)的所述握手级(12、16)的任何一个上的引入请求的确认。6.根据权利要求1所述的电子电路,其中每个流水线级(10a-d)包括并联的多个输入握手接口((REQ1_i,ACK1_i),(REQ0_i,...

【专利技术属性】
技术研发人员:丹尼尔蒂莫曼斯
申请(专利权)人:皇家飞利浦电子股份有限公司
类型:发明
国别省市:NL[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1