CN101079018B - 锁定源同步选通接收器的装置及其方法 - Google Patents
锁定源同步选通接收器的装置及其方法 Download PDFInfo
- Publication number
- CN101079018B CN101079018B CN2007101371136A CN200710137113A CN101079018B CN 101079018 B CN101079018 B CN 101079018B CN 2007101371136 A CN2007101371136 A CN 2007101371136A CN 200710137113 A CN200710137113 A CN 200710137113A CN 101079018 B CN101079018 B CN 101079018B
- Authority
- CN
- China
- Prior art keywords
- signal
- reference clock
- receiver
- bus
- gating
- 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
- 230000001360 synchronised effect Effects 0.000 title claims description 70
- 238000000034 method Methods 0.000 title claims description 41
- 239000013598 vector Substances 0.000 claims abstract description 64
- 238000012546 transfer Methods 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 17
- 238000004519 manufacturing process Methods 0.000 claims description 15
- 230000003111 delayed effect Effects 0.000 claims description 12
- 230000001131 transforming effect Effects 0.000 abstract 1
- 101000885321 Homo sapiens Serine/threonine-protein kinase DCLK1 Proteins 0.000 description 38
- 102100039758 Serine/threonine-protein kinase DCLK1 Human genes 0.000 description 38
- 239000003795 chemical substances by application Substances 0.000 description 25
- 101100444027 Drosophila melanogaster Dso1 gene Proteins 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 16
- 102100030373 HSPB1-associated protein 1 Human genes 0.000 description 14
- 101000843045 Homo sapiens HSPB1-associated protein 1 Proteins 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- HGAZMNJKRQFZKS-UHFFFAOYSA-N chloroethene;ethenyl acetate Chemical compound ClC=C.CC(=O)OC=C HGAZMNJKRQFZKS-UHFFFAOYSA-N 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010587 phase diagram Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
Abstract
本发明提供一种锁定源同步选通接收器的装置,其包括延迟锁定环和选通接收器。该延迟锁定环接收参考时钟,并产生选择向量信号和编码选择向量信号。该选择向量用来在参考时钟信号的多个延迟版本中选择一个,该些参考时钟信号的多个延迟版本是由该参考时钟信号延迟预定数目个周期产生的。该选择向量减去一个量值,被格雷编码后用来指示第一时间周期。选通接收器都与延迟锁定环耦接。每个选通接收器接收该编码选择向量信号和相应的选通信号,并在相应选通信号转换后的第一时间周期内将相应的选通信号锁定。格雷码多路器用该编码选择向量信号选择相应选通信号的一个延迟版本来决定该第一时间周期。
Description
技术领域
本发明涉及的是微电子领域,更具体地说,是关于一种锁定源同步选通接收器的装置和方法,用于防止使用源同步数据和地址总线的微处理器系统因总线噪声所造成的错误指示。且本发明还提供一种装置及方法应用于具有不同频率的源同步总线的微处理系统。
背景技术
现在计算机系统采用源同步系统总线来为总线代理间提供数据的交换,例如在微处理器和存储器集线器之间的数据交换。“源同步”总线协议使得数据可在非常高的速度下传送,源同步协议是基于以下的原则操作:传输总线代理(bus agent)将数据放在总线上一段固定的时间,并发出一个和该数据对应的“选通”信号,用来指示接收总线代理该数据是有效的。换言之,数据信号及其相应的选通信号以相同的传播路径经过总线,当接收器探测到相应选通信号的转换时,接收器便可确信数据信号上的数据是有效的。
但是选通信号会受到一些不明来源的影响而造成的误差,这些不明来源可能是邻近信号引导或辐射的发射物。虽然以前的总线协议能够探测和校正源同步总线上的选通毛刺(glitch)造成的误差,但由于没有绝对参考时间,只能通过许多个总线时钟周期当作不同的时间参考值,用以判定选通信号的转换是真正的转换还是干扰脉冲。因此先前的协议被认为是复杂的,再者,对于当前的源同步总线,大量的数据仅在一个总线时钟周期被传输,并且提供给接收总线代理表明数据有效的唯一指示仅仅只是数据选通信号而已。选通信号转换的时序是总线时钟频率的函数,但是对于接收器来说,一个数据选通信号似乎在所有的情形下对于总线时钟而言都是非同步的。这是由于总线时钟和数据选通信号之间存在一个固定的且未知的相位差。
因此,许多技术用于探测和校正发生在源同步总线上的选通信号的毛刺干扰。本发明涉及的其中一种被称为“接收器锁定”的技术。如前所述,源同步总线协议通常只为数据选通指定总线时钟周期的一小段。假设数据选通周期被限制在总线时钟周期的1/4以内。现有技术提供了许多装置来在总线时钟周期1/4的时间内将接收器锁定。但是,这些技术采用了固定的逻辑,譬如一些发明人采用了固定的逻辑来计算锁定时间,因此,当操作参数变化时,譬如总线时钟频率微小变化,设备参数变化以及核心操作电压变化的时候,锁定时间会被相反地影响。另外,芯片的制造过程亦会造成不同的锁定时间。于是设计者被迫使用最坏情况下的脚本来使用这些技术。
现今的专家学者都注意到了传统的接收器锁定技术的不完善,因为这些技术没有为前面提到的变量做任何补偿,因此许多误差被引入了计算机系统中。
对于以上讨论的关于现在的集成电路中探测和校正发生在源同步系统总线中的误差的背景技术,参考图1-图2。
见图1,该框图用于说明现在的计算机系统100中,两个或以上的总线代理101通过源同步系统总线102来交换数据。该总线代理101可以是任何一个单元或者该计算机系统100中的任何一个经由总线102来传输和接收数据的单元。本领域技术人员都知道,当今一个典型的总线代理101可以具体化,但不限于微处理器或者中央处理器,存储器集线器或者存储器控制器,主或者辅外围设备,直接存储器通道单元,视频控制器,或者其它类型的总线接口单元。广义上说,为了传输数据,一个总线代理101将驱动总线102上的信号的一个子集,同时另一个总线代理101探测并接收驱动信号,接着获取由一个或多个总线102上的信号的子集表示的数据。现有技术中有很多不同的总线协议,用来在两个总线代理之间传输数据,这里就不详细描述这些不同种类的技术。这里要充分体会,在总线处理时,在两个或多个总线代理101之间通讯的“数据”可以包括,但不限于:地址信息,与一个或多个地址,控制信息,或者状态信息有关的数据。不管在总线上通讯的数据的种类,现在,越来越多的计算机系统100在采用一种特殊的通常被叫做“源同步”协议的总线协议,以很高的总线速度来传输数据。与已有技术对比,采样数据总线协议和源同步协议在如下原则下操作:传输总线代理101将数据放到总线上一段固定的时间,并声明一个与数据相对应的“选通”信号来告知接收总线代理101数据有效。本领域技术人员都知道:一系列在很高速率下转换的数据和相应的选通信号的传播途径,包括物理的和电子的参数,可能与总线上另外一组数据相关的传播途径很不相同。特别地,传播途径的传播延迟,总线阻抗和电子特性会影响数据信号稳定的时间,或对总线代理101的接收“有效”。这就是源同步总线协议在现场设备的市场中流行的原因。在一个典型配置中,与一组数据信号相关的数据选通信号与这组数据信号走相同的传播路径,因此,选通信号与数据信号本身都受到同样的传播特性的影响。如果选通信号在数据有效期间,接收总线代理101探测到一个有效的选通信号转换的时候便可确信有效的数据信号。
现在参考图2,时序图200描述了一个源同步数据选通是如何经由图1中的系统总线被用来在总线代理101之间传输数据的。图200示出了一个或多个数据信号DATA和一个相应的数据选通信号DATA STROBE,其包括了在图1中的系统总线102上的一个子集的信号。如上所述,DATA STROBE与DATA经过相同的传播路径,因此它们也经历同样的传播特性。如上所提到的,DATA的状态在一个固定或者预先已定的时间窗内在总线上被驱动。在图200中,DATA在时间T0被驱动,并且在时间T2被再次驱动。DATA STROBE在时间T1被驱动,来指示在T0被驱动的DATA上信息的有效性。同样,DATA STROBE在时间T 3被驱动来指示在T2被驱动的DATA上信息的有效性。
源同步数据总线一般在DATA向总线补偿DATA和DATA STROBE之间的传播特性的细微变化之后某个时刻,声明DATA STROBE。在很多时候,DATA STROBE在DATA放到总线期间的中间时刻被声明。当接收总线代理探测到DATA STROBE的状态的一个预定变化时捕获DATA,特别是当DATA STROBE通过一个与DATASTROBE的声明相对应的电压和电流信号转换的时候。源同步总线在高总线速度下有效,因为影响DATA和影响DATA STROBE的时序的传播距离和总线设计的多样性实质上是一样的。因此,当探测到DATA STROBE的声明时,总线代理也视DATA有效。
尽管源同步总线有利于最大化数据转换速率,但是它们仍然受误差的影响。更特别的是,本领域技术人员都知道,总线上的干扰现象都会导致如接收总线代理看到的“毛刺”,毛刺201、202是一个DATA STROBE的非故意的转换或声明。基于所采用的源同步协议的某一类型,在T2和T5时刻出现的毛刺如果被接收总线代理探测到的话,会导致该代理将DATA在T1和T4时刻被选通的状态理解为在T3和T6时刻被选通有效。毛刺201、202是由总线上直接或间接耦合的噪声导致的,这些噪声是集成电路或计算机系统中的其它信号的状态改变造成的。例如,T2时刻出现的毛刺201是由于数据信号DATA也在这个时刻转化。在T2时刻的毛刺201在源同步总线里是很常见的。
有很多技术用来探测和校正源同步总线上的误差。实际上,也有许多技术用以在一旦探测到DATA STROBE的有效声明时,防止接收总线代理经历毛刺201、202。例如,Ilkhahar在专利号为6,433,600的美国专利中教授了一种方法和装置在源同步环境中,来为不同的选通输入缓冲器防止毛刺,该环境在相应的数据选通后的一段预先决定的(即固定的)时间内提供毛刺保护。Kurd等人,在专利号为6,505,262的美国专利中教授了一种毛刺保护电路,该电路产生输出代表选通信号和其一个延迟版本的逻辑乘积。Kurd也教授了一对毛刺保护电路,这一对电路中一个检测到一个选通信号的转换,并进入休眠直到另一个电路也检测到一个选通信号的转换,这一对电路工作于相互牵入(toggling)模型。这两件专利,和其它一些延伸的现有技术将逻辑电路用来在一个有效的转换以后选通信号被锁定期间提供一段固定的时间(通常由一系列串联的反相器实现)。
现在的发明人都注意到在源同步接收器中预防毛刺的传统技术是局限的,因为其运用的是固定时序技术。本领域技术人员员都知道,任何总线上信号的时序变化是总线电压,接收总线代理的核心电压和温度的函数。此外,总线时钟信号的频率也是变化的,由该时钟信号可以得到源同步选通信号。此外,制造过程的变化会造成一个装置中的时序电路的“锁定”时间与在相同或不同晶片(wafer)上的另一个装置上的结构相同的时序电路的“锁定”时间完全不同。此外,当数据选通和相应的数据相对于总线上的其它信号,如总线时钟信号,被异步地接收的时候,没有现有技术来指示一个精确的时间,这使得选通信号的接收被认为是不可靠的。
于是,本发明的发明人注意到锁定数据选通信号的接收的现有技术是不足和有限的,因为这些技术并没有考虑到由于以上提到的原因造成的时序变化。采用这些现有技术的装置必须被配置为在最差条件下工作,这样会降低它们的效能,或者它们必须在制造和测试过程中调试。因此我们需要一种装置和方法来使能接收设备在探测到一个源同步总线选通有效以后的一段时间内锁定接收器,这段时间是连续地随着总线和核心电压中的变化,温度以及总线时钟频率的变化而更新。我们亦需要一种源同步选通锁定技术能够对于批量,晶圆,和裸片之间制造过程中或者其制造过程之前的变化进行补偿。
发明内容
本发明不同于其它发明的地方在于它直接解决了上述提出的问题,并解决了现有技术的其它一些问题、缺陷和限制。
本发明提供了更优良的技术来锁定源同步选通接收器,该接收器会连续地补偿总线时钟频率,电压以及温度的变化。在本发明的一个实施例中,提出了一个可配置装置用以防止源同步接收器的接收错误,该装置包括一个延迟锁定环以及至少一个选通接收器。该延迟锁定环接收一个参考时钟信号,并产生一个选择向量信号和一个编码选择向量信号,其中,该编码选择向量信号指示了一个第一时间周期,该选择向量信号用来在多个参考时钟信号的连续延迟版本中选择一个,这些参考时钟信号连续延迟版本是将参考时钟信号延迟规定个数周期产生的,其中第一时间周期略微短于参考时钟信号的预定数目个周期。该延迟锁定环与一个或多个选通接收器耦接。这些选通接收器分别接收该编码选择向量信号和相应的选通信号。在相应的选通信号转换以后紧跟着的第一时间周期或第二时间周期内配置这些接收器来锁定相应的选通信号的接收。该选择向量信号用来在参考时钟信号的多个连续延迟版本中选择一个。
本发明的另一个方面提出了一个微处理器装置来锁定源同步选通接收器。这个微处理器装置具有一个延迟锁定环和一个选通接收器。该延迟锁定环接收一个参考时钟信号,并产生一个选择向量信号和一个编码选择向量信号,该编码选择向量信号指示了第一时间周期,该选择向量信号用来在多个参考时钟信号的连续延迟版本中选择一个,这些参考时钟信号的连续延迟版本是将参考时钟信号延迟规定数目个周期产生的,其中该第一时间周期微略短于该参考时钟信号的预定数目个周期,其中该延迟锁定环还包括:调整逻辑器,用来从该选择向量信号中减去一个很小的值来补偿制造过程和其它变化。该延迟锁定环包括一个延时单元,该延时单元具有多路抽头,每路抽头各自对应多个参考时钟信号的连续延迟版本中的一个。该选通接收器耦接到这个延迟锁定环。该接收器接收这个编码选择向量信号和一个选通信号,并在选通信号转换以后的第一时间周期内将该选通信号的接收锁存。其中该编码选择向量信号从上述多个选通信号的连续延迟版本中选择一个,运用编码选择向量信号来决定第一或第二时间周期。该选通接收器有一个第二延时单元,该单元具有第二多路抽头。每个第二多路抽头与多个选通信号的连续延迟版本一一对应,第二多路抽头的数量比第一多路抽头多。
另外一方面,本发明提出了一种锁定源同步选通接收器的方法。该方法首先包括产生参考时钟信号的连续延迟版本,并在多个参考时钟信号的连续延迟版本中选择一个,这些参考时钟信号连续延迟版本是将参考时钟信号延迟规定个数周期产生的;利用一调整逻辑器来从一选择向量信号中减去一个很小的值来补偿制造过程和其它变化;接着经由该选择向量信号,在参考时钟信号的连续延迟版本中指明一个;然后产生一个格雷编码选择向量来指明一个第一时间周期;在选通信号转换以后这段锁定时间内,在选通接收器中将选通信号的接收锁定,其中第二时间周期是由多个第一时间周期组成的。接着,产生选通信号的连续延迟版本,并通过选择一个选通信号的连续延迟版本,采用格雷编码的选择向量来决定锁定时间。
附图说明
结合下面的附图能更好地理解本发明的各种标的、特点以及优势,其中:
图1为一计算机系统的框图,表明在一个计算机系统中,两个或多个总线代理经由源同步系统总线来交换数据。
图2是一个时序图,描述了如何经由如图1所示的系统总线,采用源同步数据选通在总线代理之间传输数据。
图3是以执行64位总线传输的X86兼容的数据信号集的交互作用为特征的时序图。
图4是表明根据本发明所描述的锁定源同步选通装置的框图。
图5是一个时序图,示出图4所示的装置如何根据本发明在同步接收器中防止由于微处理器系统中的总线噪声造成的错误指示,该微处理器系统采用源同步数据、地址和/或控制总线。
图6是依照本发明详细描述64选1格雷码多路器的框图。
图7是描述图6所示的格雷码多路器的一个左(left)多路器单元的框图。
图8是详细示出图6所示的格雷码多路器的一个右(right)多路器单元的框图。
图9是一个框图,示出了一个根据本发明的一实施例,用以源同步接收的2/4倍传输率装置。
图10是一个框图,描述了图9中的2/4倍选择逻辑的细节。
其中,附图标记说明如下:
计算机系统100 总线代理101 源同步总线102
选通总线时序图200 毛刺信号201 毛刺信号202
64位传输四倍传输率源同步数据相位图300
锁定同步选通的结构400 时钟乘法器402 ADJVAL逻辑器404
延迟锁定环410 64抽头的延迟单元411 64选1多路器412
2周期比较逻辑器413 6位格雷码编码器 414调整逻辑器415
选通接收器420 64抽头的延迟单元421 格雷编码多路器422
差分接收器423 通过逻辑器424
动态选通锁定时序图500 毛刺信号501
64选1格雷编码多路器600 左格雷码多路器601
右格雷码多路器602
左格雷码4选1多路器700 右格雷码4选1多路器800
2倍/4倍传输率动态变量装置900
时钟乘法器902 ADJVAL逻辑器904 延迟锁定环910
64抽头的延迟单元911 64选1多路器912
2周期比较逻辑器913
6位格雷码编码器914 调整逻辑器915 选通接收器920
128抽头的延迟单元921 格雷编码多路器922 差分接收器923
通过逻辑器924 四倍/二倍选择逻辑器925
4倍/2倍选择逻辑器1000
具体实施方式
以下的说明是为了让本领域技术人员来制造和使用本发明的一个特别实施例和其需求条件。对该较佳实施例的许多改进对本领域技术人员来说是明显的,这里定义的总体原则也可以被应用于其它实施例。因此,本发明并不限于下面描述的实施例,但是必须和这里揭露的这些原则和新颖特性所相容的最宽的范围一致。
本发明克服了现有技术的上述缺陷,提供了动态源同步选通接收装置和方法,该装置和方法有一个基于延迟锁定环(delay-locked loop DLL)的动态锁定间隙,该延迟锁定环的时钟信号来自于总线时钟得出的片上时钟。该动态锁定间隙用于根据源同步协议来传输数据选通和及其相关的数据。本发明会根据图3到图5进行讨论。
参考图3,时序图300示出了X86兼容的数据信号集中信号的交互作用,来执行64位总线处理(transaction)的数据相位(data phase)。图3中的时序图300描述的一个本发明的特别实施例,其中配置了接收器的动态锁定,尽管本发明的发明人注意到了本发明超出了提出的特别总线协议的范围。X86兼容的源同步协议在本领域中是很常见的,也为教导本发明的核心概念提供了相似的基础。
这里说明一下,在本实施例中,图300中的信号低电平有效,尽管本领域技术人员都知道声明信号有效也可以是高电平,或者在高低电平的转换处。如上所述,一个差分总线时钟BCLK[1:0]的周期如时序图300所示。
该X86兼容的源同步协议为64位数据总线D[63:0]做好准备,D[63:0]支持在总线时钟BCLK[1:0]的两个周期间的64位高速缓存线的数据相位之间转换,运用了源同步数据选通信号DSTBPB[3:0],DSTBNB[3:0]。在64位数据总线D[63:0]上的八字节转换是分段的,且4段1-4,5-8总线时钟BCLK[1:0]的一个周期时间内转换。另外,数据总线信号集被分为4个包括数据和选通信号的子集。在一个子集里的信号经由相同的传播路径。子集0包括D[15:0]、DSTBPB0、DSTBNB0。子集1包括D[31:16]、DSTBPB1、DSTBNB1。子集2包括D[47:32]、DSTBPB2、DSTBNB2。子集3包括D[63:48]、DSTBPB3、DSTBNB3。数据选通信号DSTBPB0的下降沿用来指示D[15:0]上的字1、3、5、7。数据选通信号DSTBNB0的下降沿用来指示D[15:0]上的字2、4、6、8。数据选通信号DSTBPB1的下降沿用来指示D[31:16]上的字1、3、5、7。数据选通信号DSTBNB1的下降沿用来指示D[31:16]上的字2、4、6、8。数据选通信号DSTBPB2的下降沿用来指示D[47:32]上的字1、3、5、7。数据选通信号DSTBNB2的下降沿用来指示D[47:32]上的字2、4、6、8。数据选通信号DSTBPB3的下降沿用来指示D[63:48]上的字1、3、5、7。数据选通信号DSTBNB3的下降沿用来指示D[63:48]上的字2、4、6、8。注意数据选通信号DSTBPB[3:0]和DSTBNB[3:0]的频率是总线时钟频率BCLK[1:0]的两倍。且这两个选通信号的相对应的两个位(如DSTBPB0和DSTBNB0)相对存在1/2周期的延迟。于是,X86兼容的总线协议支持在单独一个总线时钟周期内的相同数据子集的4个集合(即4段)的转换。用上述信号来描述本发明,尽管本领域技术人员都知道,X86兼容的源同步数据总线还包括一些其它信号(如DINVB[3:0]),但是为了清楚说明,在这里就不讨论其它信号。
本领域技术人员都了解,数据传递器(如微处理器、芯片组和其它总线代理),将信号D[XX:XX]放置到相应的总线子集上,且在相应的数据选通声明数据有效。于是,和旧技术相比,数据放置在数据/地址总线上并保持一个采样周期,本发明的总线技术通过采样这些数据/地址总线,在8个总线子集的数据包(burst)选通数据,每个数据包的有效性由相应的选通信号的状态来指示,因此相应的选通信号与其相应的数据信号D[XX:XX]经由相同的传播路径。很肯定的是,在总线上没有毛刺和其它错误时,当一个接收器探测到数据选通信号时,相应的数据D[XX:XX]将有效----在没有会发生在总线上的毛刺和其它错误的情况下。
对接收器来说,数据/地址选通的声明似乎不取决于总线时钟信号BCLK#的声明。但如前说述,每个数据选通信号的周期和总线时钟信号BCLK#周期的一半接近相等。在现在的执行情况中,X86兼容的数据总线(如图所示)在两个时钟周期内选通8个数据包的数据信号集,同时X86兼容的地址总线在两个时钟周期内(图中未示出)选通4个或8个数据包的地址信号集,取决于执行状况。在一个总线时钟周期内选通4个数据包数据或地址信息的执行被称为“4倍传输速率”总线。在一个总线时钟周期内选通2个数据包数据或地址信息的执行被称为“2倍传输速率”总线。因此,2倍传输速率地址总线的地址选通信号的每个周期近似等于总线时钟BCLK#周期。如前所述,数据和选通转换(transition)的时序实质上是总线时钟频率的函数,但是接收器的数据选通的切换似乎在所有的情形下,与总线时钟都是异步的。这是由于总线时钟和数据选通之间存在一个固定的但是未知的相位差。图3的图表300示出了这个状况。注意D[63:48]和相关的选通信号DSTBPB3,DSTBNB3的转换似乎与BCLK[1:0]的转换在同一相位,尽管如此,其余信号集的转换似乎与BCLK[1:0]没有相位关系。这可能归咎于传输设备在总线上传输数据的方式,或者归咎于信号集的传播途径长度不同,或者是同时归咎于这两个因素。
如前所述,微处理器或与源同步总线耦接的其它设备选通接收器受总线上噪声的影响,这会造成选通信号被错误地接收,如图2中描述的毛刺201,202。例如,如果数据选通,如图3中的DSTBPB0,被声明来指示D[15:0]上数据包1的有效性,接着总线上的噪声与DSTBPB0耦合先于其声明来指示数据数据包3的有效性,接着一个打开的接收器(即可以在探测到前一个转换后探测到DSTBPB0的接下来的转换的接收器)可能错误地指示另一个DSTBPB0声明,这会造成数据接收的错误。图3中的时序图300适当地阐明了数据信号及其相应的在64位源同步数据总线配置中的多倍信号集的数据选通的复杂特性,并且,本技术领域强烈地需要精确地锁定选通接收器从而防止其接收错误的转换的技术,并且锁定时间是被动态调整的,来补偿电压、温度、压力和总线时钟频率的时序变化。
本发明为锁定在最有可能由于总线噪声造成状态转换的时候提供了一个同步选通信号DSTBPB[3:0]和DSTBNB[3:0]。在时序图300示出的X86兼容的总线中,这段时间是总线时钟信号BCLK[1:0]的1/4。根据本发明,一个开启的数据选通信号接收器探测到数据选通信号DSTBPB[3:0]和DSTBNB[3:0],接着在总线上锁定该数据选通DSTBPB[3:0]和DSTBNB[3:0]的任何转换接收,锁定时间小于等于总线时钟BCLK[1:0]周期的1/4。锁定以后,锁定逻辑将接收器开启来使其接收数据选通信号DSTBPB[3:0]和DSTBNB[3:0]的子集的声明。本发明采用了板上的由总线时钟BCLK[1:0]派生的8X信号,被认为是DCLK(或未知),来计时的延迟锁定环(DLL)。在实施例中,该DLL采用了一个64抽头的延迟单元来产生DCLK的64个连续延迟版本。该DLL及其相应的逻辑在这64个延迟版本里选择一个,并生成一个6位的选择向量信号,来与选择的DCLK的版本相对应,该版本接近但不超过DCLK的2个周期。另外还包括了调整逻辑器来从6位选择向量中减去一个很小的值来补偿制造过程和其它变化。这个值是经由ADJVAL(adjustable value)逻辑提供,该逻辑在该集成电路中的其它地方或者在另外的芯片上处理。一个调整了的,连续更新的选择向量,被分布到集成电路或设备的数据选通接收器中。每个数据选通接收器包括了一个结构相同的64抽头的延迟单元和多路器逻辑来接收这个6位的调整的选择向量信号。在实施例中,此调整的6位向量信号在分布数据选通接收器和多路器逻辑之前被配置为其代表了6位格雷编码选择信号,以这样的配置方式来为6位的格雷编码选择信号的增量和减量在64抽头的延迟单元中选择相邻的抽头。
在一个实施例中,单独的DLL用来为多个数据信号D[XX:XX]的每一个产生一个相应的6位选择向量信号。比如,第一DLL用来为包括D[15:0]的第一信号集产生一个第一6位选择向量信号,第二DLL用来为包括D[31:16]的第二信号集产生该6位选择向量信号,以此类推。该实施例用来补偿跨晶元(cross-die)的过程变化。
相应地,集成电路的控制部分采用了已知的波形(如DCLK),该波形来自于总线时钟信号BCLK[1:0]也展示了由于电压,温度和其它因素造成的频率变化,来连续地计算并经由一个选择向量来指示64抽头的延迟单元中与一个2周期的延迟时间相对应的那个抽头。该选择向量分配到有着结构相同的64抽头的延迟单元的电路上的接收器上。当给定的接收器收到相应的数据选通信号DSTBPB[3:0]和DSTBNB[3:0],DSTBPB[3:0]和DSTBNB[3:0]就被提供给这个64抽头的延迟单元,且接收器中的通过逻辑器(PASS LOGIC)锁定数据选通DSTBPB[3:0]和DSTBNB[3:0]接下来的接收直到延迟周期结束。该通过逻辑器耦合到一个来自选择的多路器的通过总线,该多路器为数据选通DSTBPB[3:0]和DSTBNB[3:0]的接收再次开启。
为了教导的目的,结合图3讨论的信号的一个子集,尽管本领域技术人员都知道,这里教导的原则适用于图3所示的所有信号,也适用于超出图3范围到根据不同协议,用来驱动在源同步总线上的地址和控制信号的充分相似的源同步信号。该装置和方法应用在微处理器和要求通过源同步系统总线与其它设备交互作用的集成电路中。在实施例中,本发明提供了x86兼容的总线协议。
现在参考图4,示出了根据本发明的一实施例的锁定源同步选通装置的框图400,可应用在微处理器和通过系统总线和其它设备通讯来交换数据的集成电路中。结构400包括一个位于集成电路(IC)的控制部分的DLL410。该DLL410接收到一个中心生成的数据时钟信号DCLK,该DCLK产生于8X时钟乘法器。该DCLK信号来自于总线时钟信号BCLK,该总线时钟信号来自于片外,典型地是由母板上的时钟发生器产生的。该DCLK信号分布给一个或多个上述IC上的接收器420。该接收器被安排在该IC上的多个不同的点来接收一个同步的与数据、地址和控制信号集相对应的选通信号DSTB1-DSTBN。接收器采用DCLK来为在总线上的信号传输生成外出的同步选通信号,在此实施例中,DCLK是BCLK频率的8倍。
每个信号集的控制部分DLL410包括一个64抽头的延迟单元411,该单元接收来自时钟乘法器402的DCLK,并以一个延迟的时钟总线信号DELDCLK(63:0)的形式产生64个DCLK的延续延迟版本。在实施例中,64抽头延迟单元411中的每个阶段包括两个串联的反相器(图中未示),因此,延迟单元411中有128个串联的反相器。每个抽头信号DELDCLK(63:0)与DCLK的一个延迟版本相对应,每一该延迟版本被延迟的时间相差了两个反相器的时间,例如DELDCLK(1)比DELDCLK(0)延迟了两个反相器的时间,DELDCLK(2)比DELDCLK(1)延迟了两个反相器的时间。
DELDCLK(63:0)被提供给64选1多路器412,且多路器412的输出DLDCLK被发送给2周期的比较逻辑器413。该比较逻辑器413通过增加或减少一个6位的选择向量SUM(5:0),从64抽头信号DELDCLK(63:0)中选择DLDCLK。选择向量SUM(5:0)耦接到多路器412上的一个选择输入端。比较逻辑器413计算DCLK的2个连续周期并选择一个向量值SUM(5:0),SUM(5:0)在DELDCLK(63:0)信号中选择一个小于且最接近DCLK的两个连续周期的值。向量SUM(5:0)的值是持续更新的,来使能由DLL410计算的延迟,用以补偿BCLK的频率、电压和温度的变化。接着,多路器412的输出DLDCLK表示了接收器420的动态调整的锁定窗。该锁定窗比总线时钟BCLK的周期的1/4略小,即比任何一个4倍传输率源同步总线上的选通信号DSTB1-DSTBN的周期都略小。
此外,控制部分DLL410还包括了调整逻辑器415,在实施例中,该模块接收SUM(5:0)以及由ADJVAL逻辑器404输出的SUB(1:0)。先根据SUB(1:0)将SUM(5:0)右移几位后,调整逻辑器415再将SUM(5:0)减去SUM(5:0)右移后的结果得到一个调整的6位向量ASUM(5:0)。在此实施例中,右移SUM(5:0)的位数如表1所示。
表16位选择向量的调整值
SUB(1:0)的值 右移的位数
00 1位
01 2位
10 3位
11 4位
在本实施例中,ADJVAL逻辑器404包括一个或多个金属或聚乙烯熔丝,这些熔丝在设备或IC制造过程中就被固熔了,亦可以选择位于设备和IC上的可编程只读存储器作为ADJVAL逻辑器。更或者,ADJVAL逻辑器404不在设备或IC上,并由设备或IC上I/O输入管脚提供SUB(1:0)。ADJVAL逻辑器的其它实施例被预期包括,但不限于多于或少于SUB的2个信号。通过ADJVAL逻辑电路404和调整逻辑电路415,设计者可改变由DLL经由SUM(5:0)指示的延迟以达到对于批量,晶圆,和裸片之间制造过程中或者其制造过程之前的变化进行补偿。
考虑到总线时钟频率的改变和稍后的64抽头的延迟单元的每个阶段由于工作工程中温度和电压变化造成的改变,控制部分DLL被配置为连续更新SUM(5:0)(ASUM(5:0)和SUM(5:0)也持续更新)。
因此,根据本发明DLL410被配置为接收一个参考时钟信号DCLK,并动态地连续地产生一个选择向量SUM(5:0),SUM(5:0)使能多路器412来从多个选择选通信号DSTB1-DSTBN的递增延迟版本选择一个。选择选通信号DSTB1-DSTBN的递增延迟版本是由选通信号DSTB1-DSTBN延迟产生的,延迟时间等于或略小于参考时钟信号DCLK的特定数量个周期。DLL410还包括调整逻辑器415,该逻辑通过从选择向量SUM(5:0)减去自身的由ADJVAL逻辑器404指示的,在片上或不在片上的一个小量值,来产生调整选择向量ASUM(5:0)。DLL410包括逻辑、电路、设备或微码(即微指令或可执行的本地指令),或逻辑、电路、设备或微码的集合体,或用以执行本发明中上述功能的同等的单元。实现这些功能的单元可能会与其它电路、微码等共用,这些单元在IC或设备上还实现其它功能。根据本发明的范围,微码是一个涉及多个微指令的概念。一个微指令(也可以是可执行的本地指令)是一个单元可执行水平的指令。例如,微指令被一个精简指令集计算机(RISC)处理器直接执行。对一个复杂指令集计算机(CISC)微处理器,如X86兼容的微处理器,X86指令被翻译成相关的微指令,这些相关的微指令被CISC微处理器中的一个或多个单元直接执行。
在如图4所示的实施例中,调整选择向量ASUM(5:0)由一个6位的格雷码编码器414编码来生成一个格雷编码选择向量信号SUMG(5:0),SUMG(5:0)被分配给每个相应信号组的接收器420。SUMG(5:0)作为格雷编码信号,其目的是为了在信号SUMG(5:0)增加或减小时将其状态转换的数量降低到最小。本领域技术人员都知道,格雷编码信号SUMG(5:0)相应的2进制信号的适当的增加和减小,单只改变一个位的状态。由于在每个接收器420中,SUMG(5:0)被多路器422用作选择信号,经由一个多路器,从数据选通信号DSTB1-DSTBN的64个不同的连续延迟版本中选择一个。本发明的发明者注意到,如果提供一个普通的多路器,被忽略的毛刺可能会在多路器422的输出PASS1-PASSN上出现。而本发明通过一个格雷编码选择向量SUMG(5:0)和相应的格雷码多路器422可以防止伪造的选通输出。
每个接收器420接收一个来自片外的数据选通信号DSTB1-DSTBN。每个接收器420具有相同的电路,不同的是,它们接受不同的选通信号DSTB1-DSTBN,并产生不同的选通输出DSO1-DSON。于是,以下对接收器一420的描述也适用于其它的接收器420。
对选通接收器420,数据选通信号DSTB1接至一个差分接收器423。该差分接收器423在DSTB1的值(即电压或电流值)超过或低于一个参考值REF时被触发。差分接收器423的输出DS1被提供给通过逻辑器424。在实施例中,通过逻辑器424被配置来在等于或小于DCLK的两个周期的时间内锁定DS1的接收,下面将详细讨论。通过逻辑器424提供了输出选通信号DSO1,DSO1对应64抽头的延迟单元421的输入,该延迟单元与控制部分DLL410的延迟单元411结构相同,64位延迟单元421的抽头产生64个输出选通信号DSO1延迟版本,与延迟单元421的输入对应。DSO1的每个延迟版本DELDSO1(63:0)的时间延迟与其相对应的由控制部分中的延迟单元410产生的DCLK的延迟版本DELDCLK(63:0)完全相等。
当同步选通信号DSTB1由一个状态转变为下一个状态时,差分接收器的输出DS1的状态被允许通过通过逻辑器424输出DSO1。在实施例中,输出信号DSO1是作为输入选通信号DSTB1的补数。一个通过信号PASS1被声明无效(deasserted),于是将通过逻辑器424禁用。在由SUMG(5:0)指示的两个DCLK周期的延迟以后,PASS1再次被声明,于是再次使能通过逻辑器424。当接收器420开启,以允许一个DS1的子传输通过到输出DSO1,且DSO1被提供给结构相同的64抽头的延迟单元421。DSO1转变时,通过逻辑器424锁定DS1直到PASS1再次被声明,以指示一段时间,该时间等于或略小于2个时钟周期DCLK的延迟。为了指示这个延迟,一个6位的如上所述的格雷编码选择向量SUMG(5:0),指导一个64选1的多路器422来选择一个DSO1的延迟版本DELDSO1(63:0),以声明PASS1。PASS1被声明时,指导该通过逻辑器424来开启该接收器420,以允许一个DS1的子传输通过到DSO1。通过逻辑器424保持接收器420开启直到PASS1被声明。
每个接收器420包括逻辑、电路、设备和微编码(即微指令或可执行的本地指令)或逻辑、电路、设备或微码的集合体,或用以执行本发明中上述功能的同等的单元。实现这些功能的单元可能会与其它电路、微码等共用,这些单元在IC或设备上还实现其它功能。
如前面提到的,控制部分中的DLL410被配置为连续更新SUM(5:0)(ASUM(5:0)和SUM(5:0)也持续更新),来补偿总线时钟频率的改变和64抽头的延迟单元411、421的每个阶段在延迟中由于工作工程中温度和电压变化造成的改变。
在实施例中,设备或IC上的一个单独的控制部分DLL410被配置来接收参考时钟信号DCLK,并将一个单独的选择向量SUMG(5:0)分布到多个被置于IC的不同位置的接收器420中。
实施例中,为了补偿制造过程的变化,多个DLL410被置于被一系列相应的信号集和同步选通信号配置的芯片的不同位置。在本实施例中,每个DLL410产生一个选择向量SUMG(5:0),SUMG(5:0)被提供给在芯片上精确相同位置的接收器420。
现在参考图5,时序图500表明了图4中的装置如何在一个同步选通接收器420中用来防止由于微处理器或其它采用源同步总线选通技术的系统中的总线噪声造成的错误的指示。时序图500描述了数据选通输入信号DSTB1,通过逻辑器424的输出信号DSO1,和一个通过逻辑器424的使能信号PASS1,该信号代表了结合图4中的接收器420讨论的相同名称的信号。为了便于理解,图中也示出了参考时钟信号的校准信号ALIGNED DCLK,尽管参考信号DCLK在接收器420工作期间,没有被前后提到的信号DSTB1,DSO1,PASS1校准。
在时刻T1以前,PASS1被声明来指示接收器开启,并且DSTB1的状态是被允许通过通过逻辑器424到输出DSO1。
在时刻T1,DSTB1转变通过参考值,使得差分接收器423的输出DSO1转变到逻辑高电平。在时序图500中,DSO1与DSTB1呈现互补的状态。DSO1经过延迟单元421,并开始产生DELDSON(63:0)的64个延迟版本。在时刻T1,PASS1也被声明,来锁定并发的DSTB1的转换,这个转换可能会导致时刻T1和T2之间的毛刺。
提供给接收器多路器422的选择向量SUMG(5:0)选择一个DSO1的延迟版本,该版本比DCLK的2个周期略小,在时刻T2,导致PASS1被声明以开启接收器420。
在时刻T3,DSTB1转变为逻辑高电平,DSO1于是转变为逻辑低电平。在转换的时刻,探测到PASS1被声明,便再次锁定接收器420来隔离可能发生在时刻T3和T4之间的毛刺501,这个间隔同样比参考时钟信号的2个周期略短。为了教导清楚,在时刻T3和T4之间示出了一个毛刺501,这段时间比DCLK的2个时钟周期略短,其中毛刺501在接近中间的时刻,在该时刻相关数据信号(图中未示)可能在转变状态。由于接收器420被锁定,通过逻辑器424并没有允许毛刺501通过而从输出DSO1中输出。尽管T1-T2,T3-T4的间隔似乎接近相等,由于相应的控制DLL410连续更新选择向量SUMG(5:0)的值,来补偿由于总线时钟频率,电压和温度的变化,这两个间隔又不会完全相等。
在时刻T4,PASS1被再次声明,开启接收器420。
在时刻T5,DSTB1变低,DSO1变高,PASS1被声明无效(deasserted),开始另一个比DCLK的两个周期略小的锁定延迟。
现在参看图6,展示了一个本发明的,在每个图4中的接收器420中都有的64选1格雷编码多路器600的框图。如图,多路器600包括多个并列的4选1左格雷码多路器601和4选1右格雷码多路器602。第一左格雷码4选1多路器601接收64位延迟选通信号D(63:0)的低4位D(3:0),如接收来自图4中的接收器420中的64抽头单元的信号DELDSO1(63:0)的低4位D(3:0)。第一左4选1多路器601响应编码选择向量位SUMG(1:0)以产生一个第一输出B0,。其中,D(0)是被延迟单元延迟的数据选通信号的一个延迟版本,D(1)是被两个延迟单元延迟的版本,D(2)是被三个延迟单元延迟的版本,以此类推,D(63)是被64个延迟单元延迟的版本。
接下来稍高的四位D(7:4)被输入到第一右4选1多路器602,产生一个代表选择位SUMG(1:0)状态的第二输出B1。同样地,延迟选通信号D(63:0)剩下的位D(63:8)分别被提供给相应的左右多路器601,602,如图所示,其中每个多路器601,602用来响应选择信号SUMG(1:0)的状态,且每个多路器提供一个相应的输出B2-B15。
第一4位输出B(3:0)提供给另一个左格雷码编码4选1多路器,该多路器用来响应选择信号SUMG(3:2)的状态,并产生输出C0。同样,剩下的输出B(15:4)以4位为一组,被提供给如图所示的可选择的左右多路器601、602,每个多路器用来响应选择信号SUMG(3:2)的状态,并产生输出C(3:1)。
输出C(3:0)提供给一个最终的左格雷码编码4选1多路器601,该多路器响应选择信号SUMG(5:4),产生信号PASSN。PASSN是接收到的同步选通信号的被选择的版本,如图4中的信号DSTB1-DSTBN,这些信号比DCLK延迟略少于两个周期的时间,并被减去了由调整向量信号SUB(1:0)示出的量值。当信号PASSN被声明,通过逻辑器指导开启接收器来允许接下来数据选通的转换。
为了防止毛刺和伪PASS信号PASSN的产生,请注意图7和图8。图7示出了一个左格雷码4选1多路器单元700,和图6所示的第一左格雷码4选1多路器601相同。左格雷码4选1多路单元700包括三个2选1多路器A,B,C。信号D0耦接到一个反相器U1,U1的输出耦接到多路器A的输入端I1。信号D1耦接到一个反相器U2,U2的输出耦接到多路器A的输入端I2。信号D2耦接到一个反相器U3,U3的输出耦接到多路器B的输入端I1。信号D3耦接到一个反相器U4,U4的输出耦接到多路器B的输入端I2。多路器A的输出耦接到多路器C的输入端I1,且多路器B的输出耦接到多路器C的输入端I2。SUMG0耦接到多路器A的选择输入端S2和多路器B的选择输入端S1。SUMG0经过反相器U5,且反相器U5的输出耦接到多路器A的S1和多路器B的S2。SUMG1耦接到多路器C的选择输入端S2和多路器B的选择输入端S1。SUMG1耦接到多路器C的S2,并经过反相器U6,且反相器U6的输出耦接到多路器C的S1。多路器C输出B0。
操作时,由于SUMG(5:0)是格雷编码的,随着相应的二进制选择信号ASUM(5:0)的增加和减少,SUMG(5:0)每次只有1位在改变状态。因此,如果SUMG0和SUMG1都为低,则D0经过多路器A和C到输出B0。如果SUMG0为高,则D1到输出B0。如果SUMG1为高,则D2经过多路器B和C。如果SUMG0和SUMG1都为高,则D3经过多路器B和C到输出B0。由于选择位SUMG(1:0)只有1位可以随着ASUM(5:0)的增加和减少改变状态。因此输出B0就不会有伪输出。
图8示出了一个右格雷码4选1多路器单元800,和图6中相同名字的单元602相同。多路器800的单元和信号与图7中的多路器700中那些相同序号的单元的配置和操作结构相同。图7中的左多路器700和图8中的右多路器800不一样的地方在于:输入到图8中的多路器C的SUMG1与输入到图7中的多路器C的SUMG1是互补的。
根据本发明,当一个64选1格雷码多路器600被提供给一个接收器420来锁定源同步选通信号。由于随着调整向量信号ASUM(5:0)的增加和减少,编码6位选择向量SUMG(5:0)每次只有1位被允许改变状态,只允许选通信号的64个延迟版本中的一个通过到信号PASS#,因此就防止了接收器420的伪锁定和使能。
如前面所提到的,许多现在的源同步总线协议将在同一设备中以不同的传输率来操作不同信号集。例如,本领域技术人员会知道,x86兼容的数据总线在一个单独的总线时钟周期内传输4个数据包,参考图3的细节讨论,在相同的x86兼容的总线上的地址信号集的地址数据的传输只限于在一个总线时钟单个周期内传输2个数据包。因此,x86兼容的地址总线被认为是“2倍传输率”总线因为2个地址数据的数据包在一个总线时钟周期内被传输通过地址信号集。
其它总线协议在同样的结构中,对信号集有不同的传输率。x86兼容的总线是一个好的例子来充分说明很需要提供一个装置来锁定源同步选通,该装置是适用于不同传输速率的。在x86兼容的例子中,需要提供一个源同步接收器锁定技术,该技术可以配置为4倍传输率总线(如X86数据总线)或2倍传输率总线(如X86地址总线)。
根据本发明,配置为不同传输率的锁定源同步接收器的装置将参考图9和图10来讨论,尽管特别实施例示出了2倍传输率或4倍传输率的要求,采用这里教导的原则,这里揭露的实施例也可以用于其它传输率要求。
现在参考图9,根据本发明,该框图示出了一个2倍/4倍传输率动态变量装置900。装置900包括和源同步选通锁定装置400相同数字编号的单元,其中百位数字变成了“9”。图4中装置400和图9中的装置900的不同点在于接收器920的构成不同。在图9中的接收器920,一个128抽头的延迟单元921代替了图4中的接收器420的64抽头的延迟单元421。且2/4倍选择逻辑器925接至128抽头的延迟单元921和64路格雷编码选择多路转换器922之间。在每个接收器920的倍数选择逻辑信号DB1-DBN被用来指导2/4倍选择逻辑器925选择2倍传输率模式(如图4中的接收器420)还是4倍传输率模式。倍数选择逻辑信号DB1-DBN可以经由IC上的逻辑(未示出)如经由一个特殊寄存器,或者它可能被编程到可编程只读存储器,或者它在重启的时候被提供。
于是,图4中的接收器420被扩展由图9中的接收器920代替。根据本发明,该接收器920提供了可选择的锁定4倍传输率或2倍传输率总线选通信号。例如,在现在的X86兼容的微处理器中,如参考图1-图8讨论的那样,数据总线是4倍传输率(如4个数据包每时钟周期),地址(或其它)总线是2倍传输率的,其在每个总线时钟周期只传输2个地址数据的数据包。
为了提供2倍传输率选通信号,在接收器920中有必要提供一个锁定间隙,根据本发明,该间隙是4倍传输率总线锁定间隙的2倍。换句话说,该2倍传输率锁定间隙必须比DCLK的4个周期略小,而不是比DCLK的2个周期略小。
为了提供该特点,不需要修改图4中示出的控制部分DLL410。于是,控制部分DLL910的操作,其中的单元911-915,该8X时钟乘法器902和调整逻辑器904和图4中的相同编号那些操作结构相同,其中的百位数被替代为“9”。为了适应2倍传输率总线,只需要测量控制部分DLL910的64抽头中延迟单元911的延迟抽头等于DCLK的2个时钟周期的抽头数量,在4倍传输率环境中,传输该6位编码选择向量SUMG(5:0)至每个接收器920,接收器920指示了两个周期(和调整/编码)的延迟。在实施例中,接收器920被修改了,包括:在原来64路抽头的延迟单元421的地方,换成了一个128路抽头的延迟单元921。该128路抽头延迟单元921的每一路抽头和图4中的64路抽头的延迟单元421的延迟相同,来为在2倍传输率和4倍传输率的总线配置中锁定选通信号提供相同的延迟。于是,128路抽头的延迟单元921产生通过逻辑器924的输出信号DSO#的128个延迟版本DELDS0#(127:0),代替图4中的接收器420中的64个版本。延迟版本DELDSO#(127:0)耦接到4倍/2倍选择逻辑器925,在实施例中,该选择逻辑器925选择第一64个延迟版本DELDSO#(63:0),DELDSO#(63:0)与DB#对应来指示一个4倍传输率操作模式;并选择DELDSO#(127:125:......:3:1)的每个版本来与DB#对应来指示一个2倍传输率操作模式。被选择的延迟版本经由信号E#(63:0)送到格雷码多路器922,来通过编码选择向量SUMG(5:0)的指导来选择通过信号PASS#。
相应地,当DB#指示为4倍传输率模式,DSO#的延迟版本的低64个DELDSO#(63:0)被选择,经过选择逻辑器925至格雷编码多路器922,正如图4中的接收器420。当DB#指示2倍传输率模式,64个延迟版本经过E(63:0)至格雷编码多路器,为了经由SUMG(5:0)的选择。SUMG(5:0)被配置来指示参考时钟信号DCLK的2个周期略小的延迟,但是因为每个其它延迟版本DELDSO#(127:125:.....:3:1)经由E#(63:0)至格雷编码多路器,选通信号DSTB#被锁定的时间微略短于指示的锁定间隙的两倍,也就是说,微略短于参考时钟信号DCLK的4个周期。
现在跳到图10,根据本发明的一实施例详细给出了4倍/2倍选择逻辑器1000的框图。选择逻辑器1000接收4倍/2倍选择信号DB,DB耦接到多路平行配置的2选1的多路器J1-J64选择输入端S2。DB也耦接到反相器U1,U1的输出耦接到多路器J1-J64选择输入端S1。图10中的实施例1000描述了64路多路器J1-J64提供给图9中的接收器920的可配置的4倍/2倍传输率操作。但是这里讨论只是为了教导本发明清晰的必要的方面。其它实施例也可以被预想。接收选通信号的低64个延迟版本D(0:63)被顺序耦接到每个多路器J1-J64的输入端I1。每个接收选通信号的其它延迟版本被顺序耦接到每个多路器J1-J64的输入端I2,由D1开始,到D127结束。
在操作中,当DB指示4倍传输率模式时,选择输入端S1/S2指导多路器J1-J64将信号D(0:63)放至到它们的输入端I1来输出E(0:63)。当DB指示2倍传输率模式时,选择输入端S1/S2指导多路器J1-J64将信号D(1:3:...:127)放至到它们的输入端I2来输出E(0:63)。
本发明的一个优点是:相应配置的集成电路会在轻微噪声约束的封装中制造,这是现在的制造所要求的。因为本发明将同步选通接收器的接收锁定了一段最优的时间,通过集成电路的封装传达到选通信号的噪声也被锁定了。于是,本发明所涉及的集成电路可以采用更廉价的封装技术,即可以采用较少的层数,更密集的信号轨迹集合和次优的噪声特性。
尽管本发明及其对象、特性和优点已经被详细描述了,本发明还包括其它的实施例。例如,尽管本发明的单元被以分布在集成电路中的接收器的概念来描述,本发明的发明者也留意到这样的配置只是提出的实施例的其中一个。本发明也可以配置为在多个集成电路和其它提供印制电路板和相同的内部耦接原理的设备上分布的接收器和DLL。
另外,尽管本发明预期了在X86兼容的微处理器环境中,提供防止源同步选通探测错误的实施例,在超出那样环境以外的实施例也可以被认为有用。例如,一个特别应用的信号处理器或微处理器可以通过源同步协议与其它设备进行数据通讯。因此,这样设备也可以从这里揭露的装置和方法中获益。
更进一步,参考时钟信号DCLK在这里被用作反映总线时钟频率、电压和温度变化的信号,也适用于产生指示锁定接收器需要的延迟的向量。此外,根据本发明,DCLK的两个周期被认为是锁定接收器的最有效的时间段。尽管如此,这些细节只是用来教导本发明最核心的要素,正如它在X86兼容的4倍速率源同步总线环境中被处理的那样。在其它的应用中,可能需要不同的参考信号和不同的延迟,本发明的原则也适用于这些应用。例如,可能选择一个是主时钟信号的16倍的参考信号,并指示一个比参考信号的8个周期略小的延迟。
此外,尽管本发明在实施例中只描述了具有包括相同数量抽头的,即64个抽头延迟单元的控制部分和接收器,本发明的发明者也注意到这不是本发明权利范围的一个必需要素。必需的是在其延迟锁定环中提供足够数量抽头来测量和指示参考时钟的某个数量的周期的控制部分。在接收器的延迟单元中提供足够数量抽头来产生一个锁定延迟,此锁定延迟的长度以控制锁定环中测量和指示的周期数为基础,这样的接收器也是必需的。例如,本发明的一个实施例预期一个控制部分的延迟锁定环有32路延迟单元,这些延迟单元测量DCLK的每个周期并提供与测量相当的信号向量。该实施例为了在接收器产生一个锁定延迟,接收器可能包括一个64抽头的延迟单元,并将提供的信号向量的值加倍来产生一个比DCLK的2个周期略短的锁定延迟。其它变化也同样包括。
任何本领域技术人员,可在运用与本发明相同目的的前提下,使用本发明所揭露的概念和特别实施例来作为设计和改进其它一些结构的基础。这些变化、替代和改进不能背离权利要求书所界定的本发明的保护范围。
Claims (16)
1.一种锁定源同步选通接收器的可配置装置,其特征在于,包括:
延迟锁定环,用以接收参考时钟信号,产生选择向量信号以及编码选择向量信号,该编码选择向量信号指示了第一时间周期,该选择向量信号用来在参考时钟信号的多个连续延迟版本中选择一个,其中该些参考时钟信号的多个连续延迟版本是将该参考时钟信号延迟预定数目个周期产生的,其中该第一时间周期短于该参考时钟信号的该预定数目个周期,其中该延迟锁定环还包括:调整逻辑器,用来从该选择向量信号中减去一个很小的值来补偿制造过程和其它变化;以及
一个或多个选通接收器,耦接到该延迟锁定环,用以接收该编码选择向量信号和相应的选通信号,其中该选通接收器用来在选通信号转换以后的该第一时间周期或第二时间周期内将该选通信号的接收锁定,其中该编码选择向量信号从上述多个选通信号的连续延迟版本中选择一个。
2.如权利要求1所述的可配置装置,其特征在于,该延迟锁定环包括:
具有第一多路抽头的第一延迟单元,该第一多路抽头的每一路与该些参考时钟信号的多个连续延迟版本一一对应。
3.如权利要求2所述的可配置装置,其特征在于,该第一多路抽头包括两个串联的反相器。
4.如权利要求2所述的可配置装置,其特征在于,该选通接收器包括:
具有第二多路抽头的第二延迟单元,该第二多路抽头的每一路与相应的该些选通信号的多个连续延迟版本一一对应,其中该第二多路抽头的路数比该第一多路抽头多。
5.如权利要求1所述的可配置装置,其特征在于,该源同步接收器耦接到四倍传输率源同步总线。
6.如权利要求1所述的可配置装置,其特征在于,该源同步接收器耦接到二倍传输率的源同步总线。
7.如权利要求1所述的可配置装置,其特征在于,该参考时钟信号来自于总线时钟信号,该预定数目个周期包含两个周期。
8.如权利要求1所述的可配置装置,其特征在于,该些参考时钟信号的多个连续延迟版本输入到该延迟锁定环的多路器,其中该选择向量信号被提供给该多路器的选择输入端,该多路器输出该些参考时钟信号的多个连续延迟版本中的一个。
9.如权利要求1所述的可配置装置,其特征在于,该些选通信号的多个连续延迟版本输入到格雷码多路器,其中该编码选择向量信号被提供给该格雷码多路器的选择输入端,该格雷码多路器输出相应的该些选通信号的多个连续延迟版本的中的一个。
10.如权利要求9所述的可配置装置,其特征在于,其中,所述格雷码多路器为64选1的格雷码多路器。
11.一种锁定源同步选通接收器的方法,其特征在于,包括下列步骤:
产生参考时钟信号的多个连续延迟版本,该些参考时钟信号的多个连续延迟版本是将参考时钟信号延迟预定数目个周期产生的;
利用一调整逻辑器来从一选择向量信号中减去一个很小的值来补偿制造过程和其它变化;
根据该选择向量信号在该些参考时钟信号的多个连续延迟版本中选择一个;
产生格雷编码选择向量来指示第一时间周期;以及
在一选通信号转换以后一锁定时间内,锁定该选通信号的接收,该锁定包括下列步骤:
指明该锁定时间为该第一时间周期还是为第二时间周期;
产生该选通信号的多个连续延迟版本;以及
通过在该些选通信号的多个连续延迟版本中选择一个,采用该格雷编码选择向量来决定该锁定时间。
12.如权利要求11所述的锁定源同步总线接收器的方法,其特征在于,该产生该参考时钟信号的多个连续延迟版本的步骤还包括:
使用具备第一多路抽头的延迟单元,该第一多路抽头中的每一路与该些参考时钟信号的多个连续延迟版本的一一对应。
13.如权利要求12所述的锁定源同步总线接收器的方法,其特征在于,该产生该格雷编码选择向量的步骤包括:
使用具有第二多路抽头的延迟单元,该第二多路抽头中的每一路与该些选通信号的多个连续延迟版本一一对应,该第二多路抽头的路数比该第一多路抽头的路数多。
14.如权利要求11所述的锁定源同步总线接收器的方法,其特征在于,该产生该参考时钟信号的多个连续延迟版本的步骤包括:
由总线时钟信号导出该参考时钟信号,并规定该预定数目个周期为两个周期。
15.如权利要求11所述的锁定源同步总线接收器的方法,其特征在于,该产生该参考时钟信号的多个连续延迟版本的步骤包括:
将该些参考时钟信号的多个连续延迟版本提供给多路器的输入端;以及
将该选择向量提供给该多路器的选择输入端,于是,该多路器输出该些参考时钟信号的多个连续延迟版本中的一个。
16.如权利要求11所述的锁定源同步总线接收器的方法,其特征在于,该产生该选通信号的多个连续延迟版本的步骤包括:
将该些选通信号的多个连续延迟版本输入到格雷码多路器;以及
将该编码选择向量信号提供给该格雷码多路器的选择输入端,于是,该格雷码多路器输出该些选通信号的多个连续延迟版本中的一个。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US88700907P | 2007-01-29 | 2007-01-29 | |
US88701207P | 2007-01-29 | 2007-01-29 | |
US60/887,012 | 2007-01-29 | ||
US60/887,009 | 2007-01-29 | ||
US11/687,861 US7900129B2 (en) | 2007-01-29 | 2007-03-19 | Encoded mechanism for source synchronous strobe lockout |
US11/687,899 | 2007-03-19 | ||
US11/687,899 US7543090B2 (en) | 2007-01-29 | 2007-03-19 | Double-pumped/quad-pumped variation mechanism for source synchronous strobe lockout |
US11/687,861 | 2007-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101079018A CN101079018A (zh) | 2007-11-28 |
CN101079018B true CN101079018B (zh) | 2010-06-02 |
Family
ID=38906499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101371136A Active CN101079018B (zh) | 2007-01-29 | 2007-07-19 | 锁定源同步选通接收器的装置及其方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7543090B2 (zh) |
CN (1) | CN101079018B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7900129B2 (en) * | 2007-01-29 | 2011-03-01 | Via Technologies, Inc. | Encoded mechanism for source synchronous strobe lockout |
US7900080B2 (en) * | 2007-01-29 | 2011-03-01 | Via Technologies, Inc. | Receiver mechanism for source synchronous strobe lockout |
KR101013449B1 (ko) * | 2008-12-30 | 2011-02-14 | 주식회사 하이닉스반도체 | 데이터 스트로브 신호 노이즈 방지 장치 및 반도체 집적회로 |
TWI482030B (zh) * | 2011-06-21 | 2015-04-21 | Via Tech Inc | 補償同步資料匯流排上的非對齊之裝置及方法 |
US8751852B2 (en) | 2011-06-21 | 2014-06-10 | Via Technologies, Inc. | Programmable mechanism for delayed synchronous data reception |
US8683253B2 (en) | 2011-06-21 | 2014-03-25 | Via Technologies, Inc. | Optimized synchronous strobe transmission mechanism |
US8782459B2 (en) | 2011-06-21 | 2014-07-15 | Via Technologies, Inc. | Apparatus and method for advanced synchronous strobe transmission |
US8751851B2 (en) | 2011-06-21 | 2014-06-10 | Via Technologies, Inc. | Programmable mechanism for synchronous strobe advance |
US8751850B2 (en) | 2011-06-21 | 2014-06-10 | Via Technologies, Inc. | Optimized synchronous data reception mechanism |
US8782460B2 (en) | 2011-06-21 | 2014-07-15 | Via Technologies, Inc. | Apparatus and method for delayed synchronous data reception |
US8839018B2 (en) | 2011-06-21 | 2014-09-16 | Via Technologies, Inc. | Programmable mechanism for optimizing a synchronous data bus |
TWI569149B (zh) * | 2013-01-22 | 2017-02-01 | 威盛電子股份有限公司 | 補償同步資料匯流排之誤差的裝置與方法 |
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 |
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 |
US8886855B2 (en) | 2013-01-22 | 2014-11-11 | Via Technologies, Inc. | Apparatus and method for dynamic alignment of source synchronous bus signals |
CN104346314B (zh) * | 2013-08-09 | 2018-01-05 | 上海龙诚自动化系统有限公司 | 一种单总线接收逻辑结构 |
US20150146824A1 (en) * | 2013-11-26 | 2015-05-28 | Seagate Technology Llc | Indexed i/o symbol communications |
GB2542149B (en) * | 2015-09-09 | 2019-11-27 | Imagination Tech Ltd | Synchronising devices |
US10055372B2 (en) * | 2015-11-25 | 2018-08-21 | Kandou Labs, S.A. | Orthogonal differential vector signaling codes with embedded clock |
US10103718B1 (en) * | 2017-04-05 | 2018-10-16 | Xilinx, Inc. | Recalibration of source synchronous systems |
KR20190110733A (ko) * | 2018-03-21 | 2019-10-01 | 에스케이하이닉스 주식회사 | 클럭 신호에 동기하여 신호를 전송 및 수신하는 반도체 장치 |
CN111506467B (zh) * | 2019-01-31 | 2023-07-11 | 上海诺基亚贝尔股份有限公司 | 信号处理方法、电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0398174A2 (en) * | 1989-05-19 | 1990-11-22 | National Semiconductor Corporation | Method for incorporating window strobe in a data synchronizer |
CN1270713A (zh) * | 1997-07-14 | 2000-10-18 | 英特尔公司 | 精确延迟非周期信号的主从延迟锁定环 |
CN1416116A (zh) * | 2002-12-12 | 2003-05-07 | 威盛电子股份有限公司 | 数字波产生装置与方法 |
CN1551235A (zh) * | 2003-04-29 | 2004-12-01 | ����ʿ�뵼������˾ | 用于域交连的半导体装置 |
US7109767B1 (en) * | 2004-07-12 | 2006-09-19 | Sun Microsystems, Inc. | Generating different delay ratios for a strobe delay |
CN1898871A (zh) * | 2003-12-24 | 2007-01-17 | 英特尔公司 | 可编程序直接插入式延迟锁定环路 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016066A (en) | 1998-03-19 | 2000-01-18 | Intel Corporation | Method and apparatus for glitch protection for input buffers in a source-synchronous environment |
US6025744A (en) * | 1998-04-17 | 2000-02-15 | International Business Machines Corporation | Glitch free delay line multiplexing technique |
US6505262B1 (en) | 1999-11-30 | 2003-01-07 | Intel Corporation | Glitch protection and detection for strobed data |
US6377097B1 (en) | 2000-03-13 | 2002-04-23 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method and apparatus for reducing the vulnerability of latches to single event upsets |
US6804800B2 (en) | 2000-12-29 | 2004-10-12 | Intel Corporation | Method and apparatus for detecting and recovering from errors in a source synchronous bus |
US6832325B2 (en) * | 2000-12-29 | 2004-12-14 | Intel Corporation | Device on a source synchronous bus sending data in quadrature phase relationship and receiving data in phase with the bus clock signal |
KR100732760B1 (ko) * | 2005-06-29 | 2007-06-27 | 주식회사 하이닉스반도체 | 지연고정루프회로 |
US7453297B1 (en) * | 2005-08-05 | 2008-11-18 | Xilinx, Inc. | Method of and circuit for deskewing clock signals in an integrated circuit |
US7271634B1 (en) * | 2005-09-16 | 2007-09-18 | Advanced Micro Devices, Inc. | Delay-locked loop having a plurality of lock modes |
US7620839B2 (en) * | 2005-12-13 | 2009-11-17 | Lattice Semiconductor Corporation | Jitter tolerant delay-locked loop circuit |
US7900080B2 (en) * | 2007-01-29 | 2011-03-01 | Via Technologies, Inc. | Receiver mechanism for source synchronous strobe lockout |
US7899143B2 (en) * | 2007-01-29 | 2011-03-01 | Via Technologies, Inc. | Adjustment mechanism for source synchronous strobe lockout |
US7900129B2 (en) * | 2007-01-29 | 2011-03-01 | Via Technologies, Inc. | Encoded mechanism for source synchronous strobe lockout |
-
2007
- 2007-03-19 US US11/687,899 patent/US7543090B2/en active Active
- 2007-07-19 CN CN2007101371136A patent/CN101079018B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0398174A2 (en) * | 1989-05-19 | 1990-11-22 | National Semiconductor Corporation | Method for incorporating window strobe in a data synchronizer |
CN1270713A (zh) * | 1997-07-14 | 2000-10-18 | 英特尔公司 | 精确延迟非周期信号的主从延迟锁定环 |
CN1416116A (zh) * | 2002-12-12 | 2003-05-07 | 威盛电子股份有限公司 | 数字波产生装置与方法 |
CN1551235A (zh) * | 2003-04-29 | 2004-12-01 | ����ʿ�뵼������˾ | 用于域交连的半导体装置 |
CN1898871A (zh) * | 2003-12-24 | 2007-01-17 | 英特尔公司 | 可编程序直接插入式延迟锁定环路 |
US7109767B1 (en) * | 2004-07-12 | 2006-09-19 | Sun Microsystems, Inc. | Generating different delay ratios for a strobe delay |
Also Published As
Publication number | Publication date |
---|---|
US20080184095A1 (en) | 2008-07-31 |
US7543090B2 (en) | 2009-06-02 |
CN101079018A (zh) | 2007-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101079018B (zh) | 锁定源同步选通接收器的装置及其方法 | |
US5742798A (en) | Compensation of chip to chip clock skew | |
US6744285B2 (en) | Method and apparatus for synchronously transferring data across multiple clock domains | |
US8073090B2 (en) | Synchronous de-skew with programmable latency for multi-lane high speed serial interface | |
US7249290B2 (en) | Deskew circuit and disk array control device using the deskew circuit, and deskew method | |
US10826502B1 (en) | Field programmable gate array with external phase-locked loop | |
EP2334003B1 (en) | Asymmetrical i/o devices and system | |
US10771069B1 (en) | Field programmable gate array with internal phase-locked loop | |
CN101068195B (zh) | 源同步选通脉冲接收器的锁定方法与装置 | |
CN104020820A (zh) | 接收器以及发射和接收系统 | |
CN101009487A (zh) | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 | |
CN104283665A (zh) | 用于传送数据的系统和包括其的视频显示器 | |
US20190273504A1 (en) | Techniques For Signal Skew Compensation | |
CN105227257A (zh) | 一种改进型时钟同步镜像延迟电路 | |
US9088276B2 (en) | Pre-emphasis control circuit for adjusting the magnitude of a signal over a period according to a fraction of a bit-time | |
KR100415193B1 (ko) | 반도체 메모리 장치에서의 내부클럭 발생방법 및 내부클럭발생회로 | |
US20070019773A1 (en) | Data clock recovery system and method employing phase shifting related to lag or lead time | |
WO2009058509A1 (en) | Apparatus and method for optimizing delay elements in asynchronous digital circuits | |
US20070064781A1 (en) | Timing adjustment for data transmitting/receiving circuit | |
US11704276B2 (en) | Propagation delay compensation for SPI interfaces | |
KR100340469B1 (ko) | 자기동기형반도체집적회로장치 | |
US6954870B2 (en) | Method for receiver delay detection and latency minimization for a source synchronous wave pipelined interface | |
CN1996760A (zh) | 应用于时钟源同步机制中的利用相位域和时域混合控制时钟相位校准的装置及其校准方法 | |
JP2000249747A (ja) | 半導体試験装置のタイミング信号発生回路 | |
US20020018537A1 (en) | Configuration and method for calibrating an interface for multichannel synchronized data transmission |
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 |