WO2018026460A1 - Dynamic clock-data phase alignment in a source synchronous interface circuit - Google Patents

Dynamic clock-data phase alignment in a source synchronous interface circuit Download PDF

Info

Publication number
WO2018026460A1
WO2018026460A1 PCT/US2017/040999 US2017040999W WO2018026460A1 WO 2018026460 A1 WO2018026460 A1 WO 2018026460A1 US 2017040999 W US2017040999 W US 2017040999W WO 2018026460 A1 WO2018026460 A1 WO 2018026460A1
Authority
WO
WIPO (PCT)
Prior art keywords
clock
signal
clock signal
circuit
data
Prior art date
Application number
PCT/US2017/040999
Other languages
French (fr)
Inventor
Dinesh PATIL
Kok Hong Chan
Wai Tat WONG
Chuan Thim KHOR
Original Assignee
Altera Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Altera Corporation filed Critical Altera Corporation
Publication of WO2018026460A1 publication Critical patent/WO2018026460A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/0805Details of the phase-locked loop the loop being adapted to provide an additional control signal for use outside the loop
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0814Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Definitions

  • the present embodiments relate to integrated circuits and, more particularly, to dynamic clock-data phase alignment in a source-synchronous interface circuit.
  • Signal transmission and reception is the basis for communication between circuits within electronic devices as well as between circuits within different electronic devices.
  • CDR Clock-data recovery
  • the clock signal must be phase shifted relative to the data signal to enable the capture of the data.
  • edge-aligned clock and data signals must be phase shifted relative to each other by 90 degrees such that the edge of the clock signal is aligned with the center of the data signal, thereby enabling the storage of the data signal in a storage circuit that is triggered by an edge of the clock signal.
  • Dynamic phase alignment (DPA) technology has been developed to address the phase alignment in interfaces that require data ranges above 700 megabits per second (Mbps) .
  • the goal of dynamic phase alignment (DPA) is to allow devices to actively respond to changes in skew between the transmitted clock and data signals.
  • Integrated circuits that are equipped with DPA continuously check the incoming data signal and adjust the phase of the clock signal to align with it.
  • SPI System Packet Interface
  • Clock-data phase alignment circuitry may include clock phase adjustment circuitry, first and second clock distribution networks, and a storage circuit.
  • the clock phase adjustment circuitry may receive a differential clock with first and second clock signals that are complementary to each other.
  • the first clock distribution network may receive the first clock signal and propagate the first clock signal through at least one first clock buffer to provide a delayed first clock signal.
  • the storage circuit may receive the delayed first clock signal and a data signal and store the data signal based on the delayed first clock signal, and a second clock distribution network coupled between the first clock distribution network and the clock phase
  • adjustment circuitry may receive the delayed first clock signal and propagate the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to the clock phase adjustment circuitry.
  • the above mentioned clock-data phase alignment circuitry may replicate at least a branch of the first clock distribution network in the second clock distribution network, and each of the at least first and second clock buffers may have a delay of less than half a unit interval (UI) .
  • UI unit interval
  • the clock phase adjustment circuitry may further include a first adjustable delay circuit that delays the first clock signal by a first adjusted delay and a second adjustable delay circuit that delays the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal.
  • the above mentioned clock phase adjustment circuitry may further include a phase detector, a delay control circuit, and/or a register.
  • the phase detector may provide a control signal based on a phase difference between the second clock signal and the feedback clock signal
  • the delay control circuit may adjust the first and second adjusted delays of the first and second adjustable delay circuits, respectively, based on the control signal
  • the register may provide the control signal by storing the second clock signal based on the feedback signal.
  • FIG. 1 is a diagram of an illustrative system of interconnected circuits in accordance with an embodiment.
  • FIG. 2 is a diagram of an illustrative integrated circuit with clock-data phase alignment circuitry in accordance with an embodiment.
  • FIG. 3 is a diagram of an illustrative programmable integrated circuit in accordance with an embodiment.
  • FIG. 4 is a diagram of illustrative clock-data phase alignment circuitry in accordance with an embodiment.
  • FIG. 5A is a diagram of illustrative clock phase adjustment circuitry in accordance with an embodiment.
  • FIG. 5B is a diagram of illustrative clock phase adjustment circuitry coupled to first and second clock
  • FIG. 6 is an illustrative timing diagram showing the phase relationships between the clock and data signals of FIG. 5B.
  • FIG. 7 is a diagram of a flow chart showing illustrative steps for operating clock-data phase alignment circuitry in accordance with an embodiment. Detailed Description
  • the present embodiments provided herein relate to integrated circuits and, more particularly, to dynamic clock-data phase alignment in a source-synchronous interface circuit.
  • Source-synchronous interface standards require the transmission and reception of a clock signal that is transmitted separately from the data signal.
  • the clock signal On the receiver side, the clock signal must be phase shifted relative to the data signal to enable the capture of the data.
  • edge-aligned clock and data signals are preferably phase shifted relative to each other by 90 degrees such that the edge of the clock signal is aligned with the center of the data signal, thereby sampling the data signal in a storage circuit at an edge of the clock signal.
  • Some implementations use the clock signal of the source-synchronous interface to clock input capture registers directly.
  • the clock signal drives a delay-locked loop (DLL) circuit or a phase-locked loop (PLL) circuit that clocks the input capture registers.
  • DLL delay-locked loop
  • PLL phase-locked loop
  • Such larger buses often require a DLL and a quadrature clock generator, both of which are costly in power and area.
  • clock-data phase alignment circuitry that is capable of aligning the clock and data signals using less power and area than the above mentioned alternative of using a DLL and a quadrature clock generator while still supporting a large data bus.
  • FIG. 1 An illustrative embodiment 100 of interconnected circuits is shown in FIG. 1.
  • the system of interconnected circuits has one or more circuits such as circuit A 110 and circuit B 130 and interconnection resources 160.
  • the circuits may be any suitable type of circuits that communicate with other circuits. Examples of such circuits include analog circuits, digital circuits, mixed-signal circuits.
  • the circuits may be arranged on the same die, on different dies in the same package, on different dies in different packages, whereby the different packages may be implemented on a same printed-circuit board (PCB), on different PCBs in the same device or in different devices and/or systems.
  • PCB printed-circuit board
  • Interconnection resources 160 such as conductive lines and busses, optical interconnect
  • infrastructure or wired and wireless networks with optional intermediate switches may be used to send signals from one circuit to another circuit or to broadcast information from one circuit to multiple other circuits.
  • Interconnection resources 160 may transport signals serially or in parallel or using a combination of serial-parallel data transmission, if desired.
  • interconnection resources 160 may implement a 100 gigabit per second (Gbps) connection between circuit A (110) and circuit B (130) using four serial connections of 25 Gbps each.
  • Gbps gigabit per second
  • the signals that are transported over interconnection resources 160 may have the clock and data signals combined in a single signal.
  • a transmitting circuit e.g., circuit A (110)
  • a transmitting circuit e.g., circuit A (110)
  • the receiving circuit e.g., circuit B (130)
  • FIG. 2 shows an illustrative embodiment of a system 200 of circuits 290 that communicate with each other via a source synchronous interface.
  • circuits 290 are integrated circuits.
  • this example is merely illustrative.
  • Circuits 290 may be any desired circuits such as circuits 110 and/or 130 of FIG. 1.
  • Integrated circuits 290 may include processing and storage components 210 such as random-access memory (RAM), first- in first-out (FIFO) circuitry, stack or last-in first-out (LIFO) circuitry, read-only memory (ROM) , content addressable memory (CAM), or other memory elements, embedded microprocessors, digital signal processors (DSP), microcontrollers, or other processing circuitry, clock-data phase alignment circuitry 250, and interconnection resources 260 such as conductive lines and busses .
  • Interconnection resources 260 may be used to send signals from one component to another component or to broadcast signals from one component to one or more other components.
  • interconnection resources 260 may be used to distribute a clock signal from the clock-data phase alignment circuitry 250 to some or all of the components in the integrated circuit.
  • Integrated circuit may include input/output circuitry 270 which may include parallel input/output circuitry,
  • differential input/output circuitry serial data transceiver circuitry, or any other desired input/output circuitry.
  • Input/output circuitry 270 may be used for transmitting and receiving signals over interconnection resources 280 when communicating with other circuits.
  • integrated circuit 290 may transmit serialized data signals at a given transmission rate to another integrated circuit over interconnection resources 280 using input/output circuitry 270.
  • parallel data signals may be transmitted using input/output circuitry 270.
  • a plurality of data signals may be transmitted in parallel and in parallel with a differential clock signal that includes positive and negative clock signals that are complementary relative to each other.
  • circuitry 250 of the signal receiving integrated circuit may ensure a predetermined phase shift between the clock and data signals to allow for the sampling of the data signal in the signal receiving integrated circuit.
  • Integrated circuit 290 may be programmable such as integrated circuit 300 shown in FIG. 3.
  • integrated circuit 300 may have input-output (I/O) circuitry 320 for driving signals off of integrated circuit 300 and for receiving signals from other circuits via input-output pins 340.
  • I/O input-output
  • Input-output circuitry 320 may include general-purpose input-output (GPIO) circuitry, which may be configured to be an input or an output. If desired, input-output circuitry 320 may include interface circuitry that accommodates communications using different protocols and/or standards.
  • GPIO general-purpose input-output
  • Protocols and standards that may be implemented using input-output circuitry 320 may include network standards and protocols such as low- voltage differential signaling (LVDS), Interlaken, Peripheral Component Interconnect Express (PCIe) , Ethernet, gigabit Ethernet (GigE) such as the 10 Gigabit Attachment Unit Interface (XAUI), HyperTransport, System Packet Interface (SPI) 4.2, or other communications network standards or protocols.
  • LVDS low- voltage differential signaling
  • PCIe Peripheral Component Interconnect Express
  • Ethernet gigabit Ethernet
  • XAUI 10 Gigabit Attachment Unit Interface
  • SPI System Packet Interface
  • Memory standards such as double-data-rate (DDR) memory standards may be
  • input-output circuitry 320 may be implemented using input-output circuitry 320. These examples are merely illustrative. If desired, any suitable interface and any number of desired interfaces for communicating with external circuitry may be implemented using input-output circuitry 320. Input-output circuitry 320 may be coupled to corresponding input- output pins 340.
  • Interconnection resources 360 such as global and local vertical, horizontal, and diagonal conductive lines and buses may be used to route signals on integrated circuit 300.
  • Interconnection resources 360 may include fixed interconnects such as conductive lines. If desired, interconnection resources 360 may include programmable interconnects (i.e., programmable connections between respective fixed interconnects) .
  • Interconnection resources 360 may sometimes be referred to herein as interconnect resources or interconnects (e.g., interconnects formed from combinations of fixed interconnects and programmable interconnects) .
  • Interconnects 360 may be used to couple circuitry in the integrated circuit.
  • interconnects 360 may interconnect regions of programmable logic such as programmable logic regions 380.
  • Programmable logic regions 380 may sometimes be referred to as logic array blocks (LABs) or programmable circuit regions.
  • Programmable logic regions 380 may, if desired, contain groups of smaller logic regions. These smaller logic regions, which may sometimes be referred to as logic elements (LEs), adaptive logic modules (ALMs) , or configurable logic blocks (CLBs) may be interconnected using local
  • Programmable logic regions 380 may include
  • programmable logic regions 380 may include look-up tables, logic gates (e.g., logic AND gates, logic OR gates, logic exclusive OR gates, inverter gates, etc.), synchronous circuitry (e.g., registers or flip-flops, latches, random-access memory (RAM), read-only memory (ROM) , shift register logic (SRL) , first-in first-out (FIFO) circuits, stacks or last-in first-out (LIFO) circuits, etc.), arithmetic operators (e.g., adders, multipliers, etc.), and multiplexers.
  • Programmable logic regions 380 may be configured to perform a custom logic function.
  • Programmable logic regions 380 may contain programmable elements 350.
  • Programmable elements 350 are sometimes also referred to as configuration RAM (CRAM) cells, configuration memory, memory cells, configuration cells, or configuration elements.
  • Programmable elements 350 may be based on any suitable programmable technology, which may be volatile or non-volatile, such as fuses, antifuses, electrically-programmable read-only- memory technology, random-access memory cells, mask-programmed elements, optically programmable electron spin memory, etc.
  • programmable elements 350 may be formed from memory cells .
  • configuration data may be loaded into programmable elements 350 using input-output pins 340 and input-output circuitry 320.
  • the RAM cells may store the
  • configuration data during write access operations (e.g., as part of a boot procedure that integrated circuit 300 may perform during power-up, as part of partial reconfiguration of integrated circuit 300, etc.) .
  • Programmable elements 350 may provide static control output signals for controlling the state of logic components in programmable logic 380.
  • the output signals generated by programmable elements 350 may be applied to gates of metal-oxide-semiconductor (MOS) transistors.
  • MOS metal-oxide-semiconductor
  • the static control output signals may control pass gate transistors. These pass gate transistors may form a multiplexer in the programmable interconnect of interconnect resources 360. Thus, controlling the gates of the pass gate transistors may contribute to implementing a routing path in interconnect resources 360 between two circuits that are located in
  • programmable elements 350 may provide static data output signals for programmable circuitry.
  • look-up tables may include programmable elements 350 that produce static data output signals.
  • control signals may configure the look-up tables to provide the static data output signals at look-up table outputs based on the look-up table inputs.
  • circuitry of integrated circuit 300 may be organized using any suitable architecture.
  • programmable logic 380 of integrated circuit 300 may be organized in a series of rows and columns of programmable logic regions, each of which may contain multiple smaller programmable logic regions .
  • interconnection resources 360 such as
  • TSV through-silicon- via
  • These conductors may include global conductive lines that span substantially all of integrated circuit 300, fractional global lines such as half-lines or quarter lines that span part of integrated circuit 300, staggered lines of a particular length (e.g., sufficient to interconnect a predetermined number of resources in programmable logic regions 380 or a sufficient to interconnect a predetermined number of programmable logic regions 380, etc.), smaller local lines, or any other suitable interconnection resource arrangement.
  • the programmable logic regions 380 of integrated circuit 300 may be arranged in more levels or layers in which multiple logic regions are interconnected to form still larger portions of logic regions.
  • Other device arrangements may include programmable logic regions that are not arranged in rows and columns.
  • Integrated circuit 300 may be part of a data processing system that includes one or more of the following components: a processor, memory, I/O circuitry, and peripheral devices.
  • the data processing system can be used in a wide variety of
  • Integrated circuit 300 may be used to perform a variety of different logic functions.
  • integrated circuit 300 may be configured as a processor or controller that works in cooperation with a system processor.
  • Integrated circuit 300 may also be used as an arbiter for arbitrating access to a shared resource in the data processing system.
  • the integrated circuit 300 may be configured as an interface between a processor and one of the other components in the system.
  • the integrated circuit 300 may be one of the families of devices owned by the assignee.
  • integrated circuit 300 may also include some programmable logic associated with the programmable interconnects, memory, and input-output circuitry on integrated circuit 300.
  • input-output circuitry 320 may contain programmable input and output buffers, and
  • interconnects 360 may be programmed to route signals to a desired destination.
  • integrated circuit 300 may receive serialized data signals at a given transmission rate from another circuit over pins 340 and input/output circuitry 320, and/or integrated circuit 300 may receive parallel data signals at a given rate from another circuit using parallel input/output circuitry 320.
  • integrated circuit 300 may receive a differential clock signal in addition to the parallel data signals for the purpose of implementing a source synchronous interface in integrated circuit 300.
  • integrated circuit 300 may implement clock-data phase alignment circuitry.
  • integrated circuit 300 may receive the clock and data signals with its input/output circuitry 320 from where the clock and data signals may be sent over interconnection resources 360 to clock- data phase alignment circuitry which may be implemented by programmable components in a programmable logic region 380.
  • integrated circuit 300 may include specialized circuitry for implementing at least a portion of the clock-data phase alignment circuitry
  • the clock-data phase alignment circuitry may generate and maintain a predetermined phase shift between the clock and data signals at the arrival of the respective signals at storage circuitry to ensure successful sampling of the data signals.
  • This example was described with the transmitting circuitry being located in another circuit.
  • This other circuit may be any type of circuit such as one of circuits 110 and/or 130 of FIG. 1.
  • Alternative embodiments may include having the transmitting and receiving circuitry within the same programmable logic region 380 or in different programmable logic regions 380 on the same integrated circuit 300.
  • FIG. 4 is a diagram of illustrative clock-data phase alignment circuitry in accordance with an embodiment.
  • the clock-data phase alignment circuitry may include clock phase adjustment circuitry 410, clock distribution network 430, replica clock distribution network 420, and storage circuits such as registers 440, 449, etc.
  • storage circuits may be formed using other storage circuits such as latches, random- access memory (RAM), shift register logic (SRL), first-in first- out (FIFO) circuits, or other memory elements.
  • a clock distribution network such as clock distribution network 430 may include wired connections and buffers that allow to distribute a clock signal with predictable delay and minimal skew to clocked elements (e.g., registers or flip-flops, RAMs, etc.) in a circuit.
  • clocked elements e.g., registers or flip-flops, RAMs, etc.
  • a clock distribution network is sometimes also referred to as a clock tree.
  • a clock distribution network may have an input, which is sometimes also referred to as a root, and a plurality of outputs, which are sometimes also referred to as leaves. The paths from the root to the leaves is sometimes also referred to as branches.
  • the clock-data phase alignment circuitry may receive a differential clock signal that includes clock signals CLK P and CLK_N that are complementary to each other and (N+l) data signals D_0 ... D_N. If desired, data signals D_0 ... D_N may be
  • each of data signals D_0 ... D_N may have a first and a second component that are complementary to each other.
  • a first component of signal D_0 may have a rising edge when the second component of signal D_0 has a falling edge and vice versa.
  • the first and second components form an eye-diagram, and the capture of either of the first and second components samples the corresponding data signal.
  • FIG. 4 only the positive component of data signal D 0 reaches the data input of register 440, and only the positive component of data signal D N reaches the data input of register 449.
  • the time interval between condition changes of data signals D 0 ... D N (e.g., the time interval between a positive edge and a negative edge of the first component of data signal D_0) is sometimes also referred to as unit interval (UI), pulse time, bit period, or symbol duration time.
  • UI unit interval
  • pulse time, or symbol duration time is the time taken in a data stream by each subsequent symbol or the time required to transmit one bit, which is equal to the time between a positive and a negative edge of clock signal CLK_P or CLK_N (i.e., half a clock period of clock signal CLK P or CLK N for clock signals with a 50/50 duty cycle) .
  • the clock-data phase alignment circuitry may receive clock signals CLK_P and CLK_N with clock phase adjustment circuitry 410.
  • Clock phase adjustment circuitry 410 may propagate one of the clock signals CLK P and CLK N (e.g., CLK P) to clock distribution network 430.
  • Clock distribution network 430 may propagate the clock signal through at least one clock buffer and provide a delayed first clock signal CLK_MID_J to register 440.
  • Clock distribution network 430 may provide the same delayed first clock signal CLK_MID_J or another instance of the delayed first clock signal CLK_MID_I to register 449.
  • clock distribution network 430 may provide the same delayed first clock signal CLK_MID_J (or CLK_MID_I) or another instance of the delayed first clock signal CLK_MID_K to replica clock distribution network 420.
  • the delayed first clock signals CLK_MID_I, CLK_MID_J, and CLK MID K may be phase shifted by half a unit interval compared to data signals D_0 ... D_N, thereby enabling the sampling of data signals D_0 ... D_N in registers 440 ... 449, respectively, based on clock edges (e.g., upon a rising edge, a falling edge, or a rising and a falling edge) .
  • the replica clock distribution network 420 may be coupled between clock distribution network 430 and clock phase adjustment circuitry 410.
  • Replica clock distribution network 420 may include a copy of a subset of branches of clock distribution network 430 (e.g., replica clock distribution network 420 may replicate one branch of clock distribution network 430) . If desired, replica clock distribution network 420 may include a complete copy of clock distribution network 430.
  • Replica clock distribution network 420 may receive the delayed first clock signal (e.g., delayed first clock signal CLK MID K) and propagate the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to clock phase adjustment circuitry 410.
  • the delayed first clock signal e.g., delayed first clock signal CLK MID K
  • FIG. 5A is a diagram of illustrative clock phase adjustment circuitry (e.g., clock phase adjustment circuitry 410 of FIG. 4) in accordance with an embodiment.
  • the clock phase adjustment circuitry may include phase detector 565, delay control circuit 555, and adjustable delay circuits 515 and 545.
  • Adjustable delay circuit 515 may receive one of the clock signals CLK P and CLK N (e.g., CLK P) and delay the clock signal as directed by delay control circuit 555 before providing the clock signal through a clock distribution network (e.g., clock distribution network 430 of FIG. 4) to a storage circuit and to a replica clock distribution network (e.g., replica clock distribution network 420 of FIG. 4) .
  • a clock distribution network e.g., clock distribution network 430 of FIG. 4
  • replica clock distribution network e.g., replica clock distribution network 420 of FIG.
  • delay control circuit 555 may adjust the delay of adjustable delay circuit 515 such that the total delay of the clock signal through the clock phase adjustment circuitry and the clock distribution network results in a phase shift of 90 degrees between the data signal and the clock signal.
  • This delay may correspond to half a unit interval (UI) delay between the clock input and the clock port of the storage circuit, thereby resulting in a clocking event (i.e., a rising or falling edge of the clock signal) at the center of the eye of the data signal, and thus enabling the capture of the data signal with the storage circuit .
  • UI unit interval
  • adjustable delay circuit 545 to have the same delay as adjustable delay circuit 515.
  • a clock signal e.g., CLK_P
  • CLK_P a clock signal that is propagated through adjustable delay circuit 515, the clock distribution network, the replica clock distribution network, and adjustable delay circuit 545 arrives at phase detector 565 with a phase shift of 180 degrees relative to the same clock signal (e.g., CLK_P) at the clock input, which may correspond to one unit interval (UI) delay between the clock input and phase detector 565.
  • the delayed clock signal which is sometimes also referred to as the feedback clock signal or the feedback signal (e.g., CLK_P) arrives in phase with the complementary clock signal (e.g., CLK_N) , which phase detector 565 may use as a reference signal.
  • Phase detector 565 may detect a phase difference between the reference signal (e.g., CLK_N) and the feedback clock signal (e.g., CLK_P) , generate a corresponding control signal, and provide the control signal to delay control circuit 555.
  • the reference signal e.g., CLK_N
  • the feedback clock signal e.g., CLK_P
  • Delay control circuit 555 may adjust the delays of adjustable delay circuits 515 and 545 accordingly.
  • phase detector 565 may direct delay control circuit 555 to reduce the delays of adjustable delay circuits 515 and 545. In contrast, if the reference signal arrives after the feedback signal, phase detector 565 may direct delay control circuit 555 to increase the delays of adjustable delay circuits 515 and 545.
  • phase detector circuit 565 within illustrative clock phase adjustment circuitry coupled to first and second clock distribution networks (e.g., clock distribution network 430 and replica clock distribution network 420 of FIG. 4) in a clock-data phase alignment circuit in accordance with an embodiment is shown in FIG. 5B.
  • first and second clock distribution networks e.g., clock distribution network 430 and replica clock distribution network 420 of FIG. 4
  • FIG. 5B An embodiment of a phase detector circuit 565 within illustrative clock phase adjustment circuitry coupled to first and second clock distribution networks (e.g., clock distribution network 430 and replica clock distribution network 420 of FIG. 4) in a clock-data phase alignment circuit in accordance with an embodiment is shown in FIG. 5B.
  • the clock-data phase alignment circuit may include register 560, finite state machine (FSM) 550, adjustable delay circuits 510, and 540, clock distribution network 520, replica clock distribution network 530, and storage circuits such as registers 570, 580, etc.
  • the clock-data phase alignment circuitry may receive a differential clock signal that includes clock signals CLK_P and CLK_N that are complementary to each other and (N+l) data signals D 0 ... D N.
  • data signals D 0 ... D N may be differential signals, i.e., each of data signals D_0 ... D_N may have a first and a second component that are complementary to each other.
  • adjustable delay circuit 510 may receive clock signal CLK P and delay the clock signal as directed by FSM 550.
  • Clock distribution network 520 may propagate the clock signal from adjustable delay circuit 510 through at least one clock buffer and provide a delayed first clock signal CLK_MID_J to register 570.
  • Clock distribution network 520 may provide the same delayed first clock signal CLK_MID_J or another instance of the delayed first clock signal CLK_MID_I to register 580.
  • clock distribution network 520 may provide the same delayed first clock signal CLK_MID_J (or CLK_MID_I) or another instance of the delayed first clock signal CLK_MID_K to replica clock distribution network 530.
  • FSM 550 may adjust the delay of adjustable delay circuit 510 such that the delayed first clock signals CLK_MID_I, CLK_MID_J, and CLK_MID_K are phase shifted by 90 degrees relative to data signals D_0 ... D_N and clock signal CLK P.
  • This delay may correspond to half a unit interval (UI) delay between CLK P and the clock port of the storage circuit, thereby resulting in a clocking event (i.e., a rising or falling edge of the clock signals CLK_MID_I, CLK_MID_J, and CLK_MID_K) at the center of the eye of the respective data signal D 0 ... D N, and thus enabling the capture of the data signal with the registers 570 ... 580.
  • UI unit interval
  • Replica clock distribution network 530 may include a copy of a subset of branches of clock distribution network 520 (e.g., replica clock distribution network 530 may replicate one branch of clock distribution network 520) . If desired, replica clock distribution network 530 may include a complete copy of clock distribution network 520. Replica clock distribution network 530 may receive the delayed first clock signal (e.g., delayed first clock signal CLK_MID_K) and propagate the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to adjustable delay circuit 540.
  • the delayed first clock signal e.g., delayed first clock signal CLK_MID_K
  • replica clock distribution network 530 has the same delay as clock distribution network 520 and that FSM 550 has adjusted adjustable delay circuit 540 to have the same delay as adjustable delay circuit 510.
  • clock signal CLK_P that is propagated through adjustable delay circuit 510, clock distribution network 520, replica clock distribution network 530, and adjustable delay circuit 540 arrives at register 560 as signal CLK P DLY with a phase shift of 180 degrees relative to clock signal CLK_P, which may correspond to one unit interval (UI) delay.
  • the delayed clock signal CLK P DLY which is sometimes also referred to as the feedback clock signal or the feedback signal arrives in phase with the complementary clock signal CLK_N, which is sometimes also referred to as the reference clock signal or the reference signal.
  • Register 560 may act as a phase detector. Consider the scenario in which register 560 stores data at a rising edge event of clock signal CLK_P_DLY. In this scenario, if the feedback clock signal CLK P DLY arrives before the reference clock signal CLK_N, register 560 may store a logic ⁇ 0', whereas if the feedback clock signal CLK_P_DLY arrives after the reference clock signal CLK_N, register 560 may store a logic l' .
  • the signal stored in register 560 may thus serve as a control signal to FSM 550, which may adjust the delays of adjustable delay circuits 510 and 540 accordingly: If register
  • FSM 550 may reduce the adjusted delays of adjustable delay circuits 510 and 540. In contrast, if register 560 stores a logic 0', FSM 550 may increase the adjusted delays of adjustable delay circuits 510 and 540.
  • FSM 560 may include circuitry that prevents glitches when adjusting the delays of adjustable delay circuits 510 and 540. If desired, FSM 560 may receive a lock request signal and provide a status signal upon successful locking a predetermined phase shift between the reference clock signal CLK_N and the feedback clock signal CLK_P_DLY.
  • FIG. 6 is an illustrative timing diagram 600 showing the phase relationships between the clock and data signals of FIG. 5B .
  • the clock-data phase alignment circuitry may receive clock signals CLK_P and CLK_N and data signal D_0.
  • data signal D_0 may be a differential signal that has a first and a second component that are complementary to each other. Together, the first and second component of data signal D_0 form an eye diagram.
  • Clock signals CLK_P and CLK_N are also complementary to each other and have a duty cycle of 50/50 (i.e., the time during which the clock signal is logic ⁇ 1' is equal to the time during which the clock signal is logic 0') .
  • the edges of the clock signals C1K_P and CLK_N are aligned with each other, and thus a unit interval may be the time between a rising edge of clock signal CLK_P at time 610 and a falling clock edge of clock signal CLK_P at time 620.
  • adjustable delay circuit 510 may receive clock signal CLK P and delay the clock signal as directed by FSM 550.
  • Clock distribution network 520 may propagate the clock signal from adjustable delay circuit 510 through at least one clock buffer and provide a delayed first clock signal
  • Clock signal CLK_MID_J may be delayed by half a unit interval (UI) delay relative to clock signal CLK P. This is illustrated in FIG. 6 between time 630 and time 640.
  • UI unit interval
  • the rising edge of clock signal CLK_MID_J is in the center of the eye of data signal D_0 and thus enables the capture of data signal D 0 with register 570 of FIG. 5B .
  • CLK_P_DLY may have a phase shift of 180 degrees relative to clock signal CLK P, which may correspond to one unit interval (UI) delay if replica clock distribution network 530 has the same delay as clock distribution network 520 and FSM 550 has adjusted adjustable delay circuit 540 to have the same delay as adjustable delay circuit 510.
  • UI unit interval
  • replica clock distribution network 530 has the same delay as clock distribution network 520
  • FSM 550 has adjusted adjustable delay circuit 540 to have the same delay as adjustable delay circuit 510.
  • the delayed clock signal CLK P DLY arrives at time 650 at register 560, which is in phase with clock signal CLK_N.
  • register 560 may act as a phase detector. If clock signal CLK P DLY arrives at register 560 early (i.e., in less than one unit delay, before time 650), register 560 may store a logic 0', whereas if clock signal CLK_P_DLY arrives at register 560 late (i.e., in more than one unit delay, after time 650), register 560 may store a logic l'.
  • the signal stored in register 560 may thus serve as a control signal to FSM 550, which may adjust the delays of adjustable delay circuits 510 and 540 accordingly: If register 560 stores a logic l', FSM 550 may reduce the adjusted delays of adjustable delay circuits 510 and 540 so that clock signal
  • FSM 550 may increase the adjusted delays of adjustable delay circuits 510 and 540 so that clock signal CLK P DLY arrives later .
  • FIG. 7 is a diagram of a flow chart showing
  • clock phase adjustment circuitry may receive a differential clock with first and second clock signals that are complementary to each other.
  • clock phase adjustment circuitry 410 of FIG. 4 may receive clock signals CLK_P and CLK_N that are complementary to each other.
  • the clock-data phase alignment circuitry may propagate the first clock signal through at least one first clock buffer in a first clock distribution network to provide a delayed first clock signal.
  • the clock- data phase alignment circuitry of FIG. 4 may propagate clock signal CLK P through a clock buffer in clock distribution network 430.
  • the clock-data phase alignment circuitry may store a data signal based on the delayed first clock signal in a storage circuit.
  • register 440 in FIG. 4 may store data signal D 0 based on the delayed first clock signal received through clock distribution network 430.
  • the clock-data phase alignment circuitry may propagate the delayed first clock signal through at least one second clock buffer in a second clock distribution network that is coupled between the first clock distribution network and the clock phase adjustment circuitry to provide a further delayed first clock signal to the clock phase adjustment circuitry.
  • the clock-data phase alignment circuitry of FIG. 4 may propagate the delayed clock signal through at least one clock buffer in replica clock distribution network 420 that is coupled between clock distribution network 430 and clock phase adjustment circuitry 410.
  • the method and apparatus described herein may be incorporated into any suitable circuit or system of circuits.
  • the method and apparatus may be incorporated into numerous types of devices such as microprocessors or other integrated circuits.
  • Exemplary integrated circuits include programmable array logic (PAL), programmable logic arrays (PLAs), field programmable logic arrays (FPGAs), electrically
  • EPLDs programmable logic devices
  • EEPLDs electrically erasable programmable logic devices
  • LCDAs logic cell arrays
  • FPGAs field programmable gate arrays
  • CGRAs reconfigurable architectures
  • DSP digital signal processing
  • ASSPs application specific standard products
  • ASICs application specific integrated circuits
  • the integrated circuit described herein may be part of a data processing system that includes one or more of the following components: a processor; memory; I/O circuitry; and peripheral devices.
  • the data processing system can be used in a wide variety of applications, such as computer networking, data networking, instrumentation, video processing, digital signal processing, or any suitable other application where the advantage of using a source synchronous interface circuit is desirable.
  • the integrated circuit may be configured to perform a variety of different logic functions.
  • the integrated circuit may be configured to perform a variety of different logic functions. For example, the
  • integrated circuit may be configured as a processor or controller that works in cooperation with a system processor.
  • the integrated circuit may also be used as an arbiter for arbitrating access to a shared resource in the data processing system.
  • the integrated circuit may be configured as an interface between a processor and one of the other components in the system.
  • the integrated circuit may be one of the families of devices owned by the assignee.
  • operations may be adjusted so that they occur at slightly different times or described operations may be distributed in a system which allows the occurrence of the processing operations at various intervals associated with the processing.
  • Example 1 is a clock-data phase alignment circuitry, comprising: clock phase adjustment circuitry that receives a differential clock with first and second clock signals that are complementary to each other; a first clock distribution network that receives the first clock signal and propagates the first clock signal through at least one first clock buffer to provide a delayed first clock signal; a storage circuit that receives the delayed first clock signal and a data signal and stores the data signal based on the delayed first clock signal; and a second clock distribution network coupled between the first clock distribution network and the clock phase adjustment circuitry, wherein the second clock distribution network receives the delayed first clock signal and propagates the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to the clock phase adjustment circuitry .
  • Example 2 is the clock-data phase alignment circuitry of example 1, wherein the second clock distribution network replicates at least a branch of the first clock distribution network .
  • Example 3 is the clock-data phase alignment circuitry of example 1, wherein each of the at least first and second clock buffers have a delay of less than half a unit interval (UI) .
  • UI unit interval
  • Example 4 is the clock-data phase alignment circuitry of example 1, wherein the clock phase adjustment circuitry further comprises: a first adjustable delay circuit that delays the first clock signal by a first adjusted delay; and a second adjustable delay circuit that delays the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal.
  • Example 5 is the clock-data phase alignment circuitry of example 4, wherein the clock phase adjustment circuitry further comprises: a phase detector that provides a control signal based on a phase difference between the second clock signal and the feedback clock signal.
  • Example 6 is the clock-data phase alignment circuitry of example 5, wherein the clock phase adjustment circuitry further comprises: a delay control circuit that adjusts the first and second adjusted delays of the first and second adjustable delay circuits respectively based on the control signal.
  • Example 7 is the clock-data phase alignment circuitry of example 5, wherein the phase detector further comprises: a register that provides the control signal by storing the second clock signal based on the feedback signal.
  • Example 8 is the clock-data phase alignment circuitry of example 7, wherein the control signal is logic 0' to indicate a desired delay increase and logic l' to indicate a desired delay decrease.
  • Example 9 is a clock-data phase alignment circuit in an integrated circuit, comprising: a clock input that receives a differential clock signal having first and second clock signals; a data input that receives a data signal; a first clock
  • a distribution circuit with a first path that conveys the first clock signal to provide a sampling clock signal; a second clock distribution circuit with a second path that conveys the sampling clock signal to provide a feedback clock signal; a clock phase adjustment circuit that controls a predetermined phase shift between the sampling clock signal and the data signal based on the first and second clock signals and the feedback clock signal; and a storage circuit that receives the data signal from the data input and the sampling clock signal from the first clock
  • Example 10 is the clock-data phase alignment circuit of example 9, wherein each of the first and second paths has a respective delay of less than one half of a unit interval (UI) .
  • UI unit interval
  • Example 11 is the clock-data phase alignment circuit of example 9, further comprising: at least one clock buffer in the first path; and at least one other clock buffer in the second path .
  • Example 12 is the clock-data phase alignment circuit of example 9, wherein the clock phase adjustment circuit further comprises: a first adjustable delay circuit that delays the first clock signal by a first adjusted delay; and a second adjustable delay circuit that delays the feedback clock signal by a second adjusted delay.
  • Example 13 is the clock-data phase alignment circuit of example 12, wherein the clock phase adjustment circuit further comprises: a phase detector circuit that generates a phase adjustment signal based on a detected phase difference between the second clock signal and the feedback clock signal delayed by the second adjusted delay; and a delay control circuit that generates a control signal to adjust the first and second adjusted delays based on the phase adjustment signal.
  • Example 14 is a method for operating clock alignment circuitry, comprising: with clock phase adjustment circuitry, receiving a differential clock with first and second clock signals that are complementary to each other; propagating the first clock signal through at least one first clock buffer in a first clock distribution network to provide a delayed first clock signal; storing a data signal based on the delayed first clock signal in a storage circuit; and propagating the delayed first clock signal through at least one second clock buffer in a second clock distribution network that is coupled between the first clock distribution network and the clock phase adjustment circuitry to provide a further delayed first clock signal to the clock phase adjustment circuitry.
  • Example 15 is the method of example 14, further comprising: delaying the delayed first clock signal in the first clock distribution network by less than half a unit interval (UI) relative to the first clock signal; and delaying the further delayed first clock signal in the second clock distribution network by less than half a unit interval (UI) relative to the delayed first clock signal.
  • UI unit interval
  • Example 16 is the method of example 14, further comprising: using a first adjustable delay circuit in the clock phase adjustment circuitry to delay the first clock signal by a first adjusted delay; and using a second adjustable delay circuit in the clock phase adjustment circuitry to delay the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal.
  • Example 17 is the method of example 16, further comprising: detecting a phase difference between the second clock signal and the feedback clock signal; and generating a control signal based on the phase difference.
  • Example 18 is the method of example 17, further comprising: adjusting the first and second adjusted delays of the first and second adjustable delay circuits, respectively, based on the control signal.
  • Example 19 is the method of example 17, further comprising: generating the control signal by storing the second clock signal in a register based on the feedback signal.
  • Example 20 is the method of example 19, further comprising: storing a logic ⁇ 0' in the register to indicate a desired delay increase in the first and second adjustable delay circuits; and storing a logic ⁇ 1' in the register to indicate a desired delay decrease in the first and second adjustable delay circuits .

Abstract

The present embodiments relate to clock-data phase alignment circuitry in source-synchronous interface circuits. Source-synchronous interface standards require the transmission and reception of a clock signal that is transmitted separately from the data signal. On the receiver side, the clock signal must be phase shifted relative to the data signal to enable the capture of the data. Clock-data phase alignment circuitry is presented that may receive a differential clock with complementary clock signals CLK_P and CLK_N. An adjustable delay circuit and clock distribution network may delay clock signal CLK_P and provide the delayed clock signal to a storage circuit that may store the data signal. A replica clock distribution network and a replica adjustable delay circuit may form a feedback path and provide the delayed first clock signal back to clock phase adjustment circuitry which may control the adjustment of the adjustable delay circuit and the replica adjustable delay circuit.

Description

DYNAMIC CLOCK-DATA PHASE ALIGNMENT IN A SOURCE SYNCHRONOUS
INTERFACE CIRCUIT
Cross Reference to Related Application
This patent document claims the benefit of copending, commonly-assigned United States Patent Application No.
15/226,037, filed August 2, 2016, the disclosure of which is hereby incorporated by reference herein in its entirety.
Background
The present embodiments relate to integrated circuits and, more particularly, to dynamic clock-data phase alignment in a source-synchronous interface circuit.
Signal transmission and reception is the basis for communication between circuits within electronic devices as well as between circuits within different electronic devices.
However, when building high-performance products, system
developers face significant challenges in maintaining the precise timing and signal integrity required to reliably sustain high data rates. Differential signaling standards like low voltage differential signaling (LVDS) aid in this effort by providing common mode rejection, which greatly reduces the effects of electrical noise. Clock-data recovery (CDR) transceiver implementations combine the clock and data into a single signal, thus ensuring simultaneous arrival at their destination. However, a number of interface standards such as DDR memory, HyperTransport buses, and the System Packet Interface (SPI) 4.2 standard are source- synchronous. Those source-synchronous interface standards require the transmission and reception of a clock signal that is transmitted separately from the data signal.
On the receiver side, the clock signal must be phase shifted relative to the data signal to enable the capture of the data. For example, edge-aligned clock and data signals must be phase shifted relative to each other by 90 degrees such that the edge of the clock signal is aligned with the center of the data signal, thereby enabling the storage of the data signal in a storage circuit that is triggered by an edge of the clock signal.
Dynamic phase alignment (DPA) technology has been developed to address the phase alignment in interfaces that require data ranges above 700 megabits per second (Mbps) . The goal of dynamic phase alignment (DPA) is to allow devices to actively respond to changes in skew between the transmitted clock and data signals. Integrated circuits that are equipped with DPA continuously check the incoming data signal and adjust the phase of the clock signal to align with it. Several industry standards responsible for defining source synchronous interfaces, including System Packet Interface (SPI) 4.2, have recognized the value of DPA, and have included or recommended it in their specifications.
Summary
Clock-data phase alignment circuitry may include clock phase adjustment circuitry, first and second clock distribution networks, and a storage circuit. The clock phase adjustment circuitry may receive a differential clock with first and second clock signals that are complementary to each other. The first clock distribution network may receive the first clock signal and propagate the first clock signal through at least one first clock buffer to provide a delayed first clock signal. The storage circuit may receive the delayed first clock signal and a data signal and store the data signal based on the delayed first clock signal, and a second clock distribution network coupled between the first clock distribution network and the clock phase
adjustment circuitry may receive the delayed first clock signal and propagate the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to the clock phase adjustment circuitry.
It is appreciated that the embodiments described herein can be implemented in numerous ways, such as a process, an apparatus, a system, a device, or a method executed on a
processing machine. Several inventive embodiments are described below.
In certain embodiments, the above mentioned clock-data phase alignment circuitry may replicate at least a branch of the first clock distribution network in the second clock distribution network, and each of the at least first and second clock buffers may have a delay of less than half a unit interval (UI) .
If desired, the clock phase adjustment circuitry may further include a first adjustable delay circuit that delays the first clock signal by a first adjusted delay and a second adjustable delay circuit that delays the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal.
In some embodiments, the above mentioned clock phase adjustment circuitry may further include a phase detector, a delay control circuit, and/or a register. The phase detector may provide a control signal based on a phase difference between the second clock signal and the feedback clock signal, the delay control circuit may adjust the first and second adjusted delays of the first and second adjustable delay circuits, respectively, based on the control signal, and the register may provide the control signal by storing the second clock signal based on the feedback signal.
Further features of the invention, its nature and various advantages, will be apparent from the accompanying drawings and the following detailed description of the preferred embodiments.
Brief Description of the Drawings
FIG. 1 is a diagram of an illustrative system of interconnected circuits in accordance with an embodiment.
FIG. 2 is a diagram of an illustrative integrated circuit with clock-data phase alignment circuitry in accordance with an embodiment.
FIG. 3 is a diagram of an illustrative programmable integrated circuit in accordance with an embodiment.
FIG. 4 is a diagram of illustrative clock-data phase alignment circuitry in accordance with an embodiment.
FIG. 5A is a diagram of illustrative clock phase adjustment circuitry in accordance with an embodiment.
FIG. 5B is a diagram of illustrative clock phase adjustment circuitry coupled to first and second clock
distribution networks in a clock-data phase alignment circuit in accordance with an embodiment.
FIG. 6 is an illustrative timing diagram showing the phase relationships between the clock and data signals of FIG. 5B. FIG. 7 is a diagram of a flow chart showing illustrative steps for operating clock-data phase alignment circuitry in accordance with an embodiment. Detailed Description
The present embodiments provided herein relate to integrated circuits and, more particularly, to dynamic clock-data phase alignment in a source-synchronous interface circuit.
Source-synchronous interface standards require the transmission and reception of a clock signal that is transmitted separately from the data signal. On the receiver side, the clock signal must be phase shifted relative to the data signal to enable the capture of the data. For example, edge-aligned clock and data signals are preferably phase shifted relative to each other by 90 degrees such that the edge of the clock signal is aligned with the center of the data signal, thereby sampling the data signal in a storage circuit at an edge of the clock signal.
Some implementations use the clock signal of the source-synchronous interface to clock input capture registers directly. In other implementations, the clock signal drives a delay-locked loop (DLL) circuit or a phase-locked loop (PLL) circuit that clocks the input capture registers. There are usually larger timing margins for interfaces that use a DLL or a PLL to clock the input capture registers than there are for interfaces that use the clock signal directly to clock the capture registers, especially with an increasing size of data bits that are transmitted in parallel and have to be captured in parallel. Such larger buses often require a DLL and a quadrature clock generator, both of which are costly in power and area.
Consequently, it is desirable to provide clock-data phase alignment circuitry that is capable of aligning the clock and data signals using less power and area than the above mentioned alternative of using a DLL and a quadrature clock generator while still supporting a large data bus.
It will be recognized by one skilled in the art, that the present exemplary embodiments may be practiced without some or all of these specific details. In other instances, well-known operations have not been described in detail in order not to unnecessarily obscure the present embodiments.
An illustrative embodiment 100 of interconnected circuits is shown in FIG. 1. The system of interconnected circuits has one or more circuits such as circuit A 110 and circuit B 130 and interconnection resources 160. The circuits may be any suitable type of circuits that communicate with other circuits. Examples of such circuits include analog circuits, digital circuits, mixed-signal circuits. The circuits may be arranged on the same die, on different dies in the same package, on different dies in different packages, whereby the different packages may be implemented on a same printed-circuit board (PCB), on different PCBs in the same device or in different devices and/or systems.
Examples of such circuits also include complex electronic systems such as network routers and cell phone base stations or parts thereof that communicate with each other over wired or wireless networks. Interconnection resources 160 such as conductive lines and busses, optical interconnect
infrastructure, or wired and wireless networks with optional intermediate switches may be used to send signals from one circuit to another circuit or to broadcast information from one circuit to multiple other circuits.
Interconnection resources 160 may transport signals serially or in parallel or using a combination of serial-parallel data transmission, if desired. For example, interconnection resources 160 may implement a 100 gigabit per second (Gbps) connection between circuit A (110) and circuit B (130) using four serial connections of 25 Gbps each.
The signals that are transported over interconnection resources 160 may have the clock and data signals combined in a single signal. For example, a transmitting circuit (e.g., circuit A (110)) may serialize a data signal based on a clock signal and send the serialized data signal over interconnection resources 160 to a receiving circuit (e.g., circuit B (130)), and the receiving circuit may analyze the serialized data to recover a clock signal.
If desired, a transmitting circuit (e.g., circuit A (110) ) may send the clock and data signals as separate signals over interconnection resources 160, and the receiving circuit (e.g., circuit B (130)) may ensure a predetermined phase shift between the clock and data signals, thereby implementing a source-synchronous interface standard.
FIG. 2 shows an illustrative embodiment of a system 200 of circuits 290 that communicate with each other via a source synchronous interface. In the example of FIG. 2, circuits 290 are integrated circuits. However, this example is merely illustrative. Circuits 290 may be any desired circuits such as circuits 110 and/or 130 of FIG. 1.
Integrated circuits 290 may include processing and storage components 210 such as random-access memory (RAM), first- in first-out (FIFO) circuitry, stack or last-in first-out (LIFO) circuitry, read-only memory (ROM) , content addressable memory (CAM), or other memory elements, embedded microprocessors, digital signal processors (DSP), microcontrollers, or other processing circuitry, clock-data phase alignment circuitry 250, and interconnection resources 260 such as conductive lines and busses . Interconnection resources 260 may be used to send signals from one component to another component or to broadcast signals from one component to one or more other components. For example, interconnection resources 260 may be used to distribute a clock signal from the clock-data phase alignment circuitry 250 to some or all of the components in the integrated circuit.
Integrated circuit may include input/output circuitry 270 which may include parallel input/output circuitry,
differential input/output circuitry, serial data transceiver circuitry, or any other desired input/output circuitry.
Input/output circuitry 270 may be used for transmitting and receiving signals over interconnection resources 280 when communicating with other circuits.
For example, integrated circuit 290 may transmit serialized data signals at a given transmission rate to another integrated circuit over interconnection resources 280 using input/output circuitry 270. If desired, parallel data signals may be transmitted using input/output circuitry 270. As an example, a plurality of data signals may be transmitted in parallel and in parallel with a differential clock signal that includes positive and negative clock signals that are complementary relative to each other. In this example, clock-data phase alignment
circuitry 250 of the signal receiving integrated circuit may ensure a predetermined phase shift between the clock and data signals to allow for the sampling of the data signal in the signal receiving integrated circuit.
Integrated circuit 290 may be programmable such as integrated circuit 300 shown in FIG. 3. As shown, integrated circuit 300 may have input-output (I/O) circuitry 320 for driving signals off of integrated circuit 300 and for receiving signals from other circuits via input-output pins 340. Input-output circuitry 320 may include general-purpose input-output (GPIO) circuitry, which may be configured to be an input or an output. If desired, input-output circuitry 320 may include interface circuitry that accommodates communications using different protocols and/or standards. Protocols and standards that may be implemented using input-output circuitry 320 may include network standards and protocols such as low- voltage differential signaling (LVDS), Interlaken, Peripheral Component Interconnect Express (PCIe) , Ethernet, gigabit Ethernet (GigE) such as the 10 Gigabit Attachment Unit Interface (XAUI), HyperTransport, System Packet Interface (SPI) 4.2, or other communications network standards or protocols. Memory standards such as double-data-rate (DDR) memory standards may be
implemented using input-output circuitry 320. These examples are merely illustrative. If desired, any suitable interface and any number of desired interfaces for communicating with external circuitry may be implemented using input-output circuitry 320. Input-output circuitry 320 may be coupled to corresponding input- output pins 340.
Interconnection resources 360 such as global and local vertical, horizontal, and diagonal conductive lines and buses may be used to route signals on integrated circuit 300.
Interconnection resources 360 may include fixed interconnects such as conductive lines. If desired, interconnection resources 360 may include programmable interconnects (i.e., programmable connections between respective fixed interconnects) .
Interconnection resources 360 may sometimes be referred to herein as interconnect resources or interconnects (e.g., interconnects formed from combinations of fixed interconnects and programmable interconnects) .
Interconnects 360 may be used to couple circuitry in the integrated circuit. For example, interconnects 360 may interconnect regions of programmable logic such as programmable logic regions 380. Programmable logic regions 380 may sometimes be referred to as logic array blocks (LABs) or programmable circuit regions. Programmable logic regions 380, may, if desired, contain groups of smaller logic regions. These smaller logic regions, which may sometimes be referred to as logic elements (LEs), adaptive logic modules (ALMs) , or configurable logic blocks (CLBs) may be interconnected using local
interconnection resources.
Programmable logic regions 380 may include
combinational and sequential logic circuitry. For example, programmable logic regions 380 may include look-up tables, logic gates (e.g., logic AND gates, logic OR gates, logic exclusive OR gates, inverter gates, etc.), synchronous circuitry (e.g., registers or flip-flops, latches, random-access memory (RAM), read-only memory (ROM) , shift register logic (SRL) , first-in first-out (FIFO) circuits, stacks or last-in first-out (LIFO) circuits, etc.), arithmetic operators (e.g., adders, multipliers, etc.), and multiplexers. Programmable logic regions 380 may be configured to perform a custom logic function.
Programmable logic regions 380 may contain programmable elements 350. Programmable elements 350 are sometimes also referred to as configuration RAM (CRAM) cells, configuration memory, memory cells, configuration cells, or configuration elements. Programmable elements 350 may be based on any suitable programmable technology, which may be volatile or non-volatile, such as fuses, antifuses, electrically-programmable read-only- memory technology, random-access memory cells, mask-programmed elements, optically programmable electron spin memory, etc. As an example, programmable elements 350 may be formed from memory cells . During programming, configuration data may be loaded into programmable elements 350 using input-output pins 340 and input-output circuitry 320. As an example, consider the scenario in which programmable elements 350 are random-access memory (RAM) cells. In this scenario, the RAM cells may store the
configuration data during write access operations (e.g., as part of a boot procedure that integrated circuit 300 may perform during power-up, as part of partial reconfiguration of integrated circuit 300, etc.) .
Programmable elements 350 may provide static control output signals for controlling the state of logic components in programmable logic 380. In certain embodiments, the output signals generated by programmable elements 350 may be applied to gates of metal-oxide-semiconductor (MOS) transistors. For example, the static control output signals may control pass gate transistors. These pass gate transistors may form a multiplexer in the programmable interconnect of interconnect resources 360. Thus, controlling the gates of the pass gate transistors may contribute to implementing a routing path in interconnect resources 360 between two circuits that are located in
programmable logic regions 380.
In some scenarios, programmable elements 350 may provide static data output signals for programmable circuitry. For example, look-up tables may include programmable elements 350 that produce static data output signals. In this scenario, control signals may configure the look-up tables to provide the static data output signals at look-up table outputs based on the look-up table inputs.
The circuitry of integrated circuit 300 may be organized using any suitable architecture. As an example, programmable logic 380 of integrated circuit 300 may be organized in a series of rows and columns of programmable logic regions, each of which may contain multiple smaller programmable logic regions .
The logic resources of integrated circuit 300 may be interconnected by interconnection resources 360 such as
associated vertical, horizontal, diagonal, and through-silicon- via (TSV) conductors. These conductors may include global conductive lines that span substantially all of integrated circuit 300, fractional global lines such as half-lines or quarter lines that span part of integrated circuit 300, staggered lines of a particular length (e.g., sufficient to interconnect a predetermined number of resources in programmable logic regions 380 or a sufficient to interconnect a predetermined number of programmable logic regions 380, etc.), smaller local lines, or any other suitable interconnection resource arrangement.
If desired, the programmable logic regions 380 of integrated circuit 300 may be arranged in more levels or layers in which multiple logic regions are interconnected to form still larger portions of logic regions. Other device arrangements may include programmable logic regions that are not arranged in rows and columns.
Integrated circuit 300 may be part of a data processing system that includes one or more of the following components: a processor, memory, I/O circuitry, and peripheral devices. The data processing system can be used in a wide variety of
applications, such as computer networking, data networking, instrumentation, video processing, digital signal processing, or any suitable other application where the advantage of using an integrated circuit with programmable or re-programmable logic is desirable .
Integrated circuit 300 may be used to perform a variety of different logic functions. For example, integrated circuit 300 may be configured as a processor or controller that works in cooperation with a system processor. Integrated circuit 300 may also be used as an arbiter for arbitrating access to a shared resource in the data processing system. In yet another example, the integrated circuit 300 may be configured as an interface between a processor and one of the other components in the system. In one embodiment, the integrated circuit 300 may be one of the families of devices owned by the assignee.
In addition to the relatively large blocks of programmable logic that are shown in FIG. 3, integrated circuit 300 may also include some programmable logic associated with the programmable interconnects, memory, and input-output circuitry on integrated circuit 300. For example, input-output circuitry 320 may contain programmable input and output buffers, and
interconnects 360 may be programmed to route signals to a desired destination.
For example, integrated circuit 300 may receive serialized data signals at a given transmission rate from another circuit over pins 340 and input/output circuitry 320, and/or integrated circuit 300 may receive parallel data signals at a given rate from another circuit using parallel input/output circuitry 320. In some scenarios, integrated circuit 300 may receive a differential clock signal in addition to the parallel data signals for the purpose of implementing a source synchronous interface in integrated circuit 300.
In such a scenario, integrated circuit 300 may implement clock-data phase alignment circuitry. For example, integrated circuit 300 may receive the clock and data signals with its input/output circuitry 320 from where the clock and data signals may be sent over interconnection resources 360 to clock- data phase alignment circuitry which may be implemented by programmable components in a programmable logic region 380. In some embodiments, integrated circuit 300 may include specialized circuitry for implementing at least a portion of the clock-data phase alignment circuitry
The clock-data phase alignment circuitry may generate and maintain a predetermined phase shift between the clock and data signals at the arrival of the respective signals at storage circuitry to ensure successful sampling of the data signals.
The above example was described with the transmitting circuitry being located in another circuit. This other circuit may be any type of circuit such as one of circuits 110 and/or 130 of FIG. 1. Alternative embodiments may include having the transmitting and receiving circuitry within the same programmable logic region 380 or in different programmable logic regions 380 on the same integrated circuit 300.
FIG. 4 is a diagram of illustrative clock-data phase alignment circuitry in accordance with an embodiment. As shown, the clock-data phase alignment circuitry may include clock phase adjustment circuitry 410, clock distribution network 430, replica clock distribution network 420, and storage circuits such as registers 440, 449, etc. In some embodiment storage circuits may be formed using other storage circuits such as latches, random- access memory (RAM), shift register logic (SRL), first-in first- out (FIFO) circuits, or other memory elements.
A clock distribution network such as clock distribution network 430 may include wired connections and buffers that allow to distribute a clock signal with predictable delay and minimal skew to clocked elements (e.g., registers or flip-flops, RAMs, etc.) in a circuit. Thus, the clock signal that is propagated through clock distribution network 430 arrives with a minimal difference in time at all registers 440 ... 449.
A clock distribution network is sometimes also referred to as a clock tree. A clock distribution network may have an input, which is sometimes also referred to as a root, and a plurality of outputs, which are sometimes also referred to as leaves. The paths from the root to the leaves is sometimes also referred to as branches.
The clock-data phase alignment circuitry may receive a differential clock signal that includes clock signals CLK P and CLK_N that are complementary to each other and (N+l) data signals D_0 ... D_N. If desired, data signals D_0 ... D_N may be
differential signals, i.e., each of data signals D_0 ... D_N may have a first and a second component that are complementary to each other. As an example, a first component of signal D_0 may have a rising edge when the second component of signal D_0 has a falling edge and vice versa. Together, the first and second components form an eye-diagram, and the capture of either of the first and second components samples the corresponding data signal. As shown in FIG. 4, only the positive component of data signal D 0 reaches the data input of register 440, and only the positive component of data signal D N reaches the data input of register 449.
The time interval between condition changes of data signals D 0 ... D N (e.g., the time interval between a positive edge and a negative edge of the first component of data signal D_0) is sometimes also referred to as unit interval (UI), pulse time, bit period, or symbol duration time. In other words, a unit interval (UI), pulse time, or symbol duration time is the time taken in a data stream by each subsequent symbol or the time required to transmit one bit, which is equal to the time between a positive and a negative edge of clock signal CLK_P or CLK_N (i.e., half a clock period of clock signal CLK P or CLK N for clock signals with a 50/50 duty cycle) .
The clock-data phase alignment circuitry may receive clock signals CLK_P and CLK_N with clock phase adjustment circuitry 410. Clock phase adjustment circuitry 410 may propagate one of the clock signals CLK P and CLK N (e.g., CLK P) to clock distribution network 430. Clock distribution network 430 may propagate the clock signal through at least one clock buffer and provide a delayed first clock signal CLK_MID_J to register 440. Clock distribution network 430 may provide the same delayed first clock signal CLK_MID_J or another instance of the delayed first clock signal CLK_MID_I to register 449.
Similarly, clock distribution network 430 may provide the same delayed first clock signal CLK_MID_J (or CLK_MID_I) or another instance of the delayed first clock signal CLK_MID_K to replica clock distribution network 420.
The delayed first clock signals CLK_MID_I, CLK_MID_J, and CLK MID K may be phase shifted by half a unit interval compared to data signals D_0 ... D_N, thereby enabling the sampling of data signals D_0 ... D_N in registers 440 ... 449, respectively, based on clock edges (e.g., upon a rising edge, a falling edge, or a rising and a falling edge) .
The replica clock distribution network 420 may be coupled between clock distribution network 430 and clock phase adjustment circuitry 410. Replica clock distribution network 420 may include a copy of a subset of branches of clock distribution network 430 (e.g., replica clock distribution network 420 may replicate one branch of clock distribution network 430) . If desired, replica clock distribution network 420 may include a complete copy of clock distribution network 430.
Replica clock distribution network 420 may receive the delayed first clock signal (e.g., delayed first clock signal CLK MID K) and propagate the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to clock phase adjustment circuitry 410.
FIG. 5A is a diagram of illustrative clock phase adjustment circuitry (e.g., clock phase adjustment circuitry 410 of FIG. 4) in accordance with an embodiment. As shown, the clock phase adjustment circuitry may include phase detector 565, delay control circuit 555, and adjustable delay circuits 515 and 545.
Adjustable delay circuit 515 may receive one of the clock signals CLK P and CLK N (e.g., CLK P) and delay the clock signal as directed by delay control circuit 555 before providing the clock signal through a clock distribution network (e.g., clock distribution network 430 of FIG. 4) to a storage circuit and to a replica clock distribution network (e.g., replica clock distribution network 420 of FIG. 4) .
If desired, delay control circuit 555 may adjust the delay of adjustable delay circuit 515 such that the total delay of the clock signal through the clock phase adjustment circuitry and the clock distribution network results in a phase shift of 90 degrees between the data signal and the clock signal. This delay may correspond to half a unit interval (UI) delay between the clock input and the clock port of the storage circuit, thereby resulting in a clocking event (i.e., a rising or falling edge of the clock signal) at the center of the eye of the data signal, and thus enabling the capture of the data signal with the storage circuit .
Consider the scenario in which the replica clock distribution network has the same delay as the clock distribution network and that delay control circuit 555 has adjusted
adjustable delay circuit 545 to have the same delay as adjustable delay circuit 515. In this scenario, a clock signal (e.g., CLK_P) that is propagated through adjustable delay circuit 515, the clock distribution network, the replica clock distribution network, and adjustable delay circuit 545 arrives at phase detector 565 with a phase shift of 180 degrees relative to the same clock signal (e.g., CLK_P) at the clock input, which may correspond to one unit interval (UI) delay between the clock input and phase detector 565. In other words, the delayed clock signal which is sometimes also referred to as the feedback clock signal or the feedback signal (e.g., CLK_P) arrives in phase with the complementary clock signal (e.g., CLK_N) , which phase detector 565 may use as a reference signal.
Phase detector 565 may detect a phase difference between the reference signal (e.g., CLK_N) and the feedback clock signal (e.g., CLK_P) , generate a corresponding control signal, and provide the control signal to delay control circuit 555.
Delay control circuit 555 may adjust the delays of adjustable delay circuits 515 and 545 accordingly.
For example, if the reference signal arrives before the feedback signal, phase detector 565 may direct delay control circuit 555 to reduce the delays of adjustable delay circuits 515 and 545. In contrast, if the reference signal arrives after the feedback signal, phase detector 565 may direct delay control circuit 555 to increase the delays of adjustable delay circuits 515 and 545.
An embodiment of a phase detector circuit 565 within illustrative clock phase adjustment circuitry coupled to first and second clock distribution networks (e.g., clock distribution network 430 and replica clock distribution network 420 of FIG. 4) in a clock-data phase alignment circuit in accordance with an embodiment is shown in FIG. 5B.
As shown in FIG. 5B, the clock-data phase alignment circuit may include register 560, finite state machine (FSM) 550, adjustable delay circuits 510, and 540, clock distribution network 520, replica clock distribution network 530, and storage circuits such as registers 570, 580, etc. The clock-data phase alignment circuitry may receive a differential clock signal that includes clock signals CLK_P and CLK_N that are complementary to each other and (N+l) data signals D 0 ... D N. If desired, data signals D 0 ... D N may be differential signals, i.e., each of data signals D_0 ... D_N may have a first and a second component that are complementary to each other.
As shown, adjustable delay circuit 510 may receive clock signal CLK P and delay the clock signal as directed by FSM 550. Clock distribution network 520 may propagate the clock signal from adjustable delay circuit 510 through at least one clock buffer and provide a delayed first clock signal CLK_MID_J to register 570. Clock distribution network 520 may provide the same delayed first clock signal CLK_MID_J or another instance of the delayed first clock signal CLK_MID_I to register 580.
Similarly, clock distribution network 520 may provide the same delayed first clock signal CLK_MID_J (or CLK_MID_I) or another instance of the delayed first clock signal CLK_MID_K to replica clock distribution network 530.
If desired, FSM 550 may adjust the delay of adjustable delay circuit 510 such that the delayed first clock signals CLK_MID_I, CLK_MID_J, and CLK_MID_K are phase shifted by 90 degrees relative to data signals D_0 ... D_N and clock signal CLK P. This delay may correspond to half a unit interval (UI) delay between CLK P and the clock port of the storage circuit, thereby resulting in a clocking event (i.e., a rising or falling edge of the clock signals CLK_MID_I, CLK_MID_J, and CLK_MID_K) at the center of the eye of the respective data signal D 0 ... D N, and thus enabling the capture of the data signal with the registers 570 ... 580.
Replica clock distribution network 530 may include a copy of a subset of branches of clock distribution network 520 (e.g., replica clock distribution network 530 may replicate one branch of clock distribution network 520) . If desired, replica clock distribution network 530 may include a complete copy of clock distribution network 520. Replica clock distribution network 530 may receive the delayed first clock signal (e.g., delayed first clock signal CLK_MID_K) and propagate the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to adjustable delay circuit 540.
Consider the scenario in which replica clock distribution network 530 has the same delay as clock distribution network 520 and that FSM 550 has adjusted adjustable delay circuit 540 to have the same delay as adjustable delay circuit 510. In this scenario, clock signal CLK_P that is propagated through adjustable delay circuit 510, clock distribution network 520, replica clock distribution network 530, and adjustable delay circuit 540 arrives at register 560 as signal CLK P DLY with a phase shift of 180 degrees relative to clock signal CLK_P, which may correspond to one unit interval (UI) delay. In other words, ideally the delayed clock signal CLK P DLY which is sometimes also referred to as the feedback clock signal or the feedback signal arrives in phase with the complementary clock signal CLK_N, which is sometimes also referred to as the reference clock signal or the reference signal.
Register 560 may act as a phase detector. Consider the scenario in which register 560 stores data at a rising edge event of clock signal CLK_P_DLY. In this scenario, if the feedback clock signal CLK P DLY arrives before the reference clock signal CLK_N, register 560 may store a logic λ0', whereas if the feedback clock signal CLK_P_DLY arrives after the reference clock signal CLK_N, register 560 may store a logic l' .
The signal stored in register 560 may thus serve as a control signal to FSM 550, which may adjust the delays of adjustable delay circuits 510 and 540 accordingly: If register
560 stores a logic l', FSM 550 may reduce the adjusted delays of adjustable delay circuits 510 and 540. In contrast, if register 560 stores a logic 0', FSM 550 may increase the adjusted delays of adjustable delay circuits 510 and 540.
FSM 560 may include circuitry that prevents glitches when adjusting the delays of adjustable delay circuits 510 and 540. If desired, FSM 560 may receive a lock request signal and provide a status signal upon successful locking a predetermined phase shift between the reference clock signal CLK_N and the feedback clock signal CLK_P_DLY.
FIG. 6 is an illustrative timing diagram 600 showing the phase relationships between the clock and data signals of FIG. 5B . As shown in FIG. 5B, the clock-data phase alignment circuitry may receive clock signals CLK_P and CLK_N and data signal D_0. As shown in FIG. 6, data signal D_0 may be a differential signal that has a first and a second component that are complementary to each other. Together, the first and second component of data signal D_0 form an eye diagram.
Clock signals CLK_P and CLK_N are also complementary to each other and have a duty cycle of 50/50 (i.e., the time during which the clock signal is logic λ1' is equal to the time during which the clock signal is logic 0') . As shown, the edges of the clock signals C1K_P and CLK_N are aligned with each other, and thus a unit interval may be the time between a rising edge of clock signal CLK_P at time 610 and a falling clock edge of clock signal CLK_P at time 620.
As shown in FIG. 5B, adjustable delay circuit 510 may receive clock signal CLK P and delay the clock signal as directed by FSM 550. Clock distribution network 520 may propagate the clock signal from adjustable delay circuit 510 through at least one clock buffer and provide a delayed first clock signal
CLK_MID_J. Clock signal CLK_MID_J may be delayed by half a unit interval (UI) delay relative to clock signal CLK P. This is illustrated in FIG. 6 between time 630 and time 640.
At time 640, the rising edge of clock signal CLK_MID_J is in the center of the eye of data signal D_0 and thus enables the capture of data signal D 0 with register 570 of FIG. 5B .
As shown in FIG. 5B, further delaying clock signal CLK_MID_J (or another clock signal CLK_MID_K that has minimal skew relative to clock signal CLK_MID_J) in replica clock distribution network 530 and adjustable delay circuit 540 produces clock signal CLK_P_DLY at register 560. Clock signal
CLK_P_DLY may have a phase shift of 180 degrees relative to clock signal CLK P, which may correspond to one unit interval (UI) delay if replica clock distribution network 530 has the same delay as clock distribution network 520 and FSM 550 has adjusted adjustable delay circuit 540 to have the same delay as adjustable delay circuit 510. In other words, ideally the delayed clock signal CLK P DLY arrives at time 650 at register 560, which is in phase with clock signal CLK_N.
Thus, register 560 may act as a phase detector. If clock signal CLK P DLY arrives at register 560 early (i.e., in less than one unit delay, before time 650), register 560 may store a logic 0', whereas if clock signal CLK_P_DLY arrives at register 560 late (i.e., in more than one unit delay, after time 650), register 560 may store a logic l'.
The signal stored in register 560 may thus serve as a control signal to FSM 550, which may adjust the delays of adjustable delay circuits 510 and 540 accordingly: If register 560 stores a logic l', FSM 550 may reduce the adjusted delays of adjustable delay circuits 510 and 540 so that clock signal
CLK_P_DLY arrives earlier. In contrast, if register 560 stores a logic λ0', FSM 550 may increase the adjusted delays of adjustable delay circuits 510 and 540 so that clock signal CLK P DLY arrives later .
FIG. 7 is a diagram of a flow chart showing
illustrative steps for operating clock-data phase alignment circuitry in accordance with an embodiment.
During step 710, clock phase adjustment circuitry may receive a differential clock with first and second clock signals that are complementary to each other. For example, clock phase adjustment circuitry 410 of FIG. 4 may receive clock signals CLK_P and CLK_N that are complementary to each other.
During step 720, the clock-data phase alignment circuitry may propagate the first clock signal through at least one first clock buffer in a first clock distribution network to provide a delayed first clock signal. For example, the clock- data phase alignment circuitry of FIG. 4 may propagate clock signal CLK P through a clock buffer in clock distribution network 430.
During step 730, the clock-data phase alignment circuitry may store a data signal based on the delayed first clock signal in a storage circuit. For example, register 440 in FIG. 4 may store data signal D 0 based on the delayed first clock signal received through clock distribution network 430.
During step 740, the clock-data phase alignment circuitry may propagate the delayed first clock signal through at least one second clock buffer in a second clock distribution network that is coupled between the first clock distribution network and the clock phase adjustment circuitry to provide a further delayed first clock signal to the clock phase adjustment circuitry. For example, the clock-data phase alignment circuitry of FIG. 4 may propagate the delayed clock signal through at least one clock buffer in replica clock distribution network 420 that is coupled between clock distribution network 430 and clock phase adjustment circuitry 410.
The method and apparatus described herein may be incorporated into any suitable circuit or system of circuits. For example, the method and apparatus may be incorporated into numerous types of devices such as microprocessors or other integrated circuits. Exemplary integrated circuits include programmable array logic (PAL), programmable logic arrays (PLAs), field programmable logic arrays (FPGAs), electrically
programmable logic devices (EPLDs), electrically erasable programmable logic devices (EEPLDs) , logic cell arrays (LCAs) , field programmable gate arrays (FPGAs), coarse-grained
reconfigurable architectures (CGRAs), digital signal processing (DSP) circuits, application specific standard products (ASSPs), application specific integrated circuits (ASICs), just to name a few .
The integrated circuit described herein may be part of a data processing system that includes one or more of the following components: a processor; memory; I/O circuitry; and peripheral devices. The data processing system can be used in a wide variety of applications, such as computer networking, data networking, instrumentation, video processing, digital signal processing, or any suitable other application where the advantage of using a source synchronous interface circuit is desirable.
The integrated circuit may be configured to perform a variety of different logic functions. For example, the
integrated circuit may be configured as a processor or controller that works in cooperation with a system processor. The
integrated circuit may also be used as an arbiter for arbitrating access to a shared resource in the data processing system. In yet another example, the integrated circuit may be configured as an interface between a processor and one of the other components in the system. In one embodiment, the integrated circuit may be one of the families of devices owned by the assignee.
Although the method operations were described in a specific order, it should be understood that other operations may be performed in between described operations, described
operations may be adjusted so that they occur at slightly different times or described operations may be distributed in a system which allows the occurrence of the processing operations at various intervals associated with the processing.
The foregoing is merely illustrative of the principles of the embodiments and various modifications can be made by those skilled in the art without departing from the scope and spirit of the embodiments disclosed herein. The foregoing embodiments may be implemented individually or in any combination.
The following examples pertain to further embodiments.
Example 1 is a clock-data phase alignment circuitry, comprising: clock phase adjustment circuitry that receives a differential clock with first and second clock signals that are complementary to each other; a first clock distribution network that receives the first clock signal and propagates the first clock signal through at least one first clock buffer to provide a delayed first clock signal; a storage circuit that receives the delayed first clock signal and a data signal and stores the data signal based on the delayed first clock signal; and a second clock distribution network coupled between the first clock distribution network and the clock phase adjustment circuitry, wherein the second clock distribution network receives the delayed first clock signal and propagates the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to the clock phase adjustment circuitry . Example 2 is the clock-data phase alignment circuitry of example 1, wherein the second clock distribution network replicates at least a branch of the first clock distribution network .
Example 3 is the clock-data phase alignment circuitry of example 1, wherein each of the at least first and second clock buffers have a delay of less than half a unit interval (UI) .
Example 4 is the clock-data phase alignment circuitry of example 1, wherein the clock phase adjustment circuitry further comprises: a first adjustable delay circuit that delays the first clock signal by a first adjusted delay; and a second adjustable delay circuit that delays the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal.
Example 5 is the clock-data phase alignment circuitry of example 4, wherein the clock phase adjustment circuitry further comprises: a phase detector that provides a control signal based on a phase difference between the second clock signal and the feedback clock signal.
Example 6 is the clock-data phase alignment circuitry of example 5, wherein the clock phase adjustment circuitry further comprises: a delay control circuit that adjusts the first and second adjusted delays of the first and second adjustable delay circuits respectively based on the control signal.
Example 7 is the clock-data phase alignment circuitry of example 5, wherein the phase detector further comprises: a register that provides the control signal by storing the second clock signal based on the feedback signal.
Example 8 is the clock-data phase alignment circuitry of example 7, wherein the control signal is logic 0' to indicate a desired delay increase and logic l' to indicate a desired delay decrease. Example 9 is a clock-data phase alignment circuit in an integrated circuit, comprising: a clock input that receives a differential clock signal having first and second clock signals; a data input that receives a data signal; a first clock
distribution circuit with a first path that conveys the first clock signal to provide a sampling clock signal; a second clock distribution circuit with a second path that conveys the sampling clock signal to provide a feedback clock signal; a clock phase adjustment circuit that controls a predetermined phase shift between the sampling clock signal and the data signal based on the first and second clock signals and the feedback clock signal; and a storage circuit that receives the data signal from the data input and the sampling clock signal from the first clock
distribution circuit and stores the data signal based on the sampling clock signal.
Example 10 is the clock-data phase alignment circuit of example 9, wherein each of the first and second paths has a respective delay of less than one half of a unit interval (UI) .
Example 11 is the clock-data phase alignment circuit of example 9, further comprising: at least one clock buffer in the first path; and at least one other clock buffer in the second path .
Example 12 is the clock-data phase alignment circuit of example 9, wherein the clock phase adjustment circuit further comprises: a first adjustable delay circuit that delays the first clock signal by a first adjusted delay; and a second adjustable delay circuit that delays the feedback clock signal by a second adjusted delay.
Example 13 is the clock-data phase alignment circuit of example 12, wherein the clock phase adjustment circuit further comprises: a phase detector circuit that generates a phase adjustment signal based on a detected phase difference between the second clock signal and the feedback clock signal delayed by the second adjusted delay; and a delay control circuit that generates a control signal to adjust the first and second adjusted delays based on the phase adjustment signal.
Example 14 is a method for operating clock alignment circuitry, comprising: with clock phase adjustment circuitry, receiving a differential clock with first and second clock signals that are complementary to each other; propagating the first clock signal through at least one first clock buffer in a first clock distribution network to provide a delayed first clock signal; storing a data signal based on the delayed first clock signal in a storage circuit; and propagating the delayed first clock signal through at least one second clock buffer in a second clock distribution network that is coupled between the first clock distribution network and the clock phase adjustment circuitry to provide a further delayed first clock signal to the clock phase adjustment circuitry.
Example 15 is the method of example 14, further comprising: delaying the delayed first clock signal in the first clock distribution network by less than half a unit interval (UI) relative to the first clock signal; and delaying the further delayed first clock signal in the second clock distribution network by less than half a unit interval (UI) relative to the delayed first clock signal.
Example 16 is the method of example 14, further comprising: using a first adjustable delay circuit in the clock phase adjustment circuitry to delay the first clock signal by a first adjusted delay; and using a second adjustable delay circuit in the clock phase adjustment circuitry to delay the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal. Example 17 is the method of example 16, further comprising: detecting a phase difference between the second clock signal and the feedback clock signal; and generating a control signal based on the phase difference.
Example 18 is the method of example 17, further comprising: adjusting the first and second adjusted delays of the first and second adjustable delay circuits, respectively, based on the control signal.
Example 19 is the method of example 17, further comprising: generating the control signal by storing the second clock signal in a register based on the feedback signal.
Example 20 is the method of example 19, further comprising: storing a logic λ0' in the register to indicate a desired delay increase in the first and second adjustable delay circuits; and storing a logic Λ1' in the register to indicate a desired delay decrease in the first and second adjustable delay circuits .
The above described embodiments are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims that follow.

Claims

What is Claimed is
1. Clock-data phase alignment circuitry, comprising: clock phase adjustment circuitry that receives a differential clock with first and second clock signals that are complementary to each other;
a first clock distribution network that receives the first clock signal and propagates the first clock signal through at least one first clock buffer to provide a delayed first clock signal;
a storage circuit that receives the delayed first clock signal and a data signal and stores the data signal based on the delayed first clock signal; and
a second clock distribution network coupled between the first clock distribution network and the clock phase adjustment circuitry, wherein the second clock distribution network receives the delayed first clock signal and propagates the delayed first clock signal through at least one second clock buffer to provide a further delayed first clock signal to the clock phase adjustment circuitry.
2. The clock-data phase alignment circuitry of claim 1, wherein the second clock distribution network replicates at least a branch of the first clock distribution network.
3. The clock-data phase alignment circuitry of any one of claims 1-2, wherein each of the at least first and second clock buffers have a delay of less than half a unit interval (UI) .
4. The clock-data phase alignment circuitry of any one of claims 1-2, wherein the clock phase adjustment circuitry further comprises: a first adjustable delay circuit that delays the first clock signal by a first adjusted delay; and
a second adjustable delay circuit that delays the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal.
5. The clock-data phase alignment circuitry of claim
4, wherein the clock phase adjustment circuitry further
comprises :
a phase detector that provides a control signal based on a phase difference between the second clock signal and the feedback clock signal.
6. The clock-data phase alignment circuitry of claim
5, wherein the clock phase adjustment circuitry further
comprises :
a delay control circuit that adjusts the first and second adjusted delays of the first and second adjustable delay circuits respectively based on the control signal.
7. The clock-data phase alignment circuitry of any one of claims 5-6, wherein the phase detector further comprises:
a register that provides the control signal by storing the second clock signal based on the feedback signal.
8. The clock-data phase alignment circuitry of claim 7, wherein the control signal is logic 0' to indicate a desired delay increase and logic l' to indicate a desired delay
decrease .
9. A clock-data phase alignment circuit in an integrated circuit, comprising: a clock input that receives a differential clock signal having first and second clock signals;
a data input that receives a data signal;
a first clock distribution circuit with a first path that conveys the first clock signal to provide a sampling clock signal;
a second clock distribution circuit with a second path that conveys the sampling clock signal to provide a feedback clock signal;
a clock phase adjustment circuit that controls a predetermined phase shift between the sampling clock signal and the data signal based on the first and second clock signals and the feedback clock signal; and
a storage circuit that receives the data signal from the data input and the sampling clock signal from the first clock distribution circuit and stores the data signal based on the sampling clock signal.
10. The clock-data phase alignment circuit of claim 9, wherein each of the first and second paths has a respective delay of less than one half of a unit interval (UI) .
11. The clock-data phase alignment circuit of any one of claims 9-10, further comprising:
at least one clock buffer in the first path; and at least one other clock buffer in the second path .
12. The clock-data phase alignment circuit of any one of claims 9-10, wherein the clock phase adjustment circuit further comprises: a first adjustable delay circuit that delays the first clock signal by a first adjusted delay; and
a second adjustable delay circuit that delays the feedback clock signal by a second adjusted delay.
13. The clock-data phase alignment circuit of claim 12, wherein the clock phase adjustment circuit further comprises:
a phase detector circuit that generates a phase adjustment signal based on a detected phase difference between the second clock signal and the feedback clock signal delayed by the second adjusted delay; and
a delay control circuit that generates a control signal to adjust the first and second adjusted delays based on the phase adjustment signal.
14. A method for operating clock alignment circuitry, comprising :
with clock phase adjustment circuitry, receiving a differential clock with first and second clock signals that are complementary to each other;
propagating the first clock signal through at least one first clock buffer in a first clock distribution network to provide a delayed first clock signal;
storing a data signal based on the delayed first clock signal in a storage circuit; and
propagating the delayed first clock signal through at least one second clock buffer in a second clock distribution network that is coupled between the first clock distribution network and the clock phase adjustment circuitry to provide a further delayed first clock signal to the clock phase adjustment circuitry .
15. The method of claim 14, further comprising:
delaying the delayed first clock signal in the first clock distribution network by less than half a unit interval (UI) relative to the first clock signal; and
delaying the further delayed first clock signal in the second clock distribution network by less than half a unit interval (UI) relative to the delayed first clock signal.
16. The method of any one of claims 14-15, further comprising :
using a first adjustable delay circuit in the clock phase adjustment circuitry to delay the first clock signal by a first adjusted delay; and
using a second adjustable delay circuit in the clock phase adjustment circuitry to delay the further delayed first clock signal by a second adjusted delay to provide a feedback clock signal.
17. The method of claim 16, further comprising:
detecting a phase difference between the second clock signal and the feedback clock signal; and
generating a control signal based on the phase difference .
18. The method of claim 17, further comprising:
adjusting the first and second adjusted delays of the first and second adjustable delay circuits, respectively, based on the control signal.
19. The method of any one of claims 17-18, further comprising : generating the control signal by storing the second clock signal in a register based on the feedback signal.
20. The method of claim 19, further comprising:
storing a logic λ0' in the register to indicate a desired delay increase in the first and second adjustable delay circuits; and
storing a logic λ1' in the register to indicate a desired delay decrease in the first and second adjustable delay circuits .
21. An integrated circuit, comprising:
a first clock distribution network that conveys a sampling clock signal along first and second paths;
a second clock distribution network that comprises a third path that is a replica of the second path and that conveys the sampling clock signal along the third path to provide a feedback clock signal;
a storage circuit that stores a data signal based on the sampling clock signal; and
clock phase adjustment circuitry that receives a differential clock signal and controls a predetermined phase shift between the sampling clock signal and the data signal based on the differential clock signal and the feedback clock signal.
22. The integrated circuit of claim 21, wherein each of the first, second, and third paths has a respective delay of less than one half of a unit interval (UI) .
23. The integrated circuit of any one of claims 21-22, wherein the differential clock signal includes first and second clock signals, and wherein the clock phase adjustment circuitry further comprises:
a first adjustable delay circuit that delays the first clock signal by a first adjusted delay; and
a second adjustable delay circuit that delays the feedback clock signal by a second adjusted delay.
24. The integrated circuit of claim 23, wherein the clock phase adjustment circuitry further comprises:
a phase detector circuit that generates a phase adjustment signal based on a detected phase difference between the second clock signal and the feedback clock signal delayed by the second adjusted delay.
25. The integrated circuit of claim 24, wherein the clock phase adjustment circuitry further comprises:
a delay control circuit that generates a control signal to adjust the first and second adjusted delays based on the phase adjustment signal.
PCT/US2017/040999 2016-08-02 2017-07-07 Dynamic clock-data phase alignment in a source synchronous interface circuit WO2018026460A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/226,037 2016-08-02
US15/226,037 US10218360B2 (en) 2016-08-02 2016-08-02 Dynamic clock-data phase alignment in a source synchronous interface circuit

Publications (1)

Publication Number Publication Date
WO2018026460A1 true WO2018026460A1 (en) 2018-02-08

Family

ID=61069620

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/040999 WO2018026460A1 (en) 2016-08-02 2017-07-07 Dynamic clock-data phase alignment in a source synchronous interface circuit

Country Status (2)

Country Link
US (2) US10218360B2 (en)
WO (1) WO2018026460A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404507B2 (en) * 2013-07-04 2019-09-03 Sony Corporation Implicit signaling in OFDM preamble with embedded signature sequence, and cyclic prefix and postfix aided signature detection
CN111106922A (en) * 2018-10-26 2020-05-05 美格纳半导体有限公司 Receiving apparatus and operating method thereof

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218360B2 (en) * 2016-08-02 2019-02-26 Altera Corporation Dynamic clock-data phase alignment in a source synchronous interface circuit
US11327259B2 (en) * 2017-12-07 2022-05-10 Intel Corporation Integrated circuit package with electro-optical interconnect circuitry
KR20190068890A (en) * 2017-12-11 2019-06-19 삼성전자주식회사 Memory system for adjusting clock frequency
US10530614B2 (en) * 2018-12-21 2020-01-07 Intel Corporation Short link efficient interconnect circuitry
US10666261B2 (en) 2018-12-28 2020-05-26 Intel Corporation High-speed core interconnect for multi-die programmable logic devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060188050A1 (en) * 1999-12-30 2006-08-24 Jenkins Philip N System and method for adaptively deskewing parallel data signals relative to a clock
US20080054959A1 (en) * 2006-08-31 2008-03-06 Elpida Memory, Inc. DLL circuit and semiconductor device including the same
US20140195728A1 (en) * 2013-01-08 2014-07-10 Taiwan Semiconductor Manufacturing Co., Ltd. Data sampling alignment method for memory inferface
US20140211571A1 (en) * 2009-06-24 2014-07-31 Advanced Micro Devices, Inc. Adjustment of Write Timing in a Memory Device
US20140247683A1 (en) * 2011-10-18 2014-09-04 Yoshiro Riho Semiconductor device having a control chip stacked with a controlled chip

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9300679L (en) * 1993-03-01 1994-09-02 Ellemtel Utvecklings Ab bit synchronizer
US5509037A (en) * 1993-12-01 1996-04-16 Dsc Communications Corporation Data phase alignment circuitry
US5852640A (en) * 1995-06-26 1998-12-22 Kliza; Phillip S. Clock distribution apparatus with current sensed skew cancelling
US5889436A (en) * 1996-11-01 1999-03-30 National Semiconductor Corporation Phase locked loop fractional pulse swallowing frequency synthesizer
US6127865A (en) * 1997-05-23 2000-10-03 Altera Corporation Programmable logic device with logic signal delay compensated clock network
WO1999007077A2 (en) * 1997-07-31 1999-02-11 Stanford Syncom Inc. Means and method for a synchronous network communications system
US6075832A (en) * 1997-10-07 2000-06-13 Intel Corporation Method and apparatus for deskewing clock signals
AU9798598A (en) * 1997-10-10 1999-05-03 Rambus Incorporated Apparatus and method for generating a distributed clock signal using gear ratio techniques
US6232806B1 (en) * 1998-10-21 2001-05-15 International Business Machines Corporation Multiple-mode clock distribution apparatus and method with adaptive skew compensation
US6622255B1 (en) * 2000-09-13 2003-09-16 Intel Corporation Digital clock skew detection and phase alignment
US6630855B2 (en) * 2001-03-29 2003-10-07 Intel Corporation Clock distribution phase alignment technique
US7107477B1 (en) * 2003-01-31 2006-09-12 Altera Corporation Programmable logic devices with skewed clocking signals
CN101322127B (en) * 2003-02-25 2012-03-07 阿尔特拉公司 Clocktree tuning shims and shim tuning method
US6839301B2 (en) * 2003-04-28 2005-01-04 Micron Technology, Inc. Method and apparatus for improving stability and lock time for synchronous circuits
US7046174B1 (en) * 2003-06-03 2006-05-16 Altera Corporation Byte alignment for serial data receiver
US6867616B1 (en) * 2003-06-04 2005-03-15 Altera Corporation Programmable logic device serial interface having dual-use phase-locked loop circuitry
US7272677B1 (en) * 2003-08-08 2007-09-18 Altera Corporation Multi-channel synchronization for programmable logic device serial interface
US7486702B1 (en) * 2003-08-11 2009-02-03 Cisco Technology, Inc DDR interface for reducing SSO/SSI noise
US7340021B1 (en) * 2003-11-13 2008-03-04 Altera Corporation Dynamic phase alignment and clock recovery circuitry
US7295641B1 (en) * 2003-11-26 2007-11-13 Altera Corporation Phase alignment circuitry and methods
US7075365B1 (en) * 2004-04-22 2006-07-11 Altera Corporation Configurable clock network for programmable logic device
US7453968B2 (en) * 2004-05-18 2008-11-18 Altera Corporation Dynamic phase alignment methods and apparatus
US7421606B2 (en) * 2004-05-18 2008-09-02 Micron Technology, Inc. DLL phase detection using advanced phase equalization
US7034597B1 (en) * 2004-09-03 2006-04-25 Ami Semiconductor, Inc. Dynamic phase alignment of a clock and data signal using an adjustable clock delay line
US7499513B1 (en) * 2004-12-23 2009-03-03 Xilinx, Inc. Method and apparatus for providing frequency synthesis and phase alignment in an integrated circuit
US7493461B1 (en) * 2005-01-20 2009-02-17 Altera Corporation Dynamic phase alignment for resynchronization of captured data
US7839966B1 (en) * 2005-02-01 2010-11-23 Altera Corporation Asynchronous data sampling using CDR receivers in lock-to-reference mode
US7515664B1 (en) * 2005-04-21 2009-04-07 Xilinx, Inc. Method of recovering data in asynchronous applications
US7555089B2 (en) * 2005-05-20 2009-06-30 Honeywell International Inc. Data edge-to-clock edge phase detector for high speed circuits
US8570881B2 (en) * 2006-03-28 2013-10-29 Advanced Micro Devices, Inc. Transmitter voltage and receiver time margining
US7644296B1 (en) * 2006-04-07 2010-01-05 Altera Corporation Programmable logic device integrated circuits with configurable dynamic phase alignment circuitry
US7555667B1 (en) * 2006-04-07 2009-06-30 Altera Corporation Programmable logic device integrated circuit with dynamic phase alignment capabilities and shared phase-locked-loop circuitry
US7715467B1 (en) * 2006-04-07 2010-05-11 Altera Corporation Programmable logic device integrated circuit with dynamic phase alignment capabilities
US7664978B2 (en) * 2006-04-07 2010-02-16 Altera Corporation Memory interface circuitry with phase detection
US7590211B1 (en) * 2006-04-07 2009-09-15 Altera Corporation Programmable logic device integrated circuit with communications channels having sharing phase-locked-loop circuitry
US7676768B1 (en) * 2006-05-19 2010-03-09 Altera Corporation Automatic asynchronous signal pipelining
US7545196B1 (en) * 2006-06-02 2009-06-09 Altera Corporation Clock distribution for specialized processing block in programmable logic device
US7587686B1 (en) * 2006-08-01 2009-09-08 Altera Corporation Clock gating in a structured ASIC
US7737751B1 (en) * 2006-08-25 2010-06-15 Altera Corporation Periphery clock distribution network for a programmable logic device
TWI302320B (en) * 2006-09-07 2008-10-21 Nanya Technology Corp Phase detection method, memory control method, and related device
US8504865B2 (en) * 2007-04-20 2013-08-06 Easic Corporation Dynamic phase alignment
US7642812B1 (en) * 2007-08-24 2010-01-05 Altera Corporation Distribution and synchronization of a divided clock signal
WO2009099595A1 (en) * 2008-02-01 2009-08-13 Rambus, Inc. Receiver with enhanced clock and data recovery
US7872512B2 (en) * 2008-04-01 2011-01-18 Altera Corporation Robust time borrowing pulse latches
JP5384910B2 (en) * 2008-11-11 2014-01-08 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit and clock synchronization control method
US8115512B1 (en) * 2009-01-31 2012-02-14 Xilinx, Inc. Method and apparatus for dynamically aligning high-speed signals in an integrated circuit
US8191028B1 (en) * 2009-04-07 2012-05-29 Altera Corporation Methods and systems for improving a maximum operating frequency of an integrated circuit during a route phase
US8610474B2 (en) * 2009-10-15 2013-12-17 Rambus Inc. Signal distribution networks and related methods
US8612795B1 (en) * 2010-03-03 2013-12-17 Altera Corporation Segmented clock network for transceiver array
US8149038B1 (en) * 2010-03-22 2012-04-03 Altera Corporation Techniques for phase adjustment
KR20110131765A (en) * 2010-05-31 2011-12-07 주식회사 하이닉스반도체 Phase correction circuit and data align circuit using the same
US8519763B2 (en) * 2010-06-11 2013-08-27 Altera Corporation Integrated circuits with dual-edge clocking
US8464088B1 (en) * 2010-10-29 2013-06-11 Altera Corporation Multiple channel bonding in a high speed clock network
US8294502B2 (en) * 2011-03-04 2012-10-23 Altera Corporation Delay circuitry
US8634503B2 (en) * 2011-03-31 2014-01-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast lock clock-data recovery for phase steps
US8774228B2 (en) * 2011-06-10 2014-07-08 International Business Machines Corporation Timing recovery method and apparatus for an input/output bus with link redundancy
US8824224B2 (en) * 2011-08-05 2014-09-02 Rambus Inc. Frequency-agile strobe window generation
US9160350B2 (en) * 2011-11-15 2015-10-13 Rambus Inc. Integrated circuit comprising a delay-locked loop
US20130148447A1 (en) * 2011-12-07 2013-06-13 Ian P. Shaeffer Reducing Power Consumption in a Memory System
US8643414B1 (en) * 2012-02-13 2014-02-04 Rambus Inc. Fast locking phase-locked loop
US8836394B2 (en) * 2012-03-26 2014-09-16 Rambus Inc. Method and apparatus for source-synchronous signaling
US8812893B1 (en) * 2012-06-01 2014-08-19 Altera Corporation Apparatus and methods for low-skew channel bonding
US8847626B1 (en) * 2013-03-15 2014-09-30 Altera Corporation Circuits and methods for providing clock signals
US8860475B1 (en) * 2013-03-29 2014-10-14 Altera Corporation Techniques for adjusting phases of clock signals
US20140312928A1 (en) * 2013-04-19 2014-10-23 Kool Chip, Inc. High-Speed Current Steering Logic Output Buffer
US9658642B2 (en) * 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
US9503057B1 (en) * 2013-12-20 2016-11-22 Altera Corporation Clock grid for integrated circuit
US9432025B1 (en) * 2014-11-28 2016-08-30 Altera Corporation Techniques for reducing skew between clock signals
US9588176B1 (en) * 2015-01-30 2017-03-07 Altera Corporation Techniques for using scan storage circuits
US9798842B1 (en) * 2015-01-30 2017-10-24 Altera Corporation Circuit design instrumentation for state visualization
US9602106B1 (en) * 2015-03-05 2017-03-21 Altera Corporation Methods for optimizing circuit performance via configurable clock skews
US9577649B1 (en) * 2016-03-14 2017-02-21 Altera Corporation Methods and apparatus for reducing power in clock distribution networks
US20180006653A1 (en) * 2016-06-29 2018-01-04 Altera Corporation Integrated circuits with hybrid fixed/configurable clock networks
US10218360B2 (en) * 2016-08-02 2019-02-26 Altera Corporation Dynamic clock-data phase alignment in a source synchronous interface circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060188050A1 (en) * 1999-12-30 2006-08-24 Jenkins Philip N System and method for adaptively deskewing parallel data signals relative to a clock
US20080054959A1 (en) * 2006-08-31 2008-03-06 Elpida Memory, Inc. DLL circuit and semiconductor device including the same
US20140211571A1 (en) * 2009-06-24 2014-07-31 Advanced Micro Devices, Inc. Adjustment of Write Timing in a Memory Device
US20140247683A1 (en) * 2011-10-18 2014-09-04 Yoshiro Riho Semiconductor device having a control chip stacked with a controlled chip
US20140195728A1 (en) * 2013-01-08 2014-07-10 Taiwan Semiconductor Manufacturing Co., Ltd. Data sampling alignment method for memory inferface

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404507B2 (en) * 2013-07-04 2019-09-03 Sony Corporation Implicit signaling in OFDM preamble with embedded signature sequence, and cyclic prefix and postfix aided signature detection
US10999111B2 (en) 2013-07-04 2021-05-04 Saturn Licensing Llc Implicit signalling in OFDM preamble with embedded signature sequence, and cyclic prefix and postfix aided signature detection
US11496345B2 (en) 2013-07-04 2022-11-08 Saturn Licensing Llc Implicit signaling in OFDM preamble with embedded signature sequence, and cyclic prefix and postfix aided signature detection
CN111106922A (en) * 2018-10-26 2020-05-05 美格纳半导体有限公司 Receiving apparatus and operating method thereof

Also Published As

Publication number Publication date
US10218360B2 (en) 2019-02-26
US20190149154A1 (en) 2019-05-16
US20180041328A1 (en) 2018-02-08
US10439615B2 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
US10439615B2 (en) Dynamic clock-data phase alignment in a source synchronous interface circuit
US7003423B1 (en) Programmable logic resource with data transfer synchronization
US7590211B1 (en) Programmable logic device integrated circuit with communications channels having sharing phase-locked-loop circuitry
US6690201B1 (en) Method and apparatus for locating data transition regions
US8810299B2 (en) Signal flow control through clock signal rate adjustments
US8476947B2 (en) Duty cycle distortion correction circuitry
CN103105889B (en) The clock synchronization apparatus that a kind of FPGA prototype verification sheetpile is folded and system
US9768783B1 (en) Methods for operating configurable storage and processing blocks at double and single data rates
US7343569B1 (en) Apparatus and method for reset distribution
US7346794B1 (en) Method and apparatus for providing clocking phase alignment in a transceiver system
US7590879B1 (en) Clock edge de-skew
US8775701B1 (en) Method and apparatus for source-synchronous capture using a first-in-first-out unit
US8922264B1 (en) Methods and apparatus for clock tree phase alignment
US7746134B1 (en) Digitally controlled delay-locked loops
US7234069B1 (en) Precise phase shifting using a DLL controlled, multi-stage delay chain
US8248110B1 (en) Clock switch-over circuits and methods
US7340021B1 (en) Dynamic phase alignment and clock recovery circuitry
US8816743B1 (en) Clock structure with calibration circuitry
US9047934B1 (en) Timing signal adjustment for data storage
US8860475B1 (en) Techniques for adjusting phases of clock signals
US20130154686A1 (en) Method and Apparatus for Facilitating Communication Between Programmable Logic Circuit and Application Specific Integrated Circuit with Clock Adjustment
US9755663B1 (en) Parallel-serial conversion circuit, information processing apparatus and timing adjustment method
US9007110B1 (en) Register circuits and methods of storing data in a register circuit
US8812893B1 (en) Apparatus and methods for low-skew channel bonding
US8995596B1 (en) Techniques for calibrating a clock signal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17837363

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17837363

Country of ref document: EP

Kind code of ref document: A1