Reception circuit, semiconductor integrated circuit, and transmission / reception system
The described receiver circuit addresses the challenge of efficiently receiving multiple data signals at appropriate timing while minimizing power consumption by using a clock generation circuit with a variable delay circuit, multiphase filter, and selector circuit, thereby reducing the need for individual phase shift circuits in each data receiving circuit.
Patent Information
- Application Number
- PCT/JP2023/039723
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-02
- Publication Date
- 2025-05-08
AI Technical Summary
Existing receiver circuits face challenges in efficiently receiving multiple data signals at appropriate timing while minimizing power consumption, particularly when multiple phase shift circuits are required for each data receiving circuit.
The proposed solution involves a receiver circuit with a clock generation circuit that includes a clock reception circuit, a variable delay circuit, a multiphase filter, and a selector circuit. This configuration generates multiple internal clock signals and selects one based on a phase selection signal to produce a received clock signal, thereby reducing the need for individual phase shift circuits in each data receiving circuit.
This approach allows for the generation of a clock signal that enables multiple data signals to be received at appropriate timing without significantly increasing power consumption, even as the number of data signals increases.
Smart Images

Figure JP2023039723_08052025_PF_FP_ABST
Abstract
Description
Receiving circuit, semiconductor integrated circuit, and transmitting / receiving system
[0001] The present invention relates to a receiving circuit, a semiconductor integrated circuit, and a transmitting / receiving system.
[0002] A phase adjustment circuit is known in which an input signal is supplied to a phase shift circuit and a variable delay circuit connected in series, the phase of the delayed input signal and a reference signal is detected by a phase detection circuit, and the detection result is fed back to the phase shift circuit and the variable delay circuit to adjust the phase.
[0003] A known synchronous circuit supplies a clock signal to two phase shift circuits, each connected in series with a fine shift circuit for finely adjusting the phase and a coarse shift circuit for coarsely adjusting the phase, and a control circuit selects one of the phase shift circuits to adjust the phase of the clock signal. The control circuit operates the fine shift circuit of the selected phase shift circuit to adjust the phase, operates the fine shift circuit and the coarse shift circuit of the unselected phase shift circuit, and switches the selected phase shift circuit when the delay amount of the fine shift circuit reaches a threshold.
[0004] A delay-locked loop (DLL) circuit is known, which has a phase interpolator and a variable delay circuit connected in series, and outputs an output clock signal from the variable delay circuit that has the same phase as an input clock signal supplied to the phase interpolator. This type of DLL circuit generates an output clock signal without operating the phase interpolator until the DLL is locked, and then operates the phase interpolator after the DLL is locked, thereby generating an output clock signal with reduced jitter.
[0005] Japanese Patent Application Publication No. 2004 / 0130366 Japanese Patent Application Publication No. 2008 / 0252346
[0006] Incidentally, a receiving circuit having a plurality of data receiving circuits, each of which receives a plurality of data signals transmitted together with a clock signal via a transmission line, can receive the correct data signals by correcting the phase shift of the plurality of data signals or the clock signal that occurs in the transmission line, etc. For example, each of the plurality of data receiving circuits may be provided with a phase shift circuit that corrects the phase of the clock signal to an appropriate phase.
[0007] However, if a phase shift circuit is provided for each of multiple data receiving circuits, the number of phase shift circuits increases as the number of received data signals increases, resulting in increased power consumption by the receiving circuits. Also, while it is conceivable to provide a common phase shift circuit for multiple data receiving circuits and adjust the phase of the clock signal to match one of the multiple data signals, no consideration has been given to which data signal the phase of the clock signal should be adjusted to match.
[0008] The present invention has been made in view of the above points, and has as its object to generate a clock signal that can receive a plurality of data signals at appropriate timing while suppressing an increase in power consumption.
[0009] In one aspect of the present invention, a receiving circuit has a clock generation circuit that generates a received clock signal and a plurality of data receiving circuits that each receive separate data signals based on the received clock signal, and the clock generation circuit has a clock receiving circuit that receives a reference clock signal, a variable delay circuit that delays the reference clock signal received by the clock receiving circuit by a delay amount corresponding to a delay control signal to generate a delayed reference clock signal, a multi-phase shifter circuit that has a filter circuit and generates a plurality of internal clock signals by shifting the delayed reference clock signal, and a selector circuit that selects one of the plurality of internal clock signals based on a phase selection signal and outputs it as the received clock signal.
[0010] According to the disclosed technology, it is possible to generate a clock signal that allows a plurality of data signals to be received at appropriate timing while suppressing an increase in power consumption.
[0011] 1. A block diagram illustrating a problem of a receiving circuit that receives a plurality of data signals together with a clock signal in a system that transmits and receives data signals. 2. A block diagram illustrating an example of a system that transmits and receives data signals in an embodiment. 3. A block diagram illustrating an example of a clock receiver, a variable delay circuit, and a polyphase filter of FIG. 2. 4. A circuit diagram illustrating an example of a variable delay circuit of FIG. 2. 5. A timing diagram illustrating an example of a clock signal generated by the polyphase filter of FIG. 3. 6. An explanatory diagram illustrating an example of an operation for finely adjusting the phase of a clock signal by the variable delay circuit of FIG. 4. 7. A flow chart illustrating an example of a calibration operation of the receiving circuit of FIG. 2. 8. A flow chart illustrating an example of an operation of step S200 of FIG. 9. 9. A flow chart illustrating a ...
[0012] Hereinafter, embodiments will be described with reference to the drawings. In the following, a symbol indicating a signal is also used to indicate a signal line, a signal terminal, or a signal node. A symbol indicating a voltage is also used to indicate a voltage line, a voltage terminal, or a voltage node to which a voltage is supplied. When signal lines are complementary signal lines, a single signal line indicates the complementary signal line.
[0013] 1 is a block diagram illustrating a receiver circuit for receiving multiple data signals together with a clock signal in a data signal transmission / reception system. The system 100 shown in FIG. 1 includes a root die 200 and an endpoint die 300 interconnected via a transmission path 110.
[0014] The root die 200 includes a phase-locked loop (PLL) circuit 210, a clock driver 220, and multiple data transmission circuits 230. Each data transmission circuit 230 includes a serializer (SER) 231 and a data driver 232. The endpoint die 300 includes a receiving circuit 310 and user logic 340. The receiving circuit 310 includes a clock receiver 320 and multiple data receiving circuits 330. Each data receiving circuit 330 includes a data receiver 331, a slicer 332, a deserializer (DES) 333, and a phase shift circuit 334.
[0015] In the root die 200, a PLL circuit 210 generates a transmit clock signal TCLK based on an input clock signal (not shown), the transmit clock signal TCLK being in phase with the input clock signal. A clock driver 220 transmits the transmit clock signal TCLK to a clock receiver 320 of the endpoint die 300 via a transmission path 110. In each data transmission circuit 230, a serializer 231 converts an n-bit parallel data signal DT into a serial signal in synchronization with the transmit clock signal TCLK and outputs the serial signal to a data driver 232. The data driver 232 transmits the data signal received from the serializer 231 to a corresponding data reception circuit 330 of the endpoint die 300 via the transmission path 110.
[0016] In the endpoint die 300, the clock receiver 320 receives the transmit clock signal TCLK from the root die 200 via the transmission path 110 and outputs the receive clock signal RCLK to the phase shift circuit 334 of each data receiving circuit 330. In each data receiving circuit 330, the phase shift circuit 334 includes an analog circuit such as an operational amplifier, and shifts the phase of the receive clock signal RCLK based on a preset shift amount and outputs the shifted signal to the slicer 332.
[0017] For example, before receiving a data signal to be processed by the user logic 340 from the root die 200, the endpoint die 300 performs calibration to determine the amount of phase shift of the receive clock signal RCLK for each data receiving circuit 330. For example, for each data receiving circuit 330, the endpoint die 300 determines the amount of shift to set the phase of the receive clock signal RCLK to the center of the transition edges on both sides of each test data signal transmitted from the corresponding data transmitting circuit 230.
[0018] The data receiver 331 receives a serial data signal transmitted from the corresponding data transmission circuit 230 in the route die 200 and outputs the received data signal to the slicer 332. The slicer 332 acquires the data signal in synchronization with the phase-shifted reception clock signal RCLK received from the phase shift circuit 334 and outputs the acquired data signal to the deserializer 333. The deserializer 333 converts the serial data signal received from the slicer 332 into an n-bit parallel data signal and outputs it to the user logic 340. The deserializer 333 is an example of a serial-to-parallel conversion circuit that converts multiple serial data signals received sequentially via the transmission path 110 into parallel data signals.
[0019] The user logic 340 processes the n-bit data signals received from each of the multiple data receiving circuits 330. For example, the user logic 340 may include a processor, a memory, or a logic circuit.
[0020] 1 has a phase shift circuit 334 including an analog circuit such as an operational amplifier for each data receiving circuit 330, and therefore consumes more power than when there is no phase shift circuit 334. Furthermore, the more lanes there are in the transmission path 110 that transmits data signals, the more phase shift circuits 334 are mounted on the endpoint die 300, which increases the power consumption of the endpoint die 300.
[0021] 2 shows an example of a system for transmitting and receiving data signals according to an embodiment. Elements similar to those shown in FIG. 1 are designated by the same reference numerals, and detailed descriptions thereof will be omitted. The system 100A shown in FIG. 2 includes a root die 200A and an endpoint die 300A interconnected via a transmission path 110 including multiple lanes.
[0022] The root die 200A and the endpoint die 300A may be semiconductor integrated circuits such as a system on chip (SoC) or a field-programmable gate array (FPGA). For example, the system 100A may adopt Bunch of Wires (BoW), which is a die-to-die (D2D) interconnect standard.
[0023] The root die 200A includes a PLL circuit 210, a clock driver 220, and a plurality of data transmission circuits 230A. Each data transmission circuit 230A includes a data generation circuit (DTGEN) 233, a selection circuit (SEL) 234, a serializer (SER) 231, and a data driver 232.
[0024] The endpoint die 300A includes a receiving circuit 310A and user logic 340. The receiving circuit 310A includes a clock receiver 320, a variable delay circuit 350, a polyphase filter 360, a phase adjustment sequencer 370, a phase selector 380, and multiple data receiving circuits 330A. Each data receiving circuit 330A includes a data receiver 331, a slicer 332, and a deserializer (DES) 333. The user logic 340 is an example of a processing circuit that processes multiple data signals received by the receiving circuit 310A. Note that the user logic 340 may be provided outside the endpoint die 300A.
[0025] The clock receiver 320, the variable delay circuit 350, the polyphase filter 360, and the phase selector 380 are an example of a clock generation circuit that generates the output clock signals OCLK and OCLKX. The clock receiver 320 is an example of a clock reception circuit that receives the transmission clock signal TCLK. The polyphase filter 360 is an example of a polyphase shifter circuit. The phase selector 380 is an example of a selector circuit.
[0026] In the root die 200A, the clock driver 220 of each data transmission circuit 230 transmits a transmission clock signal TCLK to the clock receiver 320 of the endpoint die 300A via the transmission path 110. Within the root die 200A, a calibration signal CALB indicating a calibration mode is generated based on an instruction from the endpoint die 300A. When the calibration signal CALB indicates a calibration mode, the data generation circuit 233 generates a test data signal TDT and outputs it to the selection circuit 234. The calibration signal CALB is generated during the calibration mode in which the endpoint die 300A searches for an appropriate timing phase of the clock signal that enables the endpoint die 300A to correctly acquire a data signal.
[0027] The calibration signal CALB may be sequentially supplied to any of the multiple data transmission circuits 230A. In this case, one of the data transmission circuits 230A generates the test data signal TDT and transmits it to the endpoint die 300A. Alternatively, the calibration signal CALB may be commonly supplied to the multiple data transmission circuits 230A. In this case, all of the data transmission circuits 230A simultaneously generate the test data signal TDT and transmit it to the endpoint die 300A.
[0028] When the calibration signal CALB does not indicate the calibration mode, i.e., when the system is operating, the selection circuit 234 selects the n-bit data signal DT and outputs it to the serializer 231. When the calibration signal CALB indicates the calibration mode, i.e., when the system is in calibration mode, the selection circuit 234 selects the n-bit test data signal TDT and outputs it to the serializer 231.
[0029] The serializer 231 converts an n-bit data signal DT or test data signal TDT into a serial signal in synchronization with the transmission clock signal TCLK, and transmits the converted serial data signal to the corresponding data receiving circuit 330A via the data driver 232. For example, the multiple data transmitting circuits 230A convert separate data signals DT, which are multiple data signals independent of one another, into serial signals using the serializer 231 and transmit the serial signals to the transmission path 110. In other words, the multiple lanes on the transmission path 110 connected to the multiple data transmitting circuits 230A transmit data signals DT that are independent of one another.
[0030] In the endpoint die 300A, the clock receiver 320 receives the transmit clock signal TCLK from the root die 200A via the transmission path 110 and outputs it to the variable delay circuit 350 as the receive clock signal RCLK. The variable delay circuit 350 adjusts (delays) the phase of the receive clock signal RCLK in accordance with the delay code DCODE and outputs it to the polyphase filter 360 as the clock signal DCLK. The polyphase filter 360 generates clock signals O000, O090, O180, and O270, which have phase differences of 0°, 90°, 180°, and 270° from the clock signal received from the variable delay circuit 350, and outputs these signals to the phase selector 380. The clock signals O000, O090, O180, and O270 are examples of internal clock signals. An example of the polyphase filter 360 is shown in FIG. 3 .
[0031] The phase adjustment sequencer 370 operates during a calibration mode and monitors the test data signals TDT output from the multiple data receiving circuits 330A. The calibration mode is an example of a test mode. The phase adjustment sequencer 370 then generates a phase selection signal PSEL and a delay code DCODE for generating appropriate output clock signals OCLK and OCLKX for all of the data receiving circuits 330A, and outputs these signals to the phase selector 380 and the variable delay circuit 350, respectively. The phase adjustment sequencer 370 is an example of a phase adjustment control circuit.
[0032] This allows each data receiving circuit 330A to receive the data signal at the appropriate timing after transitioning from the calibration mode to the system operation mode in which the data signal DT is received. Examples of the operation of determining the output clock signals OCLK, OCLKX of the appropriate phase using the phase adjustment sequencer 370 are shown in Figures 7 to 11. The output clock signals OCLK, OCLKX are examples of receive clock signals that are received in common by all of the data receiving circuits 330A.
[0033] The phase selector 380 selects either the clock signal O000 or O090 in response to the phase selection signal PSEL output from the phase adjustment sequencer 370, and outputs it as the output clock signal OCLK. The phase selector 380 also selects either the clock signal O180 or O270 in response to the phase selection signal PSEL, and outputs it as the output clock signal OCLKX. The waveforms of the clock signals O000, O090, O180, and O270 are shown in FIG. 5.
[0034] Each data receiving circuit 330A has a configuration in which the phase shifter 324 is removed from each data receiving circuit 330 in FIG. 1 . The data receiver 331 receives a data signal transmitted from the corresponding data transmitting circuit 230 in the route die 200A and outputs the received data signal to the slicer 332. For example, the data signals output from the data receiver 331 to the slicer 332 are separate data signals for each of the multiple lanes of the transmission path 110, and are independent of each other. The slicer 332 acquires the data signal received from the data receiver 331 in synchronization with the output clock signal OCLK or the output clock signal OCLKX, and outputs the acquired data signal to the deserializer 333.
[0035] The deserializer 333 converts the serial data signal from the slicer 332 into an n-bit parallel data signal and outputs it to the user logic 340. For example, the multiple data receiving circuits 330A receive separate data signals that are independent of each other from the data transmitting circuit 230A connected via the transmission path 110, and convert the received data signals into parallel data signals.
[0036] 3 shows an example of the clock receiver 320, variable delay circuit 350, and polyphase filter 360 of FIG. 2. The clock receiver 320 includes a buffer 321 and resistors R1 and R2. The variable delay circuit 350 includes a delay buffer 351 and a voltage digital-to-analog conversion circuit (VDAC) 352.
[0037] The polyphase filter 360 includes a filter circuit FLT, a bias circuit 361, transistors T31, T32, T33, and T34, capacitors C31, C32, C33, and C34, and resistors R31, R32, R33, and R34. The bias circuit 361, the transistors T31, T32, T33, and T34, the capacitors C31, C32, C33, and C34, and the resistors R31, R32, R33, and R34 are an example of a waveform generating circuit.
[0038] The filter circuit FLT includes capacitors C11, C12, C13, and C14 and resistors R11, R12, R13, and R14. For example, the transistors T31 and T33 are n-channel MOS (Metal Oxide Semiconductor) transistors, and the transistors T32 and T34 are p-channel MOS transistors.
[0039] The buffer 321 of the clock receiver 320 is, for example, a current mode logic (CML) buffer. The buffer 321 receives differential transmit clock signals TCLK and / TCLK via capacitors C1 and C2 and outputs differential receive clock signals RCLK and / RCLK to the variable delay circuit 350. The receive clock signals RCLK and / RCLK are an example of a reference clock signal. The clock receiver 320 determines a differential common voltage by connecting each of its differential inputs to outputs of opposite polarity via resistors R1 and R2.
[0040] The VDAC 352 of the variable delay circuit 350 generates a voltage VP according to the logic of the delay code DCODE from the phase adjustment sequencer 370 of FIG. 2. The delay buffer 351 delays the differential receive clock signals RCLK and / RCLK received from the clock receiver 320 according to the voltage VP from the VDAC 352, and outputs the delayed differential clock signals DCLK and / DLCK to the polyphase filter 360. The clock signal DCLK has a phase of 0 degrees and will hereinafter also be referred to as a clock signal IN000. The clock signal / DCLK has a phase of 180 degrees and will hereinafter also be referred to as a clock signal IN180. The clock signal IN000 is an example of a first signal, and the clock signal IN180 is an example of a second signal.
[0041] In the polyphase filter 360, a capacitor C31 is connected between an input terminal IN000 receiving a clock signal IN000 and the gate of a transistor T31. A capacitor C32 is connected between the input terminal IN000 and the gate of a transistor T32. A capacitor C33 is connected between an input terminal IN180 receiving a clock signal IN180 and the gate of a transistor T33. A capacitor C34 is connected between the input terminal IN180 and the gate of a transistor T34.
[0042] The bias circuit 361 supplies a bias voltage to nodes to which the gates of the transistors T31, T32, T33, and T34 are connected via resistors R31, R32, R33, and R34. The sources of the transistors T31 and T32 are connected to the filter circuit FLT via a node ND1, and the sources of the transistors T33 and T34 are connected to the filter circuit FLT via a node ND2.
[0043] Resistor R11 and capacitor C11 are connected in series between nodes ND1 and ND2 via node ND3. Capacitor C12 and resistor R12 are connected in series between nodes ND1 and ND2 via node ND5. Resistor R13 and capacitor C13 are connected in parallel between nodes ND1 and ND6. Resistor R14 and capacitor C14 are connected in parallel between nodes ND2 and ND4. The filter circuit FLT outputs four-phase internal clock signals O000, O090, O180, and O270 from nodes ND3, ND4, ND5, and ND6 to the phase selector 380.
[0044] Nodes ND1, ND2, ND3, ND4, ND5, and ND6 are examples of a first node, a second node, a third node, a fourth node, a fifth node, and a sixth node, respectively. Resistors R11, R12, R13, and R14 are examples of a first resistor, a second resistor, a third resistor, and a fourth resistor, respectively. Capacitors C11, C12, C13, and C14 are examples of a first capacitor, a second capacitor, a third capacitor, and a fourth capacitor, respectively. Internal clock signals O000, O090, O180, and O270 are examples of a first internal clock signal, a second internal clock signal, a third internal clock signal, and a fourth internal clock signal, respectively.
[0045] The polyphase filter 360 generates four-phase internal clock signals O000, O090, O180, and O270 from a differential clock signal based on the clock signals IN000 and IN180. The phases of the internal clock signals O000, O090, O180, and O270 are shifted by utilizing the fact that the output phase shift is 45 degrees at the cutoff frequency fc of the filter circuit FLT. The values of the resistance value R and capacitance value C are determined using equation (1) so that the frequency fin of the input signal matches the cutoff frequency fc. fc = 1 / (2 x π x R x C) = fin (1)
[0046] For example, when fin=fc=12 GHz, R=814 Ω and C=16.3 fF are set. Since the amount of phase shift is determined by the RC constant of the filter circuit FLT, the power consumption of the polyphase filter 360 can be made smaller than that of a DLL (Delay-Locked Loop) circuit configured by circuits such as a plurality of buffers, a phase frequency comparator, and a charge pump.
[0047] The phase selector 380 selects one of the pairs of clock signals O000 / O180 and O090 / O270 according to the logical value of a 1-bit phase selection signal PSEL, for example, and outputs it as output clock signals OCLK and OCLKX.
[0048] 4 shows an example of the variable delay circuit 350 of FIG. 2. The VDAC 352 has variable resistors VR1 and VR2 connected in series via a node VP between a power supply line VDDA and a ground line GND. The resistance values of the variable resistors VR1 and VR2 change depending on the value of the delay code DCODE. The VDAC 352 outputs a voltage VP corresponding to the value of the delay code DCODE. For example, the voltage VP decreases as the value of the delay code DCODE increases, and increases as the value of the delay code DCODE decreases. When the delay code DCODE has n bits, the VDAC 352 can output 2 n different voltages VP. The VDAC 352 is an example of a voltage generation circuit that generates a voltage corresponding to the value of the delay code DCODE.
[0049] The delay buffer 351 includes variable resistors VR3 and VR4, transistors T1 and T2, and a current source CS1. For example, the variable resistors VR3 and VR4 are pre-trimmed to predetermined resistance values. For example, the transistors T1 and T2 are n-channel MOS (Metal Oxide Semiconductor) transistors. The gate of the transistor T1 is connected to an input terminal IN+ that receives the receive clock signal RCLK. The gate of the transistor T2 is connected to an input terminal IN- that receives the receive clock signal / RCLK.
[0050] The variable resistor VR3 and the transistor T1 are connected in series between the power supply line VDDA and the node ND1 via the output terminal OUT-, which outputs the clock signal / DCLK. The variable resistor VR4 and the transistor T2 are connected in series between the power supply line VDDA and the node ND1 via the output terminal OUT+, which outputs the clock signal DCLK. The current source CS1 is connected between the node ND1 and the ground line GND, and passes a current according to the voltage VP. For example, the current source CS1 decreases the amount of current as the voltage VP becomes relatively lower, and increases the amount of current as the voltage VP becomes relatively higher.
[0051] For example, the delay buffer 351 increases the delay difference between the differential receive clock signals RCLK, / RCLK received at the differential input terminals IN+, IN− and the differential clock signals DCLK, / DCLK output from the differential output terminals OUT+, OUT− as the voltage VP becomes relatively lower. Also, the delay buffer 351 decreases the delay difference between the receive clock signals RCLK, / RCLK and the clock signals DCLK, / DCLK as the voltage VP becomes relatively higher. That is, the delay buffer 351 increases the delay amount when the value of the delay code DCODE is large, and decreases the delay amount when the value of the delay code DCODE is small. When the delay code DCODE has n bits, the delay buffer 351 can set 2 n different delay amounts.
[0052] 5 shows an example of clock signals generated by the polyphase filter 360 of FIG. 3. As described above, the polyphase filter 360 generates clock signals O000, O090, O180, and O270 whose phases are shifted by 90 degrees. The data signals received by the slicer 332 of FIG. 2 are preferably acquired at the center of the reception period of each data signal (the timing at the center of the transition edges on both sides) (ideal edge position).
[0053] 5, the clock signal closest to the ideal edge position of data signal D1 is clock signal O090. Also, the clock signal closest to the ideal edge position of data signal D2 is clock signal O270, which is 180 degrees behind clock signal O090 in phase.
[0054] However, since the polyphase filter 360 can only select one of two clock phases for each data signal, it is difficult to generate a clock signal with an ideal edge position using only the polyphase filter 360. Therefore, fine adjustment of the phase of the clock signal is performed using the variable delay circuit 350. As shown in FIG. 5, the receiving circuit 310A (FIG. 2) has a so-called half-rate architecture in which the clock rate is half the data rate.
[0055] Fig. 6 shows an example of the operation of finely adjusting the phase of a clock signal by the variable delay circuit 350 of Fig. 4. In the example shown in Fig. 6, the data signal is assumed to have a 0101 pattern in which logical values 0 and 1 appear alternately.
[0056] 2 switches the clock signal selected by the phase selector 380 between clock signals O000 and O090 in that order in the calibration mode, and further switches the delay amount of the variable delay circuit 350 in turn by changing the delay code DCODE. Then, the phase adjustment sequencer 370 obtains the logical value of the data signal for each combination of the clock signals O000, O090 and the delay code DCODE, and searches for the delay code DCODE at which the logical value switches.
[0057] In the clock signal O000, when the delay code DCODE is between "0" and "2", a logical value of "1" is obtained, and when the delay code DCODE is "3" or greater, a logical value of "0" is obtained. In other words, the logical value of the delay code DCODE switches between "2" and "3". In the clock signal O090, a logical value of "0" is obtained for all delay codes DCODE.
[0058] Then, the phase adjustment sequencer 370 outputs to the phase selector 380 a phase selection signal PSEL that causes the phase selector 380 to select the clock signal O090 whose phase is delayed by 90 degrees from the clock signal O000 whose logical value switches. The phase adjustment sequencer 370 also outputs a delay code DCODE of "2" or "3" whose logical value switches to the variable delay circuit 350. As a result, during system operation after the calibration mode, the slicer 332 of the data receiving circuit 330A can acquire data signals in synchronization with the clock signal OCLK whose transition edge occurs near the center timing of each data signal and the clock signal OCLKX whose phase is shifted by 180 degrees from the clock signal OCLK.
[0059] 7 to 11 show an example of a calibration operation of the receiving circuit 310A in FIG. 2. The calibration operation is an operation in which the system 100A transitions to a calibration mode and determines the phase of a clock signal that enables all data receiving circuits 330A to properly acquire data signals. During the calibration mode, the endpoint die 300A instructs the root die 200A to generate test data TDT.
[0060] Based on instructions from the endpoint die 300A, the root die 200A causes the data generation circuit (DTGEN) 233 of each data transmission circuit 230A to generate test data TDT, and outputs a calibration signal CALB to the selection circuit 234 to select the test data TDT.
[0061] 7 to 11 may be implemented by hardware that implements the phase adjustment sequencer 370. When the phase adjustment sequencer 370 is implemented by a processor such as a CPU mounted on the endpoint die 300A, the operations shown in Figures 7 to 11 may be implemented by a program executed by the processor. Alternatively, the operations shown in Figures 7 to 11 may be implemented by cooperation between hardware and software that implement the phase adjustment sequencer 370.
[0062] The elements used during calibration mode are described below. Assume that the system 100A has a known number n (an even number) of lanes that transmit serial data signals from the root die 200A to the endpoint die 300A. The number n of lanes is equal to the number of data transmitting circuits 230A and the number of data receiving circuits 330A. Lane #n indicates the number of the selected lane and is also used to refer to the lane itself.
[0063] The phase selection signal PSEL has one bit, and the phase selector 380 can select the pair of clock signals O000 / O180 or the pair of clock signals O090 / O270 according to the phase selection signal PSEL. Hereinafter, the bit value of the phase selection signal PSEL will also be simply referred to as PSEL. When PSEL="0", the phase selector 380 selects the clock signals O000 / O180, and when PSEL="1", the phase selector 380 selects the clock signals O090 / O270.
[0064] In the calibration mode, the operation of searching for the phases of the clock signals OCLK and OCLKX with appropriate timing is performed using the clock signals O000 and O090, as described in Fig. 6. Note that the operation of searching for the phases of the clock signals OCLK and OCLKX with appropriate timing may also be performed using the clock signals O180 and O270.
[0065] Below are examples of various registers mounted on the phase adjustment sequencer 370 that operate during calibration mode. PSEL: Holds the value of the phase selection signal PSEL when phase adjustment is performed for each even number of lanes. When PSEL is "0", clock signal O000 is selected, and when PSEL is "1", clock signal O090 is selected. Since there are n registers, one for each lane, the value may differ for each lane. sumP: Used to add the PSEL values for all lanes, and its initial value is "0". ansP: Holds the result of the majority vote of PSEL. numLP: Holds the number of lanes whose PSEL value matches ansP. Glb_PSEL: Holds the PSEL value to be set for all lanes. In other words, it holds the PSEL value that generates the phase of the clock signals OCLK and OCLKX with the appropriate timing. DCODE<m:1>: Holds the value of the delay code DCODE when phase adjustment is performed for each lane. There are m bits, and the value may differ for each lane. sumD: Used to add up each bit of the delay code DCODE<m:1> for all lanes. It is initialized to "1" each time the addition of each bit of DCODE<m:1> is completed. ansD<m:1>: Holds the majority vote result for the delay code DCODE<m:1>. numLD: Holds the number of lanes whose value of the delay code DCODE<m:1> matches ansD<m:1>. mnum: Holds the bit number (bit position) from the least significant bit (LSB) of the bit to be processed in the delay code DCODE. It can be any value from "1" to "m", where "m" indicates the most significant bit (MSB). Glb_DCODE<m:1>: Holds the delay code DCODE to be set for all lanes. In other words, it holds the value of DCODE<m:1>, which generates the phase of the clock signals OCLK and OCLKX with the appropriate timing.
[0066] 7, after transitioning to the calibration mode, in step S102, the phase adjustment sequencer 370 initializes a counter n to "1." Next, in step S104, the phase adjustment sequencer 370 selects lane #n of the transmission path 110. Next, in step S106, the phase adjustment sequencer 370 outputs a phase selection signal PSEL that causes the phase selector 380 to select the clock signal O000.
[0067] Next, in step S108, the phase adjustment sequencer 370 sequentially switches the value of the delay code DCODE to cause the slicer 332 of the data receiving circuit 330A corresponding to lane #n to acquire the test data signal TDT. Next, in step S110, the phase adjustment sequencer 370 determines whether the value of the test data signal TDT acquired by the slicer 332 has transitioned. That is, the phase adjustment sequencer 370 determines whether the logic value of the test data signal TDT acquired with the previous delay code DCODE has changed. If the value of the test data signal TDT has not transitioned, the phase adjustment sequencer 370 performs step S112. If the value of the test data signal TDT has transitioned, the phase adjustment sequencer 370 performs step S114. In step S112, the phase adjustment sequencer 370 increments the phase selection signal PSEL and then performs step S108.
[0068] The phase range of the clock signal OCLK, which changes according to the loop from step S108 to step S112 using a 0101 pattern as the test data signal TDT, is equal to the period of the logic value of each test data signal TDT. Therefore, a transition in the value of the test data signal TDT is detected in any of the loops from step S108 to step S114, which are repeated multiple times.
[0069] In step S114, the phase adjustment sequencer 370 stores the value of the delay code DCODE and the value of the phase selection signal PSEL when it detects a transition in the value of the test data signal TDT in a register or memory as the optimal phase for lane #n, and then performs step S116.
[0070] In step S116, the phase adjustment sequencer 370 determines whether lane #n is the maximum. If lane #n is the maximum, the phase adjustment sequencer 370 performs step S200 of FIG. 8. By performing the process shown in FIG. 7, the phase of the clock signals OCLK and OCLKX is determined so that the slicer 332 of the data receiving circuit 330A corresponding to each lane #n can properly acquire the test data signal TDT at the time of performing step S200. If lane #n is not the maximum, the phase adjustment sequencer 370 performs step S118. In step S118, the phase adjustment sequencer 370 increments "n" and returns to step S104.
[0071] 8, the phase adjustment sequencer 370 determines the optimum phases for all lanes saved in step S114 by majority vote, and sets the value of the phase selection signal PSEL and the value of the delay code DCODE corresponding to the optimum phase determined by the majority vote to Glb_PSEL and Glb_DCODE<m:1>, respectively. Examples of the processing in step S200 will be described with reference to FIGS. 9 to 11.
[0072] Next, in step S120, the phase adjustment sequencer 370 overwrites Glb_PSEL with the value of PSEL that generates clock signals OCLK and OCLKX that are 90 degrees behind Glb_PSEL set by the majority vote process in step S200, and ends the operations in Figures 7 and 8. As a result, in the operation of the system 100A after the calibration mode is performed, the slicers 332 of all of the data receiving circuits 330A can acquire the data signal DT at the appropriate timing by commonly using the clock signals OCLK and OCLKX with the phase determined by the majority vote process.
[0073] 9 to 11 show an example of the operation of step S200 in FIG. 8. First, in step S202, the phase adjustment sequencer 370 initializes counter n to "1." Next, in step S204, the phase adjustment sequencer 370 selects lane #n of the transmission path 110. Next, in step S206, the phase adjustment sequencer 370 adds PSEL for lane #n saved in step S114 in FIG. 7 to sumP. A PSEL of "0" indicates that clock signal O000 has been selected as the optimal phase in the processing of FIG. 7, and a PSEL of "1" indicates that clock signal O090 has been selected as the optimal phase in the processing of FIG. 7.
[0074] Next, in step S208, the phase adjustment sequencer 370 determines whether lane #n is the maximum. If lane #n is the maximum, the phase adjustment sequencer 370 performs step S212. At the time of performing step S212, the number of lanes for which clock signal O090 (i.e., PSEL="1") was selected as the optimal phase in the processing of FIG. 7 is held as sumP. If lane #n is not the maximum, the phase adjustment sequencer 370 performs step S210. In step S210, the phase adjustment sequencer 370 increments "n" and returns to step S204.
[0075] In step S212, the phase adjustment sequencer 370 compares sumP with n / 2, which is half the number of lanes. If sumP is smaller than half the number n of lanes, the phase adjustment sequencer 370 performs step S214 because the majority of lanes #n have the clock signal O000 selected as the optimal phase. If sumP is equal to or greater than half the number n of lanes, the phase adjustment sequencer 370 performs step S216 because the majority of lanes #n have the clock signal O090 selected as the optimal phase.
[0076] In step S214, the phase adjustment sequencer 370 sets ansP, which is the answer of the majority vote of PSEL, to "0", which indicates that the clock signal O000 is the optimal phase. The phase adjustment sequencer 370 also sets the difference between the number of lanes n and sumP to numLP, which is the number of lanes for which the answer of the majority vote was "0", and then performs step S218.
[0077] In step S216, the phase adjustment sequencer 370 sets ansP, which is the answer of the majority vote of PSEL, to "1", which indicates that the clock signal O090 is in the optimum phase. The phase adjustment sequencer 370 also sets sumP to numLP, which is the number of lanes for which the answer of the majority vote was "1", and then performs step S218.
[0078] In step S218, the phase adjustment sequencer 370 sets Glb_PSEL, which is the value of PSEL to be set for all lanes #n, to ansP obtained in step S214 or step S216. This makes it possible to determine by majority vote the phase of the clock signal O000 or O090 that has more transitions of the test data signal TDT than the others in all lanes #n.
[0079] Next, in step S220, the phase adjustment sequencer 370 sets the bit position mnum to be processed in the delay code DCODE to "m", which indicates the position of the most significant bit. The phase adjustment sequencer 370 also sets numLD, which stores the number of lanes whose value in the delay code DCODE<m:1> matches the answer of the majority vote, ansD<m:1>, to numLP. The processing from step S220 onward is processing for determining the optimum value of the delay code DCODE by majority vote.
[0080] Next, in step S222 of FIG. 10, the phase adjustment sequencer 370 sets the initial value of counter n to "1", selects lane #n, and initializes sumD, which is a variable for adding each bit of the delay code DCODE, to "0".
[0081] Next, in step S224, the phase adjustment sequencer 370 compares whether PSEL and ansP are equal. If PSEL is equal to ansP, the phase adjustment sequencer 370 determines that lane #n is the search target and performs step S226. If PSEL is different from ansP, the phase adjustment sequencer 370 determines that lane #n is not the search target and performs step S232 without performing steps S226, S228, and S230. This prevents unnecessary additions and other operations from being performed in the process of searching for the appropriate phases of the clock signals OCLK and OCLKX, thereby preventing the search time from becoming longer. As a result, the operating time of the phase adjustment sequencer 370 in calibration mode can be shortened, and power consumption can be reduced.
[0082] In step S226, the phase adjustment sequencer 370 determines whether the bit position mnum to be processed in the delay code DCODE is the most significant bit m, and if it is the most significant bit m, it performs step S230, and if it is not the most significant bit m, it performs step S228. That is, in the loop for each lane #n shown in Figures 10 and 11, the first time that the bit position mnum is the most significant bit m, step S228 is not performed, but from the second time onwards when it is not the most significant bit m, step S228 is performed.
[0083] In step S228, the phase adjustment sequencer 370 compares DCODE<m:mnum+1> with ansD<m:mnum+1>, which is the answer to the majority vote of the delay code DCODE<m:mnum+1> obtained so far. Note that if the bit position mnum is not the most significant bit m for the second or subsequent time, the value of ansD<m:mnum+1> has already been obtained because the processing from step S230 onwards has been performed on the most significant bits up to that point. If DCODE<m:mnum+1> and ansD<m:mnum+1> are equal, the phase adjustment sequencer 370 performs step S230 to include them in the majority vote processing. If DCODE<m:mnum+1> and ansD<m:mnum+1> are different, the phase adjustment sequencer 370 performs step S232 to exclude them from the majority vote process. This prevents unnecessary addition processes and the like from being performed, and prevents the search time from becoming longer. As a result, the operation time of the phase adjustment sequencer 370 in the calibration mode can be shortened, and power consumption can be reduced.
[0084] In step S230, the phase adjustment sequencer 370 adds the DCODE<mnum> of lane #n to sumD. Next, in step S232, the phase adjustment sequencer 370 determines whether lane #n is the maximum. If lane #n is the maximum, the phase adjustment sequencer 370 performs step S236 in FIG. 11 , and if lane #n is not the maximum, the phase adjustment sequencer 370 performs step S234. In step S234, the phase adjustment sequencer 370 increments "n" and returns to step S224.
[0085] 11 , the phase adjustment sequencer 370 compares sumD with numLD / 2. If sumD is smaller than half of numLD, which is the number of lanes that match the majority decision result for the delay code DCODE, the phase adjustment sequencer 370 performs step S238 because the majority of lanes #n in the lane #n subject to the majority decision have a delay code DCODE<mnum> of "0." If sumD is equal to or greater than half of numLD, which is the number of lanes that match the majority decision result for the delay code DCODE, the phase adjustment sequencer 370 performs step S240 because the majority of lanes #n in the lane #n subject to the majority decision have a delay code DCODE<mnum> of "1."
[0086] In step S238, the phase adjustment sequencer 370 sets ansD<mnum>, which is the answer of the majority vote at the bit position mnum to be processed, to "0." The phase adjustment sequencer 370 also subtracts sumD from numLD, which is the number of lanes that matches the answer of the majority vote for the delay code DCODE<m:1>, to obtain a new numLD, and then performs step S242. In step S240, the phase adjustment sequencer 370 sets ansD<mnum> to "1," sets numLD to sumD, and then performs step S242.
[0087] In step S242, the phase adjustment sequencer 370 determines whether mnum is "1". That is, the phase adjustment sequencer 370 determines whether the majority vote process has been performed up to the least significant bit of the delay code DCODE. If mnum is "1", the phase adjustment sequencer 370 performs step S244 because the optimum value of the delay code DCODE has been determined by majority vote. If mnum is not "1", the phase adjustment sequencer 370 performs step S246 because there are bits in the delay code DCODE that have not been subjected to majority vote process.
[0088] In step S244, the phase adjustment sequencer 370 sets Glb_DCODE<m:1>, which is the value of the delay code DCODE<m:1> to be set for all lanes #n, to ansD<m:1>, and ends the operation of step S200 shown in Figures 9 to 11. In step S246, the phase adjustment sequencer 370 decrements mnum, thereby shifting the bit mnum to be processed by majority vote in the delay code DCODE by one bit to the lower side, and returns to step S222 in Figure 10.
[0089] As described above, in this embodiment, the phases of the clock signals OCLK and OCLKX that cause the multiple data receiving circuits 330A to acquire data are set by the variable delay circuit 350 and phase selector 380 that are provided in common outside the multiple data receiving circuits 330A. This makes it possible to reduce power consumption of the receiving circuit 310A compared to when a phase shift circuit or the like that sets the phase of the clock signals OCLK and OCLKX is provided inside each data receiving circuit 330A.
[0090] The phase adjustment sequencer 370 determines the phases of the clock signals OCLK and OCLKX that enable appropriate acquisition of data signals for each data receiving circuit 330A. The phase adjustment sequencer 370 then takes a majority vote on the determined phases to set common clock signals OCLK and OCLKX with appropriate timing for the multiple data receiving circuits 330A. As a result, even when the variable delay circuit 350 and phase selector 380 that set the phases of the clock signals OCLK and OCLKX are provided in common to the multiple data receiving circuits 330A, it is possible to generate clock signals that enable the multiple data receiving circuits 330A to receive data signals at appropriate timing.
[0091] By controlling the variable delay circuit 350 and the phase selector 380 using the phase adjustment sequencer 370 to sequentially shift the phases of the clocks OCLK and OCLKX, it is possible to obtain clock signals OCLK and OCLKX with appropriate timing that allows data signals to be acquired for each data receiving circuit 330A.
[0092] The phase adjustment sequencer 370 sets the value of the delay code DCODE and the value of the phase selection signal PSEL corresponding to the clock signals OCLK and OCLKX with the appropriate timing determined in the calibration mode, respectively, in the variable delay circuit 350 and the phase selector 380. This allows each data receiving circuit 330A to receive a data signal at the appropriate timing after transitioning from the calibration mode to the system operation mode.
[0093] The phase adjustment sequencer 370 accumulates the number of logical 1s or logical 0s in the delay code DCODE, starting from the most significant bit, and repeats the process of determining the logical value of the majority as the answer to the majority vote. When the majority vote is performed on the lower-order bits, the phase adjustment sequencer 370 accumulates the number of logical 1s or logical 0s while excluding delay code DCODE values that do not include the logical value that is the answer to the majority vote on the higher-order bits. Furthermore, the phase adjustment sequencer 370 accumulates the number of logical 1s or logical 0s while excluding delay code DCODE values corresponding to the phase selection signal PSEL that do not include the logical value that is the answer to the majority vote of the phase selection signal PSEL that has already been determined. This prevents unnecessary additions and other operations from being performed during the process of searching for the appropriate phase of the clock signals OCLK and OCLKX, thereby preventing the search time from becoming longer. As a result, the operating time of the phase adjustment sequencer 370 in the calibration mode can be shortened, and power consumption can be reduced.
[0094] Although the present invention has been described above based on the embodiments, the present invention is not limited to the requirements shown in the above embodiments. These requirements can be changed without departing from the spirit of the present invention, and can be appropriately determined depending on the application form.
[0095] 100, 100A System 110 Transmission path 200, 200A Route die 210 PLL circuit 220 Clock driver 230, 230A Data transmission circuit 231 Serializer 232 Data driver 233 Data generation circuit (DTGEN) 234 Selection circuit (SEL) 300, 300A Endpoint die 310, 310A Receiving circuit 320 Clock receiver 321 Buffer 330, 330A Data receiving circuit 331 Data receiver 332 Slicer 333 Deserializer (DES) 334 Phase shift circuit 340 User logic 350 Variable delay circuit 351 Delay buffer 352 Voltage digital-to-analog conversion circuit (VDAC) 360 Polyphase filter (PPF) 361 Bias circuit 370 Phase adjustment sequencer 380 Phase selector C1, C2 Capacitors C31, C32, C33, C34 Capacitors C41, C42, C43, C44 Capacitors CALB Calibration signal CS1 Current source DCLK, / DCLL Clock signal DCODE Delay code DT Data signal GND Ground line IN+, IN- Input terminal ND1 Node OCLK, OCLKX Output clock signal OUT-, OUT+ Output terminal O000, O090, O180, O270 Clock signal PSEL Phase selection signal R1, R2 Resistors R31, R32, R33, R34 Resistors R41, R42, R43, R44 Resistors RCLK, / RCLK Receive clock signal T1, T2 Transistor T31, T32, T33, T34 Transistors TCLK, / TCLK Transmission clock signal TDT Test data signal VDDA Power supply line VP Voltage VR1, VR2, VR3, VR4 Variable resistors
Claims
1. A receiving circuit having: a clock generation circuit that generates a receive clock signal; and a plurality of data receiving circuits that each receive a separate data signal based on the receive clock signal, wherein the clock generation circuit comprises: a clock receiving circuit that receives a reference clock signal; a variable delay circuit that delays the reference clock signal received by the clock receiving circuit by an amount of delay corresponding to a delay control signal to generate a delayed reference clock signal; a multi-phase shifter circuit having a filter circuit and that generates a plurality of internal clock signals by shifting the phase of the delayed reference clock signal; and a selector circuit that selects one of the plurality of internal clock signals based on a phase selection signal and outputs it as the receive clock signal.
2. The receiving circuit according to claim 1, wherein said receiving clock signal is a common clock signal for said plurality of data receiving circuits.
3. A receiver circuit as claimed in claim 1, further comprising a phase adjustment control circuit for generating said delay control signal and said phase selection signal.
4. The receiving circuit of claim 3, wherein the phase adjustment control circuit controls the variable delay circuit and selector circuit to sequentially shift the phase of the receiving clock signal, determines for each of the plurality of data receiving circuits the phase at which the data signal can be acquired at an appropriate timing, and determines the phase of the receiving clock signal common to the plurality of data receiving circuits by taking a majority vote of the determined plurality of phases.
5. The receiving circuit of claim 3, wherein the value of the phase selection signal and the value of the delay control signal are represented by multiple bits, and the phase adjustment control circuit sequentially changes the value of the delay control signal for each value of the phase selection signal, thereby determining, for each of the multiple data receiving circuits, the phase of the receiving clock signal that enables the data signal to be acquired at the appropriate timing.
6. The receiving circuit of claim 4, wherein the phase adjustment control circuit, in a majority vote for a plurality of the phases, accumulates the number of logical 1s or logical 0s in the phase selection signal, starting from the most significant bit, for each of the plurality of data receiving circuits, and determines the logical value that results in the majority vote as the answer to the majority vote for the phase selection signal by repeating this process.
7. The receiving circuit of claim 4, wherein the phase adjustment control circuit determines, for each of the multiple data receiving circuits, in a majority vote for a plurality of the phases, a value of the answer of the phase selection signal in a majority vote on the lower bits of the phase selection signal, by excluding values of the phase selection signal that do not include a logical value that is the answer of the majority vote on the higher bits of the phase selection signal, and accumulating the number of logical values 1 or 0.
8. The receiving circuit of claim 6 or claim 7, wherein the phase adjustment control circuit accumulates the number of logical 1s or logical 0s in the delay control signal, starting from the most significant bit, for each of the multiple data receiving circuits, in the phase indicated by the value of the majority answer of the phase selection signal, and repeats the process of taking the logical value with the majority of the accumulated number as the majority answer, thereby determining the majority answer of the delay control signal.
9. The receiving circuit of claim 6 or 7, wherein the phase adjustment control circuit determines the value of the majority vote answer of the delay control signal for each of the multiple data receiving circuits at the phase indicated by the value of the majority vote answer of the phase selection signal by accumulating the number of logical values 1 or 0 in the majority vote on the lower bits of the delay control signal, excluding values of the delay control signal that do not include the logical value that is the majority vote answer on the upper bits of the delay control signal.
10. The receiving circuit of claim 3, wherein the phase adjustment control circuit determines the value of the phase selection signal and the value of the delay control signal that generate the receiving clock signal having a phase determined by majority vote, outputs the determined value of the phase selection signal to the selector circuit, and outputs the determined value of the delay control signal to the variable delay circuit.
11. The receiving circuit of claim 3, wherein said phase adjustment control circuit operates during a test mode and generates said delay control signal and said phase selection signal.
12. The receiving circuit of claim 11, wherein the phase adjustment control circuit controls the variable delay circuit and selector circuit during the test mode to set the phase of the receiving clock signal to a phase determined by majority vote, and in a system operation mode after the test mode, each of the plurality of data receiving circuits acquires a data signal based on the receiving clock signal whose phase has been set by the phase adjustment control circuit.
13. A receiving circuit as claimed in any one of claims 1 to 5, wherein the reference clock signal, the delayed reference clock signal, the internal clock signal and the receiving clock signal are each a differential clock signal, and the multi-phase shifter circuit is a differential multi-phase shifter circuit that receives a differential signal as an input.
14. A receiving circuit as claimed in any one of claims 1 to 5, wherein the multi-phase shifter circuit has a waveform generating circuit which generates a first signal and a second signal at a first node and a second node, respectively, the first signal and the second signal having phases respectively corresponding to phases of the differential delayed reference clock signal.
15. The receiving circuit according to claim 14, wherein the multi-phase shifter circuit generates a first internal clock signal, a second internal clock signal, a third internal clock signal and a fourth internal clock signal as the internal clock signal at a third node, a fourth node, a fifth node and a sixth node, respectively, and the filter circuit has: a first resistor and a first capacitor connected in series between the first node and the second node via the third node, a second capacitor and a second resistor connected in series between the first node and the second node via the fifth node, a third resistor and a third capacitor connected in parallel between the first node and the sixth node, and a fourth resistor and a fourth capacitor connected in parallel between the second node and the fourth node.
16. A receiving circuit as claimed in any one of claims 1 to 5, wherein the variable delay circuit comprises: a voltage generating circuit that generates a voltage according to the value of the delay control signal; and a delay buffer that delays the reference clock signal according to the voltage to generate a delayed reference clock signal, the delay amount being variable according to the voltage.
17. A receiving circuit according to any one of claims 1 to 5, wherein each of said plurality of data receiving circuits has a serial-to-parallel conversion circuit that converts a plurality of serial data signals sequentially received via a transmission line into parallel data signals.
18. The receiving circuit according to any one of claims 1 to 5, wherein the separate data signals received by the multiple data receiving circuits are multiple data signals independent of one another.
19. A semiconductor integrated circuit having a receiving circuit including a clock generation circuit that generates a received clock signal and a plurality of data receiving circuits that each receive a separate data signal based on the received clock signal, and a processing circuit that processes the plurality of data signals received by the receiving circuit, wherein the clock generation circuit includes: a clock receiving circuit that receives a reference clock signal; a variable delay circuit that delays the reference clock signal received by the clock receiving circuit by an amount of delay corresponding to a delay control signal to generate a delayed reference clock signal; a multi-phase shifter circuit having a filter circuit and that generates a plurality of internal clock signals by shifting the phase of the delayed reference clock signal; and a selector circuit that selects one of the plurality of internal clock signals based on a phase selection signal and outputs it as the received clock signal.
20. A transmission / reception system having a transmission circuit having a first clock generation circuit that generates a reference clock signal and a plurality of data transmission circuits that transmit separate data signals based on the reference clock signal; and a reception circuit having a second clock generation circuit that generates a reception clock signal based on the reference clock signal, and a plurality of data reception circuits provided corresponding to the plurality of data transmission circuits and each receiving the separate data signals based on the reception clock signal, wherein each of the plurality of data transmission circuits has a data generation circuit that generates a test data signal, and a selection circuit that selects either the test data signal or a data signal and outputs it as the separate data, and the second clock generation circuit has a clock generation circuit that generates a reception clock signal, and a plurality of data reception circuits that each receive the separate data signals based on the reception clock signal, wherein the clock generation circuit has a clock reception circuit that receives a reference clock signal, and a variable delay circuit that delays the reference clock signal received by the clock reception circuit by an amount of delay corresponding to a delay control signal to generate a delayed reference clock signal, a multi-phase shifter circuit having a filter circuit and shifting the phase of the delayed reference clock signal to generate a plurality of internal clock signals; and a selector circuit selecting one of the plurality of internal clock signals based on a phase selection signal and outputting the selected internal clock signal as the received clock signal.
21. The transmitting / receiving system according to claim 20, wherein the selection circuit selects the test data signal in a test mode, and selects the data signal in a system operation mode after the test mode.
Citation Information
Patent Citations
Method and system for delay control in synchronization circuits
US20040130366A1
Systems and Methods for Multi-Phase Clock Generation
US20210255659A1
Parallel data interface and method for high-speed timing adjustment
US7069458B1