CN1959686A - 模拟异步接口的行为的方法和系统 - Google Patents
模拟异步接口的行为的方法和系统 Download PDFInfo
- Publication number
- CN1959686A CN1959686A CNA2006101429927A CN200610142992A CN1959686A CN 1959686 A CN1959686 A CN 1959686A CN A2006101429927 A CNA2006101429927 A CN A2006101429927A CN 200610142992 A CN200610142992 A CN 200610142992A CN 1959686 A CN1959686 A CN 1959686A
- Authority
- CN
- China
- Prior art keywords
- time lag
- pattern
- time
- bit
- asynchronous interface
- 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.)
- Granted
Links
Images
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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请公开了模拟异步接口的方法和系统。实施例包括变换、编码、状态机或者其它逻辑,对半静态或时限异步接口产生时滞模式,并在时间间隔内将该时滞模式应用于异步接口的数据传送。在该时间间隔终止的时候,实施例会改变该时滞模式。在许多实施例中,时滞模式的变化可能基本上是不确定的。在另一些实施例中,时滞模式的变化遵循一种启发式的或者动态的或者预定的模式。
Description
技术领域
本发明涉及时钟电路领域。更具体地说,本发明是关于模拟异步接口的行为的方法和系统。
背景技术
高速计算的需要推动了如IBM自定时接口(self-timed interfaceSTI)这样的高速时限(time-constrained)异步链路的发展。实际上,STI应用于IBM的大型服务器已有几代产品的历史,它成功提供了更大的输入输出(I/O)子系统带宽容量。时限异步链路是在并行位线上通过基本同步的独立时钟信号传输数据的异步数据接口。特别地,时限异步接口,有时被称为弹性或半静态接口,可以保证一个特定时间间隔内的同步行为以便于数据的传送。
为了数据传送的目的,弹性接口的同步性质被限制在数据测试模式的初始发送和接收之后的一个时间间隔里。通过检查测试模式数据,来确定经总线的不同位线接收到的比特之间的时序关系或者时滞(skew)模式。此后,在该时间间隔内,经过接口的数据可以被认为具有相同的时滞模式。接收逻辑基于测试模式数据识别出时滞模式,并确定同步捕捉经同一接口发送的后续数据所需要的时序。
弹性接口利用了以下事实:独立驱动的时钟之间会随着时间的推移发生相位变化,且变化速度基本上恒定。特别地,弹性接口的时钟在该时间间隔里会适当地保持同相,这样,在该时间间隔,对数据传送来说,时钟可被认为是有效同步的。但是,在该时间间隔终止以后,弹性接口又处于异步状态。
当测试通过弹性接口的通信方面的电路性能时,电路设计者必须检验电路在特定时间间隔里能够传送数据。否则,电路就不能正常工作。
为了检验电路性能,在投入大量资金搭建电路之前,设计者利用电路仿真器模拟电路的行为。理想情况下,电路仿真精确地模拟出电路运行中每一个可能出现问题的方面。就弹性接口来看,现今的电路仿真器存在的问题是利用时滞/抖动(skew/jitter)逻辑来模拟异步行为。时滞/抖动逻辑是不确定的,即,对一个信号所使用的相移总是非静止的。所以时滞/抖动逻辑不能用于弹性接口或其它半静态接口,这些接口要求施加的时滞/抖动在一个时间段内保持静止。
当前对于这一问题的解决方法是采用静态时滞模式。它避免了在弹性接口的电路仿真方面存在的缺陷。静态时滞模式模拟弹性接口的一个时滞模式,但是这种解决方法不能模拟弹性接口在同步时间间隔终止后的异步行为,而这是电路运行中的一个潜在问题方面。
发明内容
上述问题主要通过模拟异步接口的方法和系统来解决。一个实施例提出了一种模拟异步接口的行为的方法。该方法对异步接口的多条位线产生第一时滞模式,并在一个时间间隔里将这个第一时滞模式应用于与这些位线相关的比特。进一步,该方法在该时间间隔之后将第二时滞模式应用于与这些位线相关的后续比特。
另一个具体实施例提出了一种模拟异步接口的行为的系统。该系统包含一个延迟施加器(delay applicator),它将时滞施加到经多条位线通过异步接口的比特。该系统还包含一个延迟发生器,它在一个时间间隔里对这些位线产生第一时滞模式,并在该时间间隔之后对经这些位线通过异步接口的后续比特产生第二时滞模式。
另一个实施例提出了一种机器可访问的介质。这种介质包含用于模拟异步接口的行为的指令。当这些指令被机器执行时,使机器执行一系列操作。所述操作包括对异步接口的多条位线产生第一时滞模式,并在一个时间间隔里将这个第一时滞模式应用于与这些位线相关的比特。所述操作还包括在该时间间隔之后将第二时滞模式应用于与这些位线相关的后续比特。
附图说明
在参照附图阅读下面的具体说明后,本发明的优势显而易见,图中相似的标记指类似元件:
图1示出了一个系统级别的电路仿真的实施例,来模拟一处理器和另一芯片之间的64位点对点总线的同步和异步行为;
图2示出了比特的发送和接收时序图的例子,这些比特通过N位点对点总线,例如图1中64位点对点总线;
图3示出了一个电路仿真的实施例,它将一个时滞应用于一条位线,来模拟时限异步接口的同步和异步行为;
图4示出了一个分级多路选择器均衡时滞选择的概率的实施例,这个时滞是从一组七个不同的可能时滞中选择出来的,以模拟弹性接口的位线的行为;和
图5示出了一个实施例的流程图,它模拟异步总线的位线的同步和异步行为。
具体实施方式
以下是附图中示出的本发明的实施例的详细说明。实施例的细节清楚地介绍了本发明。但是,所提供的这些细节并不是为了限制实施例预期应用的变化范围。相反地,目的是为了涵盖在附加权利要求所限定的本发明的精神和范围内所有对本发明的修改、等效和替代的实施方式。以下详细的说明是为了使本领域技术人员容易理解这种实施例。
总地来说,本发明构想了模拟异步接口的方法和系统。实施例包括变换、编码、状态机或者其它逻辑,来对半静态或时限异步接口产生一个时滞模式,并在一个时间间隔内将该时滞模式应用于异步接口的数据传送。在该时间间隔终止的时候,实施例会改变该时滞模式。在许多实施例中,时滞模式的变化可能基本上是不确定的。在另一些实施例中,时滞模式的变化遵循一种启发式(heuristic)的或者其他动态的或者预定的模式。
以下在就具体电路或者逻辑结构方面介绍实施例的时候,本领域技术人员会意识到本发明的实施例可以方便地由其它基本等同的结构实现。
现在来看附图。图1示出了一个系统级别的电路仿真100的实施例,它模拟一个处理器105和另一芯片140之间的64位点对点总线、即总线133和135的同步和异步行为。例如,处理器105可以模拟一个IBM PowerPC 970处理器的行为,芯片140可以模拟一个被设计用来与处理器105一同工作的内存控制中心的行为。
与从处理器105到芯片140的数据传输相关的逻辑包括一个同步计数器107、延迟施加器109、延迟发生器111和发送器115,它们将一个时滞模式应用于在32位总线133上传输的数据。在另一些实施例中,同步计数器107、延迟施加器109、延迟发生器111居于总线133的接收器侧。在这些实施例中,时滞模式可以应用于接收器142的初始接收锁存器,而不是应用于发送器115的初始发送锁存器。此外,在发送侧应用时滞模式的实施方式也可以模拟完全的传播延迟。
同步计数器107计算总线133的时钟保持基本同相的时间间隔的时钟周期,即被称为同步计数,以便在该时间间隔终止的时候产生一个新的时滞模式。在一些实施例中,时间间隔会随着与该时间间隔相关的误差余量而变化。在另一些实施例中,时间间隔的同步计数在发送数据测试模式的时候复位。
本实施例示出的是同步计数器107用于总线133的发送侧、同步计数器144用于总线133的接收侧,而其它一些实施例将同步计数器107这样的单个同步计数器同时用于总线133的两侧。另外一些实施例利用同步计数器107来为不止一条总线如总线133和总线135指示时间间隔的终止。在一个实施例中,利用其它的逻辑代替同步计数器107来产生一个信号,该信号指示通过象总线133和135这样的异步总线进行同步数据传送的时间间隔的终止。
延迟施加器109将时滞施加到经总线133的多条位线通过异步接口的比特数据113。在本实施例中,几种可能的时滞可以应用于每一位线,因此延迟发生器111从可用的信号中选择一个信号对每一位线产生时滞模式。在另外的实施例中,延迟施加器109在延迟发生器111选择时滞模式之后将时滞施加到比特。举例来说,在这些实施例中,延迟发生器111为总线133的每一位线选择时滞,然后延迟施加器109将时滞模式应用于在总线133上传输的比特。
延迟发生器111在一个时间间隔里为总线133的位线产生第一时滞模式。在许多实施例中,延迟发生器109对总线133的每一位线产生一个独立的时滞。通过从延迟施加器109给出的一个预先设定的时滞信号范围内选择时滞信号,来产生这些时滞模式。这一范围对于总线133可能包括一个可行的时滞范围。例如,延迟发生器109产生32个随机的选择信号,每个选择信号对应总线133的一条位线,在来自延迟施加器109的延迟输入中进行选择。然后,在接收到同步计数器107发出时间间隔正要终止或已经终止的指示的时候,延迟发生器111会产生新的选择信号来修改用于通过总线133到芯片140的后续比特的时滞模式。
发送器115包含一个物理层设备的仿真,以便于通过总线133发送比特到接收器142。同样地,接收器142包含一个物理层设备的仿真,以便于从接收器115接收比特。根据仿真的参数,发送器115和接收器142可以模拟理想或者欠理想情况下的电路运行。
同步计数器117、延迟发生器119和延迟施加器121组成的逻辑将一个时滞模式应用于总线135接收侧的比特。在其它一些实施例中,芯片140包含例如延迟施加器109和延迟发生器111这样的逻辑,以便在通过总线135发送比特之前将时滞模式应用于这些比特。
在本实施例中,发送器150经总线135发送数据到接收器123,而没有与一些因素如总线的位线之间的温度和电压差异、位线的长度差异或者类似的因素相关的时滞。在另外一些实施例中,从芯片140发送比特之前,一个或更多的这种时滞或者其它时滞被施加到通过总线135的比特。
延迟施加器121接收到比特,并对每一比特加上多个不同的时滞,这些时滞均处于总线135的位线所期望的全局最小和最大延时(latency)之间。在延迟施加器121处施加最小和最大时滞之间的时滞,可以有利地避免一些实施例中为了模拟一个零时钟周期的时滞而需要的单独的逻辑。
基于同步计数器117的指示,延迟发生器119可以从延迟施加器121提供的多个时滞模式中为比特随机选择一个时滞模式。同步计数器117的指示与通过总线135的测试模式数据的传输相关联,以及/或者与总线135的一个基本上同步的时间间隔的终止相关联。然后延迟发生器119将比特发送到时滞模式确定器129。
同步计数器117对总线135执行与同步计数器107基本相似的操作。在一些实施例中,同步计数器117包含逻辑来从初始数字递减同步计数直到零。当达到零时,同步计数器117发送一个信号给延迟发生器119以选择一个新的时滞模式。在其它实施例中,同步计数器117包含为不同和/或相关目的设计的逻辑的部分。
同步计数器125产生一个信号,指明通过总线135传送数据的基本上同步的时间间隔的终止。同步计数器125包含逻辑,来模拟可能遇到的延迟发生器119接收到的信号和时滞模式确定器129接收到的信号之间的差别。在其它实施例中,时滞模式发生器129从同步计数器117接收到表示通过总线135传送数据的基本上同步的时间间隔的终止的信号。
时滞模式确定器129从同步计数器125接收一个指示,来区分基本上同步的行为的第一时间间隔的终止。然后时滞模式确定器129响应于接收到新的比特测试模式,在基本上同步的行为的第二时间间隔里为通过总线135的数据传送确定新的时滞模式。新的时滞模式可以被存储在当前时滞模式127中,并用来组织第二时间间隔里接收到的数据。
时滞模式确定器129在基本上同步的行为的第二时间间隔里对这些位线应用当前时滞模式,并通过数据出口131将数据发送给其它逻辑。当前时滞模式127可以包含存储器或者逻辑,为通过总线135的比特保持最新的有效时滞模式。
芯片140是处理器105的伴随芯片的模拟,如内存控制中心、主桥、监听控制器、或者类似的芯片。同步计数器144、时滞模式确定器146和当前时滞模式148模拟从发送器115接收的数据的接收和译码,它们的工作方式与同步计数器125、时滞模式确定器129和当前时滞模式127是相似的。
图2示出了一个经过例如图1中的64位点对点总线的总线的比特的发送和接收的时序图200。时序图200表示了与从锁存器1到锁存器N的串联锁存器组相关的时滞延迟的增量。举例来说,与锁存器1相关的时滞对于在锁存器1那一列标有“X”的位线是一个一时钟周期延迟。在其它的实施例中,与锁存器1相关的时滞可能是一个零时钟周期延迟,用以模拟没有时滞或者负时滞,这取决于与锁存器相关的时间参考。在另外一些实施例中,锁存器代表两个或更多时钟周期的延迟。
在本实施例中,锁存器1代表零时滞,从2到N的锁存器依次代表一时钟周期延迟的增量。这样,锁存器2代表一时钟周期延迟,锁存器N代表N-1时钟周期的时钟延迟。举例来说,位线1那行中的“X”位于锁存器1之下,表示经位线1接收到的比特具有有零时钟周期延迟,位线N那行中的“X”位于锁存器2那一列,表示经位线N接收到的比特将有一个一时钟周期时滞。类似地,锁存器3那列的“X”表示经位线2接收到的比特有一个二时钟周期的时滞,锁存器4那列的每个“X”表示经位线3和4接收到的比特有一个三时钟周期的时滞。
对于包括位线1到位线N的总线的时钟时滞的组合是时滞模式的一个例子。时滞模式可以通过比较经总线传输的测试模式数据的比特的时滞来确定。举例来说,每一位线上的测试模式数据经一连串锁存器传播,直到接收到所有的测试模式数据。一旦接收到测试模式数据,通过这一连串锁存器的测试模式数据的比特的相对进程关系就可以确定时滞模式。
现在来看图3。图3示出了一个电路仿真300的实施例,它将时滞应用于一条位线,来模拟时限异步接口的同步和异步行为。电路仿真300包括同步计数器310、延迟发生器330和延迟施加器340,来模拟行为。举例来说,同步计数器310对周期数进行计数,即同步计数,它是为异步接口指定或确定的同步行为的周期数。当测试模式数据经异步接口被发送时,产生一个复位信号316将同步计数复位。复位信号316是响应于在输入305处施加一个逻辑1而产生的,它表明测试数据正在被发送。
逻辑1被施加到“或”逻辑312的一个输入。“或”逻辑312的第二输入是同步计数器310的输出信号326,它在同步计数结束前保持为逻辑零。间隔计数器320递减同步计数直到零,或者从零开始计数直到同步计数。在一些实施例中,同步计数是固定的。在另一些实施例中,由间隔计数器320计数的同步计数会周期性地改变。复位信号316重启同步计数。
一旦间隔计数器320完成同步计数,时滞间隔322接收到一个信号,指出异步接口的基本上同步的行为的时间间隔已经终止。响应于这个信号,时滞间隔322发送一个信号326给延迟发生器330,同时也可能为与同一总线或另一总线相关的其它位线,将该信号发送到其它延迟发生器。
延迟发生器330包括随机逻辑332和多路选择器334。随机逻辑332为多路选择器334产生一个基本上随机的选择信号。在一些实施例中,随机逻辑332产生的这个选择信号是从一些相等权重的选择信号中选择出来的。在另一些实施例中,这些选择信号的权重可以不同。
选择信号包括一个或多个比特,多路选择器334基于这个选择信号从延迟施加器340选择一个输入。在本实施例中从延迟施加器340中选择延迟一个时滞的比特作为输入。在许多实施例中,来自延迟施加器340的每一个输入可以包括延迟不同时滞的比特。对于相应异步总线的位线,这些时滞的范围从零时滞直到最大时滞。在另外一些实施例中,零时滞这一项是不可用的,所以这些时滞在最小时滞到最大时滞之间变化。还有一些实施例中,可用的最小时滞可以小于零时滞或者负时滞,这取决于仿真参数、为锁存器选择的时间参考或者逻辑的评估工具。
随机逻辑332在多路选择器334的输入处保持同一信号,直到从同步计数器310接收到一个信号来产生下一个选择信号。在某些实施例中,这个随后的选择信号可能相同、或者不同于先前的选择信号。因此,延迟发生器330为随后的比特选择相同的时滞,直到随机逻辑332产生一个新的选择信号。
延迟施加器340接收一个比特的位线数据,并将多个不同的延迟加到该比特上。在为这条位线选定的时滞范围内的每一个延迟都被输入多路选择器334。为了说明本实施例,假设锁存器342到348中的每一个锁存器,将一时钟周期延迟加到在锁存器342的位线数据输入处接收到的一个比特上。换句话说,这个比特通过这些锁存器依次被传播直到锁存器N。通过多路选择器334选择锁存器342的输出,给这个比特提供一时钟周期时滞。类似地,锁存器344的输出提供二周期延迟,锁存器346的输出供三周期时滞,锁存器348的输出供N周期时滞。锁存器350,在通过使能输入被使能的情况下,将一个零周期时滞作为多路选择器334的输入提供给位线数据。
图4示出了一个分级多路选择器400均衡时滞选择可能性的实施例,这个时滞是从一组七个不同的可能时滞405、425和440中选择出来的,来模拟弹性接口的一条位线的行为。分级多路选择器400或者另一个分级多路选择器可以代替图3的多路选择器334,处理从图3中的延迟施加器340接收到的、个数为非2的幂的输入。
多路选择器(MUX)420例如从一个延迟施加器接收四个输入405,并例如从一个随机逻辑接收两个选择信号410和415。每个选择信号都有同等的几率“1/1”成为逻辑1或者逻辑0。“1/1”代表逻辑0和逻辑1的权重。
同样的,MUX435在两个输入425中进行选择。选择信号430提供了50%的几率成为逻辑0和50%的几率成为逻辑1,用“1/1”表示。然后,MUX420和MUX435所选中的输出被输入到MUX450。MUX450接收到一个选择信号445。相比选择逻辑1,这个选择信号有三分之一的几率“1/3”选择逻辑0,因此选择信号445为选中输入405和425中的每一个信号提供了同等的概率。
从输入405和425进行选择之后,被选中的输入被施加到MUX460的一个输入。第七个可能的输入440也被施加到MUX460的一个输入。然后MUX460接收到一个选择信号455,它提供了七分之一的几率“1/7”选择输入440。从七个输入中选中的输入然后经输出465发送到其它逻辑。
现在来看图5,它示出了一个模拟异步总线的位线的同步和异步行为的实施例的流程图。响应于到发送测试模式数据,时间间隔计数或者同步计数被复位,流程图500由此处开始(单元510)。例如,在异步总线上的基本上同步的数据传送的时间间隔的初始化过程中,测试模式数据经总线被发送,为总线上的数据确定一个时滞模式。当测试模式数据经总线发送时,对基本上同步的行为的时间间隔向下计数被重启。
每过一个时钟周期计数器对时间间隔计数减一(单元515),直到间隔结束(单元520)。一旦时间间隔计数到零,计数器信号逻辑产生一个随机选择信号(单元525),这个信号被施加到例如多路选择器、多级多路选择器或类似的逻辑的选择输入。然后基于这个随机选择信号,多路选择器为异步总线的一条位线选择一个时滞(单元530)。例如,多路选择器对于该比特可能包含几个输入,每个输入会将一个不同数量的延迟或时滞加到经异步总线传输的这个比特。随机选择信号有助于以基本上不确定的方式在这些时滞中选择一个时滞。在其它实施例中,选择这些时滞之一遵循一种启发式的或者动态的或者预定的模式。当基本上同步的行为的时间间隔终止的时候,多路选择器接收一个新的选择信号,以基本上不确定的方式再次修改时滞模式,这样可以方便地模拟时限异步总线的行为。
如果总线还有另外的位线(单元540),通过产生随机选择信号来为每一位线选择一个基本上不确定的时滞(单元525),并基于随机选择信号为每一位线选择时滞(单元530),然后将这些时滞加到通过这些总线位线的数据上(单元535)。进一步,如果电路仿真还要继续(单元545),就重复流程图500中从单元510到单元540的每一个单元。否则,电路仿真结束。
本发明的另一个实施例是实现为一个电路仿真的程序产品,如图1所示的电路仿真100。程序产品的程序限定了实施例的功能(包括这里所介绍的方法),可以包含在各种数据和/或信号承载介质上。示例性的数据和/或信号承载介质包括,但不限于:(一)永久保存在不可写存储介质上的信息(例如计算机内的只读存储设备,像可被CD-ROM驱动器读取的CD-ROM盘);(二)保存在可写存储介质(例如磁盘驱动器或硬盘驱动器内的软盘)上的可更改信息;和(三)由通信介质传递给计算机的信息,例如通过计算机或电话网络,包括无线通信。后一个实施例具体包括从因特网和其它网络下载的信息。当这种数据和/或信号承载介质载有可以实现本发明功能的计算机可读指令,它们代表本发明的实施例。
一般来说,用以实现本发明实施例的例行程序可以是一个操作系统的一部分,或者是一个具体的应用软件、组件、程序、模块、对象或指令序列。本发明的计算机程序通常包括大量将被计算机翻译成机器可读格式的指令和可执行指令。同时,程序还包括位于程序、内存或者存储设备中的变量和数据结构。另外,基于本发明某个实施例中的应用功能,可以得到许多下文所介绍的程序。但是,应当注意的是,所使用的任何特定程序术语仅仅是出于方便的原因,本发明不应该只是局限于由这样的术语所确定或暗示的应用当中。
对于本领域技术人员,本发明所设计的模拟异步接口的行为的方法和系统,其优点显而易见。容易理解,详细说明和附图所展示和介绍的本发明的形式仅仅是作为本发明的实例。后面的权利要求,其目的是为了广泛被地理解为包括所公开的示例性实施例的所有改变。
虽然本发明及其一些优点已经在一些实施例中有详细介绍,但应当清楚的是,这里所做的各种修改、替换和改变没有离开所附权利要求限定的本发明的实质和范围。虽然本发明的某个实施例可以实现多个目的,但是并不是每一个在所附的权利要求范围内的实施例可以实现所有的目的。而且,本发明的应用范围不是被限制在说明书所介绍的过程、机器、加工、材料的组合、方式、方法和步骤的实施例中。本领域技术人员从本发明的公开内容总可以很容易地理解本发明所揭示的、现有的或将被发展的过程、机器、加工、材料的组合、方式、方法和步骤与这里所介绍的相应实施例基本实现相同的功能或基本达到相同的目的。因此,所附的权利要求是为了将这些过程、机器、加工、材料的组合、方式、方法和步骤包括在其范围之内。
Claims (17)
1.一种模拟异步接口的行为的方法,该方法包括:
为异步接口的多条位线产生第一时滞模式;
在一个时间间隔内将第一时滞模式应用于与所述多条位线相关的比特;以及
在该时间间隔之后将第二时滞模式应用于与所述多条位线相关的后续比特。
2.如权利要求1所述的方法,进一步包括,基于测试模式的比特和接收到的比特的模式之间的比较,确定所述多条位线之间的时滞模式。
3.如权利要求1所述的方法,进一步包括,对所述时间间隔的时钟周期进行计数,并在发送测试模式比特时复位时间间隔。
4.如权利要求1所述的方法,其中产生第一模式的步骤包括为一个多路选择器逻辑产生一个选择信号,以便为至少一条所述位线选择时滞。
5.如权利要求4所述的方法,其中产生第一模式的步骤包括基于所述选择信号、通过多路选择器逻辑从一组时滞中选择所述时滞,其中从这组时滞中选择所述时滞的概率是预先确定的。
6.如权利要求1所述的方法,其中应用第一模式的步骤包括在通过异步接口发送数据之前应用第一模式。
7.如权利要求1所述的方法,其中应用第一模式的步骤包括在接收器处从异步接口接收到数据时应用第一模式。
8.如权利要求1所述的方法,其中应用第二时滞模式的步骤包括产生该第二时滞模式。
9.如权利要求7所述的方法,其中产生第二时滞模式的步骤包括以基本上不确定的方式为所述多条位线中的每一条位线选择时滞。
10.一种模拟异步接口的行为的系统,该系统包括:
延迟施加器,将时滞施加到经多条位线通过异步接口的比特上;和
延迟发生器,在一个时间间隔内为所述多条位线产生第一时滞模式,并在该时间间隔之后为经所述多条位线通过异步接口的后续比特产生第二时滞模式。
11.如权利要求10所述的系统,进一步包括一个同步计数器,用于对所述时间间隔的时钟周期进行计数来指明该时间间隔的结束,并在发送测试模式数据时重启时间间隔。
12.如权利要求10所述的系统,其中延迟施加器包括延迟逻辑,用于在通过异步接口发送比特之前施加该时滞。
13.如权利要求10所述的系统,其中延迟施加器包括延迟逻辑,用于在从位线接收到比特之后施加时滞。
14.如权利要求11所述的系统,其中延迟发生器与同步计数器相耦合,以便在所述时间间隔终止时产生第二时滞模式,其中第二时滞模式基本上是不确定的。
15.如权利要求10所述的系统,其中延迟发生器包括随机逻辑,用于为多路选择器逻辑产生一个选择信号,以便从被施加到通过异步接口的比特上的时滞中,为至少一条位线选择时滞。
16.如权利要求15所述的系统,其中延迟发生器包括多路选择器逻辑,用于基于选择信号从被施加到通过异步接口的比特上的时滞中进行选择,其中从这些时滞中选择一个时滞的概率是预先确定的。
17.如权利要求15所述的系统,其中多路选择器逻辑适用于从这些时滞中为所述多条位线中的每一条位线独立选择一个时滞。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/260,557 US20070098020A1 (en) | 2005-10-27 | 2005-10-27 | Methods and arrangements to model an asynchronous interface |
US11/260,557 | 2005-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1959686A true CN1959686A (zh) | 2007-05-09 |
CN100452064C CN100452064C (zh) | 2009-01-14 |
Family
ID=37996226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101429927A Expired - Fee Related CN100452064C (zh) | 2005-10-27 | 2006-10-26 | 模拟异步接口的行为的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20070098020A1 (zh) |
CN (1) | CN100452064C (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417810B2 (en) * | 2007-01-10 | 2013-04-09 | Broadcom Corporation | System and method for managing counters |
US7865674B2 (en) * | 2007-08-31 | 2011-01-04 | International Business Machines Corporation | System for enhancing the memory bandwidth available through a memory module |
US7584308B2 (en) * | 2007-08-31 | 2009-09-01 | International Business Machines Corporation | System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel |
US7899983B2 (en) | 2007-08-31 | 2011-03-01 | International Business Machines Corporation | Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module |
US8082482B2 (en) * | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US8086936B2 (en) * | 2007-08-31 | 2011-12-27 | International Business Machines Corporation | Performing error correction at a memory device level that is transparent to a memory channel |
US7818497B2 (en) * | 2007-08-31 | 2010-10-19 | International Business Machines Corporation | Buffered memory module supporting two independent memory channels |
US7861014B2 (en) * | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US7840748B2 (en) * | 2007-08-31 | 2010-11-23 | International Business Machines Corporation | Buffered memory module with multiple memory device data interface ports supporting double the memory capacity |
US8019919B2 (en) * | 2007-09-05 | 2011-09-13 | International Business Machines Corporation | Method for enhancing the memory bandwidth available through a memory module |
US7558887B2 (en) * | 2007-09-05 | 2009-07-07 | International Business Machines Corporation | Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel |
US7930469B2 (en) | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to provide memory system power reduction without reducing overall memory system performance |
US7925826B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency |
US8140936B2 (en) * | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
US7925825B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to support a full asynchronous interface within a memory hub device |
US7770077B2 (en) * | 2008-01-24 | 2010-08-03 | International Business Machines Corporation | Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem |
US7930470B2 (en) * | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller |
US7925824B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency |
US9552320B2 (en) | 2013-01-22 | 2017-01-24 | Via Technologies, Inc. | Source synchronous data strobe misalignment compensation mechanism |
US9319035B2 (en) * | 2013-01-22 | 2016-04-19 | Via Technologies, Inc. | Source synchronous bus signal alignment compensation mechanism |
US9557765B2 (en) | 2013-01-22 | 2017-01-31 | Via Technologies, Inc. | Mechanism for automatically aligning data signals and strobe signals on a source synchronous bus |
US10331827B1 (en) * | 2013-06-27 | 2019-06-25 | Altera Corporation | Method and apparatus for processing data and performing crosstalk simulation |
EP3060977A4 (en) * | 2013-10-23 | 2017-07-12 | Intel Corporation | Emi mitigation on high-speed lanes using false stall |
KR102266626B1 (ko) * | 2017-07-17 | 2021-06-17 | 엘에스엠트론 주식회사 | 내장형 안테나를 갖는 무선통신칩, 무선통신칩용 내장형 안테나, 및 내장형 안테나를 갖는 무선통신칩의 제조 방법 |
US12135668B2 (en) * | 2022-11-16 | 2024-11-05 | Stmicroelectronics S.R.L. | Asynchronous controller for processing unit |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5392227A (en) * | 1992-07-24 | 1995-02-21 | Logic Modeling Corporation | System and method for generating electronic circuit simulation models having improved accuracy |
US5553276A (en) * | 1993-06-30 | 1996-09-03 | International Business Machines Corporation | Self-time processor with dynamic clock generator having plurality of tracking elements for outputting sequencing signals to functional units |
US5621705A (en) * | 1994-05-02 | 1997-04-15 | Colorado Seminary | Programmable timing unit for generating multiple coherent timing signals |
US5598113A (en) * | 1995-01-19 | 1997-01-28 | Intel Corporation | Fully asynchronous interface with programmable metastability settling time synchronizer |
US6876678B1 (en) * | 1999-02-04 | 2005-04-05 | Cisco Technology, Inc. | Time division multiplexing method and apparatus for asynchronous data stream |
US6334163B1 (en) * | 1999-03-05 | 2001-12-25 | International Business Machines Corp. | Elastic interface apparatus and method therefor |
US6892314B2 (en) * | 2001-04-02 | 2005-05-10 | International Business Machines Corporation | Method and system of automatic delay detection and receiver adjustment for synchronous bus interface |
US7117126B2 (en) * | 2001-09-05 | 2006-10-03 | International Business Machines Corporation | Data processing system and method with dynamic idle for tunable interface calibration |
US6735543B2 (en) * | 2001-11-29 | 2004-05-11 | International Business Machines Corporation | Method and apparatus for testing, characterizing and tuning a chip interface |
US7397848B2 (en) * | 2003-04-09 | 2008-07-08 | Rambus Inc. | Partial response receiver |
US7319729B2 (en) * | 2003-09-29 | 2008-01-15 | International Business Machines Corporation | Asynchronous interface methods and apparatus |
US6989696B2 (en) * | 2003-11-19 | 2006-01-24 | International Business Machines Corporation | System and method for synchronizing divide-by counters |
KR100551485B1 (ko) * | 2003-12-04 | 2006-02-13 | 삼성전자주식회사 | 메모리 장치의 타이밍 제어 방법 |
US7089518B2 (en) * | 2004-05-08 | 2006-08-08 | International Business Machines Corporation | Method and program product for modelling behavior of asynchronous clocks in a system having multiple clocks |
CN1303811C (zh) * | 2004-11-16 | 2007-03-07 | 熊猫电子集团有限公司 | 电视节目信号的搜索方法 |
US7412618B2 (en) * | 2005-02-11 | 2008-08-12 | International Business Machines Corporation | Combined alignment scrambler function for elastic interface |
-
2005
- 2005-10-27 US US11/260,557 patent/US20070098020A1/en not_active Abandoned
-
2006
- 2006-10-26 CN CNB2006101429927A patent/CN100452064C/zh not_active Expired - Fee Related
-
2008
- 2008-03-28 US US12/058,660 patent/US7995619B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070098020A1 (en) | 2007-05-03 |
US20080192645A1 (en) | 2008-08-14 |
CN100452064C (zh) | 2009-01-14 |
US7995619B2 (en) | 2011-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1959686A (zh) | 模拟异步接口的行为的方法和系统 | |
AU2019284002B2 (en) | Data processing method and related products | |
US20030200073A1 (en) | Partitioning a model into a plurality of independent partitions to be processed within a distributed environment | |
WO2017039803A1 (en) | Systems and methods for verification of code resiliency for data storage | |
CN105009089B (zh) | 用于促进对指令违反行为的管理的设备和方法 | |
CN112256623B (zh) | 一种基于异构系统的处理性能优化方法及装置 | |
CN111461335A (zh) | 基于mpi多进程的含噪声单量子逻辑门实现方法及装置 | |
CN113886162A (zh) | 一种计算设备性能测试方法、计算设备及存储介质 | |
US10776012B2 (en) | Lock-free datapath design for efficient parallel processing storage array implementation | |
Cornebize et al. | Fast and faithful performance prediction of MPI applications: the HPL case study | |
CN113094235B (zh) | 一种尾延迟异常云审计系统及方法 | |
CN112068942B (zh) | 一种基于单节点模拟的大规模并行系统模拟方法 | |
Eleliemy et al. | Exploring the relation between two levels of scheduling using a novel simulation approach | |
CN116961696A (zh) | 一种双模模块通信方法、装置、电子设备及存储介质 | |
Bai et al. | Unison: a parallel-efficient and user-transparent network simulation kernel | |
Poyraz et al. | Application-specific I/O optimizations on petascale supercomputers | |
Hu et al. | Design of a simulation model for high performance LINPACK in hybrid CPU-GPU systems | |
CN101064685A (zh) | 代理分配方法和设备 | |
TW202315360A (zh) | 微服務分配方法、電子設備及儲存介質 | |
CN113806431A (zh) | 一种传输仿真数据的方法、电子系统及存储介质 | |
CN111901070B (zh) | 一种数据传输方法 | |
CN118364778B (zh) | 验证逻辑系统设计的方法、电子装置和存储介质 | |
Khetawat et al. | Predicting GPUDirect Benefits for HPC Workloads | |
Abdelhafez et al. | Ahead: A tool for projecting next-generation hardware enhancements on gpu-accelerated systems | |
CN114330217B (zh) | 被测设计引脚位置驱动的同时的信号分组和引脚分配 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090114 Termination date: 20091126 |