CN103444144A - 利用稀疏信令码进行噪声回弹、引脚效率且低功率的通信的方法和系统 - Google Patents
利用稀疏信令码进行噪声回弹、引脚效率且低功率的通信的方法和系统 Download PDFInfo
- Publication number
- CN103444144A CN103444144A CN2012800158457A CN201280015845A CN103444144A CN 103444144 A CN103444144 A CN 103444144A CN 2012800158457 A CN2012800158457 A CN 2012800158457A CN 201280015845 A CN201280015845 A CN 201280015845A CN 103444144 A CN103444144 A CN 103444144A
- Authority
- CN
- China
- Prior art keywords
- sparse
- signal
- circuit
- input
- signaling code
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/0003—Code application, i.e. aspects relating to how codes are applied to form multiplexed channels
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
- H03M7/3062—Compressive sampling or sensing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/08—Modifications for reducing interference; Modifications for reducing effects due to line faults ; Receiver end arrangements for detecting or overcoming line faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4906—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
- H04L25/4908—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Dc Digital Transmission (AREA)
Abstract
在总线通信方法和设备中,提供第一组表示要在总线上传送并映射到稀疏信令码的码字的信息的物理信号,其中码字表示为有多个分量的向量,一些分量为静态分量,以及一些分量为非静态分量,其中静态分量和非静态分量的数目满足稀疏性要求。
Description
相关申请的交叉引用
本申请是2011年2月17日提交的美国非临时专利申请序列号13/030,027的部分继续申请,并要求该非临时专利申请的优先权,该非临时专利申请的全部内容作为参考被全部合并于此。
为了所有的目的,下面的申请其整体作为参考被合并于此:
2010年4月30日提交的、Harm Cronie和Amin Shokrollahi的题为“Orthogonal Differential Vector Signaling”的美国专利申请No.61/330,107(下面被称为“Cronie I”)。
2010年12月20日提交的、Harm Cronie和Amin Shokrollahi的题为"Power and Pin Efficient Chip-to-Chip Communications with Common-ModeRejection and SSO Resilience"的美国专利申请No.12/982,777(下面被称为“Cronie II”)。
技术领域
本发明一般涉及通信,尤其是涉及能够传递信息的信号传输。
背景技术
通信系统的一个目的是将信息从一个物理位置运输到另一个物理位置。在大多数电子通信系统中,通信本身发生在电子元件之间。通常,这些电子元件是集成电路(“IC”),以及这种通信设置被称为“芯片到芯片”的通信。通信的电子元件可以位于同一设备中,诸如计算机、平板电脑设备或者其他移动装置内的中央处理单元(“CPU”)与存储器之间的通信。另一个示例是集成在同一芯片上的两个CPU内核之间的通信。还有一个示例是显卡上的图形处理单元(“GPU”)与存储器之间的通信。在这些情况中,实际的通信发生在印刷电路板(“PCB”)上的线路和/或芯片内集成的金属线路上,所述线路携带着电信号。通过阅读本说明书,很显然也存在其他可能性。例如可以在光纤上以无线方式进行通信。
在一些情况中,在位于不同设备中的元件之间发生通信。这种情况的一个示例是连接到计算机上的数码相机。在这种设置中,在物理电缆上或者以无线方式进行通信。另一个示例是连接到网络上的一组计算机。每个计算机的网卡上的电子元件与另一个计算机的另一个网卡的电子元件进行通信。
在所有这些通信设置中,目的是以可靠而有效率的方式,将数字信息从一个电子元件传输到另一个电子元件。可以以传递一定量的信息所用的时间(速度)、可靠传输信息所需的能量(功率消耗)和通信所需的每比特线路的数量(引脚效率(pin-efficiency))的方式来表示通信的效率。在大多数系统中,在这些参数之间存在一些权衡(trade-off),根据应用这些参数的一些可能比其他参数更重要。一个好的示例就是,在移动装置中的CPU与存储器之间的通信。电池给移动装置供电,而CPU与存储器之间的通信的功率消耗对电池寿命有很大的影响。当装置在墙上插电时,功率消耗不是个问题,但是设计需要应付不插电的环境。
在大多数芯片到芯片的通信系统中,在多个线路上进行通信以增加总带宽。这些单个或成对的线路可以被称为信道或链路,以及多个信道建立起电子元件之间的通信总线。
设计高速、低功率和引脚有效的芯片到芯片的通信系统的困难部分在于,通信信道不够完美。首先,物理线路将会妨碍在其上传输的信号,将会对传输的信号加上噪声和干扰。第二,用来实现通信系统的电子元件不够完美,这会妨碍用于通信的信号。
在芯片到芯片的通信系统中,有一些典型的噪声源。首先,存在对于一组线路来说是公共的噪声和干扰。该类型的噪声和干扰就是所谓的共模噪声。第二,存在电导体中所感应的热噪声。通常将热噪声仿真为独立叠加到每个导体上的高斯噪声。第三,存在由驱动线路的电子线路中的时变电流所引起的同时开关输出(“SSO”)噪声。第四,在不同的线路上传输的信号可能会彼此干扰,这引起串扰以及使得尤其是高速情况下的信号完整性严重降级。第五,对于一些发信号的方法,在接收机处需要绝对的电压或电流参考。这种参考很难精确,参考中的任何错误都可能引起不需要的失真和噪声。
许多传统的芯片到芯片通信系统采用差分信令来解决关于噪声的许多问题。基于差分信令的典型的芯片到芯片通信系统包括多个链路,图1示出了具有n个链路的这种系统的示例。如图所示,第一IC 110通过包括2n个线路135的总线130与第二IC 120进行通信。两个芯片可以位于两个不同装置中或者可以位于同一装置中。在后面的情况中,两个芯片可以安装在同一个PCB上,或者可以集成在同一封装中,或者甚至在同一裸片(die)中。后者通常被称为“片上通信”。IC 110采用一组n个收发机140,该收发机140实现差分信令。在总线130的另一端,IC 120采用另一组n个收发机。IC 110中的第i个收发机通过两个线路连接到IC 120中的第i个收发机。
图2以高度概括的方式示出了实现差分信令的发射机和接收机。如图所示,在包括两个线路的总线130上进行通信。在发射机处,驱动器210驱动总线的两个线路并为第一线路生成由s0表示的信号220,为第二线路生成由s1表示的信号230。信号可以对应于总线线路上的物理电压或通过总线线路的电流。在接收机侧,总线终止于电阻240。差分接收机250感测终端电阻240上的电压。在差分信令中,这些信号满足s0=-s1,本领域的技术人员知道,对于共模噪声、SSO噪声和串扰,这给了差分信令极好的性质。差分信令的主要缺点是,对于要在通信总线上传输的每个信号,需要两个线路。差分信令的引脚效率仅为二分之一。而且,基于差分链路需要足够量的发射机功率来操作总线通信系统。
Cronie I教导了一些对这些问题的解决方法,其中,Cronie I示出了将芯片到芯片通信系统的引脚效率增加到接近1但小于1的方法。Cronie I中公开的发信号的方法当以合适的方式实现时,可以保留关于共模噪声、SSO噪声和干扰的性质,但是有时候需要更大的引脚效率。为了在保持好的噪声回弹的情况下进一步提高引脚效率,可以使用Cronie II中公开的方法。
Cronie II中描述的一些实施方式使用了球面码来用于芯片到芯片的通信。Cronie II中的其他实施方式更具体,包括群码,并教导使用称为转置调制码的特定类型的群码以用于芯片到芯片的通信。转置调制码的原始形式是已知的。[Slepian]建议在通信信道上使用这种用于传输信息的码,在所述通信信道中,信号被高斯噪声干扰。Cronie II包括应用到芯片到芯片的通信中的转置调制码的一些示例,并教导了如何使用该技术达到一或更大的引脚效率。然而,基于转置调制码,一些应用可能已经改善或者需要简化和/或甚至需要进一步减少芯片到芯片的通信系统的功率消耗。
[Chiarulli]中公开的方法能得到一种具有差分信令性质的发信号方案,以及相比差分信令能够提高引脚效率。然而,得到的引脚效率基本小于一,并且[Chiarulli]中公开的方法只能对功率消耗进行适度的改善。而且,对于[Chiarulli]中公开的方法来说,编码和解码的复杂性是个问题。
在[Poulton]中,公开了转置调制码的特定变化形式。然而,[Poulton]中公开的方法的主要缺点是需要用来在发射机和接收机侧进行编码和解码的电路的复杂性。而且,如[Poulton]中所指出的,方案不能够改善功率消耗,而只能在改善引脚效率上有用。而且,[Poulton]中公开的发明由于代码的编码和解码的复杂性,仅对总线线路的数量相对较少时(例如,小于6)有用。
所以,需要一种用于芯片到芯片的通信的改进的方法,该方法能够得到高的引脚效率,具有对芯片到芯片的通信中存在的不同噪声类型进行好的回弹,以及在发射机和接收机的功率消耗方面有效率。
参考文献
[Poulton]:2003年4月29日公布的、John W.Poulton,Stephen G.Tell和Robert E.Palmer的题为“Methods and Systems for Transmitting and ReceivingDifferential Signals Over a Plurality of Conductors”的美国专利No.6,556,628Bl。
[Chiarulli]:2008年4月15日公布的、Donald M.Chiarulli和Steven P.Levitan的题为“Power Efficient,High Bandwidth Communication Using Multi-Signal-Differential Channels”的美国专利No.7,358,869。
[Slepian]:Slepian,D.,“Permutation Modulation”出版在Proc.of theIEEE,Vol.53,No.3,1965年3月,228-236页。
发明内容
本发明的实施方式提供了用于在物理信道上传输数据的过程和设备,从而使得传输的信号能够对共模噪声进行回弹(resilient),在发射和接收点不需要公共参考,具有大于50%的引脚效率,并且对于编码和解码来说有相对较低的功率损耗。在一些实施方式中,引脚效率大于100%并在任何给定的时间使用相对较小的有效传输线路。还公开了在接收点处的相应的解码器。
在特定的实施方式中,通过通信总线传送信息,包括接收表示信息的第一组信号、将第一组信号映射到第二组信号,其中所述第二组信号包括从稀疏信令码的有效码字中选择的一个或多个码字,以及提供用于通过通信总线的传输的第二组信号。相应的解码器对第二组信号(有可能被通信总线改变)进行解码,以试图恢复对第一组信号的复制同时降低执行这些所需的能量的量。
在一些实施方式中,可以由向量表示码字,每个向量包括多个向量分量,而且,通过可由向量表示的码字来表征信令码,所述向量具有静止向量分量和非静止向量分量,其中在静止向量分量和非静止向量分量的数量满足某稀疏性要求的时候稀疏信令码为一。一种这样的稀疏性要求可以是静止向量分量与总向量分量的比大于或等于三分之一。然而,可以使用其他的稀疏性要求来替代。在特定的示例中,由值0、0电压和/或0电流来表示静止向量分量,但是稀疏码不需要局限于这些示例。通常,静止向量分量为不造成从总线线路的一端向另一端进行物理功率输送、或者至少与非静止向量分量引起的物理功率输送相比造成明显较少的物理功率输送的向量元素。在此,静止向量分量一般被称为符号“零”。
在一些实施方式中,使用不同的电压、电流等级别来发送信号,且可以使用两个以上的级别,诸如三元稀疏信令码,其中每个线路信号具有三个值中的一个值。在一些实施方式中,对于每个码字向量可以有不多于两个非静止向量分量,以及在一些实施方式中,每个码字向量至少一半向量分量是静止向量分量。
可以提供硬件元件,来提供对用于选择码字、处理硬件以将符号转换成信号、将符号解析成分开的分区、存储结果和提供以序列的形式的分区作为信号的输入信息的符号的存储。
参考小区域的特定硬件实现和低功率损耗给出了本发明的各种实施方式。下面的详细描述和附图一起将会提供对本发明的本质和优点的更好的理解。
附图说明
图1示出了具有多个链路的采用差分信令的传统的芯片到芯片的通信系统;
图2以高度概括的方式示出了实现差分信令的发射机和接收机;
图3是总线通信系统的高级框图,在所述总线通信系统上可以使用本发明,或者可以使用传统的发射机/接收机;
图4示出了引脚效率增加的结构,在所述结构上可以使用本发明;
图5示出了可以用于发信号的传统的脉冲波形的示例;图5(a)示出了方波脉冲510;图5(b)示出了具有有限的上升和有限的下降时间的脉冲;以及图5(c)示出了包括两极方波的两个周期的脉冲530;
图6示出了根据本发明的实施方式的总线通信系统,该总线通信系统包括发射机和接收机,所述发射机具有稀疏编码器和稀疏驱动器,而所述接收机具有对应的元件;
图7更具体地示出了总线驱动器;
图8示出了稀疏编码器的一个实施方式;
图9示出了稀疏编码器的另一个实施方式;
图10示出了稀疏驱动器的一个实施方式;
图11示出了以电流模式驱动线路的稀疏驱动器的一个实施方式;
图12示出了信号到数字转换器;
图13示出了稀疏解码器的一个实施方式;
图14示出了用于4b5w码的编码器的一个实施方式;
图15是可以在图14的编码器中使用的生成索引的过程的流程图;
图16示出了用于实现稀疏编码器的基本构造块的使用;
图17示出了图16的解复用器单元的一个实施方式;
图18示出了情况测试单元;
图19示出了使能单元的一个实施方式;
图20示出了和图16的稀疏解码器相匹配的稀疏驱动器的另一个实施方式;
图21示出了具有与稀疏信令码相匹配的电流控制设计的稀疏驱动器的另一个实施方式;
图22示出了4b5w信号到数字转换器(“SDC”);
图23示出了用于稀疏信令码的SDC结构;
图24示出了最大检测器单元的一个实施方式;
图25示出了用于4b5w码的稀疏解码器的一个实施方式,该稀疏解码器与图16的稀疏编码器相匹配;
图26示出了复用器单元的一个实施方式;
图27示出了选择单元的一个实施方式;
图28示出了用于8b8w码的稀疏编码器的示例;
图29是生成用于8b8w码的索引的过程的流程图;
图30是从比特的十进制表示向整数的映射的示例的表格;
图31是用于8b8w码的编码器的各方面的实现的框图;
图32是用于8b8w码的编码器的各方面的实现的框图;
图33是用于8b8w码的编码器的各方面的实现的框图;
图34是用于8b8w码的编码器的各方面的实现的框图;
图35示出了用于8b8w编码器的另一个稀疏驱动器;
图36更具体地示出了图35的稀疏驱动器;
图37示出了图35的用于8b8w码的SDC的一个实施方式;
图38示出了特定SDC的一个实施;
图39示出了检测器单元的一个实施方式;
图40是编码过程的流程图;
图41示出了稀疏解码器;
图42示出了用于8b8w配置的稀疏编码系统;
图43示出了芯片上的稀疏编码器和解码器的示例性布局;图43A和图43B显示了更大的视图;
图44示出了根据本发明的实施方式的总线通信系统,包括ECC编码器、发射机、接收机和ECC解码器;
图45是由图44的ECC编码器编码的数据的图示;
图46是根据本发明的实施方式用于ECC编码的生成矩阵的图示;
图47是对生成矩阵中的元素的描述;
图48是对编码过程中使用的方法的描述;
图49是对编码过程中使用的另一个方法的描述;
图50是用于本发明的实施方式中的ECC解码过程的流程图;
图51是用于ECC解码的子过程的流程图;
图52是用作ECC解码的一部分的多个功能的图示;
图53是在本发明的实施方式中的ECC擦除解码过程的流程图,所述ECC擦除解码过程包括多个子过程;
图54是擦除解码中的子过程的图示;
图55是擦除解码中的另一个子过程的图示;
图56是擦除解码中的再一个子过程的图示;
图57是擦除解码中的再一个子过程的图示。
具体实施方式
图3是总线通信系统的高级框图,在所述总线通信系统上可以使用本发明,或者可以使用传统的发射机/接收机。利用该系统,有总线的多个线路,并且通常以周期性速率在所述多个线路上发送信号。从而,信息源310可以提供每周期k个信息符号的序列,其中,可以以1/T秒的时间间隔来测量所述周期。在优选的实施方式中,T大于1且T为整数,总线每秒可传输kT个符号的信息内容。不失一般性地,我们可以假设这些信息符号是比特。
在通信总线130上所述比特要被传输到目的地350。通信总线130包括n个物理线路135。该通信总线130的一个示例例如是处理器与存储器之间的总线。在这种情况下,物理线路可以采用PCB上的带状线或微带的形式。通信总线130的另一个示例是连接两个不同装置的一组线路。在310中的信息比特被馈送到传输单元320。传输单元320的任务是将这些比特转换成可以在总线130的线路上传输的一组物理信号。在总线130的另一个侧,接收单元340将接收到的信号映射回310中的信息比特。
在本说明书中,大部分示例涉及其中线路携带有电信号的通信总线。然而,本领域的普通技术人员在阅读了本说明书的情况下,应该知道下面所公开的方法不仅仅限于电信号。在光通信的环境中可以容易地应用所述方法。
如在此所使用的,芯片到芯片通信系统的引脚效率指的是每个时间间隔内传输的比特数与用来传输所述比特的物理线路的数目n的比率。在光信道的情况下,可以用光纤或其他介质来代替线路。
图4示出了引脚效率增加的结构,在所述结构上可以使用本发明。CronieII显示了该结构,该结构还可以处理总线通信系统中许多类型的噪声。在根据所示图示的系统中,在传输侧,传输单元320包括向量信号编码器410和总线驱动器420。在接收侧,接收单元340包括总线接收器430和向量信号解码器440。在图4中,每1/T秒信息源310提供k个比特的序列到向量信号编码器410。在第i个时间间隔中,向量信号编码器将所述k个比特映射到向量ci。向量ci被提供到总线驱动器420,该总线驱动器420生成n个信号s0(t)到sn-1(t)的序列。可以将所述n个信号写成如公式1所示,其中p(t)表示脉冲形状。
图5示出了可以用于发信号的传统的脉冲形状的示例;图5(a)示出了方波脉冲510;图5(b)示出了具有有限的上升和有限的下降时间的脉冲;以及图5(c)示出了包括两极方波的两个周期的脉冲530。脉冲530可以用于帮助时钟恢复和均衡。本领域的普通技术人员将会知道,可以使用其他的脉冲形状来代替。
对于单个线路,一些脉冲形状被称为脉冲幅度调制,但是本发明不局限于此。在一般的情况下,时间被分成周期,对于n个线路中每个线路上的每个周期,根据用于周期的单个码字或多个码字传递某脉冲形状的某信号。
在所示出的示例中,信号s0(t)到sn-1(t)作为例如总线的线路上的电流或电压由总线驱动器420来传输。所述电流或电压包括贯穿总线的电磁波。总线驱动器420可以执行其他任务,诸如在总线上实际传输之前的放大、预加重、均衡和过滤。在接收机侧,存在一组信号y0(t)到yn-1(t),总线接收机430感测所述一组信号。众所周知,在存在噪声或线路或信道的其他信号改变的情况下,一组信号y0(t)到yn-1(t)不完全等于一组信号s0(t)到sn-1(t)。总线接收机430可以执行其他任务,诸如放大、过滤和改善所接收信号的质量的其他操作。对于本领域的技术人员来说,这些方法中许多方法都是公知的。总线接收机430的任务向向量信号解码器440提供向量ci的重构。向量信号解码器440将ci恢复成原始的k个比特,并将k个比特提供到目的地350。
在Cronie II中的优选实施方式中,可以把向量ci看作是从预定组S中选择的特定元素。向量ci本身被称为码字,组S被成为码或者信号星座图。应该理解,当使用码或者星座图时,其不仅仅是抽象的数学概念(除非另有指明),而是使用码及其码字用于通信的编码器和解码器构造以及编码和解码过程。
通常,使用信号星座图S的总线通信系统的引脚效率r可以根据星座图S和线路的数目n来计算,如公式2所示。
如下面所解释的,通过适当地选择和实现信号星座图S以及相应的向量信号编码器410、总线驱动器420、总线接收机430和向量信号解码器440,可以使用在此所教导的技术来构建噪声回弹、引脚效率且功率效率的总线通信系统。
利用稀疏信令码的多线路通信
图6示出了根据本发明的实施方式的总线通信系统,该总线通信系统包括发射机和接收机,所述发射机具有稀疏编码器和稀疏驱动器,而所述接收机具有对应的元件。
在图6所示的结构中,在包括线路组635的通信总线630上进行总线通信。在此,“n”用于指示线路的数目。通常,将n选择为2或更大,可以根据特定的应用的需要来驱动精确值,诸如受在芯片上为总线或其他考虑而分配的引脚的数目限制。所述n个线路的每个线路可以是信号传输装置,其中可以由电流或电压来定义信号,所述信号在物理上是不同的,从而可以在不同的线路上呈现不同的信号,并且信号在至少一些线路之间是独立的。总线通信系统可以在总线的一侧或者两侧使用终止。在信号源610中可以得到的信息要被传到总线另一端的目的地650。已知多种用于在线路上驱动信号的方法和设备,所以在此不再赘述。
不失一般性地,可以假设要被传递的信息可以作为信号源610中的比特序列而提供。每个1/T秒的周期,在信号源610中可以获得k个比特。在此,T一般是大于1的数。例如,在总线通信系统每秒要传输16Gigabits(千兆比特)的数据的时候,1/T可以选为(k x10-9)/16。所述比特被馈送到总线发射机620。
总线发射机620包括稀疏编码器624和稀疏驱动器628。稀疏编码器624将来自信号源610的k个比特作为其输入,并产生n个数字的序列,或一组数字、信号、数值、存储的存储器元素或电子硬件元素或表示所述n个数字的配置。将所述n个数字(或者其表示)馈送到稀疏驱动器628,该稀疏驱动器628的任务是生成对应于稀疏编码器624生成的数据的信号序列。稀疏驱动器628可以使用或者可以不使用稀疏编码器624生成的特定形式的数字。稀疏驱动器628生成的信号通常对应于限定在总线线路635上感应的电磁波的电流和/或电压。
稀疏驱动器628还可以进行另外的信号处理,例如在驱动总线630的线路635之前进行放大、过滤和均衡。在总线的接收端,信号到数字转换器(SDC)644感测在总线的线路上存在的信号,并生成由稀疏驱动器628生成的数字的表示,如上所述,稀疏驱动器628可能不匹配所传送的。
SDC644可以或者可以不使用稀疏编码器624生成的特定形式的数字,或者稀疏驱动器628生成的特定形式的信号。SDC644可以执行另外的任务,诸如放大、过滤或成功恢复总线上传输的数据所需的任何其他的信号处理功能。SDC644生成的数据被传递到稀疏解码器648。稀疏解码器648试图根据SDC644生成的总线上信号的离散表示来恢复610中的原始数据。本领域的技术人员应该意识到,在芯片到芯片的通信系统中,对于一些应用来说优选双向通信。很容易将图6中的电路扩展成支持双向通信。
稀疏信令码
在优选的实施方式中,稀疏编码器624将k个比特的序列映射到由大小为n的向量c来表示的n个实数,其中向量c是预定的信号星座S的元素。信号星座S可以包括至少2k个元素,其中每个元素具有以下属性:其是向量x0的转置(permutation)。在此,向量x0被称为信号星座的基本向量,所述信号星座定义了转置调制码。在优选的实施方式中,由m个整数l0到lm-1的序列定义向量x0,其中,l0≤l1≤…≤lm-1。下面,用N来表示m个整数的和,如公式3所示。
基本向量x0具有公式4所示的形式,其中a0到am-1为非零的数字,以满足公式5,即,基本向量中出现的所有ai实例的值之和为零。
按照一些稀疏标准,基本向量x0是稀疏的。在一些实施方式中,由n与N的比率来限定稀疏。例如,在一个示例中,编码器被限制为使用稀疏码字,该稀疏码字被配置成满足公式6,其中基本向量的静态(quiescent)分量(在此表示为符号“0”)的个数至少为基本向量的分量总数的三分之一。然而,也可以使用其他的稀疏措施。
由于x0是稀疏的,并且公式5成立,m将大于1且x0将具有至少三个不同的分量。在此,当信令码的信号星座包括稀疏向量时,信令码被称为“稀疏信令码”。在编码器和解码器使用m=2的实施方式中,即,如果基本向量是稀疏向量,如果包括第一个非零值的分量、第二个非零值的分量和零分量,则在此被称为“三元稀疏信令码”。
在此公开的方法的一些优点由x0的稀疏性产生,在编码器和/或解码器的处理、存储或计算中,即使由一些非零值来表示基本向量x0中的零(即,静态分量),也存在这些优点。例如,从零到非零的转换可以造成相同的功率节省。然而,为了公开的清楚起见,由零来表示所述静态分量,零表示不造成从总线线路的一端向另一端进行物理功率输送的符号。
当x0的结构如上所述时,k个比特的序列被编码成x0的转置,随后是芯片到芯片的通信系统的一些噪声回弹和引脚效率的益处。首先,由于稀疏性,需要用来传输对应于x0的转置的向量的功率量比x0不稀疏的情况实质上要少。第二,x0的稀疏性允许从k个比特的组向x0的转置的非常有效率的映射,反之亦然。第三,可以通过使用稀疏驱动器628和/或SDC644来进一步节省功率,所述稀疏驱动器628和/或SDC644专门适于基本向量x0的特点。在下面的公开中将会更具体地解释和举例说明所述优点。
在优选的实施方式中,稀疏驱动器628可以生成n个信号s0(t)到sn-l(t)的序列,其中信号si(t)对应于总线的第i个线路上感应的电压和/或电流。而且,所述n个信号和由稀疏编码器624生成的n个值成比例,所述n个信号具有如公式7所示的形式,其中p(t)表示脉冲形状,而ci为来自稀疏编码器624生成的信号星座(x0的转置)的有效字。
噪声回弹
稀疏驱动器628生成的信号s0(t)到sn-l(t)满足公式5,这造成对共模噪声和干扰的回弹。而且,在接收机处不需要参照来检测和解码接收到的信号。SDC644可以使用本公开中后面要举例说明的这些性质。
图7更具体地示出了总线驱动器的特定示例。参照图7所示,可以最小化同时开关输出(“SSO”)噪声,图7示出了用于一组n个总线线路635的总线驱动器628。总线驱动器628的电子设备位于单元710中,所述单元710由电源通过寄生电感730和735供电。电感730和735是由于芯片封装中的寄生效应和/或将芯片连接到芯片外的电源的路径中存在的阻抗不连续性造成的。
如果通过电感730和735的电流周期循环变化,则电感730和735中会感应电压。这可能会造成对总线线路635上传输的信号的干扰。通过电感730和735的大部分电流包括总线电路635上感应的电流。然而,如果对于特定的实施公式5成立,则这些电流的和为零,通过电感730和735的电流的变化最小。
总线线路635之间的串扰通常由总线线路635之间的电感和/或电容性耦合造成。感应的串扰的幅度与总线线路635上的电流和/或电压的导数成比例。在优选的实施方式中,由于基本向量x0是稀疏的,转换的平均数比非稀疏x0时要小,且串扰量降低。
引脚效率
引脚效率r取决于总线线路n的数量和基本向量x0。对于稀疏基本向量x0,公式8给出了信号星座S可以包括的元素的最大个数。
表1列出了对于n的各个值的示例性的基本向量x0,以及其S的相应值和其引脚效率(使用公式2)。
表1
表1清楚地显示出,可以获得实质上比基于差分信令的总线通信系统的引脚效率大的引脚效率,所述基于差分信令的总线通信系统的引脚效率r=0.5。在优选的实施方式中,k为整数,且没有使用基本向量x0的所有可能转置。例如,对于表1的第一项,编码器可以每个时间间隔1/T秒只使用[-1,1,0,0]的八个转置来在包括四个线路的总线上传输三个比特。
功率消耗
根据公式7可以生成稀疏驱动器628生成的n个信号。信号s0(t)到sn-l(t)可以对应于总线线路635上由稀疏驱动器628感应的电压和/或电流。由于输送到总线上的功率和si(t)的平方和成比例,所以输送到总线的功率也和公式9所示的乘积之和成比例。
用于传输信号的功率量决定了对信号噪声的回弹。为了公开的目的,使用了非常简单但是足够精确的噪声模型。在总线的接收机端,电路设计可能要求在每个线路处所测量的信号水平之间的最小间隔至少为某个正值d。d的精确值可以取决于噪声水平、终端类型和实现电路的技术。然而,d的值与x0的每个坐标的值之间的最小间隔成比例,其中x0的n个分量表示n维空间中的坐标和以传统的方式测量的间隔。
为了将不同的稀疏信令码的传输功率彼此进行比较,将x0的坐标的最小间隔标准化可能是有利的。本领域的技术人员将会意识到,以同样的方式,稀疏信令码可以与其他已知的方案进行比较。
例如,假设表1中定义的稀疏信令码使每个坐标的值之间的间隔被标准化为1。为了在平等的基础上将不同的方案进行比较,将传输每个比特时输送到总线的功率标准化是合理的。公式10中设定的量Eb可以定义当使用基本向量x0的所有转置时,对于稀疏信令码每比特所使用的能量的量。
由此,很清楚的是,为了降低功率消耗,可以使用基本向量x0,对于基本向量x0可能的转置数较大,且基本向量x0包括许多零。表2给出了用于表1中所限定的稀疏信令码的Eb的一些示例性值。Eb的较小的值优于Eb的较大的值。
表2
和其他方案相比,在此所述的方法提供了一些优点。例如,在[Chiarulli]中公开的方法中,得到比表1中给出的引脚效率要低的引脚效率,和高于在本申请中所公开的方法的功率消耗。在[Chiarulli]中公开的代码中,12C6码具有最高的引脚效率。然而,12C6码的引脚效率仅为r=0.75。表2的稀疏基本向量除了一个以外,都能得到较高的引脚效率。而且,对于12C6码来说Eb的值等于0.67,由此可以总结出表2的大部分稀疏向量对应于足够高的引脚效率和足够低的传输功率。
在[Poulton]中公开的方法中,可以得到能与在此公开的方法和设备的引脚效率差不多的引脚效率。然而,这是以非常高的功率消耗为代价。在[Poulton]中,提出了在四个线路上进行传输的实施方式,其可以达到1的引脚效率。然而,对于该方案,Eb的值等于2.5,这是表2中所示出的一些基本向量的四倍多,而表2中的基本向量可以达到至少相同的引脚效率。使用[Poulton]中提出的方法输送到总线线路的功率随着所使用的线路的数目而成二次方地增加,这使得当功率消耗是个问题的时候这些方法只适用于少量线路的情况。
[Chiarulli]和[Poulton]中公开的代码的一般缺点是解码和/或编码只能简单的用于少量的线路。对于多于四个线路的情况,需要查找表和/或复杂的逻辑。查找表和复杂的逻辑的缺点是很难以高速和低功率消耗操作这些。在此公开的方法具有的优点是可以使用有效率的编码和解码,从而不需要查找表以及可以用简单的电路来实现编码和解码。在此公开的方法的另一个优点是,稀疏驱动器624和/或SDC644可以适用于特定形式的基本向量x0,这可以实现进一步的功率节省。
本领域的技术人员将会意识到,上述功率估计在其他噪声模式下不一定是有效的。然而,稀疏信令码的优点可以转到以高信噪比方式进行工作的其他噪声情况,诸如芯片到芯片的通信的情况。
稀疏信令系统的示例性实施方式
稀疏编码器
图8示出了稀疏编码器624的实施方式。这里,稀疏编码器624具有输入,该输入包括由b0,…,bk-1表示的k个比特810。稀疏编码器624将k个比特编码成由v0,...,vn-1表示的数字或信号850的向量。由稀疏基本向量x0的一组2k个不同的转置定义一组所有可能的编码成数字或信号850的编码。稀疏编码器624可以包括索引生成器820,该索引生成器820的任务是生成N个索引i0,…,iN-1,其中,每个索引与一个ai相关,ai定义了稀疏基本向量x0。可以提供一个示例,基本向量x0=[-2,-1,1,2,0,0,0,0],其中N=4,以及a0=-2,a1=-1,a2=1,a3=2。
对于这样一个基本向量,索引生成器820对于x0的元素的转置,可以生成四个索引,i0,i1,i2,i3,分别定义a0,a1,a2,a3的位置。这N=4个索引被传到存储装置830,该存储装置830可以包括n个存储元件840,每个存储元件840能够存储或缓冲单个值。每个存储元件840应该至少能够存储零值和a0,…,am-1的值。存储装置830中每个存储元件840的值初始设为0,以及索引i0,…,iN-1指示存储装置或缓冲器830的哪个元素变成其对应的非零值。稀疏编码器624的输出包括n个信号v0,...,vn-1,对应于存储或缓冲装置830中的值。
图9示出了稀疏编码器的另一个示例。优选地,稀疏编码器624的输出为另一个形式,以便于实现稀疏驱动器628。参考图9进一步描述该实施方式。如图9所示的稀疏编码器624将k个比特编码成稀疏基本向量x0的转置,其中该转置如下所表示。
作为示例,再次考虑上面的基本向量。假设一组k个输入比特是编码的转置由x0=[0,0,2,1,-1,-2,0,0]给出。稀疏编码器624生成第一输出向量 第二输出向量 以类似的方式,生成和, 以及 为了完成该任务,稀疏编码器624可以包括m个索引生成器920。第一个索引生辰器921生成一组l0个索引,该l0个索引对应于编码的转置具有a0值的位置。以类似的方式,第i个索引生成器生成一组li-l个索引,该li-l个索引对应于编码的转置具有ai-1值的位置。索引生成器920生成的索引传到一组m个存储装置930。所述存储装置930的每个存储装置可以包括n个能够缓冲或存储0或1的值的存储元件或缓冲器935。存储装置930中的所有存储元件都被初始化为0。对应于来自第i个索引生成器的li-1个索引的第i个存储装置中的存储元件或缓冲器中的值被设置成1。的值对应于第i个存储装置中的存储元件或缓冲器中的值。
稀疏编码器624的实现提出了一些挑战。一个困难是有效率的实现图8中所示的索引生成器820和图9中所示的索引生成器920。一个直接的解决方法就是通过查找表(“LUT”)来实现索引生成器820和920。然而,这也提出了一些其本身的问题,诸如高速时的高功率消耗和有限的可扩展性。下面描述稀疏编码器624的几个改进方案,当发生问题时,举例说明和解决这些问题。
稀疏驱动器
为了使用PM码的稀疏性,稀疏驱动器628工作如下。图10示出了稀疏驱动器628的优选实施方式。稀疏驱动器628的输入包括n个信号1020,由v0,...,vn-1表示。稀疏驱动器628可以包括n个受控的电压源1010。电压源i的输出电压由si表示,并且与vi成比例,其中比例系数由ai给出。当一个输入信号vi等于0时,相应的输出信号si也等于0。在该情况下,相应的受控电压源将不会向总线线路635输送任何功率。因为使用稀疏信令码,所以在任何时候,只有受控电压源1010的N个受控电压源会向总线线路635输送功率。与其他信令方法相比,节省了功率。而且,差分信令的优异特性仍然有效。
通常,期望以电流模式来驱动总线线路635。图11示例性示出了以电流模式驱动线路的稀疏驱动器628的优选实施方式。稀疏驱动器628的输入包括n个信号1120,该n个信号1120由v0,...,vn-1表示。稀疏驱动器624可以包括n个受控电流源1110。电流源i的输出电流由si表示,并与vi成比例,其中比例系数由ai给出。当一个输入信号vi等于0时,相应的驱动到线路的电流i也等于0。从而,该受控电流源将不向总线线路输送任何功率。注意,根据公式5,vi的和等于0。从而,驱动到总线线路635的电流的和也等于0。
在高速时,很难开和关电流源或调制它们提供和接收的电流量。随后将在下面公开解决这个问题的电流模式电路的实现方式。
信号到数字转换器
在总线的接收端,信号到数字转换器(“SDC”)644感测总线线路上存在的信号,并生成由稀疏驱动器628生成的数字的离散表示。在总线的输出处出现的连续时间信号由y0(t),…,yn-1(t)来表示。总线可以被终止或不被终止。
还参考图12,描述了SDC的优选实施方式。SDC644的输入包括n个信号1210,在总线线路635上或在总线的终端感测所述n个信号。采样和保持和/或跟踪和保持单元1230对这些信号进行采样。本领域的技术人员将会意识到,控制逻辑在优选的时间实例处对信号进行采样,诸如信号周期性改变的时间以外的其他时间。许多用于时钟和/或数据恢复的方法对于本领域的技术人员来说是已知的。在此,在这些示例中,假设采样单元1230中包括该功能。采样单元1230的输出由z0,..,zn-1来表示。这n个样本对应于由稀疏编码器624生成的基本向量的转置。本领域的技术人员将会意识到,这些样本可能会被噪声损坏,但是一般来说,基本向量x0具有一定的纠错能力,因为x0的转置组定义了转置调制码。
样本z0,..,zn-1被馈送到分类单元1240,该分类单元1240的任务是以升序或降序对样本序列z0,..,zn-1进行分类,并且在该过程中,提取N个索引,该N个索引由d0,…,dN-1来表示。如本领域技术人员所能理解的,在许多噪声情况下,对样本z0,..,zn-1进行分类的过程对于稀疏信令码来说是最佳的。索引d0,…,dl0-1对应于稀疏编码器624生成的x0的转置中的a0的n0个位置。以类似的方式,索引对应于x0的转置中的a1的l1个位置,等等。这些索引是SDC644的输出。每个输出可以由固定数目的比特来表示,并且本领域的技术人员可以意识到,可以使用个比特来表示每个索引,其中对于实数z,量表示最小的整数,该整数大于或等于z。
因为x0的转置完全由非零元素的位置指定,所以SDC644只需要输出非零元素的位置。只要以某预定的方式指定了非零元素的位置,SDC的输出的精确形式是无关的。
可能优选将采样器1230和分类单元1240的位置互换。在这种实施方式中,可以在连续的时间完成分类,并在分类之后发生向离散时间的转换。在此,下面会公开一些采用该原理的实施方式。该方法的优点是,可以以功率效率更好的方式实现分类单元。
稀疏解码器
图13中示例性示出了稀疏解码器648的优选实施方式。稀疏解码器的输入包括N个索引d0,…,dN-1,而输出包括一组k个比特b0,...,bk-1。在通信没有错误的情况下,比特b0,...,bk-1等于610中的原始信息。在优选实施方式中,稀疏解码器648可以包括LUT1340,以将索引d0,…,dN-1映射到原始比特,从而完成解码任务。使用LUT可能会有一些问题,诸如高速情况下的功率消耗以及可扩展性。下面讨论了一些举例说明和解决这些问题的稀疏解码器628的改进方式。在提出这些示例之后,举例说明了一般的方法。
用于在五个线路上传输四个比特的稀疏信令码
在优选的实施方式中,总线630包括五个线路(n=5),以及在每个1/T秒的周期内,在总线630的线路635上传输四个比特。而且,发射机620执行稀疏信令码,该稀疏信令码由稀疏基本向量x0=[-1,1,0,0,0]定义,该稀疏基本向量x0的24=16个不同的转置被使用。这使得引脚效率r=0.8。在此,该稀疏信令码被称为4b5w码(例如,在5个线路上4个比特),我们举例说明用于该码的稀疏编码器624、稀疏驱动器628、SDC644和稀疏解码器648的优选实施方式。
4b5w编码器
参考图14示例性示出了用于4b5w码的编码器的优选实施方式。稀疏编码器624的输入包括四个比特1410,其由b0,b1,b2,b3表示。稀疏编码器624可以包括索引生成器1420,该索引生成器生成指出-1的位置的索引i0。索引i0被传到存储装置1430,该存储装置1430包括5个存储元件或缓冲器1431。所述存储元件能够存储值-1,0,并且初始化为值0。1430中的第i0个存储元件的值被设置为-1,其中可以理解,索引i0=0对应于存储元件1431。
稀疏编码器624可以包括第二索引生成器1422,该索引生成器1422生成指出1的位置的索引i1。索引i1被传到存储装置1432,该存储装置1432包括5个存储元件或缓冲器1433。所述存储元件能够存储值1,0,并且初始化为值0。1432中的第i1个存储元件的被设置为值1。稀疏编码器624的输出包括两组5个信号。第一组5个输出信号1440由v0,…,v4表示,其对应于1430中的存储元件中的值。第二组5个输出信号1450由w0,...,w4表示,其对应于1432中的存储元件中的值。
在优选实施方式中,通过LUT实现索引生成器1420和1422。每个LUT由对应于b0,…,b3的四个比特值来索引,并且LUT的每项包括范围从0到4的整数。实现LUT的一些方法对于本领域的技术人员来说是已知的。例如,可以选择使用随机存取存储器(RAM)或只读存储器(ROM)。然而,对于LUT来说,使用RAM或ROM的缺点是在非常高速时以可接受的功率消耗进行操作是非常不容易的。为了解决该问题,需要一种能够生成索引从而生成有效的4b5w稀疏信令码的简单过程。
图15示出了一种通过索引生成器1420和1422生成索引i0和i1可以实现的简单过程。过程的输入1510是比特b0,…,b3。在1520,所述比特被分成两对,并由其整数表示t0和t1来表示。在1521,比较两个整数t0和t1,如果它们相等,在1522,索引i0被设为t0,索引i1被设为4。如果t0和t1不相等,在1530,索引i0被设为t0,索引i1被设为t1。过程的输出包括索引i0和i1。表3给出了两个LUT的内容的示例,其中根据图15中的过程生成基本向量x0=[-1,1,0,0,0]的16个转置。表3还给出了对应于索引i0和i1的稀疏编码器624的输出1440和1450。
表3
图15中示例性示出的过程能够非常有效地实现图14中所示的稀疏编码器624。可以使用基本构建块来通过组合逻辑块直接实现稀疏编码器624。参考图16进一步描述了一个这样的优选实施方式。图16的实施方式执行和图14的实施方式类似的任务,其中索引生成器执行图15的过程。图16中的到稀疏编码器624的输入是四个比特b0,…,b3,以及输出包括两对信号。第一对输出信号1652由v0,…,v4表示,以及第二对输出信号1652由w0,…,w4表示。四个输入比特1610被分成两对b0,b1和b2,b3。第一对被输入到解复用器单元1620,以及第二对被输入到解复用器单元1622。两个解复用器单元1620和1622为1至4解复用器,其中输入一直是高的,两对输入1610用于选择相应的输出。这种解复用器对于本领域的普通技术人员来说也是已知的解码器。表4中示出了用于解复用器单元1620的解复用器单元1620和1622可以执行的逻辑功能。可以由y0,…,y3来表示输出。
表4
一组输出1650的输出信号v0,…,v3被设置成解复用器1620的输出,即,vi=pi。对应于v4的输出信号1660一直设置成0。因为v4一直为0,所以可以选择不包括v4。在图16中,为了清楚,包括了输出v4。可以包括一组另外的触发器(flip-flop)或锁存器1670,以保证输出信号1650的稳定性。情况测试单元1630比较两对输入比特b0,b1和b2,b3。如果b0=b2,且b1=b3,则情况测试单元1630的输出就会高。情况测试单元1630的输出馈送到使能单元1640,使能单元1640的输入1642取非(inverting)。如果情况测试单元1630的输出低,则使能单元1640从解复用器1622传递输入信号,如果情况测试单元1630的输出高,则使能单元1640将其输出设置成逻辑0。一组输出1652的输出信号w0,…,w3等于解复用器1622的输出。输出信号w4等于情况测试单元1630的输出。可以包括一组另外的触发器或锁存器1672,以保证输出信号1652的稳定性。
图17中示出了解复用器单元1620和1622的优选实施方式。解复用器单元的两个输入1623馈送到与门(AND门)1624,在图中,每个AND门由&表示。每个AND门1624对应于解复用器单元1620、1622的输出1626中的一个输出。第一AND门的输出,和第二及第三AND门的一些输入取非。如第二AND门的第一输入1625的情况,由小圆圈表示“非”。
图18示出了情况测试单元1630的优选实施方式。两对输入b0,b1和b2,b3是两个异或门(XOR门)1632的输入,个XOR门的输出取非。在图中,每个XOR门由“=1”表示。所述XOR门的输出是AND门1633的输入,AND门1633的输出是情况测试单元1630的逻辑输出1634。
图19示出了使能单元1640的优选实施方式。非使能输入1642连接到四个AND门1644的第一输入。使能单元1640的四个输入1643连接到AND门1644的第二输入,以及使能单元1640的输出1645是四个AND门1644的输出。
4b5w稀疏驱动器
现在参考图20描述和图16中示例性示出的稀疏编码器624相匹配的稀疏驱动器628的优选实施方式。稀疏驱动器628的输出包括五个线路1750,该五个线路1750携带电信号s0,…,s4。五个线路1750连接到一组五个受控电流源1730,该五个受控电流源1730从线路接收大小为I的电流,以及五个线路1750连接到一组五个受控电流源1740,该五个受控电流源1740向线路提供大小为I的电流。每个控制输入(例如输入1732)可以具有一个二进制值,其中逻辑1可以表示各自的电流源开启,以及逻辑0可以表示各自的电流源关闭。用于4b5w码的稀疏编码器624的输出使得在任何时候仅有一个正在供电或接收电的电流源在工作。而且,线路上的电流之和等于0。
如本领域的技术人员所知的,在IC技术中(诸如互补型金属氧化物半导体(“CMOS”)技术),不太容易实现能够以非常高速(诸如超过1GHz的速度)开启和关闭的电流源。参考图21,图示出了在不开启或关闭电流源的情况下以较低的水平实现图20中所示的稀疏驱动器的功能的优选实施方式。
图21中示例性示出的稀疏驱动器实现了与稀疏信令码相匹配的电流控制设计。电流源1810从正电源(Vdd)提取电流I,以及电流源1812将电流I接收到地(gnd)上。稀疏驱动器628的输出包括五个线路1820,每个线路携带物理信号。所述物理信号由s0,…,s4表示,并由流入线路的电流来定义。每个输出线路1820连接到NMOS晶体管和PMOS晶体管。例如,第一输出线路1821连接到PMOS晶体管1830的漏极和NMOS晶体管1832的漏极。NMOS晶体管的栅极连接到第一组输入1850。输入1850是图16中示例性示出的稀疏编码器624的第一组输出1650,以及所述输入1850驱动NMOS晶体管的栅极。输入1852是图16中示例性示出的稀疏编码器624的第二组输出1652。为了驱动PMOS晶体管的栅极,由非单元1840将输入1852的逻辑值进行非操作。
用于4b5w码的图6的稀疏编码器624的输出具有以下的性质。总是有一个PMOS晶体管处于活动状态,和一个NMOS晶体管处于活动状态。而且,带有活动的PMOS晶体管的线路与带有活动的NMOS晶体管的线路不同。只要PMOS晶体管活动,则电流源1810向相应的线路提供电流I。只要NMOS晶体管活动,则电流源1812从相应的线路接收电流I。作为示例,考虑稀疏编码器的输入由(b0b1b2b3)=(0001)给出的情况。
图16中示例性示出的稀疏编码器生成以下输入到稀疏驱动器628的输出:(v0v1v2v3v4)=(0001),以及(w0w1w2w3w4)=(0001)。
在本实施方式中,PMOS晶体管1831向第二线路提供电流I,NMOS晶体管1832从第一线路吸收电流I。而且,剩下的线路不携带任何电流。
根据该实施方式,很清楚的是,稀疏信令码允许有效率的驱动器结构。为了驱动五个线路,只需要两个电流源1810和1812。相比之下,基于传统的差分信令的系统可以使用两个电流源来用于仅仅两个线路,而不是五个线路,每个电流源的电流值只比公开的情况中的相应值稍微小一点。使用稀疏信令码不仅仅能够节能,而且还能够充分节省芯片上所使用的空间。
4b5w信号到数字转换器
图22中示出了用于4b5w码的SDC644的优选实施方式。SDC644的输入是由y0(t),…,y4(t)表示的五个信号1910。假设所述信号与用于4b5w码的稀疏编码器624和稀疏驱动器628生成的信号成比例。当以电流模式驱动总线线路时,我们认为y0(t),…,y4(t)与所述电流成比例。例如可以测量终端电阻上的电压作为y0(t),…,y4(t)。SDC包括由AD表示的五个模数转换器(ADC)1930。第i个ADC对信号yi-1进行采样并生成样本zi-1。时钟和数据恢复单元可以确定对信号进行采样时的1/T秒的周期内的时间实例。
由ADC生成的一组样本由z0,…,z4表示。对于ADC来说2比特的分辨率足够区分不同的级别。在进行均衡时或者在想要获得更高程度的共模噪声抑制的时候,可以使用更高的分辨率。排序单元1940选择样本z0,…,z4中最大和最小的样本。为了示出的目的,我们假设d0表示对应于最小样本的线路的索引,而d1表示对应于最大样本的线路的索引。索引d0和d1是SDC644的输出,并且可以输入到稀疏解码器648。
具有AD转换器1930的结构在功率使用方面不太经济。稀疏信令码的性质对于实现有效率的SDC结构来说是有用的。参考图23描述了实现该结构的的优选实施方式。图23中示例性示出的SDC648的输入包括由y0(t),…,y4(t)表示的五个信号2010。SDC包括最小检测器单元2030和最大检测器单元2040。最小检测器单元2030将所述五个输入信号2010作为其输入。最小检测器的任务是决定输入信号中具有最小值的输入信号。最大检测器单元2040将所述五个输入信号2010作为其输入。最大检测器的任务是决定输入信号中具有最大值的输入信号。
SDC648的输出包括两组信号。第一组信号2020是最小检测器单元2030的输出,并由d0,…,d4表示。信号2020的值对其上的相应信号相对于其他线路来说具有最小值的线路进行编码。第二组信号2022是最大检测器单元2040的输出,并由e0,…,e4表示。信号2022的值对其上的相应信号相对于其他线路来说具有最大值的线路进行编码。在优选的实施方式中,对信号2020和2022进行编码,从而使得预定义的电压水平V1对应于其上存在最小值或最大值的线路,以及预定义的电压水平V2对应于其上不存在最小值或最大值的线路。
在优选的实施方式中,所述信号2020和2020可以转换成逻辑信号,以和稀疏解码器648的输入相匹配。SDC648可以包括一组用于输出2020和2022的采样保持或跟踪保持单元2050和2052。在图23的实施方式中,最小检测器单元2030和最大检测器单元2040以连续时间的方式工作。本领域的技术人员可以意识到,在输入信号2010进入最小检测器单元2030和最大检测器单元2040之间还可以使用采样保持单元2050和2052。在这种情况下,最小检测器单元2030和最大检测器单元2040可以以离散时间的方式工作。可以使用另外的电路来确定采样保持单元2050和2052的最佳采样时刻。
现在参考图24进一步描述最大检测器单元2040的优选实施方式。图24示出了包括五个NMOS晶体管2110和五个电阻2130的电路图。电路的输入是信号2120,该信号2120可以连接到总线的终端。NMOS晶体管2110的每个栅极连接到输入信号2120中的一个输入信号。NMOS晶体管的源极全部连接到一起,并且电流源2115连接到NMOS晶体管2110的源极。NMOS晶体管用作非线性放大器,并且在输入电压yi超过预定阈值的情况下,第i+1个晶体管开启。
阈值电压是预定为使得对于4b5w码一次只有一个晶体管开启。在这是第i个晶体管的情况下,电流源2115的电流从晶体管2130的组流过该第i个晶体管和第i个电阻。效果是输出2122的组的第i个输出的电压降到比Vdd低的值。由于没有电流流过对应于所述输出的电阻,所以2122中的其他输出保持在Vdd的水平。在优选的实施方式中,一组5个采样保持单元2140可以对所述信号进行采样,并且可以转换其电压水平,从而使得这些信号适于与稀疏解码器648的逻辑接口相连接。
为了图22中示例性示出的电路的正确和低功率的运转,应该根据稀疏信令码生成总线上的信号。电路的功率效率运转的原因是只有单个电流源2115提供用于电路的能量,以及可以将电流I拖尾选取的非常小(例如100毫安)。电流I拖尾将流过对应于携带符号为1的稀疏信令码的线路的晶体管。对于最小检测器电路2030的优选实施方式,可以使用以PMOS晶体管替代NMOS晶体管的类似电路。
4b5w解码器
现在参考图25进一步描述与图16的稀疏编码器624相匹配的用于4b5w码的稀疏解码器648的优选实施方式。稀疏解码器648的输入包括两组五个输入2210和2212。第一组输入2210由e0,…,e4表示,以及当一个输入高时,其表示SDC644在相应的线路上检测到了-1。第二组输入2212由d0,…,d4表示,以及当一个输入高时,其表示SDC644在相应的线路上检测到了-1。
稀疏解码器648可以包括两个复用器单元2220和2222。复用器单元2220连接到由e0,…,e3表示的第一四个输入2210。输入2211连接到选择单元2230的选择输入2232。如果选择输入2232低,则选择单元2230的输出2233等于第一两个输入2234。如果选择输入2232低,则选择单元2230的输出2233等于第二两个输入2235。复用器单元2222连接到2212的第一四个输入。由于图16的稀疏编码器624在相应的线路上从来不传输-1,所以不使用对应于d4的输入2213。在图25中,为了清楚,示出了输入2213。在表5中,为复用器单元2220示出了复用器单元2220和2222的任务。在表5中,由p0和p1表示两个输出2234。
表5
稀疏解码器648的输出2240包括4个比特b0到b3。输出b0和b1等于选择单元2230的输出,输出b2和b3等于复用器单元2222的输出。可以向图25的实施方式添加另外的电路,从而例如便于错误检测或纠正。
图26示例性示出了复用器单元2220和2222的优选实施方式。复用器单元2220和2222包括两个或门(OR门)2223。复用器单元2220和2222的输出2226分别设置成两个OR门2223的输出。复用器单元2220和2222的输入2224的第二和第四输入馈送到第一OR门,输入2224的第三和第四输入馈送到第二OR门。OR门2223根据表5执行逻辑以从e0到e3生成p0和p1。不需要第一输入2226实现表5定义的逻辑功能。图27示出了选择单元2230的优选实施方式。四个输入2238连接到四个AND门2231和2235的第一输入。AND门2231和2235的第二输入连接到选择输入2237。AND门2231的第二输入取非。AND2231和2235的输出前向到生成选择单元2230的输出的OR单元2236。
4b5w稀疏信令码的概述
4b5w属于更大族的稀疏信令码。由公式11所示的形式的基本向量来定义该族的稀疏信令码。
基本向量x0的大小为2k+1,其包括单个1,单个-1和2k-1个0。4b5w码是k=2的特定示例。由公式11给出的基本向量x0允许在2k+1个线路上传输2k比特。利用公式11给出的基本向量x0,4b5w码的稀疏编码器624、稀疏驱动器628、SDC644和稀疏解码器648可以容易地进行应用扩展。
用于在8个线路上传输8个比特的稀疏信令码
在该实施方式中,总线630包括8个线路(n=8),以及在每个1/T秒的周期中,在总线630上传输8个比特。而且发射机620实现由稀疏基本向量x0=[-1,-1,1,1,0,0,0,0]定义的稀疏信令码,对于稀疏基本向量x0可以使用28=256个不同的转置。这造成完全的引脚效率,即r=1.0。该稀疏信令码被称为8b8w码。
8b8w编码器
参考图28示例性示出了用于8b8w码的稀疏编码器624的优选实施方式。稀疏编码器624将8比特作为其输入并返回基本向量x0的转置。稀疏编码器624的输入包括由b0,…,b7表示的八个比特2310。稀疏编码器624的输出包括两组输出2340和2342,其中每组输出包括八个信号。第一组输出信号2340由v0,…,v7表示,第二组信号2340由w0,…,w7表示。
稀疏编码器624可以包括一组四个索引生成器2320和2322,该四个索引生成器生成四个索引i0,…,i3。索引i0和i2由索引生成器2320生成,以及表示x0的转置中等于-1的位置。索引i1和i3由索引生成器2322生成,以及表示x0的转置中等于1的位置。索引i0和i2传到包括8个存储原件或缓冲器2331的存储装置2330。索引i1和i3传到包括8个存储原件或缓冲器2333的存储装置2332。由所述存储元件或缓冲器中的值确定8个输出信号2342的值。2330和2332中,存储元件或缓冲器的值初始化为值0。
在一些实施方式中,通过LUT实现索引生成器2320和2322。通过对应于b0,…,b7的8个比特值来索引所述LUT中的每个LUT,且LUT的每项包括范围从0到7的整数。在一些实施方式中,用于实现索引生成器2320和2322的LUT每个具有256项的3比特(对于4个LUT共12比特)。例如带有诸如ROM或RAM的存储器的LUT的实现在非常高速时会出现一些问题。使用RAM或ROM的主要缺点是不容易以可接受的功率消耗在非常高速进行工作。
为了解决该问题,期望一种简单的过程,能够生成索引从而生成有效的8b8w稀疏信令码。通常设计这样过程不是一个小问题。但是本公开提供了一些便于稀疏信令码的编码和解码的明确方案。
图29示出了索引生成器2320和2322可以实现的过程。所述索引生成器用于生成由基本向量x0=[-1,-1,1,1,0,0,0,0]定义的有效8b8w码的索引i0,…,i3。过程的输入2410是比特b0,…,b7,以及该编码过程的输出2490是四个索引i0、i1、i2和i3。索引i0和i2等于对应于基本向量x0的转置的向量中的-1的位置,以及索引i1和i3等于1的位置。
在步骤2420中,由2410中的8个输入比特形成四个索引t0,…,t3。通过将输入比特对转换成其十进制表示的方式(即b0和b1转换成2b0+b1)来完成该步骤。在图29示例性示出的过程中可以区别四种不同的情况。在步骤2421中测试第一种情况,当t0=t1和t2=t3时发生第一种情况。当该情况为真时,根据步骤2422中执行的计算设定索引i0,…,i3。当t0=t1和t2≠t3时发生第二种情况。在步骤2423中对该情况进行测试,当该情况为真时,根据步骤2424中执行的计算设定索引i0,…,i3。应该理解在实际的实施中,通过电子逻辑和/或电路执行所述计算。
在步骤2424中,组A形成如下。最初组A包括整数0、1、2、3。整数t2和t3从该组移除。剩下的组的最小元素由A[0]表示,剩下的组的最大元素由A[1]表示。当t0≠t1和t2=t3时发生第三种情况。在步骤2425中对该情况进行测试,当该情况为真时,根据步骤2426中执行的计算设定索引i0,…,i3。第四种情况是默认情况,当t0≠t1和t2≠t3时发生第四种情况。当该情况发生时,根据步骤2427设定索引i0,…,i3。图30中所示的表示出了从比特b0,…,b7的十进制表示128b7+64b6+32b5+16b4+8b3+4b2+2b1+b0向整数i0,…,i3的映射。
在优选的实施方式中,用图31中所示的基本构建块来实现图29中示例性示出的过程。图31中的稀疏编码器624的输入是8个比特b0,…,b7,以及输出包括四组信号。第一和第三组输出信号2662和2664分别由v0,…,v3和v4,…,v7表示。所述输出信号为逻辑信号,信号vi对应于线路i。当信号vi高时,这可以表示在线路i上传输-1。第二和第四组输出信号2663和2665分别由w0,…,w3和w4,…,w7表示。所述输出信号为逻辑信号,信号wi对应于线路i。当信号wi高时,这可以表示在线路i上传输1。8个输入比特2610被分成四对(b0,b1)、(b2,b3)、(b4,b5)和(b6,b7)。每对被分别馈送到解复用器单元2612、2613、2614、2615,其中可以理解第i对被馈送到第i对解复用器单元。在表6中为解复用器单元2612示出了解复用器单元2612、2613、2614、2615实现的逻辑功能,其中由p0,…,p3表示解复用器单元的输出。
表6
解复用器单元2612和2614的输出分别被馈送到OR单元2642和2644。解复用器单元2613的输出被馈送到使能单元2632和解复用器单元2615的输出被馈送到循环移位单元2654。情况测试单元2620具有输入比特b0,…,b7和由ε0,ε01和ε1表示的三个输出。情况测试单元2620的输入是四个比特对2610,基于四个比特对的值一个输出高而其他两个输出低。表7列出了作为输入比特b0,…,b7的函数的输出ε0,ε01和ε1的逻辑值。
表7
表7的情况对应于图29中示例性示出的过程的情况测试2421、2423和2435。情况测试单元2620的输出ε0输入到OR单元2644,输出ε01输入到两个使能单元2632和2634,输出ε1输入到OR单元2642。每个OR单元2642和2644具有选择输入、八个输入和四个输出。参考OR单元2642进一步解释OR单元2642和2644的操作。OR单元2644的操作是类似的。OR单元2642的输入包括来自解复用器单元2612的四个输入信号2646和来自解复用器单元2613的四个输入信号2647。第一四个输入信号2646由c0,…,c3表示,和第二四个输入信号2647由d0,…,d3表示。在情况测试单元2620的输出ε1为低的情况下,OR单元2642的四个输出等于c0、c1、c2、c3,以及在ε1为高的情况下OR单元的四个输出等于
使能单元2632和2634具有选择输入2635、四个输入和四个输出。使能单元2632和2634的选择输入2635取非。当情况测试单元2620的输出ε01为高时,使能单元的输出为低,和当ε01为低时使能单元的输出等于其各自的输入。循环移位单元2652和2654都具有选择输入2655、四个输入和四个输出。选择输入连接到情况测试单元2620的输出ε01。在循环移位单元2652和2654的选择输入为低时,输出等于输入。在选择输入为高时,循环移位单元2652和2654将四个可能的输入映射到输出,如表8所定义的。
表8
循环移位单元2652和2654实现图29中示例性示出过程的步骤2422中的任务。输出v0,…,v3等于循环移位单元2652的输出,输出v4,…,v7等于使能单元2632的输出,输出w0,…,w3等于使能单元2632的输出以及输出w4,…,w7等于循环移位单元2654的输出。可能需要一组另外的触发器或锁存器2670来保证输出信号2662、2663、2664、2665的稳定性。
图17示出了解复用器单元2612、2613、2614、2615的优选实施方式。在4b5w编码器的优选实施方式中也使用该解复用器单元,上面更具体地描述了该解复用器单元。图32示出了情况测试单元2620的优选实施方式。两对输入(b0,b1)和(b2,b3)输入到两个XOR门2621,和两对输入(b4,b5)和(b6,b7)输入到两个XOR门2622。XOR门2621和2622的输出取非。XOR门2621和2622的第一层的输出馈送到XOR门2623的第二层,其输出也是取非的。XOR门2623的输出馈送到三个AND门2624,以生成输出信号ε0,ε01和ε1。注意,AND门2624的一些输入是取非的。
图19示出了使能单元2632和2634的优选实施方式。在4b5w编码器的优选实施方式中也使用该使能单元,上面更具体地描述了该使能单元。参考图33示例性示出了OR单元2642的优选实施方式。OR单元2644的优选实施方式可以具有和OR单元2642类似的实施。第一组输入c0,…,c3馈送到四个OR门2648的第一输入。第二组输入d0,…,d3馈送到四个AND门2647的第二输入。所述AND门2647的第一输入连接到输入ε1。当ε1为高时,AND门2647的输出等于其第二输入,否则输出为低。从而当ε1为高时,OR门2648的第i个门的输出等于ci∨di。当ε1为高时,XOR门2649用作非操作器,否则其如实传递其第二输入。
图34示出了循环移位单元2652的优选实施方式。循环移位单元2654的优选实施方式可以具有和循环移位单元2652近似的实施。循环移位单元2652包括四个AND门2656。所述AND门2656的第一输入连接到循环移位单元2652的选择输入2655。循环移位单元2652的四个输入2658连接到一组四个OR单元2657。由OR单元2657的输出给出循环移位单元2652的输出2659。在选择输入2655为高的情况下,循环移位输入实现向输出2659添加第二高值,从而实现表8的输入输出关系。?
8b8w稀疏驱动器
图35示例性示出了用于8b8w解码器的稀疏驱动器628。稀疏驱动器628具有由s0,…,s7表示的八个输出2750。每个输出连接到两个电流源,两个电流源中的一个从输出吸收电流,一个向输出提供电流。稀疏驱动器628的输入被分成两组。由v0,…,v7表示的第一组输入2710对应于其上发送-1的线路。每个输入2710连接到电流源2730的控制输入2732。当输入vi为高时,相应的电流源从第i个输出吸收电流I。由w0,…,w7表示的第二组输入2720对应于其上发送1的线路。每个输入2720连接到供电电流源2720的一个电流源的控制输入。当输入wi为高时,相应的电流源向第i个输出提供强度I的电流。
图36示例性示出了晶体管级别的稀疏驱动器624的优选实施方式。稀疏驱动器628的输入包括分别由v0,…,v7和由w0,…,w7表示的两组输入2850和2852。输出包括由s0,…,s7表示的八个信号2820。图36的稀疏驱动器624的结构和图24示例性示出的用于4b5w码的稀疏驱动器类似。电流源2810根据哪个PMOS晶体管开启来将强度为I的电流提供到线路中的两个线路。在只有PMOS晶体管2830和2831开启的情况下,将电流源2810的电流提供到对应于输出s0和s1的线路中。在所述线路的负载相同的情况下,在所述两个线路间平均分配电流。电流源2812从所连接的NMOS晶体管开启的两个线路吸收强度为I的电流。在NMOS晶体管2832和2833开启的情况下,从对应于输出s0和s1的线路吸收电流。
8b8w信号到数字转换器
图37示出了用于8b8w码的SDC644的优选实施方式。SDC644的输入为y0(t),…,y7(t)表示的八个信号2910。假设所述信号与用于8b8w码的稀疏编码器624和稀疏驱动器628生成的信号成比例。在以电流模式驱动总线的情况下,信号y0(t),…,y7(t)可以与所述电流成比例。总线可以终止于电阻,y0(t),…,y7(t)是在终端电阻上感测的电压。
SDC包括由AD表示的八个模数转换器(ADC)2930。第i个ADC对信号yi-1采样并生成样本zi-1。时钟和数据恢复单元可以确定对信号进行采样时的1/T秒的周期内的时间实例。由ADC生成的一组样本由z0,…,z7表示。对于ADC来说2比特的分辨率足够区分8b8w码生成的不同级别。排序单元2940选择样本z0,…,z7中两个最大的和两个最小的。
当已知z0,…,z7中两个最大和两个最小的样本时,可以识别基本向量x0的最可能的转置。SDC的输出包括四个索引d0、d1、d2和d3。索引d0和d1可以表示已经观察到两个最大值的线路的索引,索引d2和d3可以表示已观察到两个最小值的线路的索引。可以选择ADC2930的分辨率以使得就在AD转换之后可以执行另外的信号处理操作。该操作可以包括例如均衡和时钟恢复。利用用于4b5w码的SDC644的优选实施方式,带有AD转换器2930的结构在功率使用方面不太经济。
可以使用稀疏信令码的性质来实现有效率的SDC结构。参考图38描述完成该结构的优选实施方式。图38中示例性示出的SDC648的输入包括由y0(t),…,y7(t)表示的八个输入信号3010。SDC包括最小2检测器单元3030和最大2检测器单元3040。最小2检测器单元3030的输入包括八个输入信号3010。最小2检测器的任务是找到存在两个最小的值的两个输入。最大2检测器单元3040的输入包括八个输入信号3010。最大2检测器的任务是找到存在两个最大的值的两个输入。SDC648的输出包括两组信号。第一组信号3020是最小2检测器单元3030的输出,并由d0,…,d7表示。信号3020的值在检测到两个最小值的最小2检测器的输入上编码。
为此,输出di上的逻辑一可以表示在对应于yi(t)的输入上检测到了两个最小值中的一个。第二组信号3022是最大检测器单元3040的输出,并由e0,…,e7表示。信号3022的值在检测到两个最大值的最大2检测器的输入上编码。为此,输出di上的逻辑1可以表示在对应于yi(t)的输入上检测到了两个最大值中的一者。所述信号3020和3022可以被转换成逻辑信号,以与稀疏解码器648的输入相匹配。SDC648可以包括一组用于输出3020和3022的采样保持或跟踪保持单元3050和3052。
在图38的实施方式中,最小2检测器单元3030和最大2检测器单元3040以连续时间的方式工作。在输入信号3010进入最小2检测器单元3030和最大2检测器单元3040之前,也可以使用采样保持单元3050和3052。在该情况下,最小2检测器单元3030和最大2检测器单元3040可以以离散时间的方式工作。可以使用另外的电路来确定采样保持单元3050和3052的最佳采样时刻。
现在参考图39进一步描述最大2检测器单元3040的优选实施方式。图39示出了包括八个NMOS晶体管3110和八个电阻3130的电路图。电路的输入是信号3120,该信号3120可以连接到总线的终端。NMOS晶体管3110的每个栅极连接到输入信号3120的一个。NMOS晶体管的源极全部连接在一起,以及电流源3115连接到NMOS晶体管3110的源极。NMOS晶体管用作非线性放大器,并且在输入电压yi越过预定阈值的情况下,第i个晶体管开启。阈值电压是预定的,以使得对于8b8w码一次仅有两个晶体管开启。在存在第i个和第j个晶体管的情况下,电流源3115的电流流过第i个和第j个晶体管以及一组电阻3130中的第i个和第j个电阻。效果是一组输出3122的第i个和第j个输出的电压降到比Vdd低的值。本领域的技术人员可以意识到,诸如I的大小和电阻3130的值的多个因素会影响电压的精确下降。
因为没有电流流过对应于其他输出的电阻,所以3122中的其他输出保持在Vdd的水平。一组八个采样保持单元3140可以对所述信号进行采样,并转换其电压水平,从而使得所述信号适于与稀疏解码器648的逻辑相连接。
为了图39中示例性示出的电路的正确和低功率的运转,应该根据稀疏信令码生成总线上的信号。电路的功率效率运转的一个原因是只有单个电流源3115提供用于电路的能量,以及可以将电流I选取的非常小(例如100毫安)。电流I将流过对应于携带符号为1的稀疏信令码的线路的晶体管。对于最大2检测器电路3040的优选实施方式,可以使用以PMOS晶体管替代NMOS晶体管的类似电路。
8b8w解码器
现在参考图40,描述和图28中示例性示出的8b8w码的编码过程相匹配的8b8w码的解码过程。编码过程的输入包括两组信号,分别由d0,…,d7和e0,…,e7表示。
如图38所示出的,可以由用于8b8w码的SDC648生成所述两组信号。信号d0,…,d7对-1的位置进行编码,以及信号e0,…,e7对1的位置进行编码。对于所述信号中一个信号,逻辑1表示在对应的线路上传输了1或-1。过程的输出包括八个比特b0,…,b7。在步骤3220中,通过将函数cnt(…)应用到d0,…,d7和e0,…,e7的子集,来设定四个量n0、p0、n1和p1。函数cnt(…)的值等于四个输入中存在的逻辑1的数量。在图40的过程的后续步骤中使用所述n0、p0、n1和p1的这些值。
图40中示出的解码过程包括四种不同的情况。当n0=2和p1=2时,发生第一种情况,在步骤3221中对该情况进行测试。当为真时,在步骤3222中根据计算来设定输出比特b0,…,b7的值。表9定义了步骤3222中的函数decyc(…),其中表仅显示了允许的输入的函数decyc(…)的值。
表9
当n0=0和p1=1时,发生第二种情况,在步骤3223中对该情况进行测试。当为真时,在步骤3224中根据计算来设定输出比特b0,…,b7的值。表10定义了步骤3224中的函数mux(…),其中表仅显示了允许的输入的函数mux(…)的值。
表10
当n1=0和p1=1时,发生第三种情况,在步骤3225中对该情况进行测试。当为真时,在步骤3226中根据计算来设定输出比特b0,…,b7的值。第四种情况为默认情况,当为真时,在步骤3227中根据计算来设定输出比特b0,…,b7的值。
在优选的实施方式中,用基本构建块来实现用于8b8w码的稀疏解码器648执行的过程。现在参考图41来进一步描述这样的优选实施方式。图41中示出的稀疏编码器的输入包括两组八个信号。第一组信号3310、3312由d0,…,d7表示,当在相应的线路上观察到+1时,所述信号的每个携带逻辑一。第二组信号3311、3313由e0,…,e7表示,当在相应的线路上观察到-1时,所述信号的每个携带逻辑一。
情况测试单元3320确定图41中过程的四个可能的情况哪个为真,并且为此可以使用输入3310和3311。情况测试单元3320的输出3321可以包括比特对(c1,c0)。为了对四种不同的情况进行编码,情况测试单元3320可以如下设置(c1,c0)。当(d0,d1,d2,d3)中的逻辑一的个数和(e0,e1,e2,e3)中的逻辑一的个数为偶数时,可以设定(c1,c0)=(0,0)。当(d0,d1,d2,d3)中的逻辑一的个数和(e0,e1,e2,e3)中的逻辑一的个数为奇数时,可以设定(c1,c0)=(1,1)。当(d0,d1,d2,d3)包括非零且偶数个逻辑一,且(e0,e1,e2,e3)中的逻辑一的个数为奇数时,可以设定(c1,c0)=(0,1)。最后,当(d0,d1,d2,d3)不包括包括逻辑一,且(e0,e1,e2,e3)中的逻辑一的个数为奇数时,可以设定(c1,c0)=(1,0)。
所述四种情况不能覆盖所有的可能性。然而,对于来自8b8w稀疏信令码的有效字来说,覆盖了所有的可能性。在一些实施方式中,可能增加另外的组件和逻辑来覆盖其他情况。当在总线上传输期间发生错误且8b8w码的性质允许检测某些错误的时候,这很有用。
输入3310、3311、3312和3313分别馈送到复用器单元3330、3331、3332和3333。每个复用器单元根据表10将其输入映射到一组两个输出,和图40中所述的过程中使用的函数mux(...)一样的情况。输入3310和3311连接到或与非单元3330,和输入3312和3314连接到或与非单元3332。或与非单元3330和3332可以执行类似的功能。或与非单元3330的输出由y0,…,y3表示,并且公式12给出了或与非单元3330所执行的逻辑功能。
y0,…,y3的输出被转发到复用器单元3331。或与非单元3332的输出被转发到复用器单元3333。输入d0,…,d3和e4,…,e7还分别连接到循环解码器单元3350和3352。循环解码器单元3350和3352根据表8将其各自的输入信号映射到两个输出。循环解码器单元3350和3352执行图40所示的过程中所使用的decyc(...)函数。图41中示出的稀疏解码器648的输出包括四对比特3380、3381、3382和3383。
选择I单元3360如下生成输出比特3380。选择I单元3360具有两个控制输入3361。控制输入3361连接到情况测试单元3320的两个输出3321。选择I单元3360的输入包括来自复用器单元3340的一对信号3368、来自循环解码器单元3350的一对信号3369和来自复用器单元3331的一对信号3370。
当情况测试单元3320的输出3321等于(c1,c0)=(0,0)时,选择I单元3360将输出3380设置成输入3369的值,该输入3369来自循环解码器单元3350。而且,选择II单元3362具有还连接到情况测试单元3320的输出3321的控制输入3363。当(c1,c0)=(0,0)时,输出3381设置成选择II3362的第一两个输入3371。所述输入3371来自循环解码器单元3350。选择I单元3364和选择II单元可以以类似的方式工作。
当情况测试单元3320的输出3321等于(c1,c0)=(1,1)时,选择I单元3360将输出3380设置成输入3368的值,该输入3368来自复用器单元3340。而且,选择II单元3362将输出3381设置成输入3372,该输入3372来自复用器单元3341。选择I单元3364和选择II单元可以以类似的方式工作。
当情况测试单元3320的输出3321等于(c1,c0)=(0,1)时,选择I单元3360将输出3380设置成输入3370的值,该输入3370来自复用器单元3331。选择II单元3362将输出3381设置成输入3372的值。选择I单元3364将输出3382设置成输入3377的值,该输入3377来自复用器单元3343。而且,选择II单元3366将输出3383设置成输入3378的值。
当情况测试单元3320的输出3321等于(c1,c0)=(1,0)时,选择I单元3360将输出3380设置成输入3373的值,该输入3373来自复用器单元3341。而且,选择II单元3362将输出3381设置成输入3372的值。选择I单元3360将输出3380设置成输入3373的值,该输入3373来自复用器单元3341。而且,选择II单元3362将输出3381设置成输入3372的值。和用于图31-34中示出的8b8w码的编码器的实质相同,可以用逻辑门来实现图41中的块。
图41的实施方式不是可以实现用于8b8w码的稀疏解码器648的唯一方式。
在前述说明书中,参考具体的实施方式描述了本发明。然而,很显然,在不脱离本发明的较宽范围和实质的前提下,可以做出各种修改和改变。相应的,可以认为说明书和附图是示出性的,而不是限制性的。
概述和进一步的应用
稀疏信令码当用于在通信系统中传输信息时提供了一些优点。当以k比特的量在多个物理通信信道上传输信息时,稀疏信令码是有用的。使用稀疏信令码,提供了对多种类型的噪声的回弹,以及允许非常低功率的通信。
在图42所示的特定示例中,功率和引脚效率高速串行链路具有8b8w设定。编码器和解码器在此使用稀疏转置调制(“SPM”)。在此所述的编码器和解码器提供改善的信号完整性,并在共模噪声、串扰、同时开关输出(“SSO”)噪声和高斯噪声(和差分信令类似或者比差分信令好)方面有所改善。其引脚效率可以大于或等于1。功率效率可以非常高,其中紧凑的多线路驱动器和接收机结构与发信号的方法本身相匹配。可以包括纠错。分辨率可以是用于发送数据的最小的。这使得均衡这样的方法变得容易。可以使用多线路信令,其中可以一起使用一组线路来发送数据。而且,可以提供对串扰的高回弹性。
图42更具体地示出了用于“8b8w”配置的特定示例的发射机和接收机。在该示例中,收发机使用SPM码在八个线路(线路长度可以为5-10cm)上操作,以6GHz的符号时钟操作,其中链路数据率为48Gbps,所述SPM码在8个线路上传输8比特(三元(ternary)码)。线在发射机和接收机处终止。全部收发机系统的功率消耗可以低到100mW,或者比100mW还低。这给出了大约2mW/Gbps的功率效率。
在另一个示例中,8b8w编码器在1.5GHz操作,在1个时钟周期内执行编码,对于四个编码器来说功率消耗为4mW,解码器具有类似的功率消耗。
8个线路的示例行多线路驱动器结构可以使用无源均衡,8个线路的全部驱动器的功率消耗为8mW。使用带有采样器的多线路接收机前端,对于用于8个线路的多线路接收机,功率消耗为10mW。
在一些变化方式中,提供另外的均衡以支持更长的线路长度,以及提供ESD保护。
图43示出了布局的一个非常具体的示例。
在本申请中,每个物理信道被称为线路,以及线路组构成通信总线。然而,应该记住,所述线路可以包括从发射IC到接收IC的整个路径。这意味着,在构成线路的所述物理信道中可以包括例如键合线、带状线、引脚等。而且,所述IC可以位于同一装置中,可以以层叠封装的配置在彼此的顶部层叠,或者甚至可以集成在同一裸片中。在后面的情况中,IC实际上是同一芯片的两个组件。
构成通信总线的线路的每个可以是携带电信号的介质。然而,线路也可以包括携带电信号的光纤或者组合。而且,线路可以一部分携带电信号,另一部分携带光信号。另一个可能性是两个IC之间进行无线的通信。重要的是,两个IC终究在多个线路上与另一个进行通信,其中所述线路被理解为用于发射与接收IC之间的路径的非常通用的术语。
优选的实施方式主要示出了用于芯片到芯片的通信的稀疏信令码的使用。然而,这无论如何都不该认为是对本发明范围的限制。本申请中所公开的方法对于信息存储也可以是有用的。
结合有纠错码处理的编码器/解码器
当使用上述的8b8w码传输数据时,有可能图6的解码器648恢复的数据与驱动器628传输的数据不一致。这种情况通常被称为传输错误。可能由于多种原因造成传输错误,诸如信号线路长度差异(通常称为信号扭曲)、不精确的组件、或通过传输线路的信号上受到的随机噪声。通常,收发机的单个组件需要被设计成使得传输错误的数量保持为很小。设计的参数中的一个是其比特误码率,通常简称为BER。现代的传输结构通常需要BER低于某个阈值。一个示例性的阈值为BER<10-15。一个确保这种低误码率的方法是对传输系统的组件进行非常精确的设计。然而,有时候不能制造满足必要的严格准确性需求的组件,或者制造成本太高。另外,这种组件需要使用足够量的能量来用于其操作。
在减少对组件的制造要求的情况下达到这种低的BER的一种不同的方法是添加纠错码(ECC)能力。ECC可以以多种方式与在本申请中公开的编码和传输方法相结合。参考图44描述了一种这样的可能性。在图44中示出的结构中,在通信总线4430上发生总线通信。将源4405中可以获得的信息被传递到总线另一端的目的地4460。源4405的比特被输入到ECC编码器单元4410中。ECC编码器单元4410将来自源4405的k比特的一个或多个序列作为其输入,并生成k比特的一个或多个序列,该序列被输入到TX单元4420。TX单元可以包括和图6中的发射机620相同的组件。TX单元4420生成定义在总线4430的线路上感应的电磁波的电流或电压。由RX单元4440接收所述信号,所述RX单元4440的任务可以与图6中的接收机640的任务类似。RX单元4440生成k比特的序列,该序列被输入到ECC解码器单元4450。该RX单元将所述序列解码成比特序列,该比特序列被转发到目的地4460。
ECC编码器单元4410通常生成用于在传输期间补偿总线4430的线路上的错误的冗余比特。
图44的ECC单元可以属于多个种类,优选为选择ECC单元从而使得能够补偿在总线4430上产生的可能的传输错误。如果源4405顺序地或基本上同时地将l组k比特转发到ECC编码器单元4410,则ECC编码器单元4410可以生成完整的s组k比特,其中s可以至少和l一样大。为了像不使用ECC传输lk比特一样快来传输完整的sk比特,总线4430上的传输速度可以增大因子s/l。在该增大通常与较高的能量使用相关联时,该增大通常比对ECC单元的BER减少的补偿要多。
现在对用于本公开中所述的8b8w码的ECC单元的一个这样的示例进行具体描述。对于该码的情况,总线4430的传输线上的错误通常产生解码的8比特向量,该向量可能与初始的8比特向量在多个位置上不同。所以,对于ECC单元的设计,将8比特的组视作一个符号是有利的。该视作具有的优点是,编码不再局限于二进制字母,而是可以使用更大大小的字母。对于纠错码领域中的技术人员公知的是,在更大的字母上使用代码,如果可能的话会造成对用于达到给定的纠错能力的冗余符号的数目的实质节省。在本公开中使用的示例为字段GF(16)上的码的双重隔行扫描版本(two-fold interleavedversion),但是不限于此。也可以使用其他字母上的码,诸如GF(2)、GF(4)或者其他。
在下面具体所述的示例性实施中,源4405生成的8组8比特组成在一起形成两组8比特的冗余符号,其中“符号”就是一组8比特,看作是GF(16)的两个元素。在总线4430上传输这些10个符号。需要传输所述比特的速度增加为10/8,也就是,1.25。这意味着传输需要比没有ECC编码的情况快25%。我们的示例性ECC能够纠正一个符号错误。为了达到10-15的符号错误率,足够设计传输组件来容忍大约10-8的符号错误率。这使容错率增加了107,并且大大降低了对组件的制造要求。在应用中,即使在考虑稍微有点高的传输速度的时候,这也能使系统的能量消耗较低。
对于本领域的技术人员公知的是,通过从8个源符号中明智地选择2个冗余符号,能够纠正一个符号错误。该代码被称为最大距离可分码。一种这样的码由Reed-Solomon(里德-所罗门)提供。在能够使用用于8b8w码传输的普通里德-所罗门码的时,该代码的编码和解码过程所引起的约束在某些应用中可能较高。所以有必要设计具有非常有效率的实施的MDS码。为了计算,使用尽可能小的字段通常是可取的。这是选择字段为GF(16)的原因,因为16是2的幂的最小字段尺寸,并且允许构建长度为10的MDS码。在编码理论专家所欣赏的语言中,我们构建的代码为[10,8,3]16-码,这表示其为字段GF(16)上的长度为10、维度为8、最小距离为3的线性码。
图45是ECC编码器单元4410的编码过程的效果的示意图。假设源4405将矩阵4510的右手侧上的数据(即z[0]…z[63])按列转发到ECC单元4410,第一列由z[0]到z[7]表示。ECC单元可以转发接收到的列,并且基本上同时更新两个新的列,在接收第8个源的列的最后所述两个新的列将会是包括项z[64]到z[79]的矩阵4530中的最后两列,被称为冗余信息。在图45所述的过程中,在矩阵4510中所述值应当是0。然而,所述值不必须位于靠近源的存储位置。为了清楚和简便的目的在图45中暗示了所述靠近,并且所述靠近对于编码过程的操作来说不是必须的。通过4520中的过程来完成编码,下面将更具体地描述所述操作。
为了计算冗余信息,我们可以选择图46中所给类型的矩阵作为用于代码的生成矩阵。对于本领域中技术人员公知的是,如果且只有所有的值a0,...,a7都为非零且彼此都不相同时,该矩阵为用于MDS码的生成矩阵。图47具体示出了能够减少计算成本的所述值的所有可能选择。在该图中,参数ζ为多项式x4+x3+x2+x+1在字段GF(2)上的的根。假设关于基1、ζ、ζ2、ζ3来表示GF(16)的元素,以及由向量[t0,t1,t2,t3]表示元素t0+t1ζ+t2ζ2+t3ζ3。以该表示法,在此所示出的示例中,元素a0,...,a7可以具有向量表示
a0=[1,0,0,0]
a1=[1,1,0,0]
a2=[1,0,1、0]
a3=[1,1,1,0]
a4=[1,0,0,1]
a5=[1,1,0、1]
a6=[1,0,1,1]
a7=[1,1,1,1]
如根据本公开所应理解的,所述元素的特定选择允许元素索引与其向量表示之间的简单关系,其中索引与整数相同,该整数的二进制表示由向量表示的元素2、3和4给出。
现在参考图48描述编码程序4520。图使用下面的表示法:对于向量z,符号z[a:b]表示包括z的坐标a,a+1,…,b的z的子向量。XOR表示计算长度为8的比特向量的异或运算。程序使用8个辅助程序M0,…,M7,下面描述所述辅助程序M0,…,M7。应该理解,考虑到所述运算要快速完成的要求,电子电路可以执行这些运算中的一些。
图48中的程序在8个步骤中运行,其中在这些步骤的每个中更新向量z[64:71]和z[72:79]:所述向量在程序的最后包括对应于源向量z的冗余信息。在程序的步骤j处,向量z[64:71]与向量z[8*j:8*j+7]进行异或(XOR)运算,以及向量z[72:79]与向量Mj(z[8*j:8*j+7]进行XOR运算。编码程序的效果是由图6的生成矩阵对行向量(z0,…,z7)进行乘法运算,其中每个zi为符号。函数Mi(z[8*j:8*j+7]的结果是zj与元素aj的乘法运算。
图49描述了在比特向量e=[e0,…,e7]上的程序M0,…,M7的操作。如所看到的,所述程序的每个的结果为另一个8比特向量,其中分量为向量e的分量的比特XOR。在该图中,“^”表示对比特的XOR运算。利用这些函数,图48的编码程序使用总共200个比特的XOR。该数目可以被认为是在硬件中实现编码过程的复杂度的代表。还可以减少XOR的数目,但该减少通常以解码程序中的进一步的复杂度为代价。
现在参考图50描述图44的ECC单元4450的操作。该程序的输入为排成在GF(16)中由r[0],…,r[19](或缩写成r[0:19])表示的20个元素的向量的80比特。可以由图44的RX单元4440来计算所述元素。在步骤5020中,程序被应用到r,所述程序确定在向量r[0:15]中是否存在错误。在下面进一步详细描述该错误检测程序。如果不存在错误,就不需要进一步的行动;在该情况下,程序终止于步骤5080,并返回r[0:15],即对应于源的64比特的64比特的信息。如果存在错误,则通过检查r[16]或r[18]是否为零,程序在步骤5030中继续。如果都为非零,则程序确定在向量[r[0],r[2],…,r[4]]中没有错误,并在步骤5060中继续。否则,程序在步骤5040中继续,并且在参量r[16]和r[18]上,确定下面详述的函数B1、B2和B3的值。所述值看作是整数i的二进制展开。该整数是向量[r[0],…,r[14]]中的错误的位置,所述错误的值等于r[16]的值。在步骤5050中完成纠错,以及过程继续到步骤5070。在此,检查r[17]或r[19]中的一者是否为零。如果是,过程确定向量[r[0],…,r[15]]没有错误,以及过程终止于步骤5090。否则,过程继续到步骤5060。该步骤执行和步骤5040类似的计算,以及将函数B1、B2和B3应用到参量r[17]和r[19]。在所述参量上所述函数的值看作是整数i的二进制展开的数字。结论是,r[2i+1]位置有错误,错误值等于r[17]。在步骤5080中纠正该错误,以及过程通过返回源r[0:15]终止于步骤5090中。
为了完成对图50中的解码过程的描述,现在参考图51和52来描述错误检测步骤5020的操作和函数B1、B2和B3。
图51示出了错误检测单元5020的示例性操作。该过程的输入为80比特向量,该80比特向量被分成GF(16)的20个元素r[0],…,r[19]。在步骤5110中使用图48中的过程对该向量编码。之后,在步骤5120,测试是否r[16]*r[l8]=0,以及r[l7]*r[l9]=0,其中“*”表示GF(16)中的乘法算子。如果是这种情况,则在步骤5130中得出没有发生错误。如果步骤5120中的测试结果为否,则在步骤5140中得出有错误。
图52示出了函数B1、B2和B3的公式。在该图中,“&”代表对比特进行AND的运算,以及“^”代表对比特进行XOR运算。可以以下面的方式来获得所述函数:对于本领域的技术人员公知的是,对于基1、ζ、ζ2、ζ3,GF(16)的元素可以表示为4x4的二进制矩阵,其中矩阵与4比特向量的乘积对应于与矩阵相关联的元素与与向量相关联的元素的乘积。与向量表示[a,b,c,d]的元素相关联的矩阵将该向量作为其第一行。函数B1、B2和B3对应于矩阵W*V-1的项(1,2),(1,3)和(1,4),其中W为与向量[w0,w1,w2,w3]相关联的矩阵,以及V为与向量[v0,v1,v2,v3]相关联的矩阵。在图52所示的表格中,所述函数的计算采用了比特的168个AND运算和75个XOR运算。然而可以使用标准的逻辑优化器来进一步减少这些数目。
除了实施复杂度的减少,在此介绍的纠错码具有更多的好处,其有时可以纠正大于1个的符号错误。实际上,代码能够纠正图45的矩阵4530的上半部中任意形式的1列错误,和同一矩阵的下半部中的任意形式的一列错误。从而,在最坏的情况下代码能够纠正一个错误的同时,如果仅在矩阵4530的列的第一或第二半部中发生错误,有时候还能纠正两个错误。
现在提供编码和解码过程的示例。在该示例中,我们假设图45的源4510由以下给出:
这意味着z=[1,0,1,1,1,1,0,0,1,1,0,1,...,1,1,1,0,1,0,0,0,...,0]。图48的编码程序的效果是编码的向量
我们在位置0,1,14,15上引起比特错误。图50上程序的输入r为
如果我们在GF(256)上应用标准MDS码来获得冗余信息,那我们将不能够纠正这些错误,因为所述错误影响10个符号中的两个,而代码仅能够纠正一个列错误。然而,这些错误的每个仅影响一个半-符号,而半-符号是半列。所以我们使用图50中的程序来纠正所述错误。在该程序的步骤5020中,我们应用图51中所概述的程序。应用步骤5110,针对r我们得到:
我们有r[16]=[1,1,0,0],r[17]=[0,0,1,1],r[18]=[1,1,0,0],r[19]=[1,1,0,1]。所以在步骤5120中的测试是否定的,程序正确地推论出在r中存在错误。图50中的程序继续到步骤5030。由于r[16]或r[18]都不是零,程序继续到步骤5040,并计算函数Bl,B2,B3。结果是l1=0,l2=0,l3=0,从而i=0。现在,r[0]的值(为[0,1,1,1])与r[16]的值进行XOR运算,从而得到r[0]=[1,0,1,1],这是正确的值。在步骤5070中,我们测试r[17]或r[19]是否等于零。这不是这种情况,所以我们继续到步骤5060,并计算函数Bl,B2,B3的值。我们得到l1=1,l2=0,l3=0,从而i=1。所以,现在r[3]的值(为[0,1,0,1])与r[17]的值进行XOR运算,从而得到[0,1,1,0],这是正确的值。
纠正擦除
在一些情况下,能够知道图45的矩阵4530的哪个列传输错误。例如,这可能是以下情况:图6的接收机644生成无效的三元向量(即,不是可以被发射机620传输的256个可能的三元符号中的一个)。由于错误的位置已知,所以能够容忍更多的错误。位置已知的错误被称为擦除。在此,我们提供对用于先前部分所述的代码的擦除解码器的示例性描述,所述擦除解码器在最坏的情况下能够纠正两个擦除。
参考图53示例性示出了该程序。使用三个另外的程序DivByDif,DivByEl,和DivByA,下面会更具体地描述所述三个另外的程序。该程序的输入为向量r=r[0:19]、该向量中擦除的数目e和擦除位置i和j,其中i严格小于j,以及其中j可以为空(这意味着e小于2)。在步骤5310中,程序测试是否e=0。如果是,那么r不具有擦除,且不需要进行进一步的动作:在步骤5320中返回向量r[0:15]。如果步骤5310中的测试为否,则步骤5315测试是否i>7。如果是,则r的源部分没有损坏,以及在步骤5320中返回r[0:15]。如果i最多为7,则在步骤5325中对应于擦除的位置设为零。可以理解,当e=1时,仅执行步骤5325的第一判定。现在在步骤5330中使用图48的过程对向量r进行编码。步骤5335询问是否e=1。如果是,擦除的位置的值为值r[16:17]。在步骤5345中计算这些值,以及返回新的向量r[0:15]。如果不是,则步骤5340测试是否j>7。如果是这种情况,以及如果还有j=9(在步骤5350中测试),则使用步骤5345来恢复源符号中擦除的值。如果步骤5340中的测试为否,则两个擦除位置都在源符号中。在5365中使用要在下面描述的程序DivByDif和MulByEl来计算擦除的符号,以及在步骤5360中返回纠正的向量r[0:15]。如果在步骤5350中测试为否,那么j等于8。在步骤5355中使用下面将详细描述的程序DivByA来计算擦除的源位置r[2i:2i+1]。
程序DivByA的一个任务是将给出的8比特向量u除以ak中的一个。更精确地,DivByA(u,k)生成8比特向量,该8比特向量为u除以ak的表示。图54给出了程序。根据k的值,实现u的比特的不同的XOR序列。
程序DivByDif的一个任务是将给出的8比特向量u除以差ai-aj。更精确地,DivByDif(u,i,j)将u除以ai-aj,并生成该除法的向量表示。在步骤5530中,测试是否i=j。如果是,则除法不明确,并在步骤5520中生成错误标志。在硬件实施中,可以跳过该步骤,因为图53的解码程序的细节确保该情况永远不会发生。如果i和j不同,那么计算其比特表示的XOR以获得整数k。然后调用下面将会详述的函数DivByEl,该函数DivByEl的任务是将u除以元素bk,其中bk为ak和a0的XOR。应该理解的是,其中描述中指的“我们”可以指步骤、操作、一些电子元件的功能或元件、或实现所述项的特征。而且,应该理解,可以通过执行存储的指令的逻辑元件和/或编程的处理器来执行在此所述的流程图过程中的步骤。
图56示出了该程序的操作。根据k的值,在输入向量u的单个比特上执行XOR的序列。
最后,图57详述了程序MulByEl的示例性操作,其任务是将输入向量u乘以元素ak中的一个。该程序使用图49的程序Mk。
现在参考纠错情况的先前示例提供擦除解码程序的示例。在该示例中,以同样的方式选择图48的编码程序的输入。在该示例中,我们在对应于擦除位置2和4的位置z[16:23]和z[32:39]上引起错误。图53中的过程的输入r为以下面的矩阵形式所给出的r:
数e=2,和i=2且j=4。我们在步骤5310中测试是否e=0。如果不是该情况,则我们继续到步骤5315。如果该步骤中的测试也是否定的,我们继续到步骤5325,并将r变成:
在步骤5530中,我们对该向量进行编码以得到:
因为e=2,所以在步骤5335中的测试为否定的。我们继续到步骤5340。在此,测试也为否定的,所以我们继续到步骤5365。我们有r[16:17]=[0,0,1,1,0,0,0,1]和r[18:19]=[1,1,1,1,1,1,0,1]。图57中的过程所给出的MulByE1(r[16:17],4)的结果等于[1,1,1,1,0,1,0,1]。将结果和r[18:19]进行XOR,得到[1,1,1,1,1,1,0,1]。该向量和i,j的DivByDif的结果等于[0,0,0,0,1,0,1,1],该结果为z[16:23]的原始值。类似的,MulByE1(r[16:17],2)的结果等于[0,1,0,0,1,0,0,1]。将结果和r[18:19]进行XOR,得到[1,0,1,1,0,1,0,0]。该向量和i,j的DivByDif的结果等于[0,0,1,1,1,0,1,0],该结果为z[32:29]的原始值。
Claims (20)
1.一种用于在通信总线上电传输信号或电磁传播传输信号的通信系统,该通信系统包括:
编码器电路,用于对多个比特进行编码,该编码器电路包括:
a)用于基于所述多个比特生成稀疏信令码的稀疏信令码字的电路,其中每个稀疏信令码字为具有稀疏基本向量的信号星座中的一者,以及其中每个稀疏信令码字包括多个不同的分量,所述多个不同的分量包括至少一个静态分量和至少两个不同的非静态分量;以及
b)耦合到所述编码器电路的驱动器,用于接收所述稀疏信令码字,所述驱动器包括多个用于生成输出信号并在所述通信总线上应用所述输出信号的输出驱动器,其中所述输出信号代表所述稀疏信令码字。
2.根据权利要求1所述的通信系统,其中所述稀疏信令码为三元稀疏信令码,以及其中所述稀疏基本向量包括第一非静态分量、第二非静态分量以及多个静态分量的分量。
3.根据权利要求1所述的通信系统,其中所述电路为耦合到存储器的索引生成器,其中所述索引生成器生成多个索引,其中每个索引与所述稀疏基本向量的分量中的一个分量相关联。
4.根据权利要求3所述的通信系统,其中所述索引生成器包括一个或多个查找表。
5.根据权利要求3所述的通信系统,其中所述存储器存储代表所述至少两个不同的非静态分量的值。
6.根据权利要求1所述的通信系统,其中所述稀疏基本向量的分量总数的至少三分之一为静态分量。
7.根据权利要求1所述的通信系统,其中所述输出驱动器为电压驱动器或电流驱动器。
8.根据权利要求1所述的通信系统,该通信系统还包括接收机电路,该接收机电路耦合到所述通信总线,用于接收所述输出信号,其中所述接收机电路包括解码器电路,该解码器电路用于基于接收到的输出信号恢复所述稀疏信令码字,并使用所述稀疏信令码字生成所述多个比特。
9.根据权利要求8所述的通信系统,其中所述解码器电路包括采样电路,该采样电路用于获得所述输出信号的信号样本,其中所述信号样本对应于所述稀疏基本向量的转置。
10.根据权利要求8所述的通信系统,其中所述解码器电路还包括分类单元,该分类单元用于使用对应于所述稀疏基本向量的转置的所述样本生成索引。
11.根据权利要求10所述的通信系统,其中所述解码器电路还包括一个或多个查找表,该查找表用于映射所述索引以恢复所述多个比特。
12.一种对信息进行编码以及使用电信号或电磁传播的信号通过通信总线传送该信息的方法,该方法包括:
基于多个比特生成稀疏信令码的稀疏信令码字,其中每个稀疏信令码字为具有稀疏基本向量的信号星座中的一者,以及其中每个稀疏信令码字包括多个不同的分量,所述多个不同的分量包括至少一个静态分量和至少两个不同的非静态分量;
生成代表所述稀疏信令码字的输出信号,其中所述输出信号为电信号或电磁传播的信号;以及
在所述通信总线上应用所述输出信号。
13.根据权利要求12所述的方法,其中所述通信总线包括多个引脚,以及其中所述稀疏信令码的引脚效率大于或等于一,其中所述引脚效率指的是在所述通信总线的周期内输送的每个引脚的比特比率。
14.根据权利要求12所述的方法,其中所述稀疏信令码为三元稀疏信令码,以及其中所述稀疏基本向量包括第一非静态分量、第二非静态分量以及多个静态分量的分量。
15.根据权利要求12所述的方法,其中大小为n的所述稀疏基本向量包括至少n/2个静态分量。
16.根据权利要求12所述的方法,其中所述稀疏基本向量的分量总数的至少三分之一为静态分量。
17.根据权利要求12所述的方法,该方法还包括:
接收所述输出信号;
基于所接收的输出信号恢复所述稀疏信令码字;以及
使用所述稀疏信令码字生成所述多个比特。
18.根据权利要求17所述的方法,该方法还包括在所述通信总线上对所述输出信号进行采样以获得所述输出信号的信号样本,其中所述样本对应于所述稀疏基本向量的转置。
19.根据权利要求18所述的方法,该方法还包括使用对应于所述稀疏基本向量的转置的信号样本来生成索引。
20.根据权利要求19所述的方法,该方法还包括映射所述索引以恢复所述多个比特。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/030,027 | 2011-02-17 | ||
US13/030,027 US8649445B2 (en) | 2011-02-17 | 2011-02-17 | Methods and systems for noise resilient, pin-efficient and low power communications with sparse signaling codes |
PCT/EP2012/052767 WO2012110634A1 (en) | 2011-02-17 | 2012-02-17 | Methods and systems for noise resilient, pin-efficient and low power communications with sparse signaling codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103444144A true CN103444144A (zh) | 2013-12-11 |
CN103444144B CN103444144B (zh) | 2016-12-14 |
Family
ID=45819186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280015845.7A Active CN103444144B (zh) | 2011-02-17 | 2012-02-17 | 利用稀疏信令码进行噪声回弹、高引脚效率和低功率通信的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8649445B2 (zh) |
EP (1) | EP2676413B1 (zh) |
KR (1) | KR101837515B1 (zh) |
CN (1) | CN103444144B (zh) |
WO (1) | WO2012110634A1 (zh) |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288089B2 (en) | 2010-04-30 | 2016-03-15 | Ecole Polytechnique Federale De Lausanne (Epfl) | Orthogonal differential vector signaling |
US8593305B1 (en) | 2011-07-05 | 2013-11-26 | Kandou Labs, S.A. | Efficient processing and detection of balanced codes |
US9564994B2 (en) | 2010-05-20 | 2017-02-07 | Kandou Labs, S.A. | Fault tolerant chip-to-chip communication with advanced voltage |
US9106238B1 (en) | 2010-12-30 | 2015-08-11 | Kandou Labs, S.A. | Sorting decoder |
US9401828B2 (en) | 2010-05-20 | 2016-07-26 | Kandou Labs, S.A. | Methods and systems for low-power and pin-efficient communications with superposition signaling codes |
US9014295B1 (en) | 2010-05-20 | 2015-04-21 | Kandou Labs, S.A. | Methods and systems for power-efficient inductive chip-to-chip communications |
US9450744B2 (en) | 2010-05-20 | 2016-09-20 | Kandou Lab, S.A. | Control loop management and vector signaling code communications links |
US9596109B2 (en) | 2010-05-20 | 2017-03-14 | Kandou Labs, S.A. | Methods and systems for high bandwidth communications interface |
US9479369B1 (en) | 2010-05-20 | 2016-10-25 | Kandou Labs, S.A. | Vector signaling codes with high pin-efficiency for chip-to-chip communication and storage |
US9288082B1 (en) | 2010-05-20 | 2016-03-15 | Kandou Labs, S.A. | Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences |
US9300503B1 (en) | 2010-05-20 | 2016-03-29 | Kandou Labs, S.A. | Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication |
US9246713B2 (en) | 2010-05-20 | 2016-01-26 | Kandou Labs, S.A. | Vector signaling with reduced receiver complexity |
US9083576B1 (en) | 2010-05-20 | 2015-07-14 | Kandou Labs, S.A. | Methods and systems for error detection and correction using vector signal prediction |
US9362962B2 (en) | 2010-05-20 | 2016-06-07 | Kandou Labs, S.A. | Methods and systems for energy-efficient communications interface |
US9985634B2 (en) | 2010-05-20 | 2018-05-29 | Kandou Labs, S.A. | Data-driven voltage regulator |
US8539318B2 (en) | 2010-06-04 | 2013-09-17 | École Polytechnique Fédérale De Lausanne (Epfl) | Power and pin efficient chip-to-chip communications with common-mode rejection and SSO resilience |
US9077386B1 (en) | 2010-05-20 | 2015-07-07 | Kandou Labs, S.A. | Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication |
US9251873B1 (en) | 2010-05-20 | 2016-02-02 | Kandou Labs, S.A. | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications |
US9071476B2 (en) | 2010-05-20 | 2015-06-30 | Kandou Labs, S.A. | Methods and systems for high bandwidth chip-to-chip communications interface |
US8649445B2 (en) * | 2011-02-17 | 2014-02-11 | École Polytechnique Fédérale De Lausanne (Epfl) | Methods and systems for noise resilient, pin-efficient and low power communications with sparse signaling codes |
WO2011151469A1 (en) | 2010-06-04 | 2011-12-08 | Ecole Polytechnique Federale De Lausanne | Error control coding for orthogonal differential vector signaling |
US9275720B2 (en) | 2010-12-30 | 2016-03-01 | Kandou Labs, S.A. | Differential vector storage for dynamic random access memory |
KR20120084639A (ko) * | 2011-01-20 | 2012-07-30 | 한국전자통신연구원 | 엔트로피 부호화를 위한 적응적 정렬 테이블 |
US9268683B1 (en) | 2012-05-14 | 2016-02-23 | Kandou Labs, S.A. | Storage method and apparatus for random access memory using codeword storage |
CN104995612B (zh) | 2013-01-17 | 2020-01-03 | 康杜实验室公司 | 低同步开关噪声芯片间通信方法和系统 |
CN105122758B (zh) | 2013-02-11 | 2018-07-10 | 康杜实验室公司 | 高带宽芯片间通信接口方法和系统 |
US9337997B2 (en) | 2013-03-07 | 2016-05-10 | Qualcomm Incorporated | Transcoding method for multi-wire signaling that embeds clock information in transition of signal state |
US9313058B2 (en) | 2013-03-07 | 2016-04-12 | Qualcomm Incorporated | Compact and fast N-factorial single data rate clock and data recovery circuits |
US9374216B2 (en) | 2013-03-20 | 2016-06-21 | Qualcomm Incorporated | Multi-wire open-drain link with data symbol transition based clocking |
KR102241045B1 (ko) | 2013-04-16 | 2021-04-19 | 칸도우 랩스 에스에이 | 고 대역폭 통신 인터페이스를 위한 방법 및 시스템 |
WO2014210074A1 (en) | 2013-06-25 | 2014-12-31 | Kandou Labs SA | Vector signaling with reduced receiver complexity |
CN107979455B (zh) | 2013-08-07 | 2020-11-27 | 华为技术有限公司 | 用于具有自适应系统参数的可扩展数字通信的系统和方法 |
US9203599B2 (en) * | 2014-04-10 | 2015-12-01 | Qualcomm Incorporated | Multi-lane N-factorial (N!) and other multi-wire communication systems |
US9735948B2 (en) | 2013-10-03 | 2017-08-15 | Qualcomm Incorporated | Multi-lane N-factorial (N!) and other multi-wire communication systems |
US9755818B2 (en) | 2013-10-03 | 2017-09-05 | Qualcomm Incorporated | Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes |
WO2015077608A1 (en) | 2013-11-22 | 2015-05-28 | Kandou Labs SA | Multiwire linear equalizer for vector signaling code receiver |
GB201320983D0 (en) * | 2013-11-28 | 2014-01-15 | Ibm | Data encoding in solid-state storage apparatus |
US9806761B1 (en) | 2014-01-31 | 2017-10-31 | Kandou Labs, S.A. | Methods and systems for reduction of nearest-neighbor crosstalk |
CN110266615B (zh) | 2014-02-02 | 2022-04-29 | 康杜实验室公司 | 低isi比低功率芯片间通信方法和装置 |
US9369312B1 (en) | 2014-02-02 | 2016-06-14 | Kandou Labs, S.A. | Low EMI signaling for parallel conductor interfaces |
US9363114B2 (en) | 2014-02-28 | 2016-06-07 | Kandou Labs, S.A. | Clock-embedded vector signaling codes |
US9509437B2 (en) | 2014-05-13 | 2016-11-29 | Kandou Labs, S.A. | Vector signaling code with improved noise margin |
US11240076B2 (en) | 2014-05-13 | 2022-02-01 | Kandou Labs, S.A. | Vector signaling code with improved noise margin |
US9148087B1 (en) | 2014-05-16 | 2015-09-29 | Kandou Labs, S.A. | Symmetric is linear equalization circuit with increased gain |
DE102014209694A1 (de) * | 2014-05-21 | 2015-11-26 | Robert Bosch Gmbh | Teilnehmerstation für ein Bussystem und Verfahren zur Erhöhung der Störfestigkeit im Bereich der elektromagnetischen Verträglichkeit für eine Teilnehmerstation |
US9852806B2 (en) | 2014-06-20 | 2017-12-26 | Kandou Labs, S.A. | System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding |
US9112550B1 (en) | 2014-06-25 | 2015-08-18 | Kandou Labs, SA | Multilevel driver for high speed chip-to-chip communications |
CN106797352B (zh) | 2014-07-10 | 2020-04-07 | 康杜实验室公司 | 高信噪特性向量信令码 |
US9432082B2 (en) | 2014-07-17 | 2016-08-30 | Kandou Labs, S.A. | Bus reversable orthogonal differential vector signaling codes |
KR101943048B1 (ko) | 2014-07-21 | 2019-01-28 | 칸도우 랩스 에스에이 | 다분기 데이터 전송 |
US9148171B1 (en) * | 2014-07-29 | 2015-09-29 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Parallel interface pattern modification for addressing signal integrity concerns |
EP3175592B1 (en) | 2014-08-01 | 2021-12-29 | Kandou Labs S.A. | Orthogonal differential vector signaling codes with embedded clock |
US9674014B2 (en) | 2014-10-22 | 2017-06-06 | Kandou Labs, S.A. | Method and apparatus for high speed chip-to-chip communications |
WO2016210445A1 (en) | 2015-06-26 | 2016-12-29 | Kandou Labs, S.A. | High speed communications system |
US9577854B1 (en) * | 2015-08-20 | 2017-02-21 | Micron Technology, Inc. | Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding |
US9557760B1 (en) | 2015-10-28 | 2017-01-31 | Kandou Labs, S.A. | Enhanced phase interpolation circuit |
US9577815B1 (en) | 2015-10-29 | 2017-02-21 | Kandou Labs, S.A. | Clock data alignment system for vector signaling code communications link |
US10055372B2 (en) | 2015-11-25 | 2018-08-21 | Kandou Labs, S.A. | Orthogonal differential vector signaling codes with embedded clock |
US10003315B2 (en) | 2016-01-25 | 2018-06-19 | Kandou Labs S.A. | Voltage sampler driver with enhanced high-frequency gain |
US10003454B2 (en) | 2016-04-22 | 2018-06-19 | Kandou Labs, S.A. | Sampler with low input kickback |
WO2017185070A1 (en) | 2016-04-22 | 2017-10-26 | Kandou Labs, S.A. | Calibration apparatus and method for sampler with adjustable high frequency gain |
CN109314518B (zh) | 2016-04-22 | 2022-07-29 | 康杜实验室公司 | 高性能锁相环 |
US10153591B2 (en) | 2016-04-28 | 2018-12-11 | Kandou Labs, S.A. | Skew-resistant multi-wire channel |
US10193716B2 (en) | 2016-04-28 | 2019-01-29 | Kandou Labs, S.A. | Clock data recovery with decision feedback equalization |
US10333741B2 (en) | 2016-04-28 | 2019-06-25 | Kandou Labs, S.A. | Vector signaling codes for densely-routed wire groups |
US10056903B2 (en) | 2016-04-28 | 2018-08-21 | Kandou Labs, S.A. | Low power multilevel driver |
US9906358B1 (en) | 2016-08-31 | 2018-02-27 | Kandou Labs, S.A. | Lock detector for phase lock loop |
US10411922B2 (en) | 2016-09-16 | 2019-09-10 | Kandou Labs, S.A. | Data-driven phase detector element for phase locked loops |
US10200188B2 (en) | 2016-10-21 | 2019-02-05 | Kandou Labs, S.A. | Quadrature and duty cycle error correction in matrix phase lock loop |
US10372665B2 (en) | 2016-10-24 | 2019-08-06 | Kandou Labs, S.A. | Multiphase data receiver with distributed DFE |
US10200218B2 (en) | 2016-10-24 | 2019-02-05 | Kandou Labs, S.A. | Multi-stage sampler with increased gain |
US10164817B2 (en) | 2017-03-21 | 2018-12-25 | Micron Technology, Inc. | Methods and apparatuses for signal translation in a buffered memory |
CN110741562B (zh) | 2017-04-14 | 2022-11-04 | 康杜实验室公司 | 向量信令码信道的流水线式前向纠错 |
CN110945830B (zh) | 2017-05-22 | 2022-09-09 | 康杜实验室公司 | 多模式数据驱动型时钟恢复电路 |
US10116468B1 (en) | 2017-06-28 | 2018-10-30 | Kandou Labs, S.A. | Low power chip-to-chip bidirectional communications |
US10686583B2 (en) | 2017-07-04 | 2020-06-16 | Kandou Labs, S.A. | Method for measuring and correcting multi-wire skew |
US10693587B2 (en) | 2017-07-10 | 2020-06-23 | Kandou Labs, S.A. | Multi-wire permuted forward error correction |
US10203226B1 (en) | 2017-08-11 | 2019-02-12 | Kandou Labs, S.A. | Phase interpolation circuit |
US10467177B2 (en) | 2017-12-08 | 2019-11-05 | Kandou Labs, S.A. | High speed memory interface |
US10326623B1 (en) | 2017-12-08 | 2019-06-18 | Kandou Labs, S.A. | Methods and systems for providing multi-stage distributed decision feedback equalization |
KR102498475B1 (ko) | 2017-12-28 | 2023-02-09 | 칸도우 랩스 에스에이 | 동기식으로 스위칭된 다중 입력 복조 비교기 |
JP7197513B2 (ja) * | 2018-01-24 | 2022-12-27 | ソニーセミコンダクタソリューションズ株式会社 | 通信システムおよび伝送装置 |
US10554380B2 (en) | 2018-01-26 | 2020-02-04 | Kandou Labs, S.A. | Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation |
US10243614B1 (en) | 2018-01-26 | 2019-03-26 | Kandou Labs, S.A. | Method and system for calibrating multi-wire skew |
KR102697632B1 (ko) | 2019-11-05 | 2024-08-23 | 삼성전자주식회사 | 데이터 전송 장치, 그것을 갖는 메모리 장치, 및 그것의 동작 방법 |
US11658682B2 (en) * | 2020-04-28 | 2023-05-23 | POSTECH Research and Business Development Foundation | Methods for encoding and decoding sparse code and orthogonal sparse superposition code |
JP2023003318A (ja) | 2021-06-23 | 2023-01-11 | キオクシア株式会社 | 半導体集積回路、受信装置、メモリシステム及び半導体記憶装置 |
US12052261B2 (en) | 2022-02-15 | 2024-07-30 | Bank Of America Corporation | System and method for authenticating the receiving end of data transmission via LiFi and holochain network |
US12074641B2 (en) | 2022-02-15 | 2024-08-27 | Bank Of America Corporation | System and method for secured data transmission using LiFi and holochain network |
US11831472B1 (en) | 2022-08-30 | 2023-11-28 | Kandou Labs SA | Pre-scaler for orthogonal differential vector signalling |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002100027A1 (en) * | 2001-06-01 | 2002-12-12 | Motorola, Inc. | Method and apparatus for adaptive signaling and puncturing of a qam communications system |
US20060233281A1 (en) * | 2005-01-20 | 2006-10-19 | Hangjun Chen | Method and/or system for space-time encoding and/or decoding |
CN101226567A (zh) * | 2008-02-02 | 2008-07-23 | 中国科学院计算技术研究所 | 一种可靠片上总线的设计方法和系统及其工作方法 |
WO2010031824A1 (en) * | 2008-09-22 | 2010-03-25 | Stmicroelectronics (Grenoble) Sas | Device for exchanging data between components of an integrated circuit |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5053974A (en) * | 1987-03-31 | 1991-10-01 | Texas Instruments Incorporated | Closeness code and method |
US5166956A (en) | 1990-05-21 | 1992-11-24 | North American Philips Corporation | Data transmission system and apparatus providing multi-level differential signal transmission |
US5412689A (en) | 1992-12-23 | 1995-05-02 | International Business Machines Corporation | Modal propagation of information through a defined transmission medium |
US5511119A (en) | 1993-02-10 | 1996-04-23 | Bell Communications Research, Inc. | Method and system for compensating for coupling between circuits of quaded cable in a telecommunication transmission system |
US5553097A (en) | 1994-06-01 | 1996-09-03 | International Business Machines Corporation | System and method for transporting high-bandwidth signals over electrically conducting transmission lines |
US5995016A (en) | 1996-12-17 | 1999-11-30 | Rambus Inc. | Method and apparatus for N choose M device selection |
US6005895A (en) | 1996-12-20 | 1999-12-21 | Rambus Inc. | Apparatus and method for multilevel signaling |
US6292559B1 (en) | 1997-12-19 | 2001-09-18 | Rice University | Spectral optimization and joint signaling techniques with upstream/downstream separation for communication in the presence of crosstalk |
US6556628B1 (en) | 1999-04-29 | 2003-04-29 | The University Of North Carolina At Chapel Hill | Methods and systems for transmitting and receiving differential signals over a plurality of conductors |
US6404820B1 (en) | 1999-07-09 | 2002-06-11 | The United States Of America As Represented By The Director Of The National Security Agency | Method for storage and reconstruction of the extended hamming code for an 8-dimensional lattice quantizer |
US6661355B2 (en) | 2000-12-27 | 2003-12-09 | Apple Computer, Inc. | Methods and apparatus for constant-weight encoding & decoding |
US6766342B2 (en) | 2001-02-15 | 2004-07-20 | Sun Microsystems, Inc. | System and method for computing and unordered Hadamard transform |
US6621427B2 (en) | 2001-10-11 | 2003-09-16 | Sun Microsystems, Inc. | Method and apparatus for implementing a doubly balanced code |
US6999516B1 (en) | 2001-10-24 | 2006-02-14 | Rambus Inc. | Technique for emulating differential signaling |
US7706524B2 (en) | 2001-11-16 | 2010-04-27 | Rambus Inc. | Signal line routing to reduce crosstalk effects |
US7134056B2 (en) | 2002-06-04 | 2006-11-07 | Lucent Technologies Inc. | High-speed chip-to-chip communication interface with signal trace routing and phase offset detection |
FR2849728B1 (fr) | 2003-01-06 | 2005-04-29 | Excem | Procede et dispositif pour la transmission avec une faible diaphonie |
US7358869B1 (en) * | 2003-08-20 | 2008-04-15 | University Of Pittsburgh | Power efficient, high bandwidth communication using multi-signal-differential channels |
US7746764B2 (en) | 2004-10-22 | 2010-06-29 | Parkervision, Inc. | Orthogonal signal generation using vector spreading and combining |
US7656321B2 (en) | 2005-06-02 | 2010-02-02 | Rambus Inc. | Signaling system |
US8091006B2 (en) | 2006-06-02 | 2012-01-03 | Nec Laboratories America, Inc. | Spherical lattice codes for lattice and lattice-reduction-aided decoders |
US7933770B2 (en) | 2006-07-14 | 2011-04-26 | Siemens Audiologische Technik Gmbh | Method and device for coding audio data based on vector quantisation |
US20100180143A1 (en) | 2007-04-19 | 2010-07-15 | Rambus Inc. | Techniques for improved timing control of memory devices |
KR100871711B1 (ko) | 2007-05-03 | 2008-12-08 | 삼성전자주식회사 | 싱글-엔디드 시그널링과 차동 시그널링을 지원하는 다중위상 송/수신 회로 및 차동 시그널링에서 싱글-엔디드시그널링 전환을 위한 클럭킹 방법 |
US8649460B2 (en) | 2007-06-05 | 2014-02-11 | Rambus Inc. | Techniques for multi-wire encoding with an embedded clock |
US8159375B2 (en) | 2007-10-01 | 2012-04-17 | Rambus Inc. | Simplified receiver for use in multi-wire communication |
EP2215792A1 (en) | 2007-10-24 | 2010-08-11 | Rambus Inc. | Encoding and decoding techniques with improved timing margin |
WO2009075936A1 (en) | 2007-12-07 | 2009-06-18 | Rambus Inc. | Encoding and decoding techniques for bandwidth-efficient communication |
WO2009086078A1 (en) | 2007-12-19 | 2009-07-09 | Rambus Inc. | Receiver for multi-wire communication with reduced input capacitance |
US8055095B2 (en) | 2008-01-23 | 2011-11-08 | Sparsense, Inc. | Parallel and adaptive signal processing |
US8462891B2 (en) | 2008-03-06 | 2013-06-11 | Rambus Inc. | Error detection and offset cancellation during multi-wire communication |
WO2010014358A2 (en) | 2008-07-27 | 2010-02-04 | Rambus Inc. | Method and system for balancing receive-side supply load |
JP4748227B2 (ja) | 2009-02-10 | 2011-08-17 | ソニー株式会社 | データ変調装置とその方法 |
WO2011119359A2 (en) | 2010-03-24 | 2011-09-29 | Rambus Inc. | Coded differential intersymbol interference reduction |
US9288089B2 (en) | 2010-04-30 | 2016-03-15 | Ecole Polytechnique Federale De Lausanne (Epfl) | Orthogonal differential vector signaling |
US8539318B2 (en) | 2010-06-04 | 2013-09-17 | École Polytechnique Fédérale De Lausanne (Epfl) | Power and pin efficient chip-to-chip communications with common-mode rejection and SSO resilience |
US8649445B2 (en) * | 2011-02-17 | 2014-02-11 | École Polytechnique Fédérale De Lausanne (Epfl) | Methods and systems for noise resilient, pin-efficient and low power communications with sparse signaling codes |
WO2011151469A1 (en) | 2010-06-04 | 2011-12-08 | Ecole Polytechnique Federale De Lausanne | Error control coding for orthogonal differential vector signaling |
-
2011
- 2011-02-17 US US13/030,027 patent/US8649445B2/en active Active
-
2012
- 2012-02-17 KR KR1020137024775A patent/KR101837515B1/ko active IP Right Grant
- 2012-02-17 EP EP12708509.0A patent/EP2676413B1/en active Active
- 2012-02-17 WO PCT/EP2012/052767 patent/WO2012110634A1/en active Application Filing
- 2012-02-17 CN CN201280015845.7A patent/CN103444144B/zh active Active
-
2014
- 2014-02-10 US US14/177,183 patent/US9154252B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002100027A1 (en) * | 2001-06-01 | 2002-12-12 | Motorola, Inc. | Method and apparatus for adaptive signaling and puncturing of a qam communications system |
US20060233281A1 (en) * | 2005-01-20 | 2006-10-19 | Hangjun Chen | Method and/or system for space-time encoding and/or decoding |
CN101226567A (zh) * | 2008-02-02 | 2008-07-23 | 中国科学院计算技术研究所 | 一种可靠片上总线的设计方法和系统及其工作方法 |
WO2010031824A1 (en) * | 2008-09-22 | 2010-03-25 | Stmicroelectronics (Grenoble) Sas | Device for exchanging data between components of an integrated circuit |
Non-Patent Citations (2)
Title |
---|
ALIAZAM ABBASFAR: "Generalized Differential Vector Signaling", 《IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS.ICC’09》, 14 July 2009 (2009-07-14) * |
辛培哲: "基于区组设计及编码调制的LDPC码编码技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 3, 15 September 2007 (2007-09-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN103444144B (zh) | 2016-12-14 |
US20140177645A1 (en) | 2014-06-26 |
KR101837515B1 (ko) | 2018-03-13 |
US8649445B2 (en) | 2014-02-11 |
US9154252B2 (en) | 2015-10-06 |
EP2676413A1 (en) | 2013-12-25 |
EP2676413B1 (en) | 2014-12-31 |
KR20140014174A (ko) | 2014-02-05 |
US20120213299A1 (en) | 2012-08-23 |
WO2012110634A1 (en) | 2012-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103444144A (zh) | 利用稀疏信令码进行噪声回弹、引脚效率且低功率的通信的方法和系统 | |
CN103370879B (zh) | 使用共模抑制和sso恢复的功率和引脚高效的芯片到芯片通信 | |
US9401828B2 (en) | Methods and systems for low-power and pin-efficient communications with superposition signaling codes | |
CN108463977A (zh) | 带内嵌时钟的正交差分向量信令码 | |
CN102761389B (zh) | 非同步主从式串行通信系统、数据传输方法与控制模块 | |
CN1770639B (zh) | 级联的迭代和代数译码 | |
KR20160127102A (ko) | 클록 임베디드 벡터 시그널링 코드 | |
CN110008166A (zh) | 带内嵌时钟的正交差分向量信令码 | |
WO2011151469A1 (en) | Error control coding for orthogonal differential vector signaling | |
CN105991230A (zh) | 存储器控制模块与方法以及纠错码编/解码电路与方法 | |
CN102681954A (zh) | 使用总线倒置以减少同时信号切换 | |
CN112398480A (zh) | 电池管理系统领域的多电平编码 | |
CN101431336B (zh) | 低密度奇偶校验码的解码单元的搜寻电路及搜寻方法 | |
CN103227693B (zh) | 增压码 | |
CN105049057B (zh) | 一种面向128位并行输入的crc‑32校验电路 | |
Borysenko et al. | Development of the Fibonacci-Octal Error Detection Code for Telecommunication Systems | |
CN203406971U (zh) | 一种fpd-link lvds视频传输中dca位信号编码电路 | |
WO2008039098A1 (en) | A modified min-sum kernel for a low density parity check (ldpc) code decoder | |
Weihua et al. | High speed and reliability gearbox for 100GE physical coding sublayer | |
CN205405876U (zh) | 激光遥控开关 | |
CN102394722A (zh) | Dmr中的vbptc码在4fsk调制方式下的一种软译码方法 | |
Yuan et al. | Multiple hierarchical transmission scheme with bit interleaver over rayleigh fading channel | |
Gorabal et al. | FPGA Implementation of UART with Single Error Correction and Double Error Detection (UART-SEC-DED) | |
CN117498948A (zh) | 一种基于fpga的ldpc光通信高性能纠错系统 | |
CN103095310A (zh) | 一种适用于无线信道的lt码的译码电路 |
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 |