EP4627447A1 - Clocking architecture for communicating clock signals over a communication interface - Google Patents
Clocking architecture for communicating clock signals over a communication interfaceInfo
- Publication number
- EP4627447A1 EP4627447A1 EP23809791.9A EP23809791A EP4627447A1 EP 4627447 A1 EP4627447 A1 EP 4627447A1 EP 23809791 A EP23809791 A EP 23809791A EP 4627447 A1 EP4627447 A1 EP 4627447A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- circuitry
- clock signal
- chip
- signal
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F13/4273—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F13/4278—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
Definitions
- Examples of the present disclosure generally relate to a clocking interface for a high-speed integrated circuit chip to integrated circuit chip communication interface.
- IC chip to IC chip (C2C) interfaces are more widely used.
- One such computing system is an anchor IC chip (e.g., a processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), or system on a chip (SOC) that uses C2C interfaces to communicate with one or more chiplets (e.g., high speed I/O or high bandwidth memory (HBM)) or another anchor IC chip.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- SOC system on a chip
- C2C interfaces are constrained by the area of the beachfront (e.g., the sides of the anchor chip) which limits the number of signals and wires that can pass through the interface. The required bandwidth is therefore achieved by running the interface at a high data rate.
- C2C interfaces employ multiple clock signals to communicate parallel data between IC chips.
- C2C interfaces implement clocking techniques to support the communication of parallel data between IC chips.
- C2C interfaces are specific to a particular implementation and do not support multiple different C2C modes.
- an integrated circuit (IC) device includes a first IC chip, a second IC chip, and a chip-to-chip interface connected between the first IC chip and the second IC chip.
- the chip-to-chip interface communicates an interface clock signal and a logic clock signal between the first IC chip and the second IC chip.
- the interface clock signal is synchronous with a data signal received by one of the first IC chip and the second IC chip.
- the logic clock signal is asynchronous with the data signal.
- a chip-to-chip interface communicates an interface clock signal between a first IC chip and a second IC chip.
- the first IC chip and the second IC chip are connected with each via the chip-to-chip interface.
- the interface clock signal is synchronous with a data signal.
- the data signal is received by one of the first IC chip and the second IC chip.
- the chip-to-chip interface further communicates a logic clock signal between the first IC chip and the second IC chip.
- the logic clock signal is asynchronous with the data signal.
- an IC chip includes chip-to-chip interface circuitry connected to a second IC chip.
- the chip-to-chip interface circuitry is configured to communicate an interface clock signal to the second IC chip.
- the interface clock signal is synchronous with a data signal received the IC chip.
- the chip-to-chip interface further communicates a logic clock signal to the second IC chip.
- the logic clock signal is asynchronous with the data signal.
- Fig. 3 is a block diagram of a multiple IC chip device configured as a receiver of a transceiver device, according to an example.
- Fig. 4 is a block diagram of a multiple IC chip device configured as a transmitter of a transceiver device, according to an example.
- Fig. 5 is a block diagram of a multiple IC chip device configured as a receiver of a transceiver device, according to an example.
- Fig. 6 is a block diagram of a multiple IC chip device configured as a transmitter of a transceiver device, according to an example.
- Fig. 10 is a block diagram of clock generation circuitry, according to an example.
- Embodiments herein describe clocking techniques for a chip-to-chip (C2C) interface.
- the clocking techniques described herein may be used for various different C2C interface modes.
- a C2C interface employs a low-latency streaming mode, a flow control mode, and a low-latency synchronous communication mode.
- the C2C interface includes wires connecting two or more integrated circuit (IC) chips with each other.
- the wires may be referred to as a module or a DWORD.
- a module is a base unit of the C2C interface.
- the module includes one or more wires that functions as the interface between the IC chips. In a full module mode, all of the wires of the C2C interface are used for communication. Further, all of the wires of the C2C interface in a full module are driven with the same clock signal. In a half module mode less than all of the wires of the C2C interface are used.
- the clock signal used to transmit data by a C2C interface and clock signal used by the functional circuitry of the IC chips are both generated from a data signal. Accordingly, the control signal used to transmit the clock signal for the functional circuitry is halted when the data signal is no longer received, and the clock signal for the functional circuitry is not available.
- a process for transmitting multiple different clock signals via the C2C interface is described. As will be described in detail in the following, at least one clock signal is generated independently from the data signal, and is used as the clock signal for the functional circuitry of the IC chips.
- a first portion of the wires of the C2C interface are driven based on a first clock signal and a second portion of the wires are driven based on a second clock signal.
- the second clock signal differs from the first clock signal.
- the different clock signals are used to transmit a data signal and a control signal. Using two clock signals allows the control signal to continue to be transmitted when errors occur within the data signal, improving the reliability and performance of the C2C interface.
- multiple anchor IC chips are interconnected via a C2C interface.
- Anchor chips may also be referred to as main IC chips.
- the C2C interface is used to communicate a clock signal between the IC chips.
- fabric logic clock signals associated with one IC chip are communicated to another IC chip via the C2C interface.
- the fabric logic clock signals are communicated via a portion of the wires (e.g., a sideband) of the C2C interface, synchronizing the IC chips with each other, reducing data errors within, and improving performance of, the multiple IC chips.
- FIG. 1 is a block diagram of a multiple (integrated circuit) chip device 100 included IC chip 110 and IC chip 120.
- the IC chip 110 and the IC chip 120 may be mounted to an interposer (not shown) or another substrate.
- the IC chip 110 is a main IC chip or an anchor IC chip.
- the IC chip 110 includes circuitry comprising one or more data processing blocks, such as a processing system or subsystem (PS), a memory system (for example, including a memory controller), and the like. Further, the IC chip 110 includes C2C interface circuitry 112.
- the IC chip 110 is an application specific IC (ASIC), a field programmable gate array (FPGA), a central processing unit (CPU), or a memory, among others.
- the IC chip 120 is a chiplet or an auxiliary IC chip.
- the IC chip 120 comprises a dedicated logic device or device type configured to serve a particular purpose or provide particular functionality, such as a data processing engine (DPE) or hardware accelerator IC chip configured to provide artificial intelligence (Al), machine learning (ML) functionality, Ethernet communications, memory functionality, and the like.
- DPE data processing engine
- ML machine learning
- employing a chiplet, or auxiliary IC chip, as the IC chip 120 decouples development cycles of the IC chip 110 from the IC chip 120.
- the IC chip 110 is developed and fabricated independently from the development of the IC chip 120 110.
- the IC chip 120 is configured similar to that of the IC chip 110.
- the IC chip 110 and the IC chip 120 are both main or anchor IC chips.
- the IC chip 120 is an ASIC, a FPGA, a CPU, or a memory, among others.
- the IC chip 120 is a chiplet, or auxiliary IC chip, and is part of an overall IC design framework that performs one or more specific functions, but requires an external entity (i.e., the IC chip 110) to render the functions useful.
- the IC chip 120 may perform acceleration of a machine learning function, but require the IC chip 110 to program the registers, provide interface to memory, etc.
- the IC chip 120 includes C2C interface circuitry 122.
- the C2C interface circuitry 122 of the IC chip 120 is connected to the C2C interface circuitry 112 of the IC chip 110 via interface 130.
- the interface 130 includes one or more wires.
- the interface 130 may include N wires. N is one or more.
- the C2C interface circuitry 112, the C2C interface circuitry 122, and the interface 130 form the C2C interface system 140.
- each wire of the interface 130 is driven based on the same clock signal.
- at least two wires of the interface 130 are driven with a clock signal having a frequency that is less than the frequency of the clock signal driven on the other wires of the interface 130.
- the C2C interface system 140 operates at about 8 gigabits per second (Gbps) per wire.
- the C2C interface system 140 enables communication between the IC chip 110 and the IC chip 120.
- the C2C interface system 140 provides flexibility in creating the multiple IC chip device 100.
- the C2C interface system 140 allows for different combinations of IC chips (e.g., the IC chips 110 and 120) to be interconnected to form the multiple IC chip device 100.
- FIG. 2 illustrates a block diagram of the IC chip 110 and the IC chip 120.
- the C2C interface circuitry 112 of IC chip 110 includes application circuitry 210, protocol layer circuitry 212, link layer circuitry 214, and physical (PHY) layer circuitry 216.
- the application circuitry 210 is circuitry that performs a user and/or design specified function.
- the application circuitry 210 includes nonprogrammable (hardened) circuitry, such as a processor core, DPE, graphics processing unit, transceiver circuitry (e.g., transmitter and receiver circuitry), and the like.
- the application circuitry 210 includes programmable circuitry (e.g., programmable fabric circuitry), such as configurable logic blocks (CLBs) or other types of programmable logic that can be customized on the fly.
- CLBs configurable logic blocks
- the application circuitry 210 generates data that is transferred to the IC chip 120 via the interface 130 and processes data received from the IC chip 120.
- the application circuitry 210 uses a specific protocol to transmit data to other hardware elements in the IC chip 110 (e.g., the protocol layer circuitry 212).
- the protocol is often different from the protocol used to transmit data over the interface 130.
- the application circuitry 210 outputs a protocol word (or control signal) that is received by the protocol layer circuitry 212.
- the protocol layer circuitry 212 receives the protocol word and converts the protocol word to a data signal (e.g., a data word (DW)) that is compatible with the interface 130.
- the protocol word includes both control data and the data signal. Converting the protocol word includes separating the control data from the data signal.
- the control data is communicated as a separate packet from the data signal via the interface 130.
- the application circuitry 210 outputs a data signal that is compatible with the interface 130.
- the protocol layer circuitry 212 is bypassed and does not process the data signal output by the application circuitry 210.
- the protocol layer is bypassed. Similar methods can be applied to examples where the protocol layer is not bypassed.
- the link layer circuitry 214 generates a framing pattern from the data signal that communicated with the data signal along the interface 130.
- the framing pattern indicates the start of data within the data signal.
- the PHY layer circuitry 216 communicates the data signal and framing pattern along the interface 130. Further, the PHY layer circuitry 216 receives a data signal and framing pattern from the interface 130. In such an example, the received data signal and framing pattern is provided to the link layer circuitry 214.
- the link layer circuitry 214 detects the framing pattern and identifies the start of data signal.
- the data signal is output to the application circuitry 210.
- the C2C interface circuitry 122 of the IC chip 120 includes application circuitry 220, protocol layer circuitry 222, link layer circuitry 224, PHY layer circuitry 226, and reducer circuitry 228.
- the application circuitry 220, the protocol layer circuitry 222, the link layer circuitry 224, and the PHY layer circuitry 226 are configured similar to that of the application circuitry 210, the protocol layer circuitry 212, the link layer circuitry 214, and the PHY layer circuitry 216, respectively.
- the C2C interface circuitry 122 further includes reducer circuitry 228.
- the reducer circuitry 228 receives the output (e.g., protocol word or data signal) from the application circuitry 220 and adjusts the output by reducing the data rate (e.g., frequency), and increasing the bit size of the data signal.
- the reducer circuitry 228 reduces a data signal from 80 bits with a frequency of 1.45 GHz to a data signal of 160 bits with a frequency of 725 MHz.
- the frequency is decreased by the same factor that the number of bits of the data signal is increased. Accordingly, the same amount of data is communicated in the same amount of time after processing the output of the application circuitry 220 with the reducer circuitry 228.
- the C2C interface system 140 supports various different communication modes.
- the application circuitry 210 and/or 220 is transceiver circuitry may be configured as transmitter and receiver circuitry, respectively.
- the application circuitry 210 and/or 220 includes serializer/deserializer (SERDES) circuitry or other transceiver circuitry.
- SERDES serializer/deserializer
- the application circuitry 210, the link layer circuitry 214, and the PHY layer circuitry 216 each respectively include sideband circuitry 230, 232, and 234.
- the application circuitry 220, the link layer circuitry 224, and the PHY layer circuitry 226 each respectively include sideband circuitry 240, 242, and 244.
- the sideband circuitry 230, 232, and 234 and the sideband circuitry 240, 242, and 244 communicate over a portion (e.g., sideband) of the interface 130.
- the interface 130 communicates data via a mainband, and sideband information via a sideband of the interface 130.
- the IC chip 110 and the IC chip 120 are connected via a datapath and a sideband.
- the datapath is a synchronous, low latency data path.
- the datapath uses a datapath clock signal that is generated from clock generation circuitry based on a data signal.
- the interface 130 communicates the interface clock signal and the logic clock signal between the IC chip 110 and the IC chip 120.
- the frequency of the interface clock signal is a multiple of the frequency of the logic clock signal. In one example, the frequency of the interface clock signal is at least two times the frequency of the logic clock signal.
- the interface communicates a data signal between the IC chip 110 and the IC chip 120. The data signal is synchronized to the interface signal. A framing pattern is communicated with the data signal.
- the interface clock signal is generated at a rising edge of the logic clock signal.
- a framing signal is communicated with the data signal and used to define valid data within the data signal.
- the IC chip 350 includes application circuitry 352 and C2C interface circuitry 360.
- the C2C interface circuitry 360 includes PHY layer circuitry 362, link layer circuitry 364, protocol layer circuitry 366, and reducer circuitry 368.
- the C2C interface circuitry 360 is configured similar to that of the C2C interface circuitry 122 of FIG. 1
- the PHY layer circuitry 362 is configured similar to the PHY layer circuitry 216 of FIG. 2
- the C2C link layer circuitry 364 is configured similar to that of the C2C link layer circuitry 214 of FIG. 2
- the protocol layer circuitry 366 is configured similar to that of the protocol layer circuitry 212 of FIG. 2
- the reducer circuitry 368 is configured similar to the reducer circuitry 228 of FIG. 2.
- the application circuitry 352 is configured similar to the application circuitry 220 of FIG. 2.
- the clock circuitry 380 includes clock generation circuitry 382, divider circuitry 384, multiplying delay locked-loop (MDLL) circuitry 386, and divider circuitry 388.
- the clock circuitry 390 is divider circuitry.
- the MDLL circuitry 386 mitigates the delays of the clock signals 385a and 385b. Further, the MDLL circuitry 386 generates the clock signal 387 from the clock signals 385a and 385b. For example, the MDLL circuitry 386 multiples the frequency of the clock signals 385a and 385b two or more. In one example, the MDLL circuitry 386 multiples the frequency of the clock signals 385a and 385b by five. In such an example, the frequency of the clock signal 387 is 3.625 GHz.
- the clock signal 387 is output by the driver circuitry 356 as the clock signal 305 via the interface 302. In one example, the clock signal 305 is communicated via two wires of the interface 302 as a differential signal.
- the data signal 304 When the data signal 363 has a bit size of 160 bits and a frequency of 725 MHz, the data signal 304 has a bit size of 16 bits and a frequency of 7.25 GHz.
- the PHY layer circuitry 362 has a multiplication ratio of sixteen to one. In another example, the PHY layer circuitry 362 has other multiplication ratios.
- the data signal 304 has a frequency of 7.25 GHz and 16 bits. In another example, the data signal 304 has a frequency greater than or less than 7.25 GHz.
- the control signal 306 and the clock signal 308 are communicated from the IC chip 350 to the IC chip 310 via the interface 302.
- the control signal 306 is generated based on the control signal 355 generated by the application circuitry 354.
- the control signal 306 may be a protocol word.
- the protocol layer circuitry 376 is bypassed, and the control signal 355 is received by the link layer circuitry 374.
- the link layer circuitry 374 generates a framing pattern for the control signal 355 and outputs the control signal and the framing pattern to the PHY layer circuitry 372.
- the control signal 355 is transmitted with a framing signal.
- the framing signal defines areas of valid data within the control signal 355.
- the framing signal is used to mask out invalid data within the control signal 355.
- the sideband clock signal 308 is based on a clock signal generated by the IC chip 350 independent from the data signal 351 .
- the sideband clock signal 308 is generated by clock generation circuitry 392 of the IC chip 350.
- the IC chip 350 further includes clock generation circuitry 394 that generates clock signal 395.
- the clock signal 395 is used internally by the application circuitry 354, the link layer circuitry 374, and the PHY layer circuitry 372.
- the clock circuitry 390 functions as a pass through, outputting the clock signal 308 without altering the clock signal 308.
- the clock signal 308 is output by the clock circuitry 390 to the driver circuitry 396 that drives the clock signal on the interface 302.
- the clock circuitry 390 outputs the clock signal 308 to the PHY layer circuitry 372.
- the clock circuitry 390 further divides the clock signal 308 by two or more.
- the clock signal 391 is output to the link layer circuitry 374 and the PHY layer circuitry 372.
- the IC chip 310 receives the data signal 304, the clock signal 305, the control signal 306, and the sideband clock signal 308 from the IC chip 350.
- the receiver circuitry 348 receives the clock signal 305.
- the receiver circuitry 348 outputs the received clock signal 305 as the clock signal 349 to the divider circuitry 342.
- the divider circuitry 342 reduces the frequency of the clock signal 349 by two or more. In one specific example, the divider circuitry 342 reduces the frequency of the clock signal 349 by ten. In such an example, the divider circuitry 342 divides the frequency of the clock signal 349 by ten to generate the clock signal 343 having a frequency of 362.5 MHz, when the frequency of the clock signal 305 is 3.625 GHz.
- the divider circuitry 342 further outputs the clock signal 349, functioning as a pass through, such that the clock signal 349 is not altered by the divider circuitry 342.
- the clock signal 349 is output to the PHY layer circuitry 32
- the clock signal 343 is output to the PHY layer circuitry 332, and the link layer circuitry 334. Further, the clock signal 343 is output to the MDLL circuitry 344.
- the MDLL circuitry 344 generates the clock signal 345 based on the clock signal 343 and the feedback signal (e.g., the clock signal 315) received from the application circuitry 312.
- the clock signal 343 is output to the application circuitry 312.
- the buffer 313 of the application circuitry 312 receives the clock signal 343 and generates the clock signal 315.
- the clock signal 315 is the capture clock signal of a flipflop 317 of the application circuitry 312. Accordingly, the clock signal 315, which is the clock signal for the application circuitry 312, is generated based on the data signal 353.
- the data signal 325 has a frequency that corresponds to an operating frequency of the application circuitry 312.
- the frequency of the data signal 325 is the same as the frequency of the clock signal 315.
- the bit data signal of the data signal 325 is greater than the bit size of the data signal 304.
- the bit size of the data signal 325 is two or more times larger than the bit size of the data signal 304, where the frequency of the data signal 304 is two or more times larger than the frequency of the data signal 325.
- the PHY layer circuitry 322 divides the frequency data signal 304 and multiples the bit size of the data signal 304 by two or more to generate the data signal 323.
- the PHY layer circuitry 322 has a multiplication ratio of twenty to one. In another example, the PHY layer circuitry 322 has other multiplication ratios.
- the link layer circuitry 324 includes a buffer 321 .
- the buffer 321 may be a FIFO buffer. While a single buffer 321 is illustrated in FIG. 3, in other examples, the link layer circuitry 324 may include multiple buffers 365.
- the buffer 321 receives a write clock signal and a read clock signal. The write clock signal and the read clock signal are in different clock domains (e.g., have different frequencies).
- the buffer 321 may include an array of memory elements that are addressed via a write pointer or a read pointer. During a write operation, data is written to the address of the write pointer. During a read operation, data is read from an address of the read pointer. In one example, the read pointer is offset from the write pointer to ensure that data being read based on the read pointer does not change while reading.
- the data signal 325 is received by the application circuitry 312 based on the clock signal 315.
- the flipflop 317 captures the data signal 325 based on the clock signal 315.
- the receiver circuitry 337 receives the sideband clock signal 308 from the driver circuitry 341 , and outputs the clock signal 338.
- the clock signal 338 is output to the clock circuitry 346.
- the clock circuitry 346 shifts the phase of the clock signal
- the clock circuitry 346 generates the clock signal 347 from the clock signal 338.
- the clock circuitry 346 reduces (e.g., divides) the frequency of the clock signal 338 by two or more.
- the clock circuitry 346 reduces (e.g., divides) the frequency of the clock signal 338 by eight.
- the clock signal 347 is received by the PHY layer circuitry 332, and the link layer circuitry 334.
- the PHY layer circuitry 332 receives the control signal 306 using the clock signal 339 and generates the control signal 333 using the clock signal 347.
- the application circuitry 314 generates the clock signal 323 that is used by the link layer circuitry 334 to generate the control signal 335 and by the application circuitry 314 to capture values of the control signal 335.
- the flipflop 319 captures values of the control signal 335 based on the clock signal 323.
- the link layer circuitry 334 receives the control signal 333 based on the clock signal 347 and generates the control signal 335 based on the clock signal 315 and the corresponding framing pattern.
- the link layer circuitry 334 identifies the beginning of the control signal 335 based on the framing pattern. In one example, a received framing signal is used to identify valid data within the control signal 335.
- the control signal 335 has a reduced frequency as compared to the control signal 333 and is within the operating frequency parameters of the application circuitry 314. In one example, the frequency of the control signal 335 is less than that of the control signal 333; however, the bit size of the control signal 335 is greater than that of the control signal 333. [0080] In above example described with regard to FIG. 3, the IC chip 310 receives the data signal 304 generated from the data signal 351 using the clock signal 305 that is generated from the data signal 351 .
- any errors within the data signal 353 and/or the IC chip 350 that result in the clock signal 305 being stopped stops (e.g., halts) the functionality of the C2C interface circuitry 320 and the application circuitry 312.
- the IC chip 310 receives the control signal 306 using the sideband clock signal 307 that is independent from the clock signal 305, any errors within the data signal 351 and/or the IC chip 350 do not affect the operation of the C2C interface circuitry 320 and the application circuitry 312. Accordingly, when errors within the data signal 351 and/or the IC chip 350 occur, the C2C interface circuitry 320 and the application circuitry 312 are able to continue to receive and process protocol words.
- the datapath associated with the application circuitry 352, the C2C interface circuitry 360, the C2C interface circuitry 320, and the application circuitry 312 may be referred to as a synchronous datapath, as the datapath transmits and receives data in synchronous with the frequency of a data signal to be transmitted.
- the sideband path associated with the application circuitry 354, the C2C interface circuitry 370, the C2C interface circuitry 330, and the application circuitry 314 may be referred to as being an asynchronous sideband path, as the sideband path transmits and receives control data (e.g., protocol word) asynchronously with the frequency of a data signal.
- the application circuitry (e.g., the application circuitry 314) receiving control data uses a locally generated clock signal to capture data.
- the locally generated clock signal is generated locally within the IC chip 310 independently from any data signals.
- the clock signal used to by the C2C interface circuitry 330 of the IC chip 310 is generated by the IC chip 350 independently from any data signals.
- the data signal 425 is communicated from the application circuitry 312 of the IC chip 310 to the application circuitry 352 of the IC chip 350 for transmission.
- the application circuitry 352 is transmitter circuitry (e.g., a transmitter circuitry of a SERDES transceiver, among others) that is configured to transmit data signals (e.g., the data signal 416).
- the clock signal 483 is output from the clock generation circuitry 382.
- the clock signal 483 is processed by the divider circuitry 384 to generate the divided clock signal 485a similar to as is described above with regard to the clock signal 383 and the divided clock signal 385a.
- the divider circuitry 384 receives the clock signal 489a from the divider circuitry 388 and generates the divided clock signal 485b as is described above with regard to the clock signal 389a and the divided clock signal 385b.
- the MDLL circuitry 386 generates the clock signal 487 from the divided clock signals 485a and 485b similar to as is described above with regard to the divided clock signals 385a and 385b and the clock signal 387.
- the clock signal 487 is output by the driver circuitry 355 as the clock signal 408 and received by the receiver circuitry 348 as the clock signal 449.
- the clock signal 408 is communicated via a pair of wires of the interface 302 as differential signals.
- the divider circuitry 342 outputs the clock signal 449 via a pass through, such that the clock signal 449 is not altered by the divider circuitry 342.
- the clock signal 408 has a frequency of 3.625 GHz.
- the clock signal 407 is communicated from the IC chip 310 to the IC chip 350 via the interface 302.
- the driver circuitry 448 of the IC chip 310 outputs the clock signal 489 as the clock signal 407 to the receiver circuitry 455 of the IC chip 350.
- the clock signal 407 is communicated via a pair of wires of the interface 302 as a differential signal. In one example, the clock signal has a frequency of 3.625 GHz.
- the receiver circuitry 455 receives the clock signal 407, and outputs the clock signal 407 to the divider circuitry 388.
- the divider circuitry 388 generates the clock signals 489a, 489b, and 489c from the clock signal 407.
- the divider circuitry 388 divides the frequency of the clock signal 407 by “Y” to generate the clock signal 489a, and by “Z” to generate the clock signal 489b, and shifts the phase of the clock signal 407 by ninety degrees to generate the clock signal 489c.
- “Y” and “Z” are one or more.
- “Y” is less than “Z”.
- “Y” is 2.5 and “Z” is five. In such an example, and when the clock signal 407 has a frequency of 3.625 GHz, the frequency of the clock signal 489a is 1.45 GHz, and the frequency of the clock signal 489b is 725 MHz.
- the divider circuitry 342 generates the clock signal 443 from the clock signal 489 by dividing the frequency of the clock signal 449 by two or more. In one example, the divider circuitry 342 divides the frequency of the clock signal 449 by ten to generate the clock signal 443. In an example where the clock signal 449 has a frequency of 3.625 GHz, dividing the frequency of the clock signal 449 by ten generates the clock signal 443 with a frequency of 362.5 MHz.
- the clock signal 443 is output the PHY layer circuitry 322, and the link layer circuitry 324, and the MDLL circuitry 344.
- the MDLL circuitry 344 additionally receives a feedback signal (e.g., the clock signal 415) form the application circuitry 312.
- the application circuitry 312 includes a buffer 313 that receives the clock signal 445 from the MDLL circuitry 344 and outputs the clock signal 415 based on the clock signal 445.
- the MDLL circuitry 344 deskews the clock signal 443, adjusting for phase alignment mismatch between the clock signal 443 and the clock signal 415, generating the clock signal 445.
- the PHY layer circuitry 322 increases the frequency of the data signal 425, and decreases the number of bits within the data signal 425 to generate the data signal 404.
- the frequency is increased by the same amount as the number of bits are decreased.
- the frequency of the data signal 425 is increased by one or more and the number of bits of the data signal 425 is decreased by one or more.
- the data signal 425 has 320 bits and a frequency of 362.5 MHz.
- the PHY layer circuitry 322 increases the frequency of the data signal 425 to the frequency of the interface 302, 7.25 GHz.
- the frequency of the data signal 425 is increased by twenty times. Accordingly, the number of bits the data signal 425 is decreased 320 bits to 16 bits, by dividing the number of bits by twenty.
- the datapath including the application circuitry 312, the C2C interface circuitry 320, the C2C interface circuitry 360, and the application circuitry 352 uses a clock signal that is based on the frequency of the data signal 471 and is synchronous with the data signal 471.
- the sideband path continues to transmit protocol words (e.g., control data) even when errors occur within the datapath, and when the datapath ceases transmitting data signals.
- FIG. 5 is a block diagram of multiple IC chip device 500.
- the multiple IC chip device 500 includes IC chip 510 and IC chip 550.
- the IC chip 510 is connected to the IC chip 550 via the interface 502.
- the IC chip 510 is configured similar to that of the IC chip 110 of FIG. 1 and the IC chip 310 of FIG. 3, the IC chip 550 is configured similar to that of the IC chip 120 of FIG. 1 and the IC chip 350, and the interface 502 is configured similar to that of the interface 130 of FIG. 1 and the interface 302 of FIG. 2.
- the IC chip 510 is a main IC chip and the IC chip 550 is an auxiliary IC chip or a chiplet.
- the multiple IC chip device 500 is configured in such a way that both a datapath and a sideband connection are used between the IC chip 510 and the IC chip 550 to communicate data and control data (or other sideband information).
- the multiple IC chip device 500 includes sideband circuitries 522, 524, 552, 562, and 564 that communicate with each via a sideband and control signal 506.
- the IC chip 550 includes application circuitry 352 and C2C interface circuitry 560.
- the C2C interface circuitry 560 includes PHY layer circuitry 362, link layer circuitry 364, protocol layer circuitry 366, and reducer circuitry 368.
- the IC chip 550 includes sideband circuitries 552, 562, and 564.
- the sideband circuitries 562 and 564 are included within the C2C interface circuitry 560.
- the sideband circuitry 562 may be included within or external to the PHY layer circuitry 362.
- the sideband circuitry 564 may be included within or external to the link layer circuitry 364.
- the IC chip 550 is configured as receiver circuitry in transceiver circuitry.
- the IC chip 550 receives the data signal 551 .
- the clock circuitry 380 includes clock generation circuitry 382, multiplying delay locked-loop (MDLL) circuitry 386, and divider circuitry 388. In one or more examples, the clock circuitry 380 includes optional divider circuitry 38.
- MDLL delay locked-loop
- the IC chip 510 includes application circuitry 512 and C2C interface circuitry 320.
- the C2C interface circuitry 320 includes PHY layer circuitry 322, link layer circuitry 324, and protocol layer circuitry 326.
- the C2C interface circuitry 320 further includes sideband circuitries 522 and 524.
- the sideband circuitry 522 is included within or external to the PHY layer circuitry 322.
- the sideband circuitry 524 is included within or external to the link layer circuitry 324.
- the IC chip 510 includes clock circuitry 340.
- the clock circuitry 340 receives the clock signal 505 (e.g., the datapath or interface clock signal) from the IC chip 550.
- the clock signal 505 is communicated as a differential signal.
- the sideband circuitry 522 and sideband circuitry 524 receives the control signal 506 from the IC chip 350.
- the control signal 506 maybe a sideband clock signal.
- the clock circuitry 340 includes divider circuitry 342 and MDLL circuitry 344.
- the clock circuitry 346 is divider circuitry.
- the IC chip 350 communicates the data signal 504, the clock signal 505, and the control signal 506 via the interface 302.
- the IC chip 550 generates the data signal 504 and the clock signal 505 based on a data signal 351.
- the clock circuitry 380 generates the clock signal 505 based on the data signal 551.
- the clock generation circuitry 382 generates the clock signals 583 and 584 from the data signal 351 .
- the clock signals 583 and 584 may be the same or differ in frequency.
- the clock generation circuitry 382 generates the clock signals 583 and 584 based on receiving the data signal 351.
- the frequency of the clock signals 583 and/or 584 corresponds to the frequency of the data signal 553 generated by the application circuitry 352 from the data signal 351 .
- the frequency of the clock signals 583 and/or 584 is 1.45 GHz and the frequency of the data signals 553 is 1.45 GHz.
- the clock signal 584 is received by the divider circuitry 384.
- the clock signal 583 functions as the clock signal for the application circuitry 352.
- the divider circuitry 384 divides the frequency of the clock signal 584 by two or more to determine a divided clock signal 585.
- the divided clock signal 585 is received by the MDLL circuitry 386.
- the MDLL circuitry 386 receives the clock signal 584.
- the MDLL circuitry 386 mitigates the delays of the clock signal 584 or 585. Further, the MDLL circuitry 386 generates the clock signal 587 from the clock signal
- the MDLL circuitry 386 multiples the frequency of the clock signal 585 (or 584) by two or more to generate the clock signal 587.
- the clock signal 587 has a frequency of 2.9 GHz.
- the clock signal 587 is output by the driver circuitry 356 as the clock signal 505 via the interface 502.
- the clock signal 505 is communicated via two wires of the interface 502 as a differential signal.
- the protocol layer circuitry 366 is bypassed as the data signal 563 is compatible with the link layer circuitry 364 and the PHY layer circuitry 362.
- the link layer circuitry 364 receives the clock signal 589b and generates a framing pattern to indicate the beginning of the data signal 563.
- the framing pattern is communicated along with the data signal 563 to the PHY layer circuitry 362.
- the data signal 563 is transmitted with a framing signal.
- the framing signal defines areas of valid data within the data signal 563.
- the framing signal is used to mask out invalid data within the data signal 563.
- the clock signal 543 is output to the PHY layer circuitry 332, and the link layer circuitry 334. Further, the clock signal 543 is output to the MDLL circuitry 344.
- the MDLL circuitry 344 generates the clock signal 545 based on the clock signal 543 and the feedback signal (e.g., the clock signal 515) received from the application circuitry 512.
- the clock signal 543 is output to the application circuitry 512.
- the buffer 313 of the application circuitry 512 receives the clock signal 545 and generates the clock signal 515.
- the clock signal 515 is the capture clock signal of a flipflop 517 of the application circuitry 512. Accordingly, the clock signal 515, which is the clock signal for the application circuitry 512, is generated based on the data signal 553.
- the feedback signal (e.g., the clock signal 515) is used by the MDLL circuitry 344 to deskew the clock signal 543 and for phase alignment of the clock signal 543.
- the PHY layer circuitry 322 receives the data signal 504 and generates the data signal 523 from the data signal 504 and the clock signals 549 and 543. In one example, the PHY layer circuitry 322 receives the data signal 504 using the clock signal 549 and generates the data signal 553 using the clock signal 543.
- the divider circuitry 388 divides the frequency of the clock signal 607 by “Y” to generate the clock signal 689a, and by “Z” to generate the clock signal 689b, and shifts the phase of the clock signal 607 by ninety degrees to generate the clock signal 689c.
- “Y” and “Z” are one or more. In one example, “Y” is less than “Z”. In one specific example, “Y” is 2.5 and “Z” is five.
- the divider circuitry 342 generates the clock signal 643 from the clock signal 689 by dividing the frequency of the clock signal 649 by two or more. In one example, the divider circuitry 342 divides the frequency of the clock signal 649 by ten to generate the clock signal 643.
- the clock signal 643 is output the PHY layer circuitry 322, and the link layer circuitry 324, and the MDLL circuitry 344.
- the MDLL circuitry 344 additionally receives a feedback signal (e.g., the clock signal 615) form the application circuitry 312.
- the application circuitry 312 includes a buffer 313 that receives the clock signal 645 from the MDLL circuitry 344 and outputs the clock signal 615 based on the clock signal 645.
- the MDLL circuitry 344 deskews the clock signal 643, adjusting for phase alignment mismatch between the clock signal 643 and the clock signal 615, generating the clock signal 645.
- the clock signal 615 is used by the application circuitry 312 to output the data signal 625.
- the flipflop 317 captures and outputs values of the data signal 616 based on the clock signal 615.
- the link layer circuitry 324 receives the data signal 625 using the clock signal 643 and outputs the data signal 627 to the PHY layer circuitry 322 with a framing pattern.
- the link layer circuitry 324 generates the framing pattern from the data signal 627.
- the PHY layer circuitry 322 receives the data signal 627 and the framing pattern using the clock signal 643 and outputs the data signal 627 and the framing pattern as the data signal 604 using the clock signal 649.
- the data signal 627 is transmitted with a framing signal.
- the framing signal defines areas of valid data within the data signal 627.
- the framing signal is used to mask out invalid data within the data signal 627.
- the PHY layer circuitry 322 increases the frequency of the data signal 627, decreasing the number of bits within the data signal 627 to generate the data signal 604. In one example, the frequency is increased by the same amount as the number of bits are decreased. For example, the frequency of the data signal 627 is increased by one or more and the number of bits of the data signal 627is decreased by one or more.
- the PHY layer circuitry 362 receives the data signal 604 and the framing pattern using the clock signal 689c.
- the PHY layer circuitry 362 outputs the data signal 663 and the framing pattern using the clock signal 689b.
- the link layer circuitry 364 detects the framing pattern and identifies the start of the data signal 663 using the clock signal 689b.
- the link layer circuitry 364 outputs the data signal 667 having a frequency based on the clock signal 689b. As the frequency of the clock signal 689b is less than the frequency of the data signal 604, the link layer circuitry 364 increases the number of bits within the data signal 667 based on the difference between the frequency of the data signal 604 and the clock signal 689b.
- the data signal 667 is received by the reducer circuitry 368 that adjusts the frequency and bit size of the data signal 667 to generate the data signal 669.
- the reducer circuitry 368 further receives the clock signal 689a.
- the reducer circuitry 368 adjusts the frequency of the data signal 667 based on the frequency of the clock signal 689a. As the frequency of the clock signal 689a is greater than the frequency of the data signal 667, the reducer circuitry 368 increases the frequency of the data signal 667 to generate the data signal 669.
- the frequency of the data signal 669 is the frequency of the clock signal 689a.
- the application circuitry 352 receives the data signal 669 and transmits the data signal 669 out of the IC chip 350.
- the control word 609 is transmitted from the IC chip 510 to the IC chip 550 via the interface 502.
- the control signal 609 may be a sideband clock signal and/or include an indication of the frequency of the sideband clock signal.
- the sideband circuitries 522 and 524 generate the sideband clock signal and/or data indicating the frequency of the sideband clock signal, and transmits the control signal 609 containing the sideband clock signal, or information corresponding to the sideband clock signal.
- the sideband clock signal is generated independent from the clock signals 608 and 607, and the independent from the data signal 616.
- the frequency of the sideband clock signal differs from the frequency of the clock signal 607 or 608.
- the frequency of the sideband clock signal is less than the frequency of the clock signal 607 or 608.
- the sideband clock signal transmitted as the control signal 609 is asynchronous with the data signal 671.
- the datapath including the application circuitry 312, the C2C interface circuitry 320, the C2C interface circuitry 360, and the application circuitry 352 uses a clock signal that is based on the frequency of the data signal 671 and is synchronous with the data signal 671.
- the control signal path continues to transmit control data and a sideband clock signal even when errors occur within the datapath, and when the datapath ceases transmitting data signals.
- the interfaces 502 and 502 communicate control data via a sideband path.
- the sideband path of the interface 502 and 502 includes one or more data lines.
- the sideband path includes one data line, and a single port of the IC chip 510 and a single port of the IC chip 550.
- the sideband path includes more than one data line, and more than one port of the IC chip 510 and more than one port of the IC chip 550.
- the interfaces 502 and 502 use two or more data lines to communicate the data signal 504, clock signals 505, the data signal 604, and the clock signals 608, and 607, respectively.
- the interfaces 502 and 502 include 40 or more data lines.
- the data is serialized and deserialized.
- the clock signal source may be constant. Accordingly, errors may occur within the transmission of that data.
- synchronization with a high-speed clock signal generated within the IC chip e.g., the IC chip 110 or 120 is used.
- FIG. 7 illustrates waveforms of various clock signals, control signals, and data signals.
- the clock signal 710 is a clock signal of application circuitry (e.g., the application circuitry 210 of FIG. 7).
- the clock signal 712 is the clock signal for a PHY layer circuitry (e.g., the PHY layer circuitry 216 of FIG. 2) and the clock signal 714 is a clock signal of link layer circuitry (e.g., the link layer circuitry 214 of FIG. 2).
- the signal 716 is a mux select signal and data signal 718 is channel data signal.
- the signal 720 is a link layer circuitry clock signal of a receiver (e.g., the link layer circuitry 224 of FIG.
- one or more the MDLL circuitries 840, 842, 881 , and 886 of FIG. 8 are configured in a primary-secondary configuration.
- a primary MDLL circuitry is locked to the respective C2C interface clock signal.
- the primary MDLL circuitry sets the control voltage for the C2C interface circuitry.
- the primary MDLL circuitry provides a continuous clock signal for regenerating the corresponding fabric (e.g., application circuitry) clock signal.
- a secondary MDLL circuitry creates a burst clock signal.
- the burst clock signal may be used by the PHY layer circuitry (e.g., the PHY layer circuitry 322, 332, 822, 836, 892, 922 and/or 982 of FIGs. 3-6, and 8-9).
- the burst clock signal starts at a rising edge of a clock signal for the application circuitry.
- FIG. 8 illustrates a multiple IC chip device 800.
- the multiple IC chip device 800 includes an IC chip 810 and an IC chip 850.
- the IC chip 810 and 850 are main IC chips configured similar to the IC chip 110 and the IC chip 120 of FIG. 1.
- the IC chip 810 includes application circuitry 812, application circuitry 814, C2C interface circuitry 820, and C2C interface circuitry 830.
- the IC chip 810 includes clock circuitry 840, clock circuitry 842, driver circuitry 844, driver circuitry 846, and receiver circuitry 848.
- the C2C interface circuitry 820 includes PHY layer circuitry 822, link layer circuitry 824, and protocol layer circuitry 826.
- the C2C interface circuitry 820 is configured similar to the C2C interface circuitry 112.
- the PHY layer circuitry 822 is configured similar to the PHY layer circuitry 216 of FIG. 2
- the link layer circuitry 824 is configured similar to the link layer circuitry 214 OF FIG. 2
- the protocol layer circuitry 826 is configured similar to the protocol layer circuitry 212 of FIG. 2.
- the C2C interface circuitry 830 includes PHY layer circuitry 832, link layer circuitry 834, and protocol layer circuitry 836.
- the C2C interface circuitry 830 is configured similar to the C2C interface circuitry 112.
- the PHY layer circuitry 832 is configured similar to the PHY layer circuitry 216 of FIG. 2
- the link layer circuitry 834 is configured similar to the link layer circuitry 214 OF FIG. 2
- the protocol layer circuitry 836 is configured similar to the protocol layer circuitry 212 of FIG. 2.
- the IC chip 850 includes application circuitry 852, application circuitry 854, C2C interface circuitry 860, and C2C interface circuitry 870. Further, the IC chip 850 includes clock circuitry 880, clock circuitry 881 , receiver circuitry 883, receiver circuitry 889, and driver circuitry 852.
- the C2C interface circuitry 860 includes PHY layer circuitry 882, link layer circuitry 884, and protocol layer circuitry 866.
- the C2C interface circuitry 860 is configured similar to the C2C interface circuitry 112.
- the PHY layer circuitry 882 is configured similar to the PHY layer circuitry 216 of FIG. 2
- the link layer circuitry 884 is configured similar to the link layer circuitry 214 OF FIG. 2
- the protocol layer circuitry 866 is configured similar to the protocol layer circuitry 212 of FIG. 2.
- the C2C interface circuitry 870 includes PHY layer circuitry 872, link layer circuitry 894, and protocol layer circuitry 896.
- the C2C interface circuitry 870 is configured similar to the C2C interface circuitry 112.
- the PHY layer circuitry 872 is configured similar to the PHY layer circuitry 216 of FIG. 2
- the link layer circuitry 874 is configured similar to the link layer circuitry 214 OF FIG. 2
- the protocol layer circuitry 876 is configured similar to the protocol layer circuitry 212 of FIG. 2.
- the application circuitry 812 outputs the data signal 813 based on the clock signal 815.
- the clock signal 815 is the clock signal of the application circuitry 812.
- the clock signal 815 is output to the clock circuitry 840.
- the clock circuitry 840 also receives the clock signal 817.
- the clock signal 817 is generated and output from clock generation circuitry (not shown) that is internal to or external to the IC chip 810.
- the clock circuitry 840 divides the frequency of the clock signal 817 and synchronizes the clock signal 817 with the clock signal 815 to generate the clock signal 841.
- the clock circuitry 840 divides the frequency of the clock signal 817 by two or more. In one example, the clock circuitry 840 divides the frequency of the clock signal 817 by eight.
- the clock circuitry 840 outputs the clock signal 843.
- the clock signal 843 is the clock signal 817.
- the clock circuitry 840 functions as a pass through, outputting the clock signal 843 such that the clock signal 817 is the same as the clock signal 843.
- the clock signal has a frequency of 4 GHz. In one or more examples, the clock signal has a frequency greater than or less than 4 GHz.
- the link layer circuitry 824 receives the clock signal 841 and the data signal 813.
- the link layer circuitry 824 generates a framing pattern from the data signal 813.
- the link layer circuitry 824 generates the data signal 825 based on the clock signal 841 .
- the data signal 813 is transmitted with a framing signal.
- the framing signal defines areas of valid data within the data signal 813.
- the framing signal is used to mask out invalid data within the data signal 813.
- the frequency of the data signal 825 is greater than that of the data signal 813 and the number of bits within the data signal 825 is less than that of the data signal 813. In one example, the number of bits within the data signal 825 is decreased by the same factor as the frequency of the data signal 825 is increased by with respect to the number of bits and frequency of the data signal 813.
- the frequency of the data signal 825 is based on the frequency of the clock signal 841. In one example, the frequency of the data signal 825 is the same as the frequency of the data signal 841.
- the PHY layer circuitry 822 receives the clock signal 841 , the clock signal 843, and the data signal 825 (and the corresponding framing pattern).
- the PHY layer circuitry 822 receives the data signal 825 using the clock signal 841.
- the PHY layer circuitry 822 generates and outputs the data signal 827 and the corresponding framing pattern using the clock signal 841.
- a framing signal may be received and used to detect valid bits within the data signal 827.
- the frequency of the data signal 827 is greater than that of the data signal, and the number of bits within the data signal 827 is less than that of data signal 825.
- the number of bits within the data signal 827 is decreased by the same factor as the frequency of the data signal 827 is increased with respect to the number of bits and frequency of the data signal 825.
- the frequency of the data signal 827 is based on the frequency of the clock signal 843. In one example, the frequency of the data signal 827 is the same as the frequency of the clock signal 843.
- the data signal 827 is transmitted at 4 GHz. Further, the data signal 827 is transmitted using a double data rate process.
- the driver circuitry 844 receives the clock signal 843 and outputs the clock signal 843 to the receiver circuitry 883 of the IC chip 850. Further, the driver circuitry 846 outputs the clock signal 845 to the receiver circuitry 884 of the IC chip 850.
- the clock signal 845 is generated and transmitted via sideband circuitry as described above with regard to FIGs. 5 and 6. In one example, the clock signal 843 is generated at a transition (e.g., a rising edge or a falling edge) of the clock signal 845.
- the data signal 863, the corresponding framing pattern, and the clock signal 892 are received by the link layer circuitry 884.
- the link layer circuitry 884 uses the clock signal 892 to receive the data signal 863 and corresponding framing pattern.
- the link layer circuitry 884 uses the framing pattern to identify the start of the data signal 863.
- a framing signal is received and used to identify the valid data within the data signal 863.
- the data signal 865 is received by the application circuitry 852.
- the application circuitry 852 receives the data signal 865 using the clock signal 894.
- the clock circuitry 881 is a MDLL that receives the clock signal 815 from the receiver circuitry 884.
- the clock circuitry 881 further receives a feedback signal (e.g., the clock signal 894).
- the clock circuitry 881 mitigates phase alignment errors and deskews the clock signal 815 based on the feedback signal, generating and outputting the clock signal 893.
- the clock signal 893 is received by the application circuitry 852.
- the application circuitry 852 includes buffer 853 and flipflop 855.
- the buffer 853 outputs the clock signal 894 from the clock signal 893.
- the clock signal 894 is received by and used by the flipflop 855 to receive the data signal 865.
- the clock signal 894 is further received by the clock circuitry 886.
- the clock circuitry 886 additional receives the clock signal 895 from clock generation circuitry (not shown) that is external or internal to the IC chip 850.
- the clock circuitry 886 uses the clock signal 894 to synchronize the clock signal 895, generating the clock signals 887 and 897.
- the clock signal 887 is the same as the clock signal 895.
- the clock signal 895 is the same as the clock signal 817.
- the clock signal 895 may have a frequency of 4 GHz. In other examples, the clock signal 895 has a frequency greater than or less than 4 GHz.
- the link layer circuitry 874 receives the clock signal 897 from the clock circuitry 886.
- the link layer circuitry 874 receives the data signal 857 from the application circuitry 854 using the clock signal 897.
- the link layer circuitry 874 generates a framing pattern and the data signal 875 from the data signal 857 using the clock signal 897.
- the frequency of the data signal 875 is greater than that of the data signal 857, and the bit size of the data signal is smaller than that of the data signal 857.
- the data signal 875 is transmitted with a framing signal.
- the framing signal defines areas of valid data within the data signal 875.
- the framing signal is used to mask out invalid data within the data signal 875.
- the PHY layer circuitry 872 receives the clock signal 896 and 897.
- the PHY layer circuitry 872 receives the data signal 875 and corresponding framing pattern, using the clock signal 897, and generates the data signal 873 from the data signal using the clock signal 896.
- a framing signal is received and used to identify valid data within the data signal 873.
- the application circuitry 814 receives the clock signal 815 and uses the clock signal 815 to receive the data signal 835.
- the application circuitry 814 includes a flipflop 819.
- the flipflop 819 receives the data signal 835 using the clock signal 815.
- the clock signal e.g., the clock signal 815
- the application circuitry 812 transmitting a data signal is communicated, shared, within the IC chips 810 and 850 such that the application circuitries 812, 814, 852, and 854 are driven by the same clock signal, e.g., the clock signal 815.
- the C2C interface circuitries 820 and 860 of the IC chips 810 and 850 respectively, operate based on the same clock signal, e.g., the clock signal 843.
- the clock signal is transmitted between the IC chips 810 and 850 such that the C2C interface circuitries 820 and 860 operate based on the same clock signal.
- the C2C interface circuitries 830 and 890 of the IC chips 810 and 850, respectively, operate based on the same clock signal, e.g., the clock signal 887.
- the clock signal 887 is transmitted between the IC chips 810 and 850 such that the C2C interface circuitries 860 and 890 operate based on the same clock signal.
- FIG. 9 illustrates a multiple IC chip device 900, according to one or more examples.
- the multiple IC chip device 900 includes an IC chip 910 and an IC chip 950.
- the IC chip 910 includes application circuitry 912, and C2C interface circuitry 920. Further, the IC chip 810 includes driver circuitry 918.
- the C2C interface circuitry 920 includes PHY layer circuitry 922, link layer circuitry 924, and protocol layer circuitry 926.
- the C2C interface circuitry 920 is configured similar to the C2C interface circuitry 112 of FIG. 1 .
- the PHY layer circuitry 922 is configured similar to the PHY layer circuitry 216 of FIG. 2
- the link layer circuitry 924 is configured similar to the link layer circuitry 214 OF FIG. 2
- the protocol layer circuitry 926 is configured similar to the protocol layer circuitry 212 of FIG. 2.
- the IC chip 950 includes application circuitry 952, and C2C interface circuitry 960. Further, the IC chip 950 includes receiver circuitry 958.
- the C2C interface circuitry 960 includes PHY layer circuitry 962, link layer circuitry 964, and protocol layer circuitry 966.
- the C2C interface circuitry 960 is configured similar to the C2C interface circuitry 112 of FIG. 1.
- the PHY layer circuitry 962 is configured similar to the PHY layer circuitry 216 of FIG. 2
- the link layer circuitry 964 is configured similar to the link layer circuitry 214 OF FIG. 2
- the protocol layer circuitry 966 is configured similar to the protocol layer circuitry 212 of FIG. 2.
- the clock signal 992 is generated by clock generation circuitry, not shown, connected to the input of the buffer 916.
- the flipflop 914 receives the clock signal 992 and outputs the data signal 990 based on the clock signal 992. Further, the clock signal 992 is received by the driver circuitry 918, which outputs the clock signal 992 to the receiver circuitry 958.
- the clock signal 992 is output from the receiver circuitry 958 and is received by the application circuitry. For example, the clock signal 992 is received and output by the buffer 956, and then received by the flipflop 954.
- the PHY layer circuitry 922 outputs the data signal 990 via the interface 902.
- the PHY layer circuitry 962 receives the data signal 990 via the interface 902 and outputs the data signal 990 to the application circuitry 952.
- the application circuitry 952 receives the data signal 990 using the clock signal 992.
- the application circuitry 952 includes flipflop 954 that receives the clock signal 992 from the buffer 956, and the flipflop 954 uses the clock signal 992 to receive the data signal 990.
- the clock signal 992 is used to by the IC chip 910 and 950 to transmit and receive the data signal 990.
- the clock signal 992 is transmitted via sideband circuitry of the C2C interface circuitry 920 and the C2C interface circuitry 960 as is described above with regard to FIGs. 5 and 6.
- FIG. 10 illustrates example clock generation circuitry 1000, according to one or more examples.
- the clock generation circuitry 1000 may be used to deskew clock signals within an IC chip (e.g., the IC chip 110 and/or 120 of FIG. 1 ).
- the clock generation circuitry includes MDLL circuitry 1010, phase interpolator circuitry 1020, phase reference circuitry 1030, and phase detector circuitry 1040.
- the clock generation circuitry 1000 may be used as part of the clock circuitry 344 of FIG. 3 and/or the clock circuitry 881 of FIG. 8.
- the clock generation circuitry 1000 generates the clock signals 1062, 1064, and 1066 and drives, outputs, the clock signals 1062, 1064, and 1066 onto the clock tree circuitry 1050.
- the clock tree circuitry 1050 includes PHY layer clock tree circuitry 1052, link and protocol clock tree circuitry 1054, and application clock tree circuitry 1056.
- the PHY layer clock tree circuitry 1052 corresponds to the PHY layer circuitry 216 of FIG. 2
- the link and protocol clock tree circuitry 1054 corresponds to the link layer circuitry 214 and the protocol layer circuitry 212 of FIG. 2
- the application clock tree circuitry 1056 corresponds to application circuitry 210 of FIG. 2.
- the MDLL circuitry 1010 receives the clock signal 1008 and generates the clock signals 1012, 1014, and 1016 from the clock signal 1008 and feedback signal.
- the frequency of the clock signal 1012 is greater than the frequency of the clock signal 1014, and the frequency of the clock signal 1014 is greater than the frequency of the clock signal 1016.
- the clock signals 1012, 1014, and 1016 are received by the phase interpolator circuitry 1020.
- the phase interpolator circuitry 1020 further receives phase signal 841 , 1043, and 1045 from the phase detector circuitry 1040.
- the phase detector circuitry 1040 receives a clock signal 1053, 1055, and 1057 from the clock tree circuitry 1050.
- the phase detector circuitry 1040 includes phase detector segment circuitry 1042, phase detector segment circuitry 1044, and phase detector segment circuitry 1046.
- the phase detector segment circuitry 1042 determines a phase difference between the clock signals 1053 and 1055
- the phase detector segment circuitry 1044 determines a phase difference between the clock signals 1055 and 1057
- the phase detector segment circuitry 1046 determines the phase difference between the clock signal 1053 and the clock signal 1062.
- the phase detector segment circuitry 1042 generates and outputs the phase signal 1043 based on the difference in phase between the clock signals 1053 and 1055, the phase detector segment circuitry 1044 generates and outputs the phase signal 1045 based on the difference in phase between the clock signals 1053 and 1057, and the phase detector segment circuitry 1046 generates and outputs the phase signal 1047 based on the difference in phase between the clock signals 1053 and 1062.
- the phase interpolator circuitry 1020 includes phase interpolator circuitry 1022, phase interpolator circuitry 1024, and phase interpolator circuitry 1026.
- the phase interpolator circuitry 1022 receives the clock signal 1012, the reference clock signal 1031 , and the phase signal 1043, and generates the clock signal 1062.
- the phase interpolator circuitry 1022 adjusts the phase of the clock signal 1012 based on the phase signal 1043, and the reference clock signal 1031 to generate the clock signal 1062.
- the phase interpolator circuitry 1024 receives the clock signal 1014, the reference clock signal 1031 , and the phase signal 1045, and generates the clock signal 1064.
- the phase interpolator circuitry 1024 adjusts the phase of the clock signal 1014 based on the phase signal 1045, and the reference clock signal 1031 to generate the clock signal 1064.
- the phase interpolator circuitry 1026 receives the clock signal 1016, the reference clock signal 1031 , and the phase signal 1047, and generates the clock signal 1066.
- the phase interpolator circuitry 1026 adjusts the phase of the clock signal 1016 based on the phase signal 1047 and the reference clock signal 1031 to generate the clock signal 1066.
- an IC device comprises a first IC chip, a second IC chip, and a chip-to-chip interface connected between the first IC chip and the second IC chip.
- the chip-to-chip interface is configured to communicate an interface clock signal and a logic clock signal between the first IC chip and the second IC chip.
- the interface clock signal is synchronous with a data signal received by one of the first IC chip and the second IC chip, and the logic clock signal is asynchronous with the data signal.
- the logic clock signal is independently generated from the interface clock signal.
- the first IC chip is configured as a receiver and outputs the interface clock signal and the logic clock signal
- the second IC chip is configured as a transmitter and receives the interface clock signal and the logic clock signal from the first IC chip.
- the first IC chip is configured as a receiver, and outputs the logic clock signal and receives the interface clock signal
- the second IC chip is configured as a transmitter and outputs the interface clock signal and receives the logic clock signal.
- the first IC chip is further configured to output the interface clock signal to the second IC chip based on receiving the interface clock signal from the second IC chip, and the second IC chip uses the interface clock signal to receive a second data signal.
- one of the first IC chip and the second IC chip is configured to receive the interface clock signal
- the one of the first IC chip and the second IC chip comprises divider circuitry configured to receive the interface clock signal and generate a first clock signal having a frequency that is less than a frequency of the interface clock signal, and clock circuitry configured to receive the first clock signal and phase align the first clock signal.
- the chip-to-chip interface is further configured to communicate a second data signal between the first IC chip and the second IC chip, and a frequency of the data signal is greater than a frequency of the interface clock signal. In one or more examples, the chip-to-chip interface is further configured to communicate a control signal between the first IC chip and the second IC chip, and a frequency of the control signal is greater than a frequency of the second data signal. In one or more examples, the interface clock signal and the control signal are differential signals. In one or more examples, the interface clock signal and the logic clock signal are communicated during at least partially overlapping periods.
- a chip-to-chip interface configured to communicate an interface clock signal between IC chip and a second IC chip.
- the first IC chip and the second IC chip are connected with each via the chip-to-chip interface.
- the interface clock signal is synchronous with a data signal.
- the chip-to-chip interface is further configured to communicate a logic clock signal between the first IC chip and the second IC chip.
- the logic clock signal is asynchronous with the data signal.
- the logic clock signal is independently generated from the interface clock signal.
- the first IC chip is configured as a receiver and outputs the interface clock signal and the logic clock signal
- the second IC chip is configured as a transmitter and receives the interface clock signal and the logic clock signal from the first IC chip.
- the first IC chip is configured as a receiver, and outputs the logic clock signal and receives the interface clock signal
- the second IC chip is configured as a transmitter and outputs the interface clock signal and receives the logic clock signal.
- the first IC chip is further configured to output the interface clock signal to the second IC chip based on receiving the interface clock signal from the second IC chip, and the second IC chip uses the interface clock signal to receive a second data signal.
- the chip-to-chip interface is further configured to communicate a second data signal between the first IC chip and the second IC chip, and a frequency of the data signal is greater than a frequency of the interface clock signal. In one or more examples, the chip-to-chip interface is further configured to communicate a control signal between the first IC chip and the second IC chip, and a frequency of the control signal is greater than a frequency of the second data signal.
- IC chip includes a chip-to-chip interface connected to a second IC chip, the chip-to-chip interface configured to communicate an interface clock signal to the second IC chip, the interface clock signal is synchronous with a data signal received the IC chip, and communicate a logic clock signal to the second IC chip, the logic clock signal is asynchronous with the data signal.
- the logic clock signal is independently generated from the interface clock signal.
- the chip-to- chip interface is further configured to communicate a second data signal to the second IC chip, and a frequency of the data signal is greater than a frequency of the interface clock signal.
- IC device includes a first IC chip, a second IC chip, and a chip-to-chip interface connected between the first IC chip and the second IC chip.
- the chip-to-chip interface configured to communicate an interface clock signal and a logic clock signal between the first IC chip and the second IC chip.
- a frequency of the interface clock signal is a multiple of a frequency of the logic clock signal.
- the frequency of the interface clock signal is at least two times the frequency of the logic clock signal.
- the chip-to-chip interface is further configured to communicate a data signal between the first IC chip and the second IC chip, and the data signal is synchronized to the interface clock signal.
- the chip-to- chip interface is further configured to communicate a data signal between the first IC chip and the second IC chip, and the chip-to-chip interface is configured to communicate a framing pattern with the data signal.
- the chip-to-chip interface is configured to communicate a data signal using a framing signal, the framing signal defines areas of valid data within the data signal.
- the interface clock signal is generated by one of the first IC chip and the second IC chip. In one or more examples, the interface clock signal is generated based on a rising edge of the logic clock signal. In one or more examples, the first IC chip comprises first application circuitry and second application circuitry, and the second IC chip comprises third application circuitry and fourth application circuitry, and the first application circuitry, the second application circuitry, the third application circuitry, and the fourth application circuitry are configured to function based on the logic clock signal.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Semiconductor Integrated Circuits (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Microcomputers (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/073,288 US12273106B2 (en) | 2022-12-01 | 2022-12-01 | Clocking architecture for communicating synchronous and asynchronous clock signals over a communication interface |
| US18/073,327 US12130769B2 (en) | 2022-12-01 | 2022-12-01 | Clocking architecture for communicating clock signals having different frequencies over a communication interface |
| PCT/US2023/035614 WO2024118171A1 (en) | 2022-12-01 | 2023-10-20 | Clocking architecture for communicating clock signals over a communication interface |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4627447A1 true EP4627447A1 (en) | 2025-10-08 |
Family
ID=88874648
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23809791.9A Pending EP4627447A1 (en) | 2022-12-01 | 2023-10-20 | Clocking architecture for communicating clock signals over a communication interface |
Country Status (5)
| Country | Link |
|---|---|
| EP (1) | EP4627447A1 (en) |
| JP (1) | JP2025539878A (en) |
| KR (1) | KR20250112787A (en) |
| CN (1) | CN120283229A (en) |
| WO (1) | WO2024118171A1 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11121109B2 (en) * | 2017-10-26 | 2021-09-14 | Intel Corporation | Innovative interconnect design for package architecture to improve latency |
| US12481614B2 (en) * | 2021-12-30 | 2025-11-25 | Intel Corporation | Standard interfaces for die to die (D2D) interconnect stacks |
| US20220271912A1 (en) * | 2021-12-30 | 2022-08-25 | Gerald Pasdast | Clock phase management for die-to-die (d2d) interconnect |
-
2023
- 2023-10-20 CN CN202380082647.0A patent/CN120283229A/en active Pending
- 2023-10-20 JP JP2025531180A patent/JP2025539878A/en active Pending
- 2023-10-20 WO PCT/US2023/035614 patent/WO2024118171A1/en not_active Ceased
- 2023-10-20 KR KR1020257018613A patent/KR20250112787A/en active Pending
- 2023-10-20 EP EP23809791.9A patent/EP4627447A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN120283229A (en) | 2025-07-08 |
| JP2025539878A (en) | 2025-12-09 |
| WO2024118171A1 (en) | 2024-06-06 |
| KR20250112787A (en) | 2025-07-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12287748B2 (en) | High-speed low-latency interconnect interface (HLII) for silicon interposer interconnection | |
| US7958285B1 (en) | System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip | |
| US6715094B2 (en) | Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers | |
| US7975082B2 (en) | System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip | |
| US8527676B2 (en) | Reducing latency in serializer-deserializer links | |
| US7460630B2 (en) | Device and method for synchronous data transmission using reference signal | |
| US6654897B1 (en) | Dynamic wave-pipelined interface apparatus and methods therefor | |
| US8006008B2 (en) | Apparatus and method for data processing having an on-chip or off-chip interconnect between two or more devices | |
| US12085976B2 (en) | Semiconductor die, electronic component, electronic apparatus and manufacturing method thereof | |
| CN114614823B (en) | Chip clock synchronization method, data acquisition card and data acquisition system | |
| US12273106B2 (en) | Clocking architecture for communicating synchronous and asynchronous clock signals over a communication interface | |
| US12130769B2 (en) | Clocking architecture for communicating clock signals having different frequencies over a communication interface | |
| US6170027B1 (en) | LPC/ISA bridge and its bridging method | |
| US11283589B2 (en) | Deskewing method for a physical layer interface on a multi-chip module | |
| US7966468B1 (en) | Apparatus, system, and method for fast read request transfer through clock domains | |
| WO2024118171A1 (en) | Clocking architecture for communicating clock signals over a communication interface | |
| US6640277B1 (en) | Input staging logic for latching source synchronous data | |
| CN112631976A (en) | Configurable hardware IP circuit structure | |
| CN120316049A (en) | A multifunctional data acquisition and transmission system based on PXIe | |
| CN116756073A (en) | Method for improving read-write speed of SPI slave | |
| US6016521A (en) | Communication control device | |
| JP5926583B2 (en) | Information processing apparatus, serial communication system, communication initialization method thereof, and serial communication apparatus | |
| US7269681B1 (en) | Arrangement for receiving and transmitting PCI-X data according to selected data modes | |
| CN206741478U (en) | A kind of expansible adaptive N × N channel data communication system | |
| CN113220609B (en) | Signal receiving and transmitting system and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250618 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |