CN113396405B - 自参考单端芯片到芯片通信 - Google Patents
自参考单端芯片到芯片通信 Download PDFInfo
- Publication number
- CN113396405B CN113396405B CN202080010283.1A CN202080010283A CN113396405B CN 113396405 B CN113396405 B CN 113396405B CN 202080010283 A CN202080010283 A CN 202080010283A CN 113396405 B CN113396405 B CN 113396405B
- Authority
- CN
- China
- Prior art keywords
- codeword
- electrical signals
- bit sequence
- target circuit
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title description 25
- 239000003990 capacitor Substances 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 29
- 238000013507 mapping Methods 0.000 description 40
- 230000005540 biological transmission Effects 0.000 description 35
- 238000013461 design Methods 0.000 description 13
- 239000002184 metal Substances 0.000 description 13
- 238000005070 sampling Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000006880 cross-coupling reaction Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 2
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
-
- 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/02—Arrangements for detecting or preventing errors in the information received by diversity reception
-
- 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
-
- 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/4086—Bus impedance matching, e.g. termination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
-
- 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/0264—Arrangements for coupling to transmission lines
- H04L25/0278—Arrangements for impedance matching
-
- 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
-
- 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/493—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 by transition coding, i.e. the time-position or direction of a transition being encoded before transmission
-
- 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/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L2025/0335—Arrangements for removing intersymbol interference characterised by the type of transmission
- H04L2025/03356—Baseband transmission
- H04L2025/03363—Multilevel
-
- 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/0264—Arrangements for coupling to transmission lines
- H04L25/0272—Arrangements for coupling to multiple lines, e.g. for differential transmission
-
- 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/06—Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
- H04L25/061—Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection providing hard decisions only; arrangements for tracking or suppressing unwanted low frequency components, e.g. removal of dc offset
- H04L25/062—Setting decision thresholds using feedforward techniques only
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Software Systems (AREA)
- Dc Digital Transmission (AREA)
Abstract
设想了一种用于在计算系统中有效传输数据的系统和方法。在各种实施例中,计算系统包括源、目标和它们之间用于传输数据的多个通道。目标中的多个接收器具有连接到单个积分电容器的相应端接电阻器,积分电容器向多个接收器提供参考电压。这些接收器通过将对应的输入信号与参考电压进行比较来重构所接收的数据。源包括存储代码字的表。源将生成的数据字映射到代码字,代码字被发送到目标。目标将所接收的代码字映射到数据字。代码字的值被选择为随时间推移保持多个通道上的布尔1值的数量与布尔0值的数量几乎相同。
Description
技术领域
本文所述实施例涉及集成电路实现领域,并且更具体地涉及在计算系统中传输数据。
背景技术
随着典型片上系统(SoC)内的代理以及可用端点的数量不断增加,SoC变得越来越复杂。代理的示例是多媒体引擎、数字信号处理器(DSP)和处理单元,它们各自具有中央处理单元(CPU)和如图形处理单元(GPU)之类的数据并行处理器中的一者或多者。端点包括输入/输出(I/O)外围设备(诸如存储器设备)、通信接口(诸如无线电通信接口)、扬声器、显示器等。在SoC的不同代理之间以及在可用端点之间共享数据。
通常,互连器将事务处理从源(诸如代理)传输到目标(诸如另一代理或端点)。在一些情况下,该互连器为通信结构。在一些情况下,源和目标在同一管芯内,但在其他情况下,它们在单独的管芯上。当在源与目标之间传输事务处理时,在多条并行金属迹线上发送电信号。源中的发射器通过并行金属迹线发送电信号以由目标中的接收器接收。许多时候,生成参考信号并将其发送到多个接收器。该接收器包括采样电路,该采样电路用于通过将所接收的输入信号与所接收的参考电压进行比较来重构所接收的输入信号。
用于在发射器处生成信号并通过金属迹线传输的电源与用于在接收器侧上生成参考电压的电源不同。电源变化、交叉耦合电容等引起传输信号的变化,而这些变化是参考电压未经历的。因此,当采样电路重构所接收的信号时,延迟增加或发生数据损坏。
鉴于上述情况,需要用于在计算系统中传输数据的有效方法。
发明内容
设想了用于在计算系统中有效传输数据的系统和方法。在各种实施例中,计算系统包括源、目标和它们之间用于传输数据的多个通道。该源包括用于生成数据字以在多个通道上发送到目标的一个或多个处理器。该源还包括用于在多个通道上驱动数据的多个发射器,而该目标包括用于从多个通道接收数据的多个接收器。该目标中的每个接收器具有连接到单个积分电容器的相应端接电阻器。该积分电容器向该多个接收器提供参考电压。这些接收器将所接收的数据发送到采样电路,以用于通过将所接收的输入信号与参考电压进行比较来重构与所接收的数据相对应的所接收的输入信号。
用于在源上的发射器处生成信号并通过多个通道的金属迹线传输的电源不同于目标中的电路所使用的电源。电源变化、交叉耦合电容等引起传输信号的变化,而这些变化通常是参考电压未经历的。然而,该目标中使用积分电容器的拓扑结构使参考电压取决于源中的电源。为了保持积分电容器上的特定电压,将特定模式用于在多个通道上传输的信号。因此,由源生成的数据字被映射到在多个通道上传输的代码字。该代码字在目标处被映射到数据字。
该源包括具有存储代码字的每个条目的表。在一些设计中,代码字大于数据字。例如,在一种情况下,数据字的大小为5个位,并且代码字的大小为6个位。在其他示例中,将其他位数用于数据字和代码字。因此,为了在源和目标之间传输40位数据,使用48条金属迹线。代码字的值被选择为随时间推移保持多个通道上的布尔一值的数量与布尔零值的数量几乎相同。因此,由积分电容器在目标处提供的参考电压随时间推移保持几乎恒定的电压。
当源中的代理生成要发送到目标的数据时,该数据被划分成多个数据字。在一个示例中,40位数据被划分成八个5位数据字。在一些设计中,存在该表的八个副本以允许对每个数据字进行并行查找。源中的控制逻辑部件使用所生成的数据字搜索该表,并且基于该搜索从该表中检索与5位数据字不同的6位代码字。
该控制逻辑部件将该代码字发送到多个发射器,以将多个通道上的代码字驱动到目标中的接收器。当代码字被该目标接收时,该目标中的控制逻辑部件将6位代码字映射到5位数据字。例如,该目标还包括具有存储数据字的条目的表。利用所接收的代码字访问该表以获得对应的数据字。
参考以下描述和附图将另外理解这些和其他实施例。
附图说明
下面的详细描述参照附图,现在对这些附图进行简要说明。
图1示出了在源和目标之间具有通信总线的计算系统的实施例的框图。
图2示出了用于在计算系统中有效传输数据的方法的实施例的流程图。
图3示出了数据字与代码字之间的映射的实施例的框图。
图4示出了数据字与代码字之间的映射的另一个实施例的框图。
图5示出了用于在计算系统中有效传输数据的方法的实施例的流程图。
图6示出了用于在计算系统中有效传输数据的方法的实施例的流程图。
尽管本公开容易作出各种修改形式和替代形式,但附图中以举例的方式示出并将在本文中详细描述其具体实施例。然而,应当理解,附图及具体实施方式并非旨在将本公开限制于例示的特定形式,而正相反,其目的在于覆盖落在由所附权利要求书限定的本公开的实质和范围内的所有修改形式、等同形式和替代形式。本文所使用的标题仅用于组织目的,并不旨在用于限制说明书的范围。如在整个本专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而非强制的意义(即,意味着必须)使用字词“可”。类似地,字词“包括”意味着包括但不限于。
各种单元、电路或其他部件可被描述为“被配置成”实行一个或多个任务。在此类上下文中,“被配置成”是一般意味着“具有”在操作期间实行一个或多个任务的“电路”的结构的宽泛表述。如此,即使在单元/电路/部件当前未接通时,单元/电路/部件也可被配置成执行任务。通常,形成与“被配置成”对应的结构的电路可包括硬件电路。类似地,为了描述中方便,可将各种单元/电路/部件描述为执行一个或多个任务。此类描述应当被解释为包括短语“被配置成”。表述被配置成执行一项或多项任务的单元/电路/部件明确地旨在对该单元/电路/部件不援引对35 U.S.C.§112第f段的解释。更一般地,对任何元件的表述都明确旨在不调用35 U.S.C.§112第f段针对该元件的解释,除非特别表述了“用于……的装置”或“用于……的步骤”的语言。
具体实施方式
参见图1,其示出了在源和目标之间具有通信总线的计算系统100的一个实施例的通用框图。在各种实施例中,计算系统100在源110和目标160之间具有通信总线。在一个实施例中,通信总线包括并行传输线150-152。在例示的实施例中,源110将信息作为电信号经由并行传输线150-152发送到目标160。源110包括用于经由并行传输线150-152(通信总线)发送电信号的发射器120-122,并且目标160包括用于从并行传输线150-152接收电信号的接收器170-180。源110包括用于生成要经由传输线150-152发送的数据的一个或多个代理,为了便于说明未将其示出。代理的示例是多媒体引擎、专用集成电路(ASIC)、数字信号处理器(DSP)和处理单元。处理单元包括中央处理单元(CPU)和如图形处理单元(GPU)的数据并行处理器中的一者或多者。控制逻辑部件130表示一个或多个代理内的控制逻辑部件和代理外部的用于与发射器120-122接合的控制逻辑部件的任何组合。控制逻辑部件130和代码字生成器140中的每一者的功能用硬件(诸如具有组合逻辑部件和顺序存储元件的电路)、软件以及硬件和软件的组合中的一者或多者来实现。
控制逻辑部件130被配置成获得一个或多个数据字132。在一些情况下,控制逻辑部件130生成数据字132,如例示的实施例所示。在一些情况下,控制逻辑部件130接收数据字132。在任何情况下,代码字生成器140基于数据字132生成代码字142。源110经由发射器120-122通过并行传输线150-152将代码字142作为并行数据来发送。例如,在各种实施例中,并行传输线150中的每条传输线用于传送代码字142的一个位。在一个实施例中,控制逻辑部件130使用数据字132来执行表的查找以获得代码字142。在另一个实施例中,代码字生成器140接收数据字132并且包括用于执行表的查找以获得代码字142的查找逻辑部件。在许多情况下,源110使用该表作为映射表。在其他实施例中,代码字生成器140使用编码器或其他组合逻辑部件来从数据字132生成代码字142。在其他实施例中,代码字生成器140使用软件或者软件和硬件的组合来从数据字132生成代码字142。
代码字生成器140的功能包括在多种部件中的任一种中,诸如代理和端点。如前所述,代理的示例是多媒体引擎、数字信号处理器(DSP)和处理单元,它们各自具有中央处理单元(CPU)和数据并行处理器如图形处理单元(GPU)中的一者或多者。端点包括输入/输出(EO)外围设备和其他类型的设备,每个设备具有通信接口,诸如连接到总线的接口逻辑部件。因此,代码字142通过多种方式中的一种从代码字生成器140发送到发射器120-122,这些方式诸如直接信号线、具有用于访问总线的仲裁逻辑的队列、或其他方式。由发射器120-122在传输线150-152上驱动代码字142。在各种实施例中,由发射器120-122在传输线150-152上驱动代码字142而非数据字132,以便驱动特定数据模式,该特定数据模式在传输线150-152上提供特定的电气模式。
为了便于说明,在源110和目标160中未示出用于生成时钟信号的锁相环(PLL)、中断控制器、存储器访问接口、功率管理器、特定处理单元和逻辑部件等。经由并行传输线150-152从发射器120-122发送到接收器170-180的信号是单端数据信号。术语“单端信号”被定义为使用单个信号导体传输的电信号。例如,接收器170经由传输线150从发射器120接收单端信号,该传输线是单个信号导体。与使用单端数据信号相比,发送具有差分数据信号的信息使用更多的线路和更多的引脚。当使用差分数据信号时,不生成参考信号并将其发送到多个引脚(或多个接收器)。如本领域中已知的,差分信号通常比单端信号提供更好的抗噪能力。然而,差分信号的使用增加了额外引脚和额外迹线的成本。
在一些情况下,源110和目标160在同一管芯内,但在其他情况下,它们在单独的管芯上。在一些设计中,源110和接收器160位于相应处理单元的桥接件内。应当注意,术语“引脚”、“端口”、“端子”和“节点”在本文中可互换使用。还需注意,术语“传输线”也可被称为“通道”,并且术语“总线”也可被称为“信道”。通道也可被称为“迹线”或“导线”。在各种设计中,连接器包括多个通道。通道150-152在半导体制造期间由多种合适的金属来源构造而成,并且被多种合适的绝缘材料包围。
源110中的电路使用电源电压VIN 112来生成电信号并通过通道150-152的金属迹线传输这些电信号。目标160中的电路使用电源电压VIN 162来生成电信号。在一些情况下,电源电压VIN 112和电源电压VIN 162的电压电平相同,而在其他情况下,它们不同。电源变化、交叉耦合电容、电磁干扰、串扰和其他非期望效应可导致通道150-152上的传输信号的变化,而这些变化通常是目标160所使用的参考电压未经历的。然而,目标160中的拓扑结构使用积分电容器190来基于源110的电源电压112生成参考电压192并形成参考电压192。换句话讲,积分电容器190基于在通道150-152上传输的平均信号电压来形成参考电压192。
为了保持积分电容器190上的特定电压,将特定模式用于在通道150-152上传输的信号。例如,将由源110生成的数据字诸如数据字132映射到一个或多个代码字诸如代码字142。在通道150-152上传输一个或多个代码字诸如代码字142。如前所述,在通道150-152上传输的电信号基于诸如交叉耦合电容等多种因素而经历变化。因此,表示所传输代码字142的一个或多个位的一个或多个电信号在被目标160接收时质量降低。代码字142的降质版本由端接电阻器172-182、采样器176-186和保护电路174-184接收。在一个示例中,VIN 112具有0.8伏(V)的值,因此由发射器120-122发送的代码字142使用0.8V电压作为布尔逻辑高值。在一个示例中,由于电源变化、交叉耦合电容等,由目标160经由并行通道150-152接收的代码字142的降质版本可具有由0.55V而非0.8V表示的布尔逻辑高值。代码字142由采样器176-186和逻辑部件178-188逐位重构。例如,采样器176-186将在通道150-152上接收的电信号逐位地与参考电压192进行比较。比较的结果用于确定在通道150-152中的给定一个通道上接收的电信号是布尔逻辑高值还是布尔逻辑低值。当所接收的降质代码字142的位被确定为布尔逻辑高值时,逻辑部件178的输出使用0.8V的值来表示相对于所接收的降质值0.55V的值。接下来,逻辑部件189重构出并行重构的代码字194,该并行重构的代码字由目标160的数据字生成器196重新映射到数据字198。数据字198具有与由源110生成的数据字132相同的值。然而,对所接收的数据的重构使用代码字142而非数据字132。
通道150-152的金属迹线可能经历传输线效应,诸如整个线路长度上的分布式电感、电容和电阻。为了减少信号反射,使用通道150-152的特性阻抗来终止接收器170-180处的通道150-152的末端。接收器170-180可使用阻抗匹配电路,包括但不限于端接电阻器172-182,该阻抗匹配电路防止在通道150-152上的反射。在通道150-152上的任何阻抗变化点处的反射导致信号失真、信号振铃等。在一些实施例中,接收器170-180还使用一个或多个电感器以及端接电阻器172-182以用于阻抗匹配并减小接收器170-180的输入引脚上的电容。
端接电阻器172-182中的每个端接电阻器在第一端部上接收来自通道150-152的输入信号中的相应一个输入信号并且在第二端部上接收端接电压。这里,端接电压不是接地参考电压,而是参考电压192。因此,端接电阻器172-182上的电流电阻(IR)压降取决于参考电压192。固定参考电压不跟踪在通道150-152上接收的输入信号上的共模噪声。端接电阻器172-182上的共模电流电阻(IR)压降将在通道150-152上接收的输入信号的共模电压发送到保护电路块174-184。
在一些实施例中,如下所述,参考电压192被生成为目标160中的接收器170-180所使用的供电电压(诸如供电电压VIN 162)的一半。在一些设计中,电容器190是集总电容。在其他设计中,电容器190是分布式电容。电容器190也被称为“积分电容器”,因为电容器190的一端上的参考电压192基于与接收器170-180中的端接电阻器172-182中的每个端接电阻器的连接。参考电压192相对于其期望值的任何变化都会影响采样器176-186执行的比较。
在一些实施例中,接收器170和180将所接收的电信号发送到保护电路174和184以防止静电放电。保护电路块174-184包括静电放电(ESD)保护电路,例如多种二极管箝位电路中的一种。这些电路的示例包括人体模型(HBM)电路和带电装置模型(CDM)电路。保护电路块174-184的输出被发送到采样电路诸如采样器176-186。采样器176和186通过将电信号与参考电压192进行比较来重构所接收的电信号。
在一些实施例中,采样器176-186是钟控比较器,其中为了便于说明,未示出输入时钟信号。在一个实施例中,采样器176-186中的每个采样器在正极端子上接收保护电路块174-184中的相应一个保护电路块的输出电压,并且在负极端子上接收参考电压192。在各种实施例中,采样器176-186中的每个采样器是钟控感测放大器,但时钟输入信号未示出。在一些设计中,用于采样器176-186的电路和时序元件被组合,而不是电路在独立元件中,诸如逻辑块178-188中的时序元件。
在各种实施例中,接收器170-180中的重构信号被发送到逻辑部件189,该逻辑部件将重构信号组合以形成并行重构的数据字194。在一些实施例中,逻辑部件189包括数据字生成器196,该数据字生成器包括代码字生成器140的精确反向映射。在其他实施例中,数据字发生器位于逻辑部件189的外部。数据字生成器接收重构的代码字194,该重构的代码字具有与代码字142相同的值。基于重构的代码字194,数据字发生器196生成与数据字132相等的数据字198。在一个示例中,数据字198的每个位位置具有与数据字132的对应位位置相同的二进制值。数据字发生器196的功能包括在各种部件中的一个部件内的解码逻辑部件或解码器块中。
在并行通道150-152中的给定一个通道上接收的输入位流是在并行同道150-152中的给定一个通道上随时间推移而接收的位序列。在一个实施例中,使用保护电路块174至184中的给定一个保护电路块的输出上的上升沿与下降沿之间的时间段来确定对应输入位流中的布尔高值(二进制‘1’)的数量。使用保护电路块174至184的输出上的下降沿与上升沿之间的时间段来确定输入位流中的布尔低值(二进制‘0’)的数量。在一个实施例中,采样器176和逻辑部件178中的时序元件中的一者或多者将布尔值流发送到逻辑部件178中的解串器(未示出),该解串器生成并行代码字序列并且将代码字发送到其他逻辑块和/或算术逻辑单元。如前所述,在各种实施例中,逻辑部件178将代码字发送到数据字发生器以基于所接收的代码字生成数据字。由数据字生成器生成的数据字与从源110接收的数据字132匹配。
如前所述,用于端接电阻器172-182中的每个端接电阻器的端接电压不是接地参考电压,而是参考电压192。固定参考电压不跟踪在并行通道150-152上接收的输入信号上的共模噪声。采样器176和186通过将从并行通道150-152接收的噪声电信号与参考电压192进行比较来重构这些接收的噪声电信号。通常,参考电压192为通道150-152上的信号的电压范围的一半。通过将所接收的噪声电信号与通道150-152上的信号的电压范围的一半进行比较,采样器176和186确定给定的接收电信号是布尔一值还是布尔零值。为了将参考电压192生成为通道150-152上的信号的电压范围的一半,通道150-152上的对应于代码字142的电信号遵循特定模式。例如,在任何时间,代码字142上的布尔一值的数量与布尔零值的数量匹配或近似匹配。在一些实施例中,代码字142的“逻辑差异”是代码字142的大小的一半与代码字142中的布尔零值的数量之间的差值。例如,如果代码字142是具有两个布尔零值和两个布尔一值的4位代码字,则逻辑差异为零。在该示例中,4位代码字142的大小的一半是两位,并且代码字142中存在两个布尔零值,并且2–2=0。然而,如果4位代码字142具有三个布尔零值,则逻辑差异为负一。在该示例中,4位代码字142的大小的一半是两位,并且代码字142中存在三个布尔零值,并且2–3=-1。
以与上述示例类似的方式,具有一个布尔零值的4位代码字142具有逻辑差异一。通过对具有最小逻辑差异的代码字进行优先级排序来选择代码字。例如,对于5位数据字132和6位代码字142,存在用于从6'b 000000至6'b 111 111中选择代码字的2^6个候选或64个候选,其中“6'b”表示指定六个二进制数字的符号。从这64个6位候选中,选择32个候选来表示要在通道150-152上发送的32个可能的5位数据字。64个候选包括20个逻辑差异为零的候选。换句话讲,64个候选包括布尔零值的数量(3个布尔零值)与布尔一值的数量(3个布尔一值)相同的20个候选。然而,由于20小于32,因此还需要12个候选。同样,通过对具有最小逻辑差异的代码字进行优先级排序来选择代码字。64个候选包括15个逻辑差异为1的候选,以及15个逻辑差异为负1的候选。从这30个可用候选中选择十二个候选以完成代码字生成器140所使用的32个6位代码字。
逻辑差异的另一种定义使用对代码字142中的布尔一值的数量的计数。当使用除电源电压162的一半之外的不同分数来限定参考电压192时,逻辑差异的其他定义使用代码字142的大小的不同分数。代码字142和数据字132的各种大小是可能并且可设想的。例如,在一些实施例中,数据字132的大小为5位,并且代码字142的大小为6位。
在其他示例中,数据字132的大小为7位,并且代码字142的大小为8位。在其他示例中,大小的差值多于一位。例如,在一些实施例中,数据字132的大小为5位,并且代码字142的大小为8位。在一个示例中,为了在两个功能块(诸如两个处理单元)之间传输40位数据,当数据字132的大小为5位并且代码字142的大小为6位并且源110和目标160被实例化八次时,使用48条金属迹线。数据字132的大小、代码字142的大小以及源110和目标160的版本的实例化数量的其他组合是可能并且可设想的。例如,第一通信总线具有5位的数据字132大小和6位的代码字142大小。因此,第一通信总线的并行传输线150-152包括六条金属迹线。第二通信总线具有5位的数据字132大小和8位的代码字142大小。因此,用于第二通信总线的并行传输线150-152包括八条金属迹线。第三通信总线可具有与第一通信总线和第二通信总线中的一者相同数量的金属迹线。另选地,第三通信总线具有与第一通信总线和第二通信总线中的每一者不同数量的金属迹线。
现在转向图2,其示出了用于在计算系统中有效传输数据的方法200的一个实施例的通用流程图。为了讨论的目的,以顺序次序示出该实施例中(以及图5至6中)的步骤。然而,在其他实施例中,一些步骤可以与所示次序不同的次序发生,一些步骤可同时实行,一些步骤可与其他步骤组合,并且一些步骤可不存在。
多个端接电阻器在接收器中的节点处连接在一起(框202)。端接电阻器用于传输单端数据信号的传输线的末端上的阻抗匹配。端接电阻器是彼此连接的,而不是将其连接到接地参考电压。电容器的一端连接到该节点(框204)。电容器的另一端连接到接地参考电压(框206)。
将节点处的电压作为参考电压发送到采样电路(框208)。将在端接电阻器处接收的数据信号发送到采样电路(框208)。采样电路的每个实例将在多个通道中的一个通道上接收的电信号与参考电压进行比较,以确定该电信号的布尔值。
参见图3,其示出了代码字分组310和映射表320的一个实施例的表。映射表320包括由源生成的可能数据字中的每个数据字的条目,该条目将在目标处被处理。在各种实施例中,源和目标是彼此通信的功能块。在例示的实施例中,数据字具有3位的大小,并且代码字具有4位的大小。然而,这些尺寸是为了便于说明而示出的,并且在其他实施例中,数据字和代码字的其他尺寸是可能并且可以设想的。源具有生成映射表320中所示的3位数据字之一的处理逻辑部件。然而,源发送存储在映射表320中的4位代码字,而不是发送3位数据字。需注意,虽然示出了映射表320,但在其他实施例中,映射表320表示由用于从数据字生成代码字的编码逻辑部件(诸如组合逻辑部件、软件或组合)所使用的映射。
映射表320具有用于3位数据字的八种可能组合的八个条目。4位代码字存在16种可能组合,因此存在16个代码字候选。十六种组合中的八种组合被选择用于存储在映射表320中,而八种组合未被使用。分组310示出了如何从十六个候选中选择八个代码字。在映射310中,每个代码字候选旁边是该特定代码字候选的逻辑差异值。如前所述,代码字的逻辑差异的一个定义是代码字大小的一半与代码字中的布尔零值的数量之间的差值。
第四代码字候选为4'b0011并且包含两个布尔零值和两个布尔一值。4位代码字的大小的一半是两位,并且在第四代码字候选中存在两个布尔零值,并且2–2=0。基于逻辑差异0将该代码字候选置于组A中。类似地,第六候选(4'b0101)、第七候选(4'b0110)、第十候选(4'b1001)、第十一候选(4'b1010)和第十三候选(4'b1100)中的每一者具有逻辑差异0并且被置于组A中。
当目标包括具有如先前针对(图1的)通信总线100所示的拓扑结构的接收器时,其中端接电阻器通过电容器连接在一起以便生成参考电压,该拓扑结构受益于在传输线上传输的特定模式。例如,为了将参考电压生成为供电电压的一半,对应于传输线上的代码字的电信号具有与布尔零值的数量匹配的布尔一值的数量。分组310中的组A具有该特定模式。
理想的是,要存储在映射表320中的每个所选择的代码字候选均来自组A。然而,组A仅具有六个候选,而映射表320中需要八个候选。因此,优选地,从逻辑差异接近零的其他组中选择另外两个候选。第八代码字候选是4'b0111并且包含一个布尔零值和三个布尔一值。4位代码字的大小的一半是两位,并且第八代码字候选中存在一个布尔零值,并且2-1=1。基于逻辑差异1将第八代码字候选置于组B1中。第十二候选(4'b1011)和第十五候选(4'b1110)也被置于组B1中。
第二代码字候选是4'b0001,并且其逻辑差异是-1,因为4位码字的大小的一半减去代码字中的布尔零值的数量是2-3=-1。基于逻辑差异-1将第二代码字候选置于组B2中。第三候选(4'b0010)、第五候选(4'b0100)和第九候选(4'b1000)也被置于组B2中。第十六代码字候选为4'b1111,并且其逻辑差异为2,因为4位码字的大小的一半减去代码字中的布尔零值的数量为2-0=2。基于逻辑差异2将第一代码字候选置于组C1中。第一代码字候选为4'b0000,并且其逻辑差异为-2,因为4位码字的大小的一半减去代码字中的布尔零值的数量为2-4=-2。基于逻辑差异-2将第一代码字候选置于组C2中。
组B1和B2具有比组C1和C2更接近零的逻辑差异值。为了随时间推移保持平衡,被选择作为映射表320的代码字的两个剩余候选中的一个候选来自组B1,而另一个候选来自组B2。在一种设计中,第八候选代码字(4'b0111)选自组B1,并且第五候选代码字(4'b1000)选自组B2。如图所示,从3'b000到3'b110的前六个数据字被映射到来自组A的代码字,而数据字3'b110被映射到来自组B1的代码字,并且数据字3'b111被映射到来自组B2的代码字。
每当生成数据字时,该数据字就被用作索引以在映射表320中执行查找,并且对应的代码字经由传输线被发送到接收器。在目标中的接收器处,使用映射表或解码逻辑将所接收的代码字映射到最初在源处生成的数据字。示出针对映射表320的每个条目的逻辑差异和组,但这些值未存储在映射表320中。映射表320示出映射的一个示例。在其他示例中,最后两个数据字(3'b110和3'b111)中的一者或多者被映射到组A,而前六个数据字中的一者或多者被映射到组B1或B2。在其他示例中,其他代码字候选选自组B1和B2。
需注意,如果源中的处理逻辑部件继续生成第七数据字(3'b110),则将来自组B1的逻辑差异为1的代码字经由传输线发送到目标。类似地,如果源中的处理逻辑部件继续生成第八数据字(3'b111),则将来自组B2的逻辑差异为-1的代码字经由传输线发送到目标。因此,随着时间推移,接收器在传输线上接收的数据不保持布尔零值的数量与布尔一值的数量相同的平衡特定模式。换句话讲,所接收的数据不提供用于将接收器中的参考电压保持在供电电压的一半的、长期零逻辑差异。为了进一步平衡所接收的数据,使用另一种类型的映射表。
现在转向图4,其示出了代码字分组310和映射表420的一个实施例的通用框图。需注意,虽然示出了映射表420,但在其他实施例中,映射表420表示由用于从数据字生成代码字的编码逻辑部件(诸如组合逻辑部件、软件或组合)所使用的映射。代码字分组310与先前描述的分组相同。前六个数据字以与之前的映射表320中所使用的相同方式映射在映射表420中。然而,这里,第七数据字(3'b110)被映射到两个代码字。第一代码字(4'b1110)来自组B1,并且第二代码字(4'b0001)来自组B2。以类似的方式,第八数据字(3'b111)被映射到两个代码字。第一代码字(4'b0111)来自组B1,并且第二代码字(4'b1000)来自组B2。
当源中的处理逻辑部件生成第七数据字(3'b1 10)时,源中的发射器发送来自组B1的逻辑差异为1的第一代码字(4'b1 110),或来自组B2的逻辑差异为-1的第二代码字(4'b0001)。以类似的方式,当源中的处理逻辑部件生成第八数据字(3'b1 11)时,源中的发射器发送来自组B1的逻辑差异为1的第一代码字(4'b01 11),或来自组B2的逻辑差异为-1的第二代码字(4'b1000)。
在一个实施例中,源中的控制逻辑部件选择与先前所选择的代码字相反的、用于第七数据字(3'b1 10)的代码字来发送。因此,如果来自组B1的代码字4'b1 110先前被选择用于第七数据字(3'b1 10),则下一次处理逻辑部件生成第七数据字(3'b1 10)时,控制逻辑部件选择映射表420中的来自组B2的代码字4'b0001。因此,如果所生成的数据字序列是3'b110、3'b1 10、3'b1 10和3'b1 10,则传输的代码字序列是4'b1 110、4'b0001、4'b1 110和4'b0001。该传输的代码字序列具有逻辑差异序列1、-1、1和-1,其提供长期0逻辑差异。
现在转向图5,其示出了用于在计算系统中有效传输数据的方法500的一个实施例的通用流程图。在源处生成数据字(框502)。在多个示例中,数据字是用于在源和目标之间发送的数据的子集。将数据字映射到逻辑差异低于阈值绝对值的所选择代码字(框504)。例如,在一些设计中使用阈值1,这允许选择逻辑差异为1或-1的代码字。如前所述,当数据字具有3位的大小并且代码字具有4位的大小时,八个数据字中的六个数据字被映射到来自组A的逻辑差异为0的代码字。剩余的两个数据字被映射到来自组B1和B2的逻辑差异为1和-1的代码字。
以类似的方式,当数据字具有5位的大小并且代码字具有6位的大小时,存在64个代码字,从这些代码字中选择用于映射32个数据字。组A中存在20个逻辑差异为0的代码字。组B1中存在15个逻辑差异为1的代码字,并且组B2中存在15个逻辑差异为-1的代码字。对于尚未映射的12个剩余数据字,在一种设计中,从组B1中的15个代码字中选择12个代码字,并且从组B2中的15个代码字中选择12个代码字。这12个剩余数据字中的每个数据字被映射到两个代码字。所选择的特定代码字基于先前所选择的代码字,以便在组B1和组B2之间交替,如先前针对(图4的)映射表420所示。
在另一种设计中,数据字具有7位的大小,并且代码字具有8位的大小。因此,存在256个代码字,从这些代码字中选择用于映射128个数据字。组A中存在70个逻辑差异为0的代码字,由于128-10=58,因此仍然有58个数据字待映射。组B1中存在56个逻辑差异为1的代码字,并且组B2中存在56个逻辑差异为-1的代码字。对于尚未映射的58个剩余数据字,在一个设计中,选择来自组B1的所有56个代码字,并且选择来自组B2的所有56个代码字。这56个剩余数据字中的每个数据字被映射到两个代码字。在数据传输期间选择的特定代码字基于先前选择的代码字,以便在组B1和组B2之间交替。由于128-70-56=2,因此仍然有2个数据字待映射。
组C1中存在28个逻辑差异为2的代码字,并且组C2中存在28个逻辑差异为-2的代码字。对于尚未映射的2个剩余数据字,在一种设计中,从组C1中的28个代码字中选择2个代码字,并且从组C2中的28个代码字中选择2个代码字。这2个剩余数据字中的每个数据字被映射到两个代码字。在数据传输期间选择的特定代码字基于先前选择的代码字,以便在组C1和组C2之间交替。因此,在这种情况下,阈值的绝对值为2,而不是1。
将所选择的代码字作为电信号发送到目标(框506)。在各种实施例中,计算系统在源和目标之间具有通信总线。在一个实施例中,通信总线包括多条并行传输线。在各种实施例中,并行传输线中的每条传输线传输所选择的代码字的一位。使用基于电信号的参考电压将在目标处接收的电信号转换为代码字(框508)。例如,源处的发射器将所选择的代码字作为单端数据信号在传输线上发送。目标处的接收器利用采样电路对这些电信号进行采样,该采样电路将所接收的电信号与参考电压进行比较。如前所述,在多条并行传输通道上传输的电信号基于诸如交叉耦合电容等的多种因素而经历变化。因此,表示所传输代码字的一个或多个位的一个或多个电信号在被目标接收时质量降低。利用目标的采样电路对所接收的电信号进行采样开始信号重构过程。在一些实施例中,用于采样的参考电压在电容器的节点上生成,该电容器连接到每个端接电阻器,该端接电阻器连接到用于传输与所选择的代码字对应的电信号的传输线。该拓扑结构在(图1的)通信总线100中示出。
目标的逻辑部件基于重构的代码字生成数据字(框510)。例如,在采样电路将所接收的电信号转换为重构的代码字之后,数据字发生器基于重构的代码字生成数据字。在一个实施例中,数据字发生器使用重构的代码字执行映射表的查找。映射表具有在源处使用的映射表的精确映射,不同的是映射是相反的。从映射表读取分配给重构代码字的数据字并将其发送到目标处的一个或多个数据处理块。在其他实施例中,目标的逻辑部件使用解码逻辑部件基于重构的代码字生成数据字。
现在转向图6,其示出了用于在计算系统中有效传输数据的方法600的一个实施例的通用流程图。保持在传输线上传输的代码字的累积逻辑差异(框602)。例如,如果选择来自组B1的逻辑差异为1的代码字用于数据传输,然后是来自组C2的逻辑差异为-2的代码字,则累积逻辑差异为-1,因为1+(-2)=-1。该累积逻辑差异的当前值存储在多种存储元件中的一种存储元件中。
简而言之,返回到具有7位大小的数据字和具有8位大小的代码字的示例,累积逻辑差异可能偏离0。如果在各个组之间进行切换,诸如在组B1和B2之间进行切换,并且在组C1和C2之间单独进行切换,则可以从组B1中选择代码字,然后从组C1中选择代码字。这些选择提供累积逻辑差异3,因为1+2=3。因此,源中的控制逻辑部件进行的改进的选择方案考虑累积逻辑差异。每当累积逻辑差异为负并且下一个代码字不是来自组A的逻辑差异为0的代码字时,则控制逻辑部件选择具有正逻辑差异的代码字。同样,当累积逻辑差异为正并且下一个代码字不是来自组A的逻辑差异为0的代码字时,则控制逻辑部件选择具有负逻辑差异的代码字。
如果未生成数据字(条件框604的“否”分支),则方法600的控制流程返回到框602,在此处保持累积逻辑差异。在这种情况下,保持当前值。如果生成数据字(条件框604的“是”分支),则基于所生成的数据字生成代码字(框606)。例如,基于所生成的数据字搜索映射表。在其他示例中,编码逻辑部件基于所生成的数据字生成代码字。
如果存在用于所生成的数据字的单个代码字候选(条件框608的“否”分支),则选择单个代码字(框610)。然而,如果存在用于所生成的数据字的多个代码字候选(条件框608的“否”分支),则选择多个代码字候选中的一个代码字候选,该代码字候选具有当与累积逻辑差异相加时最能够导致累积逻辑差异接近零的逻辑差异(框612)。同样,如果累积逻辑差异已为正的,则选择多个代码字中具有负逻辑差异的的代码字。否则,如果累积逻辑差异当前为负,则选择多个代码字中具有正逻辑差异的的代码字。
将所选择的代码字作为电信号传输到目标(框614)。例如,使用单端信号传输。利用所选择的代码字的逻辑差异来更新累积逻辑差异(框616)。之后,方法600的控制流程返回到框602,在此处保持累积逻辑差异。
尽管上文已经描述了具体实施例,但这些实施例并非要限制本公开的范围,即使仅相对于特定特征描述单个实施例的情况下也是如此。本公开中提供的特征示例意在进行例示,而非限制,除非做出不同表述。上述说明书意在涵盖此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
本公开的范围包括本文(明确或暗示)公开的任意特征或特征的组合或其任意概括,而无论其是否减轻本文解决的任何或所有问题。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地,参考所附权利要求书,可将从属权利要求的特征与独立权利要求的特征进行组合,并可通过任何适当的方式而不是仅通过所附权利要求书中所列举的特定组合来组合来自相应独立权利要求的特征。
Claims (20)
1.一种装置,所述装置包括:
目标电路,所述目标电路包括:
多个接收器,所述多个接收器被配置成
经由多个并行通道从源电路接收第一多个电信号;
根据所述第一多个电信号和参考电压构建第二多个电信号;
基于所述第二多个电信号生成第一位序列,其中所述第一位序列等于由所述源电路生成的用于由所述目标电路中的逻辑处理的第一值;
基于所述第一位序列生成与所述第一位序列不同的第二位序列,其中所述第二位序列等于由所述源电路生成的用于由所述目标电路中的逻辑处理的第二值;以及
将所述第二位序列传送到数据处理逻辑部件;以及
积分电容器,所述积分电容器被配置成:
基于所述第一多个电信号的信号电平的平均电压来确定所述参考电压。
2.根据权利要求1所述的装置,其中为了构建所述第二多个电信号,所述多个接收器还被配置成将所述第一多个电信号的所述信号电平与所述参考电压进行比较。
3.根据权利要求2所述的装置,其中所述目标电路还包括:
所述多个接收器的多个端接电阻器,所述多个端接电阻器被配置成接收所述第一多个电信号;并且
其中,所述积分电容器耦接到给定节点,所述给定节点耦接到所述多个端接电阻器中的每个端接电阻器。
4.根据权利要求1所述的装置,其中所述第一位序列是代码字,并且所述第二位序列是不同于所述代码字的数据字。
5.根据权利要求4所述的装置,其中,所述源电路包括:
多个发射器,所述多个发射器被配置成经由所述多个并行通道将所述第一多个电信号传送到所述目标电路;和
电路,所述电路被配置成:
从所述数据字生成所述代码字;以及
经由所述多个并行通道将所述代码字传送到所述目标电路的所述多个接收器。
6.根据权利要求5所述的装置,其中所述源电路的所述电路还被配置成保持传输到所述目标电路的代码字的累积逻辑差异,其中给定代码字的逻辑差异对应于所述给定代码字的具有逻辑高值的位数与所述给定代码字的具有逻辑低值的位数的差值。
7.根据权利要求6所述的装置,其中所述电路还被配置成随时间推移保持所述累积逻辑差异接近零。
8.一种方法,包括:
由源电路经由多个并行通道传送第一多个电信号;
由目标电路经由所述多个并行通道接收来自所述源电路的所述第一多个电信号;
由所述目标电路基于所述第一多个电信号的信号电平的平均电压来确定参考电压;
由所述目标电路根据所述第一多个电信号和所述参考电压构建第二多个电信号;
由所述目标电路基于所述第二多个电信号生成第一位序列,其中所述第一位序列等于由所述源电路生成的用于由所述目标电路中的逻辑处理的第一值;
由所述目标电路基于所述第一位序列生成与所述第一位序列不同的第二位序列,其中所述第二位序列等于由所述源电路生成的用于由所述目标电路中的逻辑处理的第二值;以及
由所述目标电路将所述第二位序列传送到数据处理逻辑部件。
9.根据权利要求8所述的方法,其中为了构建所述第二多个电信号,所述方法还包括由所述目标电路将所述第一多个电信号的所述信号电平与所述参考电压进行比较。
10.根据权利要求9所述的方法,其中所述目标电路包括:
多个端接电阻器,所述多个端接电阻器被配置成接收所述第一多个电信号;和
积分电容器,所述积分电容器耦接到给定节点,所述给定节点耦接到所述多个端接电阻器中的每个端接电阻器。
11.根据权利要求8所述的方法,其中所述第一位序列是代码字,并且所述第二位序列是不同于所述代码字的数据字。
12.根据权利要求11所述的方法,还包括:
由所述源电路从所述数据字生成所述代码字;以及
由所述源电路经由所述多个并行通道将所述代码字传送到所述目标电路。
13.根据权利要求12所述的方法,还包括由所述源电路保持传输到所述目标电路的代码字的累积逻辑差异,其中给定代码字的逻辑差异对应于所述给定代码字的具有逻辑高值的位数与所述给定代码字的具有逻辑低值的位数的差值。
14.根据权利要求13所述的方法,还包括由所述源电路随时间推移保持所述累积逻辑差异接近零,以便传送具有平衡的平均电压电平的多个代码字。
15.一种计算系统,包括:
源电路,所述源电路被配置成经由多个并行通道传送第一多个电信号;
目标电路,所述目标电路被配置成:
经由所述多个并行通道接收来自所述源电路的所述第一多个电信号;
基于所述第一多个电信号的信号电平的平均电压来确定参考电压;
根据所述第一多个电信号和所述参考电压构建第二多个电信号;
基于所述第二多个电信号生成第一位序列,其中所述第一位序列等于由所述源电路生成的用于由所述目标电路中的逻辑处理的第一值;
基于所述第一位序列生成与所述第一位序列不同的第二位序列,其中所述第二位序列等于由所述源电路生成的用于由所述目标电路中的逻辑处理的第二值;以及
将所述第二位序列传送到数据处理逻辑部件。
16.根据权利要求15所述的计算系统,其中为了构建所述第二多个电信号,所述目标电路还被配置成将所述第一多个电信号的所述信号电平与所述参考电压进行比较。
17.根据权利要求16所述的计算系统,其中所述目标电路包括:
多个端接电阻器,所述多个端接电阻器被配置成接收所述第一多个电信号;以及
积分电容器,所述积分电容器耦接到给定节点,所述给定节点耦接到所述多个端接电阻器中的每个端接电阻器。
18.根据权利要求15所述的计算系统,其中所述第一位序列是代码字,并且所述第二位序列是不同于所述代码字的数据字。
19.根据权利要求18所述的计算系统,其中所述源电路还被配置成:
从所述数据字生成所述代码字;以及
经由所述多个并行通道将所述代码字传送到所述目标电路。
20.根据权利要求19所述的计算系统,其中所述源电路还被配置成保持传输到所述目标电路的代码字的累积逻辑差异,其中给定代码字的逻辑差异对应于所述给定代码字的具有逻辑高值的位数与所述给定代码字的具有逻辑低值的位数的差值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311334893.9A CN117370256A (zh) | 2019-01-21 | 2020-01-20 | 自参考单端芯片到芯片通信 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/253,100 | 2019-01-21 | ||
US16/253,100 US10756849B2 (en) | 2019-01-21 | 2019-01-21 | Self referenced single-ended chip to chip communication |
PCT/US2020/014266 WO2020154221A1 (en) | 2019-01-21 | 2020-01-20 | Self referenced single-ended chip to chip communication |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311334893.9A Division CN117370256A (zh) | 2019-01-21 | 2020-01-20 | 自参考单端芯片到芯片通信 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113396405A CN113396405A (zh) | 2021-09-14 |
CN113396405B true CN113396405B (zh) | 2023-10-31 |
Family
ID=69591766
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080010283.1A Active CN113396405B (zh) | 2019-01-21 | 2020-01-20 | 自参考单端芯片到芯片通信 |
CN202311334893.9A Pending CN117370256A (zh) | 2019-01-21 | 2020-01-20 | 自参考单端芯片到芯片通信 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311334893.9A Pending CN117370256A (zh) | 2019-01-21 | 2020-01-20 | 自参考单端芯片到芯片通信 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10756849B2 (zh) |
CN (2) | CN113396405B (zh) |
DE (1) | DE112020000461T5 (zh) |
WO (1) | WO2020154221A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10756849B2 (en) | 2019-01-21 | 2020-08-25 | Apple Inc. | Self referenced single-ended chip to chip communication |
KR102223031B1 (ko) * | 2019-03-20 | 2021-03-04 | 삼성전자주식회사 | 향상된 브레이드 클락 시그널링을 이용한 차동 신호 처리장치 |
US11755511B2 (en) * | 2021-08-25 | 2023-09-12 | Xilinx, Inc. | Data bus inversion using multiple transforms |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6992932B2 (en) | 2002-10-29 | 2006-01-31 | Saifun Semiconductors Ltd | Method circuit and system for read error detection in a non-volatile memory array |
US7307554B2 (en) | 2004-12-20 | 2007-12-11 | Kawasaki Microelectronics, Inc. | Parallel data transmission method and parallel data transmission system |
US7742339B2 (en) | 2006-01-10 | 2010-06-22 | Saifun Semiconductors Ltd. | Rd algorithm improvement for NROM technology |
US7379009B2 (en) * | 2006-02-23 | 2008-05-27 | Kabushiki Kaisha Toshiba | AD converter and radio receiver |
US8000161B2 (en) | 2007-06-28 | 2011-08-16 | University Of Virginia Patent Foundation | Method and system for encoding to eliminate parasitics in crossbar array memories |
US7864588B2 (en) | 2007-09-17 | 2011-01-04 | Spansion Israel Ltd. | Minimizing read disturb in an array flash cell |
US8245094B2 (en) | 2007-11-20 | 2012-08-14 | California Institute of Technology Texas A & M | Rank modulation for flash memories |
US7818525B1 (en) | 2009-08-12 | 2010-10-19 | Texas Memory Systems, Inc. | Efficient reduction of read disturb errors in NAND FLASH memory |
US7961520B2 (en) | 2009-08-18 | 2011-06-14 | Seagate Technology Llc | Encoding and decoding to reduce switching of flash memory transistors |
US8023298B1 (en) | 2010-02-19 | 2011-09-20 | Netlogic Microsystems, Inc. | Encoding data for storage in a content addressable memory |
US8441241B2 (en) * | 2010-05-03 | 2013-05-14 | Intel Corporation | Methods and systems to digitally balance currents of a multi-phase voltage regulator |
JP2011238301A (ja) * | 2010-05-06 | 2011-11-24 | Sony Corp | 符号化装置、符号化方法、記録装置、記録方法、光記録媒体、復号装置、復号方法 |
US20120254686A1 (en) | 2010-10-01 | 2012-10-04 | SIGLEAD Inc. | Non-volatile semiconductor memory devices and error correction methods |
US8456911B2 (en) | 2011-06-07 | 2013-06-04 | Sandisk Technologies Inc. | Intelligent shifting of read pass voltages for non-volatile storage |
WO2012170780A2 (en) | 2011-06-10 | 2012-12-13 | Mayo Foundation For Medical Education And Research | Zero sum signaling in a digital system environment |
US8582381B2 (en) | 2012-02-23 | 2013-11-12 | SanDisk Technologies, Inc. | Temperature based compensation during verify operations for non-volatile storage |
US8856611B2 (en) | 2012-08-04 | 2014-10-07 | Lsi Corporation | Soft-decision compensation for flash channel variation |
US9136015B2 (en) | 2013-04-24 | 2015-09-15 | Apple Inc. | Threshold adjustment using data value balancing in analog memory device |
US9882605B2 (en) * | 2015-12-15 | 2018-01-30 | Nvidia Corporation | System and method for cross-talk cancellation in single-ended signaling |
JP6308314B1 (ja) * | 2017-02-22 | 2018-04-11 | Nttエレクトロニクス株式会社 | 誤り訂正装置、誤り訂正方法及び通信装置 |
US10756849B2 (en) | 2019-01-21 | 2020-08-25 | Apple Inc. | Self referenced single-ended chip to chip communication |
-
2019
- 2019-01-21 US US16/253,100 patent/US10756849B2/en active Active
-
2020
- 2020-01-20 CN CN202080010283.1A patent/CN113396405B/zh active Active
- 2020-01-20 CN CN202311334893.9A patent/CN117370256A/zh active Pending
- 2020-01-20 WO PCT/US2020/014266 patent/WO2020154221A1/en active Application Filing
- 2020-01-20 DE DE112020000461.9T patent/DE112020000461T5/de active Pending
- 2020-07-20 US US16/933,449 patent/US11750325B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200235856A1 (en) | 2020-07-23 |
DE112020000461T5 (de) | 2021-12-16 |
US20210099252A1 (en) | 2021-04-01 |
CN113396405A (zh) | 2021-09-14 |
CN117370256A (zh) | 2024-01-09 |
US10756849B2 (en) | 2020-08-25 |
WO2020154221A1 (en) | 2020-07-30 |
US11750325B2 (en) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113396405B (zh) | 自参考单端芯片到芯片通信 | |
US5740201A (en) | Dual differential and binary data transmission arrangement | |
EP0541675B1 (en) | A communication link | |
US20140177645A1 (en) | Methods and Systems for Noise Resilient, Pin-Efficient and Low Power Communications with Sparse Signaling Codes | |
US11397202B2 (en) | Comparator and receiver including the same | |
US6085033A (en) | Method for determining bit element values for driver impedance control | |
US5450023A (en) | Interface circuit using a limited number of pins in LSI applications | |
US7888962B1 (en) | Impedance matching circuit | |
US6051990A (en) | Asymmetric current mode driver for differential transmission lines | |
US9406364B2 (en) | Codec to reduce simultaneously switching outputs | |
JP2002538535A (ja) | データ依存駆動強度制御ロジックを備えたバス・ドライバ | |
US9490967B1 (en) | Communication system and method | |
US6686863B1 (en) | A/D signal conversion based on a comparison of voltage-divided signals | |
US20160164539A1 (en) | Digital encoding of parallel busses to suppress simultaneous switching output noise | |
EP1419629B1 (en) | Crosstalk equalization for digital transmission lines | |
EP3130120A1 (en) | Systems and methods for frequency control on a bus through superposition | |
TWI519102B (zh) | FlexRay接收器 | |
US9876630B2 (en) | Embedded clock in digital communication system | |
TWI427973B (zh) | FlexRay發射器 | |
US20240168515A1 (en) | Avoid reduced effective bandwidth on transmission lines in the presence of clock domain differences | |
CN108574651B (zh) | 半导体器件 | |
US6541998B2 (en) | Active termination circuit with an enable/disable | |
CN117642733A (zh) | 具有功率域之间的电信号低时延通信的接口模块 | |
US8521119B2 (en) | Method and apparatus for an equalized on-die termination (ODT) circuit | |
KR20000020724A (ko) | 다중 전압레벨을 이용한 데이터 전송회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |