CN100484071C - 差分方式变迁编码的方法以及相应的编码和解码系统 - Google Patents
差分方式变迁编码的方法以及相应的编码和解码系统 Download PDFInfo
- Publication number
- CN100484071C CN100484071C CNB031557996A CN03155799A CN100484071C CN 100484071 C CN100484071 C CN 100484071C CN B031557996 A CNB031557996 A CN B031557996A CN 03155799 A CN03155799 A CN 03155799A CN 100484071 C CN100484071 C CN 100484071C
- Authority
- CN
- China
- Prior art keywords
- bus
- bus conductor
- conductor
- assert
- differential
- 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.)
- Expired - Fee Related
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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
Abstract
本发明提供了一种对差分总线进行差分变迁编码的方法。使用差分变迁编码的方法包括,将差分总线划分为一个或者多个由4条总线导线构成的组。使用差分总线的方法还包括,在总线数据传输期间,断言集中的一半总线导线,从而确定断言总线导线集和去断言总线导线集。该方法和系统进一步包括,通过去断言断言集中的一条总线导线并断言去断言集中的一条总线导线,通过差分驱动两条总线导线,传送数据。
Description
技术领域
本发明一般地涉及一种总线数据传输系统,更具体地说,本发明涉及一种使用差分方式变迁编码(Transitional Coding)的方法和设备。
背景技术
当今,微芯片中可用电路密度和速度的显著提高反过来要求相应地提高片上操作能力和性能。然而,这种提高使得它们本身开始产生某些其他问题,例如,传统数据总线技术的性能。越来越难以提供非常高的片下(off chip)输入带宽和输出带宽(即,数据传输到微芯片上,或者将数据传输到微芯片之外),因为它们需要有效利用这种显著提高的片上操作能力。
这种困境的一种解决方案是采用更宽的总线数据通路。然而,这种方法要求增加总线数据驱动器电路的数量,对芯片设计师产生了其他问题。根据给定总线周期内传输的数据模式与在前总线周期内传输的数据模式如何不同,可以要求在所有数据总线驱动器与非数据总线驱动器之间的任意位置改变其各数据总线导线的电压电平。由于每条数据总线导线可以具有显著负载电容,所以,可能存在显著的对总峰值驱动器电流需要(如果所有驱动器试图同时、迅速改变其总线导线的电压电平),以及这种驱动器电流需要从一个总线周期到下一个总线周期的显著变化(例如,如果在一个周期内进行所有转换,而在下一个周期内不进行转换)。愈来愈难以对大量的这种驱动器电路提供足够的功率分配,因为片上电源的电感和电阻以及馈送它们的接地网产生显著的动态总线数据相关电压漂移。因此,这些经常作为噪声耦合到芯片上的其他电路中。
该问题的一种解决方法是采用驱动器电路,该驱动器电路被设计用于限制转换速率,即,限制它们多么快速改变其相关数据总线导线负载的电压。另一种解决方法是,“交错”运行驱动器电路,因此,它们不是在同一瞬间全部试图改变其相关数据总线导线。这两种方法均有效,但是,代价是总线周期时间变长,而且数据传输速率变低。
另一种方法是差分传输,在差分传输中,对每个数据总线位线采用两条导线。然后,恒流流入一个驱动器电路通路或另一个驱动器电路通路以产生差分信号。这样驱动器通常会在片上导致低的接地网和供电网瞬态变化,同时在接收器芯片上具有改进的噪声抗扰性,因为只有两个数据总线位线电压电平之间的差值对于差分接收器重要。这样反过来使得可以在总线导线上使用低电压信号电平摆动,而低电压信号电平摆动降低了给定电容性总线负载的片上驱动器电流需要。还可以降低数据总线导线内的耦合噪声,它是发射的电磁辐射。为了将这种技术与单端型总线区别开,通常,将这种技术称为LVDS(低压差分信号电平),单端型总线的一条导线用于发送每个数据位,其所采用的电压电平通常与逻辑电路使用的电压电平相同。
通常,在芯片内进行总线连接时采用后一种技术,而且根据要求的速度以及数据总线导线呈现的距离/负载电容,在芯片之间进行传输时采用单端方法或者LVDS方法。
第6,304,933号美国专利对单端技术进行了进一步改进,将这种技术称为“变迁编码”。在本发明中,通过激活或者停用4条总线导线之一发送数据,4条总线导线之一的每个变迁(transition)表示唯一的2位二进制值。与传统单端方法相比,结果是驱动器电流需要的变化减小,因为如果用作传统单端数据总线的一部分,与通过同样的4条导线从0到4的并行导线的任何位置变迁相比,这两个连续的单导线变迁始终要求发送4位信息。此外,该变迁自供时钟,并因此可以更快,特别是在片上环境下。
然而,即使在采用LVDS技术时,提供足够数据传输速率要求的逐渐增宽的总线数据通路所需的驱动器电路的数量仍存在严重的片上同时转接问题。总线系统的设计必须能够在每个总线周期将反数据模式转移为前数据模式。因此,对于每个周期,所有数据线均可以或者均不可以被变迁,而且可以以与其相邻数据线相反的方向,差分驱动其中的一些数据线,从而提高信号线间的有效负载电容。
因为这种变迁引起的转接总线导线数量的变化通常会对接收编码数据产生不利条件,其原因如下:导线之间的交叉耦合、地电源电压的变化、噪声尖峰、电磁辐射等。
因此,需要一种用于通过总线差分传输数据、克服传统系统的局限性的方法和设备。
发明内容
本发明提供了一种用于差分总线的差分变迁编码方法。将总线划分为一个或者多个由4条总线导线构成的组,其中的一半构成断言总线导线集,而且其中的一半构成去断言总线导线集。变迁编码方法进一步包括,通过去断言断言总线导线集中的一条总线导线并断言去断言总线导线集中的一条总线导线,通过差分驱动两条总线导线,传送数据。
本发明提供了一种差分变迁解码差分总线系统,该系统包括:差分总线,包括至少具有4条总线导线的组;总线发送器,可以用于断言处于高电压的一半总线导线和处于低电压的一半总线导线,从而确定断言总线导线集和去断言总线导线集;通过去断言断言总线导线集中的一条总线导线并断言去断言总线导线集中的一条总线导线,通过差分驱动两条总线导线,每集一条总线导线,该总线发送器还可以用于传送数据;以及总线接收器,可以用于接收总线导线组并用于在总线数据传输周期之后解码获得的信息。
本发明提供了一种差分变迁编码差分总线系统,该系统包括:差分总线,包括至少含有4条总线导线的组;总线发送器,可以用于断言处于高电压的一半总线导线和处于低电压的一半总线导线,从而确定断言总线导线集和去断言总线导线集;以及其中通过去断言断言总线导线集中的一条总线导线并断言去断言总线导线集中的一条总线导线,通过差分驱动两条总线导线,每集一条总线导线,该总线发送器还可以用于传送数据。
附图说明
为了更全面理解本发明及其优点,现在,请结合附图参考以下所做的详细说明,附图包括:
图1示出适于采用差分方式变迁编码方法的总线系统的原理图;
图2示出采用差分编码方法的接收器的系统级原理图;
图3A示出可以采用差分变迁编码方法的差分接收器电路的原理图;
图3B示出可以采用差分变迁编码方法的控制逻辑和状态寄存器的原理图;
图3C示出状态移位解码逻辑的原理图;
图3D示出状态编码逻辑的原理图;
图3E示出数据转换逻辑的原理图;
图4示出采用差分方式变迁编码方法的流程图;以及
图5示出各种逻辑块之间的逻辑时序图以及它们是如何互相相关的。
具体实施方式
为了透彻理解本发明,在以下的讨论中,将对许多具体细节进行说明。然而,本技术领域内的熟练技术人员明白,没有这些具体细节,也可以实现本发明。为了不因为不必要的细节影响理解本发明,在其他例子中,以原理图或方框图的方式示出众所周知的部件。此外,通常省略说明关于网络通信、电磁信令技术等的细节内容,因为这些细节内容对于全面理解本发明并非必要,而且可以认为相关技术领域内的普通技术人员了解这些细节内容。
还请注意,除非另有说明,可以以硬件或软件的方式,或者微处理器执行固件,或者以它们的某种组合方式实现在此描述的所有功能。在一个实施例中,采用为了实现这些功能被编码的专用集成逻辑电路。在其他实施例中,除非另有说明,根据诸如计算机程序代码的代码、软件,和/或被编码执行这些功能的集成电路,利用诸如计算机或电子数据处理器的处理器实现各功能。
参考图1,参考编号100通常表示差分总线系统。系统100适于接收输入到发送器110的输入数据。发送器110包括差分编码电路120、数据通路130、140以及总线驱动器150、160。差分编码电路120可以包括硬件专用逻辑电路、软件、微处理器执行固件等。总线驱动器150连接到一组总线导线(bus line)163,而总线驱动器160连接到一组总线导线165。这两组总线导线163、165均连接到数据总线接收器180。通过到发送器110的控制线170,数据总线接收器180与数据总线发送器110交换控制线信息。数据总线接收器180接收差分编码并将解码数据作为输出数据输出。尽管图3A至3E所示的数据总线接收器180包括逻辑单元,但是本技术领域内的熟练技术人员明白,数据总线接收器180还可以包括硬件专用逻辑电路、软件、微处理器执行固件等,而且本发明并不局限于特定实施例。
将总线导线划分为一个或者多个组,在另一个实施例中,将其划分为第一总线导线组163和第二总线导线组165。根据功能将每个总线导线组划分为两个集。第一断言集(asserted set)仅包括一半该组总线导线,而第二去断言集包括剩余的该组总线导线。通常,断言总线导线具有“1”或“高”电压输出,而去断言(de-asserted)总线导线具有“0”或“低”电压。可以利用二进制字段或其值表示总线导线组的状态。换句话说,4线组导线可以是表示值“3”的“0,0,1,1”等。
在确定两集总线导线后,系统100执行数据总线传输(transfer)周期。通常,总线传输周期包括差分总线系统100变迁并断言(即,使电压变高)被事先去断言的、该集总线导线中的一个成员。数据总线传输周期还包括系统100去断言断言集中的一个成员,并大致同时断言去断言集中的一个成员,从而互相交换每集中的一个成员。系统100采用的编码规则是,每组中应该始终存在一半断言总线导线和一半去断言总线导线。在另一个实施例中,总线导线组包括6条总线导线。在又一个实施例中,系统100包括多个组。
例如,在四线组中,在去断言集中有两个可能总线导线,在断言集中有两个可能总线导线。在总线数据传输周期中,断言去断言集中的一条总线导线,而去断言断言集中的一条总线导线。因此,总共有4种独立方式可以从该组的任意给定状态变迁到四线组的任意其他容许状态。因此,每个唯一变迁均将2位信息的分组{(00);(01);(10);(11)}发送到接收器。
例如,在四线组中,始终存在两条被断言的总线导线和两条被去断言的总线导线。将断言导线表示为“1”,而将去断言导线表示为“0”,容许状态是(0,0,1,1);(0,1,0,1);(0,1,1,0);(1,0,0,1);(1,0,1,0);以及(1,1,0,0)。在下一个总线数据传输周期中,每集中的一个成员(即,断言总线导线集和去断言总线导线集)将分别从去断言状态变为断言状态,并从断言状态变为去断言状态。从一种状态到另一种状态(例如,从(0,1,0,1)状态到(0,1,1,0)状态)的唯一变迁与诸如“01”的2位二进制值相关。从(1,1,0,0)状态变为(0,1,0,1)状态与“00”的二进制值相关。从发送器110传送到接收器180的该值包含改变各种状态的功能而非仅包含改变新状态本身的功能。
在图1中,在数据总线发送器接收输入数据时,差分编码电路120首先获得该输入数据,差分编码电路120还存取每组总线导线163、165的变迁前状态。根据输入数据和传输前状态,电路120确定总线导线组163和165的变迁后状态。然后,通过到总线驱动器150、160的数据通路130、140,电路120断言和去断言适于下一个总线数据传输周期的、每组163和165中的适当总线导线对。
总线接收器180接收总线导线组163和165。然后,总线接收器180将该总线导线上的电压与该组中的其他总线导线上的电压进行比较,并将先前数据总线周期的状态(即,断言总线导线与去断言总线导线)进行比较。根据总线导线组163的变迁前状态和变迁后状态,对数据总线接收器180解码的数据输出进行解码。在另一个实施例中,利用控制线170通知编码电路120,接收器对多个例如通过总线导线组163和165接收的二位数据分组进行了解码。
以下是示出四线制状态变迁的一个实施例的表。组中的第一总线导线是总线导线“0”,而最后总线导线是导线“3”。
表1:编码的实例状态映射
变迁前状态(利用断言的和去断言的总线导线表示) | 变迁后状态(利用总线导线的变迁和非变迁表示) | 断言总线导线号 | 解码数据 |
0x3 | (0011) | 0x5 | (0101) | +1,-2 | 00 |
0x6 | (0110) | +1,-3 | 01 | ||
0x9 | (1001) | +0,-3 | 10 | ||
0xA | (1010) | +0,-2 | 11 | ||
0x5 | (0101) | 0X3 | (0011) | +2,-1 | 00 |
0x6 | (0110) | +2,-3 | 01 | ||
0x9 | (1001) | +0,-1 | 10 | ||
0xC | (1100) | +0,-3 | 11 | ||
0x6 | (0110) | 0X3 | (0011) | +3,-1 | 00 |
0x5 | (0101) | +3,-2 | 01 | ||
0xA | (1010) | +0,-1 | 10 | ||
0xC | (1100) | +0,-2 | 11 | ||
0x9 | (1001) | 0X3 | (0011) | +2,-0 | 00 |
0x5 | (0101) | +1,-0 | 01 | ||
0xA | (1010) | +2,-3 | 10 | ||
0xC | (1100) | +1,-3 | 11 | ||
0xA | (1010) | 0X3 | (0011) | +3,-0 | 00 |
0x6 | (0110) | +1,-0 | 01 | ||
0x9 | (1001) | +3,-2 | 10 | ||
0xC | (1100) | +1,-2 | 11 | ||
0xC | (1100) | 0x5 | (0101) | +3,-0 | 00 |
0x6 | (0110) | +2,-0 | 01 | ||
0x9 | (1001) | +3,-1 | 10 | ||
0xA | (1010) | +2,-1 | 11 |
在一个实施例中,数据总线接收器180将总线导线组中各总线导线之间的差进行比较,而非将电压与该例如5伏的更低阈值电压进行比较,以表示断言导线和任意低阈值电压,例如地线或0.5伏,或者某个其他低电压。因此,数据总线接收器180具有改进的电压峰值抗扰性以及与高共模抑制比有关的其他优点。在系统100的一个实施例中,测量并补偿非对称断言时间和非对称去断言时间的信号传播。系统100可以位于集成电路芯片的外部或内部。
现在,参考图2,图2示出采用变迁编码的接收器的系统级图。通常,接收器180通过总线导线组163接收差分编码数据。将差分编码数据输入到差分接收器电路210。变迁接收器电路210将总线导线组163的各输入总线导线的电压电平进行比较。
然后,将这些总线导线电压比较值输入到解码变迁逻辑230。解码变迁逻辑230还获取存储在状态寄存器220内的变迁前状态作为输入。解码变迁逻辑230确定是否已经从存储在状态寄存器220内的变迁前状态变迁到变迁后状态。
如果解码变迁逻辑230确定没有进行新的变迁,则解码变迁逻辑不输出新信号。然而,如果解码变迁逻辑230确实确定发生了状态变迁,则解码变迁逻辑230将具体变迁通知解码状态逻辑240和解码数据逻辑250。在另一个实施例中,解码变迁逻辑230从解码状态逻辑240接收状态时钟信号。
在解码状态逻辑240内,解码并确定从变迁前状态到变迁后状态的具体变迁。换句话说,解码变迁逻辑230确定诸如(0,0,1,1)、(0,0,1,0)等的变迁后状态。然后,将该变迁后状态输入到状态寄存器220,而且该变迁后状态现在是存储的系统状态,利用该存储的系统状态比较其他变迁。在解码数据逻辑250内,将系统状态变迁解码为其相应的“00”、“01”、“10”或“11”数据分组。
接收器200对总线导线组163中各总线导线的变迁进行的解码包括异步转换。数据总线接收器180处理数据的速度可以与数据总线发送器110发送该数据的速度一样快。换句话说,在每次进行必要的两个变迁(即,每集的一个电压断言和一个电压去断言)时,接收器180本身复位,并准备好接收下一个断言和去断言。在另一个实施例中,在多个总线导线163和165全部被解码时,可以利用控制线270将信号发送到数据总线发送器160。
通常,图3A至3E分别示出数据总线接收器180、差分接收器210、状态寄存器220、解码变迁逻辑230、解码状态逻辑240以及解码数据逻辑250的各级。
现在,参考图3A,差分接收器210包括差分放大器302、304、306、308、310和312。如本技术领域内的熟练技术人员所理解的,如果差分放大器的非倒相输入高于倒相输入,则差分放大器输出“高”比较信号。如果非倒相输入低于倒相输入,则该差分放大器输出“低”比较信号。
通常,包括总线导线0、总线导线1、总线导线2以及总线导线3的总线导线组163的全部4条导线被路由选择到正确的差分放大器。由于每个差分放大器均具有倒相输出和非倒相输出,所以各差分放大器将总线导线的所有功能组合进行功能上的比较。例如,如果总线导线状态从(0,0,1,1)变为(0,1,0,1),则总线导线1现在的电压高于总线导线3的电压,而此前,总线导线3的电压高于总线导线1的电压。
例如,在所示的实施例中,差分放大器302将总线导线0与总线导线1进行比较。如果总线导线0的电压高于总线导线1的电压,则差分放大器302输出正信号。如果总线导线1的电压低于总线导线0的电压,则差分放大器305输出负信号。根据总线导线输入的各种组合,其他差分放大器304、306、308、310以及312进行类似的比较。为了驱动组163、165的各总线导线,数据总线发送器110具有类似的逻辑。
差分放大器302、304、306、308以及310输出的值表示诸如总线导线“0”的第一总线导线是否高于诸如总线导线“1”的第二总线导线,其利用等式“+=导线0>1”表示。倒相器314、315、316、317、318、319将该值倒相,以确定第二总线导线是否高于第一总线导线,其利用等式“+=导线1>0”表示。接收器180的差分接收器电路210既输出倒相差分信号,又输出非倒相差分信号。
现在,参考图3B,图3B示出位于状态寄存器220中的、差分变迁编码可以采用的控制逻辑和状态寄存器。在图3B中,将设置“3”(0011)、“5”(0101)、“6”(0110)、“9”(1001)、“A”(1010)以及“C”(1100)的标记输入到NOR(或非)门320、322、324、326、328、330,每个NOR门具有唯一的设置。通常,在数据总线接收器180从变迁前差分输入状态变迁为变迁后状态时,发生设置(set)。然后,在之后的总线数据传输周期,该新状态,即变迁后状态变成变迁前输入状态。在图3B中,对于任意设置函数(set function),如果为真,所示“设置”为负,如果为假,则为正,从而对于给定的NOR门,每一个NOR门具有反相输入从而将“负”真转换为正真。
负加电复位输入通过倒相器连接到NOR门320的输入端。通常,负加电复位输入包括,在总线接收器180第一次接通电源时的缺省状态,或复位状态。本技术领域内的熟练技术人员明白,还可以将其他NOR门连接到其他NOR门322、324、326、328和330。无论将加电复位连接到哪个NOR门,这都是缺省状态,而且被数据总线发送器110所知。
在进行加电或者复位时(POR),如果对NOR门320输入信号,则NOR门320的输入端首先倒相该信号。因此,NOR门的输出为正,并将“+=状态3”定义为正。
将“3”、“5”等的“-=先设置(set early)”信号分别从解码状态逻辑250馈送到NOR门331。NOR/NAND(与非)门对320/324、322/335、324/336、326/337、328/338以及300/339构成6个状态锁存器,一次设置其中的一个状态锁存器,以建立6个状态“3”、“5”、“6”、“9”、“A”或“C”的一个状态。从这些锁存器的中间接点(NOR门与NAND门之间)取出正有效状态信号。本技术领域内的熟练技术人员明白,以这样的方式使用NOR/NAND对可以创建“优先设置锁存器”(overriding setlatch),在该“优先设置锁存器”中,对于锁存器中间接点的正输出,位于NOR门输入端的负设置信号优先于(override)位于NAND门输入端的负复位。
在POR条件下,NAND门334至339接收负输入,NOR门320也如此。适当复位间隔之后,清除这些输入,仅保留“状态3”锁存器设置。在图3B中,通常,断言6个“-=先设置n”信号,然后断言各“-=之后设置n”。前者(在通过NOR门331和倒相器332的延迟之后)将复位施加到所有6个锁存器。然而,假定“-=-=先设置n”信号与“-=之后设置n”信号之间的延迟足够长,则“-=之后设置n”还将优先设置施加到对应于下一个门的6个锁存器之一。
参考图5,图5示出各种逻辑块之间的逻辑时序图并利用表示下一个变迁的曲线箭头示出它们如何互相相关。如图5所示,如果所有的逻辑门具有同样的单位时间延迟,则延迟块372、375、378、381、384和387均具有4个时间单位的延迟,而且该逻辑的初始状态为状态“3”锁存器设置,其中总线导线0和1为负,而总线导线2和3为正。
如果差分变迁到达总线导线1和2,以致总线导线1变为正,而总线导线2变为负,则图3A所示的接收器308对此进行检测,而且其输出“+=导线>2”将变为正。在此以及在后续段落中描述的所有信号定时均指从此瞬间开始的延迟。在1个时间单位的延迟之后,图3C所示的NAND341的输出“-=3到5”变为负,因为它的其他输入“+=状态3”也为正。然后,在通过图3D所示的NOR门373和倒相器374的另外2个延迟之后,“-=先设置5”信号为负。这就是从基准瞬间开始的3个时间单位的延迟。从基准瞬间开始的7个时间单位延迟,“-=之后设置5”信号为负。在通过图3B所示块331和332的另外2个延迟之后,332的输出为负(从基准瞬间开始的5个时间单位延迟),将复位信号施加到所有状态锁存器。这样,在通过块334和320的另外2个延迟(从基准瞬间开始的7个时间单位延迟)之后,将使图3B所示状态锁存器“3”的“+=状态3”输出为负。这样就完成了清除初始状态“3”。
然而,如果改由“-=之后设置5”信号(从基准瞬间开始的7个时间单位延迟到达图3B所示NOR门332的)设置状态“5”锁存器,则在另一个单位延迟(从基准瞬间开始的8个时间单位延迟)之后,该锁存器的块322的“+=状态5”输出变为正。一旦“+=状态3”信号变为负,则在通过图3C所示的块341的另外1个延迟(从基准瞬间开始的8个时间单位延迟)之后,“-=3到5”信号变为正,而且这样反过来会导致图3D所示的块374输出的“-=先设置5”信号在从基准瞬间开始的10个时间单位延迟为正。这样,在检测从初始状态“3”到“5”状态的变迁过程中,就完成了运行该状态逻辑,而且状态逻辑保留静态,直到新变迁到达输入总线导线。对其他可能状态变迁,应用类似的定时条件。
现在,参考图3C,图3C示出多个NAND门阵列。NAND门的每个阵列340、345、350、360、365和370与状态相关,而且在锁存图3B所示的状态时,它们有效。例如,如果锁存状态“3”,则NAND阵列340的NAND341、342、343和344有效。如果锁存状态“6”,则NAND阵列350的NAND351、352、353和354有效。
在图3C中,差分放大器302、304、306、308、310和312的各种组合的输出用作各种NAND门阵列340、345、350、360、365和370的各NAND的输入。每个差分输出表示一个状态到另一个状态的变化。例如,如果状态是状态“3”,则NAND阵列340有效。如果差分信号是总线导线1现在高于导线2,则这表示(0,0、1、1)总线导线逻辑电平到(0,1,0,1)总线导线逻辑电平的变迁,而且表示从“状态3”变为“状态5”,并且NAND门341有效。如果改由差分输入表示总线导线0现在高于总线导线3,则这表示从(0,0,1,1)变为(1,0,1,0),而且表示从状态“3”变为状态“A”,并NAND门344有效。
在图3C中示出了状态的容许变迁。将图3C所示的所有NAND门的输出传送到图3D和3E所示的解码逻辑。在图3C所示的实施例中,在其逻辑输出为负时,NAND门有效。
现在,参考图3D,图3D示出在图3C产生的总线导线变迁的状态解码逻辑。每个NOR门370、373、376、379、382和385与最终变迁状态相关。例如,NOR 370接收以状态“3”结束的所有可能的状态变迁,NOR 373接收以状态“5”结束的所有状态变迁,等等。因此,如果存在到状态“3”的变迁,则NOR门370输出正信号。如果存在到状态“5”的变迁,则NOR门373为正,等等。利用其相应的倒相器,即倒相器371、374、377、380、383和386,倒相每个NOR门370、373、376、379,382和385的输出。这样产生“-=先设置”信号。延迟单元372、375、378、381、384和387进一步对各信号进行延迟。在一个实施例中,延迟单元包括事件数量的倒相器。馈送“-=先设置”信号和“-=之后设置(set late)”信号,并对图3B所示的状态锁存器的设置/复位进行控制。
现在,参考图3E,图3E示出将状态变迁转换为图3B所示6个状态锁存器的可识别的2位数据分组。图3E示出4个NOR门390、393、395和397。根据表1,容许状态变迁表示2位数据的变迁。在图3E中,从“3到5”、“5到3”、“6到3”、“9到3”、“A到3”或“C到5”的任意变迁代表传输2位数据“00”,因为对于这些事件中的任意一个事情,NOR门390将为正。从“3到6”、“5到6”、“6到5”、“9到5”、“A到6”或“C到6”的任意变迁代表传输2位数据“01”,因为对于这些事件中的任意一个事情,NOR门393将为正。将类似逻辑施加到NOR门395和397的输入端。这些变迁是作为数据输出的输出,它是数据输入的再现。
图4示出数据总线系统可以执行的各步骤的流程图。在步骤410,数据总线发送器110和DB接收器180至少将总线导线划分为一个至少具有4条总线导线的总线组163。在另一个实施例中,总线导线是偶数。对数据总线发送器160和数据总线接收器180进行配置以对同一个总线导线集和组进行发送和接收。在一个实施例中,数据总线发送器110和数据总线接收器180通过控制线170发送配置信息。
在步骤420,数据总线发送器110将总线导线组163、165初始化为6个容许状态(0,0,1,1)、(0,1,0,1)、(0,1,1,0)、(1,0,0,1)、(1,0,1,0)或(1,1,0,0)中的任意一个状态。在另一个实施例中,解码变迁逻辑290将数据总线接收器180初始化为状态(0,0,1,1)。该初始化状态也被状态锁存器290捕获。
在步骤430,通过数据输入,数据总线发送器130接收要差分编码并要通过第一和第二总线导线组163、165传送的数据。在步骤440,根据总线导线组163的各总线导线的当前状态和新输入数据,差分编码电路120确定哪条总线导线将被变迁,每对断言和去断言总线导线一个变迁。在一个实施例中,表1示出这种判定。本技术领域内的熟练技术人员明白,差分编码电路120可以包括硬件、软件、固件等。
在步骤450,数据总线发送器110利用差分方式通过总线导线组163传送编码数据。在步骤455,数据总线接收器180接收总线导线组163,总线导线组163既包括变迁总线导线,又包括非变迁总线导线。然后,利用正确差分放大器、NAND门、去复用器等,数据总线接收器180解码被发送器110编码的数据。
在步骤460,方法400确定是否还存在要被DB发送器110编码的数据。如果还存在,则方法400重新执行步骤430,而且DB发送器110接收要差分编码和传送的信息。如果不存在要差分编码的信息,则方法400在步骤470停止。
显然,本发明可以取多种形式,而且可以具有多种实施例。例如,尽管已经公开了采用逻辑电路进行变迁编码,但是本技术领域内的熟练技术人员明白,在本发明范围内,可以采用硬件、软件、固件等。因此,在本发明的实质范围内,可以对上述内容做许多变化。尽管参考本发明的特定优选实施例对本发明进行了描述,但是应当注意,就其性质来说,所公开的实施例是说明性的,而非限制性的,并且可以设想对上述公开进行广泛变化、修改、改变以及替换,在某些例子中,可以采用本发明的一些特征,而不相应采用其他特征。可以认为,对于研究了对实施例所做的上述描述的、本技术领域内的熟练技术人员,许多这种变化和修改是显而易见和希望的。因此,广义地和以与本发明的范围一致的方式理解后附权利要求是适当的。
Claims (19)
1、一种用于差分总线的差分变迁编码方法,该方法包括:
将总线划分为一个或者多个总线导线组,每个总线导线组包括至少4条总线导线;
在总线数据传输期间,断言总线导线组中一半的总线导线,从而确定断言总线导线集和去断言总线导线集;以及
通过去断言断言总线导线集中的至少一个总线导线和断言去断言总线导线集中的至少一个总线导线,差分驱动两条总线导线,传送数据。
2、根据权利要求1所述的方法,其中每个总线导线组包括6条总线导线。
3、根据权利要求1所述的方法,其中传送步骤包括异步传送。
4、根据权利要求1所述的方法,该方法进一步包括接收总线导线组中的总线导线的步骤。
5、根据权利要求4所述的方法,该方法进一步包括解码总线导线组中的总线导线的步骤。
6、根据权利要求5所述的方法,该方法进一步包括利用时钟触发信号接收多个总线导线组的变迁的步骤。
7、根据权利要求1所述的方法,其中利用微处理器计算断言步骤。
8、一种差分变迁解码差分总线系统,该系统包括:
差分总线,包括至少具有4条总线导线的组;
总线发送器,可以用于断言处于高电压的一半总线导线和处于低电压的一半总线导线,从而确定断言总线导线集和去断言总线导线集;
通过去断言断言总线导线集中的一条总线导线并断言去断言总线导线集中的一条总线导线,差分驱动两条总线导线,每集一条总线导线,该总线发送器还可以用于传送数据;以及
总线接收器,可以用于接收总线导线组并用于在总线数据传输周期之后解码获得的信息。
9、根据权利要求8所述的系统,其中各总线导线包含在电缆内。
10、根据权利要求8所述的系统,其中总线发送器和总线接收器还适于利用信号传播来测量并补偿非对称断言时间和非对称去断言时间。
11、一种差分变迁编码差分总线系统,该系统包括:
差分总线,包括至少含有4条总线导线的组;
总线发送器,可以用于断言处于高电压的一半总线导线和处于低电压的一半总线导线,从而确定断言总线导线集和去断言总线导线集;以及
其中通过去断言断言总线导线集中的一条总线导线并断言去断言总线导线集中的一条总线导线,差分驱动两条总线导线,每集一条总线导线,该总线发送器还可以用于传送数据。
12、根据权利要求11所述的系统,其中差分总线包括6条总线导线。
13、根据权利要求11所述的系统,其中至少部分差分总线在集成电路芯片的内部。
14、根据权利要求11所述的系统,其中至少部分总线位于集成电路芯片的外部。
15、根据权利要求11所述的系统,其中以异步方式进行数据传送。
16、根据权利要求11所述的系统,该系统进一步包括一条连接的总线。
17、根据权利要求11所述的系统,该系统进一步包括4个或者更多个连接到4个或者更多个AND门的差分放大器,其中差分放大器在功能上连接到总线发送器的传送信号。
18、根据权利要求11所述的系统,该系统进一步包括连接到传送数据的状态锁存器。
19、根据权利要求18所述的系统,其中状态锁存器适于传送信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/242,522 US7003605B2 (en) | 2002-09-12 | 2002-09-12 | Method and system for an improved differential form of transitional coding |
US10/242,522 | 2002-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1492640A CN1492640A (zh) | 2004-04-28 |
CN100484071C true CN100484071C (zh) | 2009-04-29 |
Family
ID=31991428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031557996A Expired - Fee Related CN100484071C (zh) | 2002-09-12 | 2003-09-03 | 差分方式变迁编码的方法以及相应的编码和解码系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7003605B2 (zh) |
JP (1) | JP3683892B2 (zh) |
CN (1) | CN100484071C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071534A1 (en) * | 2003-09-30 | 2005-03-31 | Dell Products L.P. | Chassis expansion using newcard |
US7400670B2 (en) | 2004-01-28 | 2008-07-15 | Rambus, Inc. | Periodic calibration for communication channels by drift tracking |
US8422568B2 (en) | 2004-01-28 | 2013-04-16 | Rambus Inc. | Communication channel calibration for drift conditions |
US7158536B2 (en) * | 2004-01-28 | 2007-01-02 | Rambus Inc. | Adaptive-allocation of I/O bandwidth using a configurable interconnect topology |
US7095789B2 (en) | 2004-01-28 | 2006-08-22 | Rambus, Inc. | Communication channel calibration for drift conditions |
US7240140B2 (en) * | 2004-03-11 | 2007-07-03 | Intel Corporation | Efficient detection of multiple assertions in a bus |
US6961862B2 (en) | 2004-03-17 | 2005-11-01 | Rambus, Inc. | Drift tracking feedback for communication channels |
JP4604627B2 (ja) * | 2004-09-22 | 2011-01-05 | ソニー株式会社 | エンコーダ装置およびデコーダ装置 |
KR100744141B1 (ko) | 2006-07-21 | 2007-08-01 | 삼성전자주식회사 | 싱글 엔디드 신호 라인의 가상 차동 상호 연결 회로 및가상 차동 신호 방식 |
US7484023B2 (en) * | 2006-09-15 | 2009-01-27 | International Business Machines Corporation | Computer system apparatus for stabilizing asynchronous interfaces |
US7895560B2 (en) * | 2006-10-02 | 2011-02-22 | William Stuart Lovell | Continuous flow instant logic binary circuitry actively structured by code-generated pass transistor interconnects |
TWI385632B (zh) * | 2008-01-17 | 2013-02-11 | Novatek Microelectronics Corp | 用於資料傳輸介面中減少資料轉態之方法及其相關裝置 |
JP2011529298A (ja) * | 2008-07-27 | 2011-12-01 | ラムバス・インコーポレーテッド | 受信側の供給負荷の分散方法及びシステム |
US9165615B2 (en) | 2010-03-24 | 2015-10-20 | Rambus Inc. | Coded differential intersymbol interference reduction |
KR101096185B1 (ko) * | 2010-05-25 | 2011-12-22 | 주식회사 하이닉스반도체 | 데이터 전송회로 및 전송방법, 데이터 전송회로를 포함하는 메모리장치 |
WO2014162491A1 (ja) * | 2013-04-01 | 2014-10-09 | 富士通株式会社 | 信号伝送システム、送信回路、受信回路、信号送信方法、及び信号受信方法 |
US20210342285A1 (en) * | 2020-04-30 | 2021-11-04 | Advanced Micro Devices, Inc. | Encoding of symbols for a computer interconnect based on frequency of symbol values |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0346750B1 (de) * | 1988-06-14 | 1993-06-09 | Siemens Aktiengesellschaft | Anordnung zur DPCM-Codierung mit hoher Datenrate |
RU2126594C1 (ru) * | 1995-11-27 | 1999-02-20 | Войсковая часть 25714 | Устройство передачи данных |
CA2337642A1 (en) * | 2001-02-21 | 2002-08-21 | Pmc-Sierra Inc. | A bus interface for transfer of multiple sonet/sdh rates over a serial backplane |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3697768A (en) * | 1971-02-10 | 1972-10-10 | Rosemount Eng Co Ltd | Control systems |
US4667337A (en) * | 1985-08-28 | 1987-05-19 | Westinghouse Electric Corp. | Integrated circuit having outputs configured for reduced state changes |
GB8912471D0 (en) * | 1989-05-31 | 1989-07-19 | Int Computers Ltd | Data transmission code |
US5142167A (en) * | 1991-05-01 | 1992-08-25 | International Business Machines Corporation | Encoding for simultaneous switching output noise reduction |
US5369640A (en) * | 1993-04-16 | 1994-11-29 | Digital Equipment Corporation | Method and apparatus for clock skew reduction through remote delay regulation |
US5574475A (en) * | 1993-10-18 | 1996-11-12 | Crystal Semiconductor Corporation | Signal driver circuit for liquid crystal displays |
US5586046A (en) * | 1994-10-28 | 1996-12-17 | Motorola, Inc. | Computer implemented method for generating an integrated circuit design |
US5890005A (en) * | 1997-06-02 | 1999-03-30 | Nokia Mobile Phones Limited | Low power, low interconnect complexity microprocessor and memory interface |
US6304933B1 (en) * | 1999-03-02 | 2001-10-16 | International Business Machines Corporation | Method and apparatus for transmitting data on a bus |
US6275884B1 (en) * | 1999-03-25 | 2001-08-14 | International Business Machines Corporation | Method for interconnecting components within a data processing system |
US6665161B1 (en) * | 1999-06-11 | 2003-12-16 | Bae Systems Information & Electronic Systems Integration, Inc. | Semiconductor circuit having increased susceptibility to ionizing radiation |
KR100435215B1 (ko) * | 1999-12-30 | 2004-06-09 | 삼성전자주식회사 | 버스 인코딩/디코딩 장치 및 그 방법 |
US6553445B1 (en) * | 2000-02-04 | 2003-04-22 | Ati International Srl | Method and apparatus for reducing noise associated with switched outputs |
US6732214B1 (en) * | 2000-05-11 | 2004-05-04 | Lsi Logic Corporation | Reducing power consumption and simultaneous switching in a bus interface |
US6721918B2 (en) * | 2000-12-29 | 2004-04-13 | Intel Corporation | Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect |
US7161992B2 (en) * | 2001-10-18 | 2007-01-09 | Intel Corporation | Transition encoded dynamic bus circuit |
-
2002
- 2002-09-12 US US10/242,522 patent/US7003605B2/en not_active Expired - Fee Related
-
2003
- 2003-09-03 CN CNB031557996A patent/CN100484071C/zh not_active Expired - Fee Related
- 2003-09-08 JP JP2003316027A patent/JP3683892B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0346750B1 (de) * | 1988-06-14 | 1993-06-09 | Siemens Aktiengesellschaft | Anordnung zur DPCM-Codierung mit hoher Datenrate |
RU2126594C1 (ru) * | 1995-11-27 | 1999-02-20 | Войсковая часть 25714 | Устройство передачи данных |
CA2337642A1 (en) * | 2001-02-21 | 2002-08-21 | Pmc-Sierra Inc. | A bus interface for transfer of multiple sonet/sdh rates over a serial backplane |
Also Published As
Publication number | Publication date |
---|---|
JP2004104797A (ja) | 2004-04-02 |
US20040054830A1 (en) | 2004-03-18 |
US7003605B2 (en) | 2006-02-21 |
CN1492640A (zh) | 2004-04-28 |
JP3683892B2 (ja) | 2005-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100484071C (zh) | 差分方式变迁编码的方法以及相应的编码和解码系统 | |
US9104793B2 (en) | Method and system of adapting communication links to link conditions on a platform | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
KR102353646B1 (ko) | 버퍼 메모리에서의 신호 변환을 위한 방법 및 장치 | |
US6715010B2 (en) | Bus emulation apparatus | |
CN103282895A (zh) | 以高数据率串行传输数据的装置和方法 | |
US20080189457A1 (en) | Multimodal memory controllers | |
JP2017525200A (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
KR100609368B1 (ko) | 전류모드 다치논리를 이용한 지연무관 데이터 전송회로 | |
EP2223224B1 (en) | Scheduling based on turnaround event | |
JP4439124B2 (ja) | データ依存駆動強度制御ロジックを備えたバス・ドライバ | |
EP4161010A1 (en) | Improved symmetry receiving differential manchester encoding | |
CN115004587B (zh) | 用于数据传输的位反转 | |
US20170286357A1 (en) | Method, Apparatus And System For Communicating Between Multiple Protocols | |
US10437769B2 (en) | Transition-minimized low speed data transfer | |
US11561601B2 (en) | Method for performing system and power management over a serial data communication interface | |
US20080140907A1 (en) | Multimodal Memory Controllers | |
CN106462534B (zh) | 链路层到物理层(phy)串行接口 | |
Oh et al. | Wire optimization and delay reduction for high‐performance on‐chip interconnection in GALS systems | |
CN111158588B (zh) | 一种双倍速率控制方法及系统 | |
US20100115140A1 (en) | Encoded addressing within control code for bus communication | |
Nigussie et al. | Boosting performance of self-timed delay-insensitive bit parallel on-chip interconnects | |
CN115168270A (zh) | 一种数据传输系统及其控制方法、电子设备、存储介质 | |
Mizusawa et al. | Power-aware asynchronous peer-to-peer duplex communication system based on multiple-valued one-phase signaling | |
US7483630B1 (en) | Exchanging asynchronous system information using optical 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090429 Termination date: 20150903 |
|
EXPY | Termination of patent right or utility model |