[go: up one dir, main page]

WO2013132667A1 - Synchronization data processing circuit and mobile terminal apparatus - Google Patents

Synchronization data processing circuit and mobile terminal apparatus Download PDF

Info

Publication number
WO2013132667A1
WO2013132667A1 PCT/JP2012/056202 JP2012056202W WO2013132667A1 WO 2013132667 A1 WO2013132667 A1 WO 2013132667A1 JP 2012056202 W JP2012056202 W JP 2012056202W WO 2013132667 A1 WO2013132667 A1 WO 2013132667A1
Authority
WO
WIPO (PCT)
Prior art keywords
delay
unit
clock
circuit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2012/056202
Other languages
French (fr)
Japanese (ja)
Inventor
健一 川▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to PCT/JP2012/056202 priority Critical patent/WO2013132667A1/en
Publication of WO2013132667A1 publication Critical patent/WO2013132667A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0296Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level switching to a backup power supply
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present invention relates to a synchronous data processing circuit and a portable terminal.
  • the adjustment circuit of the circuit includes a first delay circuit to which an external clock is supplied, a first clock output from the first logic circuit unit, and a second clock output from the second logic circuit unit. And a detection circuit for detecting the amount of timing deviation.
  • the adjustment circuit adjusts the delay time of the first delay circuit according to the detection result of the detection circuit, and supplies the output signal of the first delay circuit to the first logic circuit unit as the third clock signal.
  • the circuit for correcting the clock skew as described above corrects the clock skew according to the clock phase shift, the data phase is not compensated, and the data phase is shifted.
  • the circuit operation may become unstable.
  • an object is to provide a synchronous data processing circuit and a portable terminal capable of realizing a stable circuit operation.
  • a synchronous data processing circuit includes a first circuit driven at a constant voltage based on a clock output from a clock generation source, and a clock output from the clock generation source with a drive voltage varied. And a second circuit for synchronously transferring data to or from the first circuit in either direction or a delay for adjusting a delay amount of a clock input to the first circuit or the second circuit.
  • An adjustment unit, a test data generation unit that generates test data transferred between the first circuit and the second circuit, and the transferred test data are determined, and whether or not the test data is transferred synchronously
  • a determination unit that adjusts a delay amount in the delay adjustment unit based on a determination result representing the above.
  • FIG. 10 It is a perspective view which shows the smart phone terminal 10 of a comparative example. It is a figure which shows the internal structure of the smart phone terminal of a comparative example. It is a figure which shows an example of the relationship between the load mode at the time of not applying DVFS to a core, a clock frequency, and a supply voltage. It is a figure which shows the operable area
  • 5A is a diagram illustrating an example of an operation in which the voltage detection unit 94 illustrated in FIG. 5A switches the data transfer format from a state in which asynchronous transfer is performed according to a supply voltage to the core 0 to a state in which synchronous transfer is performed.
  • FIG. 1 is a diagram illustrating a synchronous data processing circuit 100 according to a first embodiment.
  • FIG. 3 is a diagram illustrating a circuit configuration of a core 110, a bus 120, and a synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • FIG. 3 is a diagram illustrating a variable delay unit 130 of the synchronous data processing circuit 100 according to the first embodiment.
  • FIG. 3 is a diagram illustrating a pattern generation unit 141 and a determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • FIG. 6 is a timing chart illustrating an operation example of the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • 3 is a diagram illustrating a determination unit 142 and a pattern generation unit 143 of the synchronization determination unit 140 of the synchronization data processing circuit 100 according to the first embodiment.
  • FIG. 4 is a timing chart illustrating an example of operations of a determination unit 142 and a pattern generation unit 143 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • FIG. 6 is a diagram illustrating a circuit configuration of a core 110, a bus 120, and a synchronization determination unit 240 of a synchronous data processing circuit according to a second embodiment.
  • 3 is a diagram illustrating a pattern generation unit 241 and a determination unit 244 of a synchronization determination unit 240 of the synchronous data processing circuit 100 according to the first embodiment.
  • FIG. 10 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.
  • 10 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.
  • 11 is a timing chart showing an operation when returning from a state in which the FFs 113A to 113D and 123A to 123D are fixed by the freeze signal frz in the synchronous data processing circuit of the second embodiment.
  • FIG. 1 is a perspective view showing a smartphone terminal 10 of a comparative example.
  • the smart phone terminal 10 including the connector device according to the first embodiment includes a touch panel 11, operation buttons 12, a call speaker 13, a call microphone 14, and a digital camera 15 disposed on the front side.
  • the smartphone terminal 10 is an example of a mobile terminal.
  • the smartphone terminal 10 may include an accessory device such as a proximity communication device (infrared communication device, electronic money communication device, etc.).
  • a proximity communication device infrared communication device, electronic money communication device, etc.
  • the smart phone terminal 10 is shown in FIG. 1 as an example of a portable terminal, a terminal is not limited to the smart phone terminal 10, For example, even if it is a mobile telephone terminal or a game machine etc. Good.
  • FIG. 2 is a diagram illustrating an internal configuration of the smartphone terminal 10 of the comparative example.
  • the smart phone terminal 10 includes an application processing unit 20, a modem unit 30, a user interface 41, a system controller 42, an LCD (Liquid Crystal Display) 43, and a battery 44.
  • the application processing unit 20 includes a memory 21, a variable voltage supply unit 22, and an application processor 50.
  • the application processing unit 20 is a processing unit that performs processing other than communication of the smartphone terminal 10, and performs, for example, encoding / combining processing of data such as audio, video, images, and photos.
  • a synchronous DRAM Synchronous Dynamic Random Access Memory
  • various application programs are stored in the memory 21.
  • the variable voltage supply unit 22 is, for example, a converter that can variably control the output voltage.
  • the variable voltage supply unit 22 supplies the power supplied from the battery 44 to the core 0 and the core 1 of the application processor 50, the voltage command input from the PMU (Power Management Unit) of the application processor 50 Based on this, the output voltage is variably controlled.
  • PMU Power Management Unit
  • Application processor 50 includes core 0, core 1, and PMU.
  • the application processor 50 is an example of a dual core processor.
  • the core 0 and the core 1 are processor cores that can perform arithmetic processing independently of each other, and are treated as having the same processing capability here.
  • FIG. 2 the bus connecting the core 0, the core 1, and the PMU in the application processor 50 is not shown.
  • the core 0 and the core 1 have a drive voltage input from the variable voltage supply unit 22 varied by DVFS (Dynamic Voltage and Frequency Frequency Scaling), thereby reducing power consumption.
  • DVFS Dynamic Voltage and Frequency Frequency Scaling
  • the PMU inputs a voltage command for controlling the input voltage of the core 0 and the core 1 to the variable voltage supply unit 22 in accordance with the operation status of the core 0 and the core 1.
  • the modem unit 30 is a processing unit that performs processing related to communication of the smartphone terminal 10.
  • the modem unit 30 includes a baseband module 60 and an RF module 80.
  • the baseband module 60 includes a memory 61, a variable voltage supply unit 62, and an AFE (Analog Front End) 63.
  • a SIM (Subscriber Identity Module) card 82 is inserted into the baseband module 60.
  • data representing information unique to the contractor of the smartphone terminal 10 such as a telephone number is written.
  • the memory 61 for example, a synchronous DRAM (Synchronous Dynamic Random Access Memory) can be used.
  • the memory 61 stores a program for executing communication processing, a program necessary for encryption and decryption of communication, and the like.
  • the variable voltage supply unit 62 is, for example, a converter that can variably control the output voltage.
  • the variable voltage supply unit 62 is input from a PMU (Power Management Unit) of the baseband processor 70 when supplying power supplied from the battery 44 to the core 0 and the core 1 of the baseband processor 70. Based on the voltage command, the output voltage is variably controlled.
  • PMU Power Management Unit
  • the AFE 63 performs digital conversion and analog conversion of communication data between the baseband processor 70 and the RF module 80.
  • the AFE 63 analog-converts digital communication data input from the baseband processor 70 and inputs the analog communication data to the transmission unit TX of the RF module 80.
  • the AFE 63 digitally converts analog communication data input from the receiving unit RX of the RF module 80 and inputs the analog communication data to the baseband processor 70.
  • the baseband processor 70 includes a core 0, a core 1, and a PMU.
  • the baseband processor 70 is an example of a dual core processor.
  • the core 0 and the core 1 are processor cores that can perform arithmetic processing independently of each other, and are treated as having the same processing capability here.
  • FIG. 2 the bus connecting the core 0, the core 1, and the PMU in the baseband processor 70 is not shown.
  • the core 0 and the core 1 have a driving voltage input from the variable voltage supply unit 62 varied by DVFS (Dynamic Voltage and Frequency Frequency Scaling), thereby reducing power consumption.
  • DVFS Dynamic Voltage and Frequency Frequency Scaling
  • the PMU inputs a voltage command for controlling the input voltage of the core 0 and the core 1 to the variable voltage supply unit 62 according to the operation status of the core 0 and the core 1.
  • the RF module 80 includes a transmission unit TX, a reception unit RX, and a power amplifier PA.
  • An antenna 81 is connected to the RF module 80.
  • the transmission unit TX is a circuit that inputs analog communication data (transmission data) input from the AFE 63 to the power amplifier PA.
  • the receiving unit RX is a circuit that inputs analog communication data (received data) received by the antenna 81 to the AFE 63.
  • the power amplifier PA is an amplifier that amplifies analog communication data (transmission data) input from the transmission unit TX and outputs the amplified data to the antenna 81.
  • the antenna 81 is an antenna that transmits and receives communication data of the modem unit 30, and for example, a monopole antenna can be used.
  • the length of the antenna 81 may be set to 1 ⁇ 4 ( ⁇ / 4) of the wavelength ⁇ of the operating frequency.
  • the user interface 41 is connected to an input unit of the touch panel 11 (see FIG. 1) of the smartphone terminal 10, an operation button 12 (see FIG. 1), an S / D card port, and an input / output terminal of a digital camera. It is an output unit.
  • the touch panel, the S / D card port, the digital camera, and the like are connected to the application processing unit 20 and the system controller 42 via the user interface 41.
  • the smartphone terminal 10 includes a keyboard instead of the touch panel 11 or in addition to the touch panel 11, the keyboard is connected to the user interface 41.
  • the system controller 42 is driven by power supplied from the battery 44 and controls the entire system of the smartphone terminal 10.
  • the LCD 43 is a liquid crystal display unit included in the touch panel 11 (see FIG. 1) of the smartphone terminal 10.
  • the LCD 43 is driven by the system controller 42 and the application processing unit 20.
  • the battery 44 is a power source of the smartphone terminal 10, and for example, a lithium ion battery can be used.
  • the DVFS of the core 0 and the core 1 included in the application processor 50 and the baseband processor 70 will be described with reference to FIGS. 3A to 3C.
  • the core 0 and the core 1 are not particularly distinguished, they are simply referred to as a core.
  • FIG. 3A is a diagram illustrating an example of a relationship between a load mode, a clock frequency, and a supply voltage when DVFS is not applied to the core.
  • FIG. 3B is a diagram illustrating a core operable region and an inoperable region in relation to a clock frequency and a supply voltage.
  • FIG. 3C is a diagram illustrating an example of a relationship among a load mode, a clock frequency, and a supply voltage when DVFS is applied to the core.
  • the case where DVFS is not applied to the core means that power of a constant voltage is supplied to the core 0 and the core 1 without using the variable voltage supply units 22 and 62 in FIG.
  • the case where DVFS is applied to the core means that the voltage of power supplied to the core 0 and the core 1 via the variable voltage supply units 22 and 62 in FIG. 2 is made variable.
  • the load mode 3 is a case where the core is driven at a clock frequency of 400 MHz
  • the load mode 2 is a case where the core is driven at a clock frequency of 200 MHz
  • the load mode 1 is a case where the core is driven at a clock frequency of 100 MHz
  • the load mode 0 is a case where the clock frequency is 0 MHz and the core is not driven.
  • load mode 3 400 MHz
  • load mode 2 200 MHz
  • load mode 1 100 MHz
  • load mode 0 load mode 0 (0 MHz)
  • the supply voltage to 0 and core 1 is constant at 1.2V.
  • the core can be driven with a supply voltage corresponding to the clock frequency, if the supply voltage at the operating point can be reduced by applying DVFS, power saving can be achieved according to the load.
  • the operable region of the core is a region surrounded by a broken line in FIG. 3B, and the operating points in modes 0 to 3 when DVFS is not applied are as indicated by black circles.
  • the region where the supply voltage is lower than the operable region is an inoperable region where the core cannot operate.
  • the supply voltage can be set to 0 V as indicated by a white circle regardless of the operable region.
  • the supply voltages to the core in the load mode 2, the load mode 1, and the load mode 0 are 1.0 V, 0.8 V, and It can be lowered to 0V.
  • a circuit that can vary the supply voltage, such as a core, and a supply voltage that cannot be varied, must be driven at a constant voltage.
  • a circuit with Examples of the circuit that needs to be driven at a constant voltage include a bus connected to the core, a PMU, or a memory.
  • the supply voltage is changed by changing the operating frequency of the core, the phase in which data is output from the core changes, and there may be a case where synchronization cannot be achieved with a circuit driven at a constant voltage.
  • FIG. 4A is a diagram showing the connection relationship between the core 0, the core 1, the PMU, and the bus, and the supply voltage.
  • FIG. 4B is a diagram schematically illustrating a state in which the relationship between the data transmission times of the core clock tree included in the core and the bus clock tree included in the bus varies depending on the difference in supply voltage to the core.
  • the core 0, the core 1, and the PMU are connected to the bus and transfer data via the bus.
  • the supply voltage to the core 0 and the core 1 is variable and is 0.8V to 1.2V.
  • the supply voltage to the PMU and the bus is constant at 1.2V.
  • the core 0, core 1, PMU, and bus shown in FIG. 4A are obtained by adding a bus that actually exists to the core 0, core 1, and PMU included in the application processor 50 and the baseband processor 70 shown in FIG. It is.
  • core 0, core 1, PMU, and bus can be realized on a single chip as an LSI (Large Scale Integrated circuit).
  • data is synchronously transferred between the core 0 and core 1 and the bus. Since the core 0 and the core 1 perform synchronous transfer between the buses in the same manner, the data transmission time in the core 0 and the bus will be described here.
  • the core 0 and the bus include a core clock tree and a bus clock tree for aligning the phases of output data by synchronous transfer, respectively.
  • Each of the core clock tree and the bus clock tree includes a plurality of buffers connected in series so that input terminals and output terminals are alternately connected, and an FF (Flip Flop) connected to the last stage of the serially connected buffers. ).
  • the same clock is input to the core clock tree and the bus clock tree, for example, from a PLL (Phase Locked Loop).
  • PLL Phase Locked Loop
  • the core clock tree and the bus clock tree have the same relationship between the FFs in the final stage when the supply voltage to the core 0 is 1.2 V, which is the same as the supply voltage to the bus. It is assumed that the propagation times are aligned so that data can be transferred simultaneously. For this reason, in the upper diagram of FIG. 4B, the lengths of the core clock tree and the bus clock tree are shown aligned.
  • FIG. 5A is a diagram showing a data processing circuit 90 of a comparative example.
  • the data processing circuit 90 of the comparative example includes a core clock tree 91, a data transmission unit 92, a data reception unit 93, a voltage detection unit 94, a bus clock tree 95, a data transmission unit 96, a data reception unit 97, and an asynchronous bridge 98. .
  • the core clock tree 91, the data transmission unit 92, and the data reception unit 93 are included in the core 0.
  • the bus clock tree 95, the data transmission unit 96, the data reception unit 97, and the asynchronous bridge 98 are included in the bus.
  • the data transmission units 92 and 96 and the data reception units 93 and 97 shown in FIG. 5A correspond to the FFs of the core clock tree and the bus clock tree shown in FIG. 4A.
  • a clock is input from the core clock tree 91 to the data transmission unit 92 and the data reception unit 93, and a clock is input from the bus clock tree 95 to the data transmission unit 96 and the data reception unit 97.
  • the voltage detector 94 is connected to the core 0.
  • the voltage detection unit 94 detects a supply voltage from the variable voltage supply unit (22 or 62 (see FIG. 2)) to the core 0, and inputs a synchronous transfer command or an asynchronous transfer command to the asynchronous bridge 98 in the bus.
  • FIG. 5B is a diagram illustrating an example of an operation in which the voltage detection unit 94 illustrated in FIG. 5A switches the data transfer format from a state in which asynchronous transfer is performed to a state in which synchronous transfer is performed in accordance with a supply voltage to the core 0. is there.
  • shaft in FIG. 5B is a supply voltage to the core 0, and a horizontal axis is time.
  • the voltage detector 94 since the supply voltage to the core 0 detected by the voltage detector 94 is 0.8 V from time t0 to t1, the voltage detector 94 outputs an asynchronous transfer command.
  • the supply voltage to the core 0 increases from time t1, but the voltage detection unit 94 outputs an asynchronous transfer command until the supply voltage stabilizes at 1.2 V at time t2. This is because the transmission time of the core clock tree 91 of the core 0 is not stable until the voltage is stabilized, and it is difficult to perform synchronous transfer.
  • the voltage detection unit 94 determines that the supply voltage to the core 0 is a stable and normal voltage, and outputs a synchronous transfer command.
  • FIG. 5B shows a case where the supply voltage to the core 0 increases with time, but when the supply voltage decreases from 1.2 V to 0.8, the supply voltage becomes less than 1.2 V. At this point, the voltage detection unit 94 switches the output from the synchronous transfer command to the asynchronous transfer command.
  • the asynchronous bridge 98 is inserted on the output side of the data transmission unit 96 of the bus and on the input side of the data reception unit 97, and in response to a synchronous transfer command or an asynchronous transfer command input from the voltage detection unit 94, The data transfer format between the bus and the bus.
  • the asynchronous bridge 98 incorporates a FIFO (First-In-First-Out) processing unit.
  • FIFO First-In-First-Out
  • the asynchronous bridge 98 outputs the input data as it is without passing through the FIFO processing unit.
  • the asynchronous bridge 98 inputs input data to the FIFO processing unit, and the FIFO processing outputs data in the order of input.
  • the asynchronous bridge 98 transfers the data input from the bus data transmission unit 96 to the data reception unit 93 of the core 0 at the same timing.
  • the asynchronous bridge 98 outputs the data input from the data transmission unit 92 of the core 0 to the data reception unit 97 of the bus at the same timing. That is, when a synchronous transfer command is input from the voltage detection unit 94 to the asynchronous bridge 98, data is synchronously transferred between the core 0 and the bus without passing through the FIFO processing unit in the asynchronous bridge 98.
  • the asynchronous bridge 98 outputs data in the order of input to the FIFO processing unit.
  • the data processing circuit 90 of the comparative example transfers data via the FIFO processing unit of the asynchronous bridge 98 when transferring data in an asynchronous state.
  • the FIFO processing unit of the asynchronous bridge 98 outputs data in the order of input.
  • the data transfer rate through the FIFO processing unit is about 50%.
  • the data transfer rate is reduced by about 50%, there arises a problem that the performance of the system is remarkably deteriorated.
  • the data processing circuit 90 of the comparative example includes the asynchronous bridge 98 having the FIFO processing unit, so that the problem of circuit design becomes complicated and the development man-hour required for the verification work for guaranteeing the operation increases. There was a problem.
  • the data processing circuit 90 of the comparative example has problems that the data transfer speed is reduced, the circuit design is complicated, and the development man-hour is increased.
  • FIG. 6 is a diagram schematically illustrating how the delay time is adjusted by the variable delay unit in accordance with the change in the transmission time of the core clock tree by DVFS in the synchronous data processing circuit of the first embodiment.
  • FIG. 6 shows a variable delay unit, a core clock tree, a fixed delay unit, and a bus clock tree in the synchronous data processing circuit of the first embodiment.
  • the core clock tree is included in a core described later using FIG. 7
  • the bus clock tree is included in a bus described later using FIG.
  • the same clock is input from the PLL, for example, to the variable delay unit and the fixed delay unit.
  • variable delay unit is connected in series to the core clock tree of the core, and the variable delay unit uses the variable delay unit according to the change in the supply voltage to the core by DVFS. By adjusting the delay time, the data can be transferred synchronously even if the supply voltage to the core changes.
  • a fixed delay unit is connected in series with the bus clock tree in order to align the clock transmission time on the core side and the bus side when realizing synchronous transfer.
  • the transmission time in the core clock tree is shorter than when the supply voltage is 0.8V.
  • the delay time given to the clock is made longer by the variable delay unit than when the voltage is 0.8V.
  • variable delay unit is shown longer.
  • the total length of the lengthened variable delay section and the shortened core clock tree is substantially equal to the total length of the fixed delay section and the bus clock tree.
  • the transmission time in the core clock tree becomes longer than when the supply voltage is 1.2V.
  • the delay time given to the clock by the variable delay unit is made shorter than when the supply voltage is 1.2V.
  • variable delay section is shown briefly in the lower diagram of FIG.
  • the total length of the shortened variable delay section and the lengthened core clock tree is substantially equal to the total length of the fixed delay section and the bus clock tree.
  • the synchronous data processing circuit according to the first embodiment has a variable delay unit in both cases where the supply voltage to the core is 1.2V and 0.8V. And the clock propagation time by the core clock tree is made substantially equal to the clock propagation time by the fixed delay unit and the bus clock tree.
  • the clock propagation time by the variable delay unit and the core clock tree is made substantially equal to the clock propagation time by the fixed delay unit and the bus clock tree in order to enable synchronous transfer. This is because when data is transferred between the buses, a setup time and a hold time are secured to realize synchronous transfer.
  • the same clock is input from the PLL to the variable delay unit and the fixed delay unit.
  • a frequency divider is provided on the input side of the variable delay unit or the fixed delay unit to divide the frequency.
  • the synchronous transfer may be performed in a state where the clock is input to the variable delay unit or the fixed delay unit.
  • FIG. 7 is a diagram illustrating the synchronous data processing circuit 100 according to the first embodiment.
  • the synchronous data processing circuit 100 includes cores 110A and 110B, a bus 120, variable delay units 130A and 130B, synchronization determination units 140A and 140B, and a fixed delay unit 150.
  • a PLL (Phase Locked Loop) 160 is connected to the variable delay units 130A and 130B and the fixed delay unit 150.
  • the synchronous data processing circuit 100 may include the PLL 160 as a constituent element.
  • the synchronous data processing circuit 100 according to the first embodiment is applied to, for example, the smart phone terminal 10 shown in FIGS.
  • the cores 110A and 110B shown in FIG. 7 will be described as cores similar to the cores 0 and 1 included in the application processor 50 and the baseband processor 70, respectively.
  • FIG. 1 and FIG. 2 showing the smartphone terminal 10 will be cited.
  • the cores 110A and 110B are processor cores that can perform arithmetic processing independently of each other, and are treated as having the same processing capability here.
  • the cores 110A and 110B operate based on the clock CKin input from the variable delay units 130A and 130B, respectively.
  • the drive voltage input from the variable voltage supply unit 22 (refer to FIG. 2) is varied by DVFS (Dynamic Voltage and Frequency Frequency Scaling), thereby reducing power consumption.
  • DVFS Dynamic Voltage and Frequency Frequency Scaling
  • the PMU provides a voltage command for controlling the input voltage of the cores 110A and 110B according to the operating state of the cores 110A and 110B. 22 input.
  • the bus 120 transfers (transmits / receives) data between the cores 110A and 110B.
  • the bus 120 operates based on the clock CKin input from the fixed delay unit 150.
  • variable delay units 130A and 130B delay the clock CK input from the PLL 160, and output the clock CKin.
  • the clocks CKin output from the variable delay units 130A and 130B are input to the cores 110A and 110B, respectively.
  • the delay amount given to the clock CK input from the PLL 160 by the variable delay units 130A and 130B is determined according to the delay control command input from the synchronization determination units 140A and 140B, respectively.
  • the synchronization determination units 140A and 140B are disposed across the core 110A and the bus 120, and the core 110B and the bus 120, respectively.
  • the synchronization determination unit 140A determines the data transfer status between the core 110A and the bus 120, and determines the delay amount to be given to the clock CK by the variable delay unit 130A.
  • the synchronization determination unit 140A inputs a delay control command representing the delay amount to the variable delay unit 130A.
  • the data transmission time between the variable delay unit 130A and the core clock tree in the core 110A is The transmission time of data in the bus clock tree in the bus 120 is approximately equal.
  • the synchronization determination unit 140B determines a data transfer state between the core 110B and the bus 120, and determines a delay amount to be given to the clock CK by the variable delay unit 130B.
  • the synchronization determination unit 140B inputs a delay control command representing the delay amount to the variable delay unit 130B.
  • the data transmission time between the variable delay unit 130B and the core clock tree in the core 110B is The transmission time of data in the bus clock tree in the bus 120 is approximately equal.
  • the synchronization determination units 140A and 140B control the delay amounts of the variable delay units 130A and 130B, respectively, so that the variable delay unit 130A and the core clock tree in the core 110A, and the variable delay unit 130B and the core clock tree in the core 110B.
  • the data transmission times in the three routes of the fixed delay unit 150 and the bus clock tree are substantially equal.
  • the fixed delay unit 150 gives a predetermined fixed delay amount to the clock CK input from the PLL 160 and outputs the clock CKin.
  • the clock CKin output from the fixed delay unit 150 is input to the bus 120.
  • the fixed delay unit 150 approximates the clock propagation time by the variable delay unit 130A and the core clock tree to the clock propagation time by the fixed delay unit 150 and the bus clock tree. It is provided for adjustment to equalize.
  • the fixed delay unit 150 determines the clock propagation time by the variable delay unit 130B and the core clock tree, and the clock propagation time by the fixed delay unit 150 and the bus clock tree. And is provided for adjustment to be substantially equal.
  • the PLL 160 generates and outputs a clock CK to be input to the variable delay units 130A and 130B and the fixed delay unit 150. For example, the PLL 160 multiplies the frequency of a reference clock input from a crystal oscillator (not shown) and outputs a clock CK having a desired frequency. Note that any clock generator other than the PLL may be used as long as the clock generator can generate the clock CK to be input to the variable delay units 130A and 130B and the fixed delay unit 150.
  • the cores 110A and 110B are examples of the second circuit
  • the bus 120 is an example of the first circuit
  • the variable delay units 130A and 130B are examples of the delay adjustment unit.
  • the same clock is input from the PLL 160 to the variable delay units 130A and 130B and the fixed delay unit 150.
  • the variable delay units 130A and 130B or the fixed delay unit 150 can be distributed to the input side. Synchronous transfer may be performed in a state where a frequency divider is provided and the divided clock is input to the variable delay units 130A and 130B or the fixed delay unit 150.
  • the cores 110A and 110B and the bus 120 need only be driven based on the clock output from the PLL 160, which is the same clock generation source, and the cores 110A and 110B or the clock input to the bus 120. May be a clock obtained by dividing the clock output from the PLL 160.
  • the cores 110A and 110B require a higher frequency than the bus 120.
  • the 400 MHz clock CKin is input to the cores 110A and 110B from the PLL 160 via the variable delay units 130A and 130B, and the 400 MHz clock CK output from the PLL 160 is divided to the bus 120.
  • the frequency may be divided into 200 MHz by a device and input as a clock CKin via the fixed delay unit 150.
  • the clock CKin input to the cores 110A and 110B is different from the frequency of the divided clock CKin input to the bus 120, the clock CKin input to the cores 110A and 110B and the bus 120 is different.
  • the cores 110A and 110B, the variable delay units 130A and 130B, and the synchronization determination units 140A and 140B will be described without distinction, and will be referred to as the core 110, the variable delay unit 130, and the synchronization determination unit 140, respectively. .
  • FIG. 8 is a diagram illustrating a circuit configuration of the core 110, the bus 120, and the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • the circuit configuration of the variable delay unit 130 will be described later with reference to FIG.
  • the core 110 includes a core clock tree 111, buffers 112A and 112B, FFs 113A to 113D, combinational circuits 114A and 114B, and buffers 115A and 115B.
  • the core clock tree 111 is arranged inside the core 110, and is a data transmission path inside the core 110, and has a configuration in which a plurality of buffers are connected in series for adjusting the transmission time.
  • the input terminal of the core clock tree 111 is connected to the output terminal of the variable delay unit 130, and receives the clock CKin.
  • the output terminal of the core clock tree 111 is connected to the buffers 112A and 112B.
  • the core clock tree 111 adds a predetermined delay amount and inputs the clock to the buffers 112A and 112B.
  • the buffers 112A and 112B are connected to the output terminal of the core clock tree 111 in parallel with each other.
  • the output terminal of the buffer 112A is connected to the clock input terminals of the FFs 113A and 113B.
  • the output terminal of the buffer 112B is connected to the clock input terminals of the FFs 113C and 113D and the synchronization determination unit 140.
  • the buffers 112A and 112B input the clock CCK to the clock input terminals of the FFs 113A to 113D.
  • FFs 113A and 113B are FFs on the data output side from the core 110, and the data input terminal D is connected to an internal circuit (not shown) of the core 110. Data generated by arithmetic processing, for example, is input from an internal circuit (not shown) of the core 110 to the data input terminals D of the FFs 113A and 113B.
  • the combination circuit 114A and the buffer 115A are connected to the data output terminals Q of the FFs 113A and 113B, respectively.
  • the output terminal of the buffer 112A is connected to the clock input terminals of the FFs 113A and 113B.
  • the FFs 113A and 113B reflect the data in the data input terminal D to the data output terminal D when the clock CCK is input from the buffer 112A to the clock input terminal.
  • FFs 113C and 113D are FFs on the side of inputting data to the core 110, and the data input terminal D is connected to the combinational circuit 114B and the buffer 115B, respectively. Data output from the combinational circuit 114B and the buffer 115B are input to the data input terminals D of the FFs 113C and 113D, respectively.
  • the data output terminals Q of the FFs 113C and 113D are connected to an internal circuit (not shown) of the core 110. Data output from the clock output terminals Q of the FFs 113C and 113D is transmitted to an internal circuit (not shown) of the core 110.
  • the FFs 113C and 113D reflect the data in the data input terminal D to the data output terminal D when the clock CCK is input from the buffer 112B to the clock input terminal.
  • the combination circuit 114A has an input terminal connected to the data output terminal Q of the FF 113A and an output terminal connected to the data input terminal D of the FF 123A of the bus 120.
  • the combinational circuit 114A is, for example, a logic circuit such as AND and OR, performs a predetermined operation on the data input from the FF 113A, and transfers the data to the FF 123A of the bus 120.
  • the combination circuit 114B has an input terminal connected to the data output terminal Q of the FF 123C of the bus 120 and an output terminal connected to the data input terminal D of the FF 113.
  • the combinational circuit 114B is, for example, a logic circuit such as AND or OR, and performs a predetermined operation on the data transferred from the FF 123C of the bus 120 and outputs it to the internal circuit of the core 110.
  • the buffer 115A has an input terminal connected to the data output terminal Q of the FF 113B and an output terminal connected to the data input terminal D of the FF 123B of the bus 120.
  • the buffer 115A transfers the data output from the FF 113B to the FF 123B of the bus 120.
  • the buffer 115B has an input terminal connected to the data output terminal Q of the FF 123D of the bus 120, and an output terminal connected to the data input terminal D of the FF 113D.
  • the buffer 115B outputs the data transferred from the FF 123D of the bus 120 to the FF 113D.
  • the bus 120 includes a bus clock tree 121, buffers 122A and 122B, and FFs 123A to 123D.
  • the bus clock tree 121 is arranged inside the bus 120 and has a configuration in which a plurality of buffers are connected in series for adjusting the transmission time as well as a data transmission path inside the bus 120.
  • the input terminal of the bus clock tree 121 is connected to the output terminal of the fixed delay unit 150, and receives the clock CKin.
  • the output terminal of the bus clock tree 121 is connected to the buffers 122A and 122B.
  • the bus clock tree 121 adds a predetermined delay amount and inputs the clock to the buffers 122A and 122B.
  • the buffers 122A and 122B are connected to the output terminal of the bus clock tree 121 in parallel with each other.
  • the output terminal of the buffer 122A is connected to the clock input terminals of the FFs 123A and 123B.
  • the output terminal of the buffer 122B is connected to the clock input terminals of the FFs 123C and 123D and the synchronization determination unit 140.
  • the buffers 122A and 122B When the clock is input from the bus clock tree 121, the buffers 122A and 122B input the clock BCK to the clock input terminals of the FFs 123A to 123D.
  • the FFs 123A and 123B are FFs on the side that inputs data transferred from the core 110 to the bus 120.
  • the data input terminal D is connected to the combinational circuit 114A of the core 110 and the output terminal of the buffer 115, respectively. .
  • the data output terminals Q of the FFs 123A and 123B are connected to an internal circuit (not shown) of the bus 120.
  • the FFs 123A and 123B reflect the data in the data input terminal D to the data output terminal D when the clock BCK is input from the buffer 122A to the clock input terminal.
  • FFs 123C and 123D are FFs on the data output side from the bus 120, and the data input terminal D is connected to an internal circuit (not shown) of the bus 120.
  • the data output terminals Q of the FFs 123C and 123D are connected to the combinational circuit 114B of the core 110 and the input terminals of the buffer 115B, respectively.
  • the FFs 123C and 123D reflect the data in the data input terminal D to the data output terminal D when the clock BCK is input from the buffer 122B to the clock input terminal.
  • the synchronization determination unit 140 is disposed across the core 110 and the bus 120.
  • the synchronization determination unit 140 includes a pattern generation unit 141, a determination unit 142, a pattern generation unit 143, a determination unit 144, and an output unit 145.
  • the pattern generation units 141 and 143 are examples of test data generation units
  • the determination units 142 and 145 are examples of determination units.
  • the pattern generator 141 is provided on the bus 120 side.
  • the pattern generation unit 141 generates test data td0 based on the clock BCK input from the buffer 122B.
  • Test data td0 generated by the pattern generation unit 141 is input to the determination unit 144.
  • the test data td0 is a replica of normal data transferred from the FFs 123C and 123D of the bus 120 to the FFs 113C and 113D of the core 110.
  • the determination unit 142 is provided on the bus 120 side.
  • the determination unit 142 determines the phase difference between the clock BCK input from the buffer 122B and the test data td1 input from the pattern generation unit 143, and is a phase difference that allows synchronous transfer from the core 110 to the bus 120. It is determined whether or not.
  • variable delay unit 130 a delay control command dwn1 for advancing the phase of the clock CKin is output. As a result, the amount of delay applied to the clock CK input to the variable delay unit 130 is reduced, and the clock CKin with the advanced phase is output.
  • the delay control command dwn1 is input to the variable delay unit 130 via the output unit 145.
  • the delay unit 130 outputs a delay control command up1 for delaying the phase of the clock CKin.
  • the delay control command up1 is input to the variable delay unit 130 via the output unit 145.
  • the pattern generator 143 is provided on the core 110 side.
  • the pattern generator 143 generates test data td1 based on the clock CCK input from the buffer 112B.
  • Test data td1 generated by the pattern generation unit 143 is input to the determination unit 142.
  • the test data td1 is a replica of normal data transferred from the FFs 113A and 113B of the core 110 to the FFs 123A and 123B of the bus 120.
  • the determination unit 144 is provided on the core 110 side.
  • the determination unit 144 determines the phase difference between the clock CCK input from the buffer 112B and the test data td0 input from the pattern generation unit 141, and is a phase difference that allows synchronous transfer from the bus 120 to the core 110. It is determined whether or not.
  • variable delay unit 130 a delay control command dwn0 for advancing the phase of the clock CKin is output. As a result, the amount of delay applied to the clock CK input to the variable delay unit 130 is reduced, and the clock CKin with the advanced phase is output.
  • the delay control command dwn0 is input to the variable delay unit 130 via the output unit 145.
  • the determination unit 144 determines that the phase of the clock CCK input from the buffer 112B is advanced with respect to the phase of the test data td0 input from the pattern generation unit 141 and that synchronous transfer is difficult, the determination unit 144 is variable.
  • the delay unit 130 outputs a delay control command up0 for delaying the phase of the clock CKin.
  • the delay control command up0 is input to the variable delay unit 130 via the output unit 145.
  • the output unit 145 is realized by a pair of OR (logical sum) circuits.
  • the output unit 145 is one OR circuit, and outputs a delay control command up representing a logical sum of the delay control command up1 input from the determination unit 142 and the delay control command up0 input from the determination unit 144.
  • the output unit 145 is the other OR circuit, and outputs a delay control command dwn representing the logical sum of the delay control command dwn1 input from the determination unit 142 and the delay control command dwn0 input from the determination unit 144.
  • Delay control commands up and dwn output from the output unit 145 are input to the variable delay unit 130.
  • the synchronization determination unit 140 is described as being disposed across the core 110 and the bus 120, the pattern generation unit 141 and the determination unit 142 of the synchronization determination unit 140 are included in the bus 120. It can be handled as a thing. Similarly, the pattern generation unit 143 and the determination unit 144 in the synchronization determination unit 140 can be handled as being included in the core 110.
  • variable delay unit 130 Next, the circuit configuration of the variable delay unit 130 will be described with reference to FIG.
  • FIG. 9 is a diagram illustrating the variable delay unit 130 of the synchronous data processing circuit 100 according to the first embodiment.
  • the variable delay unit 130 includes inverters 131A and 131B, n delay stages 132-1 to 132-n, inverters 133A and 133B, and a shift register 134.
  • the inverters 131A and 131B are provided at the input section of the variable delay section 130 and are connected in series with each other.
  • the clock CK is input from the PLL 160 (see FIG. 7) to the input terminal of the inverter 131A, and is input to the NAND circuits 132B of the delay stages 132-1 to 132-n from the output terminal of the inverter 131B.
  • Each delay stage 132-1 to 132-n includes an inverter 132A and NAND circuits 132B and 132C. Note that n is an arbitrary integer, for example, about 100 to 300.
  • the predetermined VSS (L) level voltage VSS is input to the inverter 132A of the delay stage 132-1.
  • the output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C.
  • the NAND circuit 132B of the delay stage 132-1 has one input terminal connected to the output terminal of the inverter 131B, and the other input terminal connected to the first stage output terminal of the shift register 134.
  • the output terminal of the NAND circuit 132B is connected to the other input terminal of the NAND circuit 132C.
  • the output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C of the delay stage 132-1, and the output terminal of the NAND circuit 132B is connected to the other input terminal.
  • the output terminal of the NAND circuit 132C is connected to the input terminal of the inverter 132A of the next delay stage 132-2.
  • the inverter 132A and the NAND circuits 132B and 132C of the delay stages 132-2 to 132- (n-1) are all connected in the same manner.
  • the input terminal of the inverter 132A is connected to the output terminal of the NAND circuit 132C of the previous delay stage.
  • the output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C.
  • the output terminal of the inverter 131B is connected to one input terminal, and the output terminal of the shift register 134 is connected to the other input terminal.
  • the output terminal of the NAND circuit 132B is connected to the other input terminal of the NAND circuit 132C.
  • the output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C, and the output terminal of the NAND circuit 132B is connected to the other input terminal.
  • the output terminal of the NAND circuit 132C is connected to the input terminal of the inverter 132A of the next delay stage.
  • the input terminal of the inverter 132A of the delay stage 132-n is connected to the output terminal of the NAND circuit 132C of the delay stage 132- (n-1).
  • the output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C.
  • the NAND circuit 132B of the delay stage 132-n has one input terminal connected to the output terminal of the inverter 131B, and the other input terminal connected to the n-th output terminal of the shift register 134.
  • the output terminal of the NAND circuit 132B is connected to the other input terminal of the NAND circuit 132C.
  • the output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C of the delay stage 132-n, and the output terminal of the NAND circuit 132B is connected to the other input terminal.
  • the output terminal of the NAND circuit 132C is connected to the input terminal of the inverter 133A.
  • the inverter 133A is connected to the output terminal of the NAND circuit 132C of the delay stage 132-n, and the output terminal is connected to the input terminal of the inverter 133B.
  • the input terminal of the inverter 133B is connected to the output terminal of the inverter 133A, and the output terminal is connected to the output terminal of the variable delay unit 130. From the inverter 133B, the clock CKin delayed by the variable delay unit 130 is output.
  • the shift register 134 has n output terminals, and each output terminal is connected to the other input terminal of the NAND circuit 132B of the delay stages 132-1 to 132-n.
  • the shift register 134 outputs “1” to any one of the n output terminals, and outputs “0” to the other output terminals.
  • the shift register 134 switches the output terminal that outputs “1” among the n output terminals based on the delay control commands up and dwn input from the output unit 145 of the synchronization determination unit 140.
  • the output terminal of the inverter 131B is connected to the clock input terminal of the shift register 134, and the shift register 134 operates in accordance with the clock input from the inverter 131B.
  • the shift register 134 holds the delay amount without changing it.
  • the shift register 134 moves the output terminal that outputs “1” one right in order to reduce the amount of delay given to the clock CK. Shift to That is, in this case, the shift register 134 shifts the output terminal that outputs “1” by one in the direction (right) indicated by the arrow down.
  • the shift register 134 shifts the output terminal that outputs “1” to the left in order to increase the amount of delay applied to the clock CK. .
  • delay control commands up and dwn are not “1” or “1”.
  • an H level pulse is input from the inverter 1131B to one input terminal of the OR circuit 132B, and “0” is output from the output terminal of the shift register 134 to the other input terminal. Therefore, the output of the NAND circuit 132B becomes “1” and is input to the other input terminal of the NAND circuit 132C.
  • the delay stages 132-3 to 132-n transmit the output "1", and the output "1" of the delay stage 132-n is output as the H level pulse CKin via the inverters 133A and 133B.
  • the H level pulse of the clock CK input to the variable delay unit 130 is delayed by the delay stages 132-2 to 133-n and output as the clock CKin.
  • the delay amount given to the clock CK by the variable delay unit 130 can be controlled. That is, the delay amount of the clock CKin output from the variable delay unit 130 can be controlled.
  • FIG. 10 is a diagram illustrating the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • the pattern generator 141 includes an FF 141A and an inverter 141B.
  • the clock BCK is input from the buffer 122B (see FIG. 8) to the clock input terminal of the FF 141A.
  • the output terminal of the inverter 141B is connected to the data input terminal D of the FF 141A, and the input terminal of the inverter 141B and the input terminal of the determination unit 144 are connected to the data output terminal Q of the FF 141A.
  • the inverter 141B Since the inverter 141B has an input terminal connected to the data output terminal Q of the FF 141A and an output terminal connected to the data input terminal D of the FF 141A, each time the FF 141A is moved by the clock BCK, the data input terminal D has its own terminal. The value of the data output terminal Q is inverted and input.
  • the pattern generator 141 since the pattern generator 141 alternately outputs “1” and “0” every time the clock BCK is input, the test data td0 generated by the pattern generator 141 is “1”, “0”. The data is repeated alternately.
  • the determination unit 144 includes delay units 171A, 171B, 171C, FFs 172A, 172B, 172C, and EOR (exclusive OR) circuits 173A, 173B.
  • the delay units 171A, 171B, and 171C are connected in parallel to the data input terminal D of the FF 141A of the pattern generation unit 141.
  • the delay unit 171A is an example of a first delay unit
  • the delay unit 171C is an example of a second delay unit.
  • the delay unit 171A is a circuit in which five buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 172A.
  • the delay time of the delay unit 171A is set to the delay time given to the test data td0 in order to realize the worst case setup time (setup worst) when data is synchronously transferred by the FFs 113C and 113D of the core 110.
  • the worst-case setup time (setup worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest setup time for synchronously transferring data in the path passing through the FFs 113C and 113D of the core 110.
  • the worst-case setup time (setup worst) is obtained by adding a predetermined margin time to the shortest setup time obtained by the longest FF among the paths passing through the FFs 113C and 113D of the core 110, for example. Set to time.
  • the shortest setup time for synchronously transferring data in the path passing through the FFs 113C and 113D of the core 110 is the shortest time in which synchronous transfer cannot be performed if the setup time is further shortened in the path passing through the FFs 113C and 113D of the core 110.
  • FIG. 10 shows two FFs 113C and 113D as data reception flip-flops on the core 110 side.
  • the worst-case setup time (setup worst) may be determined using the shortest setup time in a path passing through all the flip-flops. .
  • the delay unit 171B is a circuit in which three buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 172A.
  • the delay time of the delay unit 171B is set to the nominal time of the FFs 113C and 113D of the core 110.
  • the nominal time is set to a time representing the center of the window of valid data transmitted through the path passing through the FFs 113C and 113D of the core 110.
  • the delay unit 171C is a circuit realized by one buffer, and the output terminal is connected to the data input terminal D of the FF 172A.
  • the delay time of the delay unit 171C is set to the delay time given to the test data td0 in order to realize the worst case hold time (hold worst) when data is synchronously transferred by the FFs 113C and 113D of the core 110.
  • the worst case hold time (hold worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest hold time for synchronously transferring data in the path passing through the FFs 113C and 113D of the core 110.
  • the worst case hold time (hold worst) is obtained by adding a predetermined margin time to the shortest hold time obtained by the FF having the longest path among the paths passing through the FFs 113C and 113D of the core 110, for example. Set to time.
  • the shortest hold time when data is synchronously transferred in the path passing through the FFs 113C and 113D of the core 110 is the shortest time in which synchronous transfer cannot be performed if the hold time is further shortened in the path passing through the FFs 113C and 113D of the core 110.
  • the worst case hold time (hold (worst) is used by using the shortest hold time among the hold times in the paths passing through all the flip-flops. Can be determined.
  • the number of buffers in the delay units 171A to 171C is an example.
  • the data input terminal D is connected to the output terminal of the delay unit 171A
  • the data output terminal Q is connected to one input terminal of the EOR circuit 173A
  • the clock CCK is input to the clock input terminal.
  • data output from the data output terminal Q of the FF 172A is represented as sd0.
  • the data input terminal D is connected to the output terminal of the delay unit 171B
  • the data output terminal Q is connected to the other input terminal of the EOR circuit 173A and one input terminal of the EOR circuit 173B
  • the clock input terminal is clocked.
  • CCK is input.
  • data output from the data output terminal Q of the FF 172B is represented as nd0.
  • the data input terminal D is connected to the output terminal of the delay unit 171C
  • the data output terminal Q is connected to the other input terminal of the EOR circuit 173C
  • the clock CCK is input to the clock input terminal.
  • data output from the data output terminal Q of the FF 172C is represented as hd0.
  • the data output terminal Q of the FF 172A is connected to one input terminal
  • the data output terminal Q of the FF 172B is connected to the other input terminal
  • the delay control command up0 is output from the output terminal.
  • the data output terminal Q of the FF 172B is connected to one input terminal
  • the data output terminal Q of the FF 172C is connected to the other input terminal
  • the delay control command dwn0 is output from the output terminal.
  • FIG. 11 is a timing chart illustrating an operation example of the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • FIG. 11 shows clocks BCK, CCK, test data td0, output data of delay unit 171A (setup ⁇ worst), output data of delay unit 171B (nominal), output data of delay unit 171C (hold worst), and FFs 172A to 172C.
  • the transition of output data sd0, nd0, hd0 and delay control commands up0, dwn0 is shown.
  • the output data (setup worst) of the delay unit 171A is data obtained by delaying the test data td0 by the delay unit 171A.
  • the output data (nominal) of the delay unit 171B is data obtained by delaying the test data td0 by the delay unit 171B.
  • the output data (hold worst) of the delay unit 171C is data obtained by delaying the test data td0 by the delay unit 171C.
  • a delay time given to the test data td0 by the delay units 171A to 171C is indicated by an arrow in FIG.
  • FIG. 11A is a timing chart in a state where data is synchronously transferred from the bus 120 to the core 110.
  • the rising phase of the test data td0 output from the pattern generator 141 is equal to the rising phase of the clock CCK.
  • the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hd0 of the FF 172C is the time At t1, the L level is equal to the test data td0.
  • the output data (nominal) of the delay unit 171B is sufficiently later than the rising edge of the clock CCK at time t1, and the output nd0 of the FF 172B is at the L level equal to the test data td0 at time t1.
  • the rise of the output data (setuprstworst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1.
  • the L level is equal to the test data td0.
  • the outputs of the EOR circuits 173A and 173B are both “0”, and the delay control commands up0 and dwn0 are both at the L level.
  • the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generator 141. It is behind the timing.
  • the rise of the output data (hold worst) of the delay unit 171C is prior to the rise of the clock CCK at time t1 (timing violated), and the output data of the delay unit 171C is already at the rise of the clock CCK at time t1. (Hold worst) is at the H level. This is a case where the hold time is insufficient and the hold time constraint is violated.
  • the L level of the output data (hold low) of the delay unit 171C cannot be acquired, and the output hd0 of the FF 172C becomes an H level different from the test data td0 at time t1.
  • the rise of the output data (nominal) of the delay unit 171B is sufficiently later than the rise of the clock CCK at time t1, and the output nd0 of the FF 172B is at L level equal to the test data td0 at time t1.
  • the rise of the output data (setuprstworst) of the delay unit 171A is before the time t2 when the clock CCK rises after the rise of the clock CCK at time t1 (timing met), and the setup time is secured.
  • the output sd0 of the FF 172A is at the L level equal to the test data td0 at time t1.
  • the output of the EOR circuit 173A becomes “0” and the output of the EOR circuit 173B becomes “1”, so that the delay control command up0 becomes L level and the delay control command dwn0 becomes H level. That is, in order to advance the phase of the clock CCK, an H level delay control command dwn is output from the determination unit 144.
  • the clock CCK input to the determination unit 144 on the core 110 side is advanced with respect to the clock BCK input to the pattern generation unit 141 on the bus 120 side.
  • This case corresponds to the case where the clock CCK is advanced by raising from the state where the supply voltage to the core 110 has been lowered by DVFS.
  • the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generation unit 141. More advanced than timing.
  • the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured.
  • the H level of the output data (hold worst) of the delay unit 171C is acquired at the rising edge of the clock CCK at time t1. Therefore, the output hd0 of the FF 172C becomes H level equal to the test data td0 at time t1.
  • the rise of the output data (nominal) of the delay unit 171B is sufficiently before the rise of the clock CCK at time t1, and the output nd0 of the FF 172B becomes H level equal to the test data td0 at time t1.
  • the rising edge of the output data (setup worst) of the delay unit 171A is later than the rising edge of the clock CCK at time t1 (timing violated), and when the clock CCK rises at time t1, it has not switched to the H level. However, it remains at the L level. This is a case where the setup time constraint is violated. Therefore, the output sd0 of the FF 172A is held at the L level different from the test data td0 at time t1.
  • the delay control command up0 becomes the H level and the delay control command dwn0 becomes the L level. That is, an H-level delay control command up is output from the determination unit 144 in order to delay the phase of the clock CCK.
  • the clock CCK input to the determination unit 144 is delayed with respect to the clock BCK input to the pattern generation unit 141, and the output data (hold worst) of the delay unit 171C is correctly set. If it cannot be obtained, an H level delay control command dwn is output to advance the phase of the clock CCK.
  • the determination unit 144 is not able to correctly acquire the output data (setup ⁇ worst) of the delay unit 171A because the clock CCK input to the determination unit 144 is advanced with respect to the clock BCK input to the pattern generation unit 141. Outputs a delay control command up0 of H level to delay the phase of the clock CCK.
  • the determination unit 144 obtains the output data (hold worst) of the delay unit 171C and the output data (setup worst) of the delay unit 171A correctly and correctly with the output data (nominal) of the delay unit 171B. Both output L level delay control commands up0 and dwn0.
  • FIG. 12 is a diagram illustrating the determination unit 142 and the pattern generation unit 143 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • the pattern generator 143 includes an FF 143A and an inverter 143B.
  • the clock CCK is input from the buffer 122B (see FIG. 8) to the clock input terminal of the FF 143A.
  • the output terminal of the inverter 143B is connected to the data input terminal D of the FF 143A, and the input terminal of the inverter 143B and the input terminal of the determination unit 142 are connected to the data output terminal Q of the FF 143A.
  • the data input terminal D Since the input terminal of the inverter 143B is connected to the data output terminal Q of the FF 143A and the output terminal is connected to the data input terminal D of the FF 143A, each time the FF 143A is moved by the clock CCK, the data input terminal D has its own terminal. The value of the data output terminal Q is inverted and input.
  • the pattern generator 143 since the pattern generator 143 alternately outputs “1” and “0” every time the clock CCK is input, the test data td1 generated by the pattern generator 143 is “1”, “0”. The data is repeated alternately.
  • the determination unit 142 includes delay units 181A, 181B, 181C, FFs 182A, 182B, 182C, and EOR (exclusive OR) circuits 183A, 183B.
  • the delay units 181A, 181B, 181C are connected in parallel to the data input terminal D of the FF 141A of the pattern generation unit 143.
  • the delay unit 181A is an example of a first delay unit
  • the delay unit 181C is an example of a second delay unit.
  • the delay unit 181A is a circuit in which five buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 182A.
  • the delay time of the delay unit 181A is set to the delay time given to the test data td1 in order to realize the worst-case setup time (setup worst) when data is synchronously transferred by the FFs 113A and 113B of the core 110.
  • the worst-case setup time (setup worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest setup time for synchronously transferring data in the path passing through the FFs 113A and 113B of the core 110.
  • the worst-case setup time (setup worst) is obtained by adding a predetermined margin time to the shortest setup time obtained by the longest FF among the paths passing through the FFs 113A and 113B of the core 110, for example. Set to time.
  • the shortest setup time for synchronously transferring data in the path passing through the FFs 113A and 113B of the core 110 is the shortest time in which synchronous transfer cannot be performed if the setup time is further shortened in the path passing through the FFs 113A and 113B of the core 110.
  • two FFs 113A and 113B are shown as flip-flops for data transmission on the core 110 side.
  • the worst-case setup time (setup worst) may be determined using the shortest setup time in a path passing through all the flip-flops. .
  • the delay unit 181B is a circuit in which three buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 182A.
  • the delay time of the delay unit 181B is set to the delay time given to the test data td1 in order to realize the nominal time of the FFs 113A and 113B of the core 110.
  • the nominal time is set to a time representing the center of the window of valid data transmitted through the path passing through the FFs 113A and 113B of the core 110.
  • the delay unit 181C is a circuit realized by one buffer, and its output terminal is connected to the data input terminal D of the FF 182A.
  • the delay time of the delay unit 181C is set to the delay time given to the test data td0 in order to realize the worst case hold time (hold ⁇ worst) when data is synchronously transferred by the FFs 113A and 113B of the core 110.
  • the worst case hold time (hold worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest hold time for synchronously transferring data in the path passing through the FFs 113A and 113B of the core 110.
  • the worst case hold time (hold worst) is obtained by adding a predetermined margin time to the shortest hold time obtained by the FF having the longest path among the paths passing through the FFs 113A and 113B of the core 110, for example. Set to time.
  • the shortest hold time when data is synchronously transferred in the path passing through the FFs 113A and 113B of the core 110 is the shortest time in which synchronous transfer cannot be performed if the hold time is further shortened in the path passing through the FFs 113A and 113B of the core 110.
  • the worst case hold time (hold (worst) is used by using the shortest hold time among the hold times in the paths passing through all the flip-flops. Can be determined.
  • the number of buffers in the delay units 181A to 181C is an example.
  • the data input terminal D is connected to the output terminal of the delay unit 181A
  • the data output terminal Q is connected to one input terminal of the EOR circuit 183A
  • the clock BCK is input to the clock input terminal.
  • the data output from the data output terminal Q of the FF 182A is represented as sd1.
  • the data input terminal D is connected to the output terminal of the delay unit 181B
  • the data output terminal Q is connected to the other input terminal of the EOR circuit 183A and one input terminal of the EOR circuit 183B
  • the clock input terminal is clocked.
  • BCK is input.
  • data output from the data output terminal Q of the FF 182B is represented as nd1.
  • the data input terminal D is connected to the output terminal of the delay unit 181C
  • the data output terminal Q is connected to the other input terminal of the EOR circuit 183C
  • the clock BCK is input to the clock input terminal.
  • data output from the data output terminal Q of the FF 182C is represented by hd1.
  • the data output terminal Q of the FF 182A is connected to one input terminal
  • the data output terminal Q of the FF 182B is connected to the other input terminal
  • the delay control command dwn1 is output from the output terminal.
  • the data output terminal Q of the FF 182B is connected to one input terminal
  • the data output terminal Q of the FF 182C is connected to the other input terminal
  • the delay control command up1 is output from the output terminal.
  • FIG. 13 is a timing chart illustrating an operation example of the determination unit 142 and the pattern generation unit 143 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.
  • FIG. 13 shows clocks BCK, CCK, test data td1, output data of delay unit 181A (setup worst), output data of delay unit 181B (nominal), output data of delay unit 181C (hold worst), and FFs 182A to 182C.
  • the transition of the output data sd1, nd1, hd1, and delay control commands up1, dwn1 is shown.
  • FIG. 13A is a timing chart in a state where data is synchronously transferred from the core 110 to the bus 120.
  • the rising phase of the test data td1 output from the pattern generator 143 is equal to the rising phase of the clock BCK.
  • the rise of the output data (hold worst) of the delay unit 181C is later than the rise of the clock BCK at time t1 (timing met), and the hold time is secured, so the output hd1 of the FF 182C is the time At t1, the L level is equal to the test data td1.
  • the output data (nominal) of the delay unit 181B is sufficiently later than the rising edge of the clock BCK at time t1, and the output nd1 of the FF 182B is at L level equal to the test data td1 at time t1.
  • the rise of the output data (setup worst) of the delay unit 181A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd1 of the FF 182A is at time t1.
  • the L level is equal to the test data td1.
  • the outputs of the EOR circuits 183A and 183B are both “0”, and the delay control commands up1 and dwn1 are both at the L level.
  • the clock CCK input to the determination unit 142 on the core 110 side is advanced with respect to the clock BCK input to the pattern generation unit 143 on the bus 120 side.
  • This case corresponds to the case where the clock CCK is advanced by raising from the state where the supply voltage to the core 110 has been lowered by DVFS.
  • the rising timing of the clock BCK at the time t1 is the rising timing of the test data td1 output from the pattern generator 143. It is behind the timing.
  • the rise of the output data (hold worst) of the delay unit 181C is prior to the rise of the clock BCK at time t1 (timing violated), and the output data of the delay unit 181C is already at the rise of the clock BCK at time t1. (Hold worst) is at the H level. This is a case where the hold time is insufficient and the hold time constraint is violated.
  • the L level of the output data (hold low) of the delay unit 181C cannot be acquired, and the output hd1 of the FF 182C becomes an H level different from the test data td1 at time t1.
  • the rise of the output data (nominal) of the delay unit 181B is sufficiently later than the rise of the clock BCK at time t1, and the output nd1 of the FF 182B is at the L level equal to the test data td1 at time t1.
  • the rise of the output data (setuprstworst) of the delay unit 181A is before the rise of the clock BCK at time t2 (timing met), and the setup time is secured, so the output sd1 of the FF 182A is at time t1.
  • the L level is equal to the test data td1.
  • the output of the EOR circuit 183A becomes “0” and the output of the EOR circuit 183B becomes “1”, so that the delay control command dwn1 becomes L level and the delay control command up1 becomes H level. That is, in order to delay the phase of the clock CCK, an H level delay control command up 1 is output from the determination unit 142.
  • the clock CCK input to the determination unit 142 on the core 110 is delayed with respect to the clock BCK input to the pattern generation unit 143 on the bus 120 side.
  • This case corresponds to a case where the clock CCK is delayed due to a drop in the supply voltage to the core 110 due to DVFS.
  • the rising timing of the clock BCK at the time t1 is the rising edge of the test data td1 output from the pattern generator 143. More advanced than timing.
  • the rise of the output data (hold worst) of the delay unit 181C is later than the rise of the clock BCK just before the rise of the clock BCK at time t1 (timing met), and the hold time is secured.
  • the H level of the output data (hold worst) of the delay unit 181C is acquired at the rising edge of the clock BCK at time t1. For this reason, the output hd1 of the FF 182C becomes H level equal to the test data td1 at time t1.
  • the rise of the output data (nominal) of the delay unit 181B is sufficiently before the rise of the clock BCK at time t1, and the output nd1 of the FF 182B becomes H level equal to the test data td1 at time t1.
  • the rise of the output data (setup worst) of the delay unit 181A is later than the rise of the clock BCK at time t1 (timing violated), and when the clock BCK rises at time t1, it has not been switched to the H level. However, it remains at the L level. This is a case where the setup time constraint is violated. Therefore, the output sd1 of the FF 182A is held at an L level different from the test data td1 at time t1.
  • the output of the EOR circuit 183A becomes “1” and the output of the EOR circuit 183B becomes “0”, so that the delay control command dwn1 becomes the H level and the delay control command up1 becomes the L level. That is, in order to advance the phase of the clock CCK, an H level delay control command dwn1 is output from the determination unit 142.
  • the clock CCK input to the determination unit 142 is advanced with respect to the clock BCK input to the pattern generation unit 143, and the output data (hold worst) of the delay unit 181C is correctly set. If it cannot be obtained, an H level delay control command up1 is output to delay the phase of the clock CCK.
  • the determination unit 142 is unable to correctly acquire the output data (setup worst) of the delay unit 181A because the clock CCK input to the determination unit 142 is delayed with respect to the clock BCK input to the pattern generation unit 143. Outputs an H level delay control command dwn1 to advance the phase of the clock CCK.
  • the determination unit 142 Both output L level delay control commands up1 and dwn1.
  • the phase difference between the clock BCK on the bus 120 side and the clock CCK on the core 110 side is a predetermined value (worst case hold time (hold (worst) or worst).
  • the phase of the clock CCK is adjusted by the delay control commands up1 and dwn1.
  • the data is synchronously transferred even when the power supplied to the core 110 is reduced. can do.
  • the synchronous data processing circuit 100 of the first embodiment it is possible to stably perform synchronous data transfer while reducing power consumption.
  • the synchronous data processing circuit 100 is suitable for, for example, LTE (Long Term Evolution), which is a high-speed data communication standard with a communication speed exceeding 100 Mbps.
  • LTE Long Term Evolution
  • the baseband module 60 if a signal cannot be received by the antenna 81 even after searching for an LTE base station, the baseband is received by an instruction from the system controller 42. The function of the module 60 is switched from LTE to W-CDMA.
  • the baseband module 60 is set to a specification that enables high-speed data processing in accordance with the LTE standard.
  • the power consumption of the baseband module 60 is reduced by adopting DVFS.
  • the synchronous data processing circuit 100 of the first embodiment is applied to the application processor 50 or the baseband processor 70 of the smartphone terminal 10 shown in FIGS. Therefore, low power consumption can be achieved.
  • variable delay unit 130 adjusts the delay time so that the data can be transferred synchronously, and the asynchronous bridge 98 of the comparative example (see FIG. 5A). As in the case of using, it is possible to suppress a decrease in transfer speed.
  • asynchronous bridge 98 since there is no need to use the asynchronous bridge 98, it is possible to suppress an increase in the development man-hours for guaranteeing the operation, and to provide a synchronous data processing circuit capable of performing synchronous transfer with a smaller development man-hour. it can.
  • variable delay unit 130 is connected to the core 110 and the fixed delay unit 150 is connected to the bus 120 (see FIG. 7) to adjust the phase of the clock CCK of the core 110.
  • phase of the clock BCK of the bus 120 may be adjusted by connecting the variable delay unit 130 to the bus 120 and connecting the fixed delay unit 150 to the core 110.
  • the synchronous data processing circuit according to the second embodiment should be noted before the phase difference between the clocks BCK and CCK reaches the worst case hold time (hold worst) or the worst case setup time (setup worst) in the first embodiment.
  • the processing is different from the synchronous data processing circuit 100 of the first embodiment.
  • the difference from the synchronous data processing circuit 100 of the first embodiment is that a freeze process for freezing the system is performed until the phase difference is relaxed.
  • FIG. 14 is a diagram illustrating a circuit configuration of the core 110, the bus 120, and the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.
  • the core 110 includes a core clock tree 111, buffers 112B, FFs 113A to 113D, combinational circuits 114A and 114B, buffers 115A and 115B, and gate lock buffers 212A and 212B.
  • the core clock tree 111 is arranged inside the core 110, and is a data transmission path inside the core 110, and has a configuration in which a plurality of buffers are connected in series for adjusting the transmission time.
  • the input terminal of the core clock tree 111 is connected to the output terminal of the variable delay unit 130, and receives the clock CKin.
  • the output terminal of the core clock tree 111 is connected to the buffer 112B and the clock input terminals of the gate lock buffers 212A and 212B.
  • the core clock tree 111 gives a predetermined delay amount and inputs the clock to the buffer 112B and the clock input terminals of the gate lock buffers 212A and 212B.
  • the buffer 112B is connected to the output terminal of the core clock tree 111.
  • the output terminal of the buffer 112B is connected to the synchronization determination unit 240.
  • the buffer 112B is different from the buffer 112B of the first embodiment in that the output terminal is connected only to the synchronization determination unit 240.
  • the gate lock buffer 212A has a clock input terminal connected to the output terminal of the core clock tree 111, and a freeze signal input terminal connected to the freeze signal output unit of the output unit 245 of the synchronization determination unit 240.
  • the output terminal of the gate lock buffer 212A is connected to the clock input terminals of the FFs 113A and 113B.
  • the gate lock buffer 212A When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 212A outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 212A outputs the clock CCK1 when the freeze signal frz is “0”.
  • the clock CCK1 is a clock having the same phase as the clock CCK output from the buffer 112B, but in the second embodiment, it is distinguished from the clock CCK output from the buffer 112B.
  • the gate lock buffer 212A fixes the clock output from the output terminal and freezes the data transfer.
  • the clock input terminal is connected to the output terminal of the core clock tree 111, and the freeze signal input terminal is connected to the freeze signal output unit of the output unit 245 of the synchronization determination unit 240.
  • the output terminal of the gate lock buffer 212B is connected to the clock input terminals of the FFs 113C and 113D.
  • the gate lock buffer 212B When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 212B outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 212B outputs the clock CCK1 when the freeze signal frz is “0”.
  • the gate lock buffer 212B fixes the clock output from the output terminal and freezes the data transfer.
  • the FFs 113A and 113B are different from the FFs 113A and 113B of the first embodiment in that the output terminal of the gate lock buffer 212A is connected to the clock input terminal.
  • Other configurations and operations of the FFs 113A and 113B of the second embodiment are the same as those of the FFs 113A and 113B of the first embodiment.
  • the FFs 113C and 113D are different from the FFs 113C and 113D of the first embodiment in that the output terminal of the gate lock buffer 212B is connected to the clock input terminal.
  • Other configurations and operations of the FFs 113C and 113D of the second embodiment are the same as those of the FFs 113C and 113D of the first embodiment.
  • the bus 120 includes a bus clock tree 121, a buffer 122B, FFs 123A to 123D, and gate lock buffers 222A and 222B.
  • the output terminal of the bus clock tree 121 is connected to the buffer 122B and the clock input terminals of the gate lock buffers 222A and 222B.
  • the bus clock tree 121 gives a predetermined delay amount and inputs the clock to the buffer 122B and the clock input terminals of the gate lock buffers 222A and 222B.
  • the buffer 122B is connected to the output terminal of the bus clock tree 121.
  • the output terminal of the buffer 122B is connected to the synchronization determination unit 240.
  • the buffer 122B is different from the buffer 122B of the first embodiment in that the output terminal is connected only to the synchronization determination unit 240.
  • the gate lock buffer 222A has a clock input terminal connected to the output terminal of the bus clock tree 121 and a freeze signal input terminal connected to the freeze signal output section of the output section 245 of the synchronization determination section 240.
  • the output terminal of the gate lock buffer 222A is connected to the clock input terminals of the FFs 123A and 123B.
  • the gate lock buffer 222A When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 222A outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 222A outputs the clock BCK1 when the freeze signal frz is “0”.
  • the clock BCK1 is a clock having the same phase as the clock BCK output from the buffer 122B, but in the second embodiment, the clock BCK1 is distinguished from the clock CCK output from the buffer 122B.
  • the gate lock buffer 222A fixes the clock output from the output terminal and freezes the data transfer.
  • the gate lock buffer 222B has a clock input terminal connected to the output terminal of the bus clock tree 121 and a freeze signal input terminal connected to the freeze signal output section of the output section 245 of the synchronization determination section 240.
  • the output terminal of the gate lock buffer 222B is connected to the clock input terminals of the FFs 123C and 123D.
  • the gate lock buffer 222B When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 222B outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 222B outputs the clock BCK1 when the freeze signal frz is “0”.
  • the gate lock buffer 222B fixes the clock output from the output terminal and freezes the data transfer.
  • the FFs 123A and 123B are different from the FFs 123A and 123B of the first embodiment in that the output terminal of the gate lock buffer 222A is connected to the clock input terminal.
  • the FFs 123C and 123D are different from the FFs 123C and 123D of the first embodiment in that the output terminal of the gate lock buffer 222B is connected to the clock input terminal.
  • the synchronization determination unit 240 is disposed across the core 110 and the bus 120.
  • the synchronization determination unit 240 includes a pattern generation unit 241, a determination unit 242, a pattern generation unit 243, a determination unit 244, and an output unit 245.
  • the pattern generator 241 is provided on the bus 120 side.
  • the pattern generator 241 generates test data td0 based on the clock BCK input from the buffer 122B.
  • Test data td0 generated by the pattern generation unit 241 is input to the determination unit 244.
  • the determination unit 242 is provided on the bus 120 side.
  • the determination unit 242 determines a phase difference between the clock BCK input from the buffer 122B and the test data td1 input from the pattern generation unit 243, and performs attention processing and freeze processing.
  • the determination unit 242 reaches the attention hold time (hold warning) in which the phase of the test data td1 is delayed with respect to the phase of the clock BCK and the phase difference is smaller than the worst case hold time (hold worst) by a predetermined phase difference. Then, the delay control command dwn1 for advancing the phase of the clock CKin by the variable delay unit 130 is output.
  • the delay control command dwn1 is input to the variable delay unit 130 via the output unit 245.
  • the determination unit 242 fixes the FFs 113A to 113D and 123A to 123D to fix the data.
  • the determination unit 242 has a test setup time (setuptwarning) in which the phase of the test data td1 is advanced with respect to the phase of the clock BCK and the phase difference is larger by a predetermined phase difference than the worst-case setup time (setup worst). Is reached, the variable delay unit 130 outputs a delay control command up1 for delaying the phase of the clock CKin.
  • the delay control command up1 is input to the variable delay unit 130 via the output unit 245.
  • the determination unit 242 fixes the FFs 113A to 113D and 123A to 123D to fix the data.
  • the pattern generator 243 is provided on the core 110 side.
  • the pattern generator 243 generates test data td1 based on the clock CCK input from the buffer 112B.
  • Test data td1 generated by the pattern generation unit 243 is input to the determination unit 242.
  • the determination unit 244 is provided on the bus 120 side.
  • the determination unit 244 determines the phase difference between the clock CCK input from the buffer 112B and the test data td0 input from the pattern generation unit 241, and performs attention processing and freeze processing.
  • the determination unit 244 reaches the attention hold time (hold warning) in which the phase of the test data td0 is delayed with respect to the phase of the clock CCK, and the phase difference is smaller than the worst case hold time (hold worst) by a predetermined phase difference. Then, the delay control command dwn0 for advancing the phase of the clock CKin by the variable delay unit 130 is output.
  • the delay control for advancing the phase of the clock CKin by the variable delay unit 130 is a caution process when the phase of the clock CCK is delayed.
  • the delay control command dwn0 is input to the variable delay unit 130 via the output unit 245.
  • the determination unit 244 fixes the FFs 113A to 113D and 123A to 123D to fix the data.
  • the process of outputting the freeze signal frz0 for fixing the FFs 113A to 113D and 123A to 123D to freeze the data transfer is performed by the clock CCK. This is a freezing process when the phase is delayed.
  • the phase of the test data td0 with respect to the phase of the clock CCK is advanced, and the phase difference is larger than the worst case setup time (setup worst) by a predetermined phase difference (setup warning). Is reached, the variable delay unit 130 outputs a delay control command up0 for delaying the phase of the clock CKin.
  • phase difference reaches the setup time for warning (setup warning), which is larger than the worst-case setup time (setup worst) by a predetermined phase difference
  • delay control for delaying the phase of the clock CKin by the variable delay unit 130 The process of outputting the command up0 is a caution process when the phase of the clock CCK is advanced.
  • the delay control command up0 is input to the variable delay unit 130 via the output unit 245.
  • the determination unit 244 fixes the FFs 113A to 113D and 123A to 123D to fix the data.
  • the freeze signal frz0 for fixing the FFs 113A to 113D and 123A to 123D and freezing the data transfer is outputted by the phase of the clock CCK. This is a freezing process in the case of progressing.
  • the pattern generator 241 is provided on the core 110 side.
  • the pattern generator 241 generates test data td0 based on the clock CCK input from the buffer 112B.
  • Test data td0 generated by the pattern generation unit 241 is input to the determination unit 244.
  • the output unit 245 is realized by three OR (logical sum) circuits.
  • the output unit 245 is a single OR circuit, and outputs a delay control command up representing the logical sum of the delay control command up1 input from the determination unit 242 and the delay control command up0 input from the determination unit 244.
  • the output unit 245 is a second OR circuit, and outputs a delay control command dwn representing a logical sum of the delay control command dwn1 input from the determination unit 242 and the delay control command dwn0 input from the determination unit 244.
  • the output unit 245 is a third OR circuit, and outputs a freeze signal frz representing the logical sum of the freeze signal frz1 input from the determination unit 242 and the freeze signal frz0 input from the determination unit 244.
  • the delay control commands up and dwn output from the output unit 245 are input to the variable delay unit 130, and the freeze signal frz is input to the freeze signal input terminals of the gate lock buffers 212A, 212B, 222A, and 222B.
  • the synchronization determination unit 240 is described as being disposed across the core 110 and the bus 120, the pattern generation unit 241 and the determination unit 242 of the synchronization determination unit 240 are included in the bus 120. It can be handled as a thing. Similarly, the pattern generation unit 243 and the determination unit 244 in the synchronization determination unit 240 can be handled as being included in the core 110.
  • FIG. 15 is a diagram illustrating the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit 100 according to the first embodiment.
  • the pattern generation unit 241 is the same as the pattern generation unit 141 of the first embodiment, and includes an FF 141A and an inverter 141B.
  • the pattern generation unit 241 Since the pattern generation unit 241 alternately outputs “1” and “0” every time the clock BCK is input, the test data td0 generated by the pattern generation unit 241 alternates between “1” and “0”. It will be repeated data.
  • the determination unit 244 includes delay units 271A, 271B, FFs 272A, 272B, EOR circuits 273A, 273B, And OR circuits 274A, 274B, 274C.
  • the connection relationship of the delay units 171A, 171B, FFs 172A, 172B, 172C, and EOR (exclusive OR) circuits 173A, 173B is the same as that of each component of the determination unit 144 of the first embodiment.
  • the delay unit 171C is different from the delay unit 171C of the determination unit 144 of Embodiment 1 in that the delay unit 171C is connected to the data output terminal Q of the FF 141 via the delay unit 271B.
  • the delay time of the delay unit 171C is the same as the delay time given to the test data td0 in order to realize the worst case time (hold worst) of the hold time of the FFs 113C and 113D of the core 110 together with the delay time of the delay unit 271B. It is set to be.
  • the FF 172A is different from the FF 172A of the first embodiment in that the data output terminal Q is connected to one input terminal of the EOR circuit 173A and the other input terminal of the EOR circuit 273A.
  • the FF 172C is different from the FF 172C of the first embodiment in that the data output terminal Q is connected to the other input terminal of the EOR circuit 173C and one input terminal of the EOR circuit 273B.
  • the EOR circuit 173A is different from the EOR circuit 173A of Embodiment 1 in that an output terminal is connected to the other input terminal of the OR circuit 274A and one input terminal of the OR circuit 274B.
  • the EOR circuit 173B is different from the EOR circuit 173A of Embodiment 1 in that an output terminal is connected to the other input terminal of the OR circuit 274B and one input terminal of the OR circuit 274C.
  • the delay unit 271A has an input terminal connected to the output terminal of the delay unit 171A and an output terminal connected to the data input terminal D of the FF 272A.
  • the delay time in the delay unit 271A is a delay time given to the test data td0 in order to realize a caution setup time (setup warning) having a predetermined phase difference larger than the worst case setup time (setup worst).
  • the delay units 171A and 271A are an example of a first preliminary delay unit.
  • the delay unit 271B has an input terminal connected to the data output terminal Q of the FF 141A of the pattern generation unit 241, and an output terminal connected to the input terminal of the delay unit 171C and the data input terminal D of the FF 272B.
  • the delay unit 271B is an example of a second preliminary delay unit.
  • the delay time in the delay unit 271B is a delay time given to the test data td0 in order to realize a hold time for attention (hold warning).
  • the worst case hold time (hold worst) is set to be actually supplied. Therefore, in the second embodiment, the delay units 171C and 271B are an example of the second delay unit.
  • the ratio between the delay time in the delay unit 271B and the delay time in the delay unit 171C is set to 1: 2, for example. This ratio can be set to an arbitrary ratio in accordance with the circuit characteristics of the synchronous data processing circuit.
  • the data input terminal D is connected to the output terminal of the delay unit 271A
  • the data output terminal Q is connected to one input terminal of the EOR circuit 273A
  • the clock CCK is input to the clock input terminal.
  • the output data of FF272A is represented as sw0.
  • the data input terminal D is connected to the output terminal of the delay unit 271B
  • the data output terminal Q is connected to one input terminal of the EOR circuit 273B
  • the clock CCK is input to the clock input terminal.
  • the output data of FF272B is represented as hw0.
  • the data output terminal Q of the FF 272A is connected to one input terminal, and the data output terminal Q of the FF 172A is connected to the other input terminal.
  • the data output terminal Q of the FF 172C is connected to one input terminal, and the data output terminal Q of the FF 272B is connected to the other input terminal.
  • the OR circuit 274A has one input terminal connected to the output terminal of the EOR circuit 273A and the other input terminal connected to the output terminal of the EOR circuit 173A.
  • the OR circuit 274A outputs the logical sum of the outputs of the EOR circuits 273A and 173A as a delay control command up0.
  • the OR circuit 274B has one input terminal connected to the output terminal of the EOR circuit 173A and the other input terminal connected to the output terminal of the EOR circuit 173B.
  • the OR circuit 274B outputs the logical sum of the outputs of the EOR circuits 173A and 173B as the freeze signal frz0.
  • the OR circuit 274C has one input terminal connected to the output terminal of the EOR circuit 173B and the other input terminal connected to the output terminal of the EOR circuit 273B.
  • the OR circuit 274C outputs the logical sum of the outputs of the EOR circuits 173B and 273B as a delay control command dwn0.
  • circuit configurations of the pattern generation unit 242 and the determination unit 243 of the synchronization determination unit 240 are the same as those of the pattern generation unit 142 and the determination unit 143 of the first embodiment, but are the delay units 271A, 271B, FF272A, 272B, and the EOR circuits 273A, 273B. , And OR circuits 274A, 274B, 274C.
  • the clock BCK is input to the pattern generation unit 242
  • the clock CCK is input to the determination unit 243.
  • the determination unit 243 outputs output data sw1, sd1, nd1, hd1, and hw1 from five FFs corresponding to the FFs 272A, 173A, 173B, 173C, and 272B, respectively.
  • the determination unit 243 outputs a delay control command dwn1, a freeze signal frz1, and a delay control command up1 from the three OR circuits corresponding to the OR circuits 274A, 274B, and 274C, respectively. For this reason, illustration of the circuit configurations of the pattern generation unit 242 and the determination unit 243 is omitted here.
  • FIG. 15 the configuration in which the delay unit 271A is connected to the output terminal of the delay unit 171A has been described. However, instead of the delay unit 271A, a delay unit having a delay time obtained by combining the delay times of the delay units 271A and 171A is used. You may connect between the data input terminal D of FF272A, and the data output terminal Q of FF141A.
  • FIG. 16 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.
  • FIG. 16 shows clocks BCK, CCK, test data td0, output data (setup warning) of the delay unit 271A, output data (setup worst) of the delay unit 171A, output data (nominal) of the delay unit 171B, and the delay unit 171C. Output data (hold worst) and output data (hold warning) of the delay unit 271B are shown.
  • FIG. 16 further shows output data sd0, nd0, hd0 and delay control commands up0, dwn0 of the FFs 172A to 172C.
  • the output data (setup warning) of the delay unit 271A is data obtained by delaying the test data td0 by the delay units 171A and 271A.
  • the output data (setup worst) of the delay unit 171A is data obtained by delaying the test data td0 by the delay unit 171A.
  • the output data (nominal) of the delay unit 171B is data obtained by delaying the test data td0 by the delay unit 171B.
  • the output data (hold worst) of the delay unit 171C is data obtained by delaying the test data td0 by the delay units 271B and 171C.
  • the output data (hold warning) of the delay unit 271B is data obtained by delaying the test data td0 by the delay unit 271B.
  • the delay time given to the test data td0 is indicated by an arrow in FIG.
  • FIG. 16A is a timing chart in a state where data is synchronously transferred from the bus 120 to the core 110.
  • the rising phase of the test data td0 output from the pattern generator 241 is equal to the rising phase of the clock CCK.
  • the rise of the output data (hold warning) of the delay unit 271B is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hw0 of the FF 272B is the time At t1, the L level is equal to the test data td0.
  • the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hd0 of the FF 172C is at time t1.
  • the L level is equal to the test data td0.
  • the output data (nominal) of the delay unit 171B is sufficiently later than the rising edge of the clock CCK at time t1, and the output nd0 of the FF 172B is at the L level equal to the test data td0 at time t1.
  • the rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1.
  • the L level is equal to the test data td0.
  • the rise of the output data (setup warning) of the delay unit 271A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sw0 of the FF 172A is at time t1.
  • the L level is equal to the test data td0.
  • the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generator 241. It is behind the timing.
  • the rise of the output data (hold warning) of the delay unit 271B is before the rise of the clock CCK at time t1 (timing violated), and the output data of the delay unit 271B is already at the rise of time t1 of the clock CCK. (Hold warning) is at the H level. This is a case one step before the hold time is insufficient.
  • the L level of the output data (hold warning) of the delay unit 271B cannot be acquired, and the output hw0 of the FF 272B becomes an H level different from the test data td0 at time t1.
  • the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hd0 of the FF 172C is at time t1.
  • the L level is equal to the test data td0.
  • the rise of the output data (nominal) of the delay unit 171B is sufficiently later than the rise of the clock CCK at time t1, and the output nd0 of the FF 172B is at L level equal to the test data td0 at time t1.
  • the rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1.
  • the L level is equal to the test data td0.
  • the rise of the output data (setup (warning) of the delay unit 271A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sw0 of the FF 272A is at time t1.
  • the L level is equal to the test data td0.
  • an H level delay control command dwn0 is output from the determination unit 244 in order to advance the phase of the clock CCK.
  • the clock CCK input to the determination unit 244 on the core 110 side is compared with the clock BCK input to the pattern generation unit 241 on the bus 120 side.
  • the case where it is further delayed than the case shown in FIG. This case corresponds to a case where the clock CCK is delayed due to a further drop in the supply voltage to the core 110 as compared to the case shown in FIG.
  • the rising timing of the clock CCK at the time t1 is the rising timing of the test data td0 output from the pattern generator 241. It is behind the timing.
  • the rise of the output data (hold warning) of the delay unit 271B is before the rise of the clock CCK at time t1 (timing violated), and the output data of the delay unit 271B is already at the rise of time t1 of the clock CCK. (Hold warning) is at the H level.
  • the L level of the output data (hold warning) of the delay unit 271B cannot be acquired, and the output hw0 of the FF 272B becomes an H level different from the test data td0 at time t1.
  • the rise of the output data (hold worst) of the delay unit 171C is before the rise of the clock CCK at time t1 (timing violated), and the output data (hold) of the delay unit 271B has already been reached at the rise of the clock CCK at time t1. warning) is at the H level. This is a case where the hold time is insufficient.
  • the L level of the output data (hold warning) of the delay unit 271B cannot be acquired, and the output hw0 of the FF 272B becomes an H level different from the test data td0 at time t1.
  • the rise of the output data (nominal) of the delay unit 171B is sufficiently later than the rise of the clock CCK at time t1, and the output nd0 of the FF 172B is at L level equal to the test data td0 at time t1.
  • the rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1.
  • the L level is equal to the test data td0.
  • the rise of the output data (setup (warning) of the delay unit 271A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sw0 of the FF 272A is at time t1.
  • the L level is equal to the test data td0.
  • the outputs of the EOR circuits 273A, 173A, 273B all become “0”, and only the output of the EOR circuit 173B becomes “1”, so that the delay control command up0 is at the L level.
  • the freeze signal frz0 and the delay control command dwn0 are at the H level.
  • an H level delay control command dwn0 is output from the determination unit 244 in order to advance the phase of the clock CCK, and at the H level, the FFs 113A to 113D and 123A to 123D are fixed to freeze the data transfer.
  • a freeze signal frz is output.
  • FIG. 17 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.
  • FIG. 17 shows clocks BCK, CCK, test data td0, output data (setup warning) of delay unit 271A, output data (setup worst) of delay unit 171A, output data (nominal) of delay unit 171B, and output of delay unit 171C. Data (hold worst) and output data (hold warning) of the delay unit 271B are shown.
  • FIG. 17 further shows output data sd0, nd0, hd0 and delay control commands up0, dwn0 of the FFs 172A to 172C.
  • FIG. 17A is a timing chart in a state where data is synchronously transferred from the bus 120 to the core 110.
  • the clock CCK input to the determination unit 244 on the core 110 side is slightly advanced with respect to the clock BCK input to the pattern generation unit 241 on the bus 120 side. Will be described. This case corresponds to the case where the clock CCK is advanced by raising from the state where the supply voltage to the core 110 has been lowered by DVFS.
  • the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generator 241. More advanced than timing.
  • the rise of the output data (hold warning) of the delay unit 271B is later than the rise of the clock CCK just before the rise of the clock CCK at time t1 (timing met), and the hold time is secured.
  • the H level of the output data (hold warning) of the delay unit 271B is acquired at the rising edge of the clock CCK at time t1. For this reason, the output hd0 of the FF 272B becomes H level equal to the test data td0 at time t1.
  • the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so that the clock
  • the H level of the output data (hold worst) of the delay unit 171C is acquired at the rising edge of time C1 of CCK. Therefore, the output hd0 of the FF 172C becomes H level equal to the test data td0 at time t1.
  • the rise of the output data (nominal) of the delay unit 171B is sufficiently before the rise of the clock CCK at time t1, and the output nd0 of the FF 172B becomes H level equal to the test data td0 at time t1.
  • the rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t1 (timing met), and the setup time is secured, so the clock CCK rises at time t1. At that time, it is switched to the H level. Therefore, the output sd0 of the FF 172A is held at the H level equal to the test data td0 at time t1.
  • the rising edge of the output data (setup warning) of the delay unit 271A is later than the rising edge of the clock CCK at time t1 (timing violated).
  • the clock CCK rises at time t1, it has not been switched to the H level. However, it remains at the L level. Therefore, the output sw0 of the FF 272A is held at the L level different from the test data td0 at time t1.
  • the outputs of the EOR circuits 173A, 173B, and 273B all become “0”, and only the output of the EOR circuit 273A becomes “1”, so that the delay control command up0 is at the H level.
  • the freeze signal frz0 and the delay control command dwn0 are at the L level.
  • an H-level delay control command up0 is output from the determination unit 244 in order to delay the phase of the clock CCK.
  • the clock CCK input to the determination unit 244 on the core 110 side is compared with the clock BCK input to the pattern generation unit 241 on the bus 120 side.
  • a case where the process is further advanced than the case shown in FIG. This case corresponds to the case where the clock CCK is advanced from the state in which the supply voltage to the core 110 has been lowered by DVFS and further increased from the case shown in FIG.
  • the rising timing of the clock CCK at time t1 is the rising timing of the test data td0 output from the pattern generator 241. More advanced than timing.
  • the rise of the output data (hold warning) of the delay unit 271B is later than the rise of the clock CCK just before the rise of the clock CCK at time t1 (timing met), and the hold time is secured.
  • the H level of the output data (hold warning) of the delay unit 271B is acquired at the rising edge of the clock CCK at time t1. For this reason, the output hd0 of the FF 272B becomes H level equal to the test data td0 at time t1.
  • the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so that the clock
  • the H level of the output data (hold worst) of the delay unit 171C is acquired at the rising edge of time C1 of CCK. Therefore, the output hd0 of the FF 172C becomes H level equal to the test data td0 at time t1.
  • the rise of the output data (nominal) of the delay unit 171B is sufficiently before the rise of the clock CCK at time t1, and the output nd0 of the FF 172B becomes H level equal to the test data td0 at time t1.
  • the rising edge of the output data (setup worst) of the delay unit 171A is later than the rising edge of the clock CCK at time t1 (timing violated), and when the clock CCK rises at time t1, it has not switched to the H level. However, it remains at the L level. This is a case where the setup time constraint is violated. Therefore, the output sd0 of the FF 172A is held at the L level different from the test data td0 at time t1.
  • the rise of the output data (setup warning) of the delay unit 271A is later than the rise of the clock CCK at time t1 (timing violated), and when the clock CCK rises at time t1, it has not switched to the H level. However, it remains at the L level. Therefore, the output sw0 of the FF 272A is held at the L level different from the test data td0 at time t1.
  • an H level delay control command up0 is output from the determination unit 244 in order to delay the phase of the clock CCK, and at the H level, the FFs 113A to 113D and 123A to 123D are fixed to freeze the data transfer.
  • a freeze signal frz0 is output.
  • the determination unit 244 determines that the determination unit 244 has a worst hold time although the clock CCK input to the determination unit 244 is delayed with respect to the clock BCK input to the pattern generation unit 241. If the time has not been reached and the caution hold time has been reached, an H level delay control command dwn0 is output to advance the phase of the clock CCK. In this case, since it is a caution level, data from the bus 120 to the core 110 is synchronously transferred.
  • the determination unit 244 determines that the clock CCK input to the determination unit 244 is delayed with respect to the clock BCK input to the pattern generation unit 241, and the clock CCK is input when the hold time reaches the worst hold time. Output the delay control command dwn at the H level. In this case, the determination unit 244 outputs the H level freeze signal frz0 in order to freeze the data transfer with the FFs 113A to 113D and 123A to 123D fixed.
  • the determination unit 244 uses a clock CCK input to the determination unit 244 that is advanced with respect to the clock BCK input to the pattern generation unit 241, but the setup time has not reached the worst setup time.
  • an H-level delay control command up0 is output to delay the phase of the clock CCK. In this case, since it is a caution level, data from the bus 120 to the core 110 is synchronously transferred.
  • the determination unit 244 advances the clock CCK when the clock CCK input to the determination unit 244 advances with respect to the clock BCK input to the pattern generation unit 241 and the hold time reaches the worst hold time. In order to delay the phase of H, the H level delay control command up0 is output. In this case, the determination unit 244 outputs the H level freeze signal frz0 in order to freeze the data transfer with the FFs 113A to 113D and 123A to 123D fixed.
  • the determination unit 244 obtains the output data (hold (worst) of the delay unit 171C and the output data (setup worst) of the delay unit 171A equally and correctly with the output data (nominal) of the delay unit 171B. Both output L level delay control commands up0 and dwn0.
  • FIG. 18 is a timing chart showing an operation in the case of returning from the state in which the FFs 113A to 113D and 123A to 123D are fixed by the freeze signal frz in the synchronous data processing circuit of the second embodiment.
  • FIG. 18 shows the clock Bus_CKin input to the bus 120, the Core_CKin input to the core 110, and the clocks BCK and CCK. A freeze signal frz, clocks BCK1, CCK1, and transfer data are shown.
  • the freeze signal frz becomes H level at time t1
  • the clock BCK1 and the clock CCK1 are held at L level.
  • the data in the FFs 113A to 113D and 123A to 123D are frozen, and the data transfer state is switched from the state where the synchronous transfer is performed to the state where the data transfer is frozen.
  • the phase of the clock CCK1 is continuously adjusted by the delay control command up or dwn.
  • the freeze signal frz returns to the L level.
  • the freeze signal frz returns to the L level when the phase of the clock CCK1 returns to some extent and the phase difference from the clock BCK1 returns to the caution level. That is, for example, when the state shown in FIG. 16C returns to the state shown in FIG. 16B, or when the state shown in FIG. 17C returns to the state shown in FIG. 17B. Applicable.
  • the clock BCK1 and the clock CCK1 are restored, and the data transfer state is restored from the state where the data transfer is frozen to the state where the synchronous transfer is performed.
  • the synchronous data processing circuit of the second embodiment when the data cannot be transferred synchronously, the data of the FFs 113A to 113D and 123A to 123D are frozen, but the phase of the clock CCK returns to the caution level after freezing. Then, release the data freeze and restore the operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Sources (AREA)

Abstract

The objective of the invention is to provide a synchronization data processing circuit, which achieves a stable circuit operation, and a mobile terminal apparatus. A synchronization data processing circuit comprises: first circuits each of which is driven by a constant voltage on the basis of a clock outputted from a clock generation source; second circuits the drive voltage of each of which is variable and which perform one-way or two-way synchronous-transfers of data to the first circuits or together with the first circuits on the basis of a clock outputted from the clock generation source; a delay adjustment unit which adjusts the delay amount of the clock inputted to the first or second circuits; a test data generation unit which generates test data to be transferred between the first and second circuits; and a determination unit which determines the transferred test data and adjusts the delay amount in the delay adjustment unit on the basis of the determination result indicating whether the test data have been synchronously transferred.

Description

同期データ処理回路、及び、携帯端末機Synchronous data processing circuit and portable terminal

 本発明は、同期データ処理回路、及び、携帯端末機に関する。 The present invention relates to a synchronous data processing circuit and a portable terminal.

 従来より、電源電圧が制御される第1の論理回路部と、外部クロックに応じて動作する第2の論理回路部とを含み、クロックのスキューを補正する回路があった。この回路の調整回路は、外部クロックが供給される第1の遅延回路と、第1の論理回路部から出力される第1のクロックと第2の論理回路部から出力される第2のクロックとのタイミングのずれ量を検出する検出回路とを有する。調整回路は、検出回路の検出結果に応じて第1の遅延回路の遅延時間を調整し、第1の遅延回路の出力信号を第3のクロック信号として第1の論理回路部に供給する。 Conventionally, there has been a circuit that includes a first logic circuit unit whose power supply voltage is controlled and a second logic circuit unit that operates according to an external clock, and corrects clock skew. The adjustment circuit of the circuit includes a first delay circuit to which an external clock is supplied, a first clock output from the first logic circuit unit, and a second clock output from the second logic circuit unit. And a detection circuit for detecting the amount of timing deviation. The adjustment circuit adjusts the delay time of the first delay circuit according to the detection result of the detection circuit, and supplies the output signal of the first delay circuit to the first logic circuit unit as the third clock signal.

特開2006-086455号公報JP 2006-086455 A

 ところで、上述のようなクロックのスキューを補正する回路は、クロックの位相のずれに応じてクロックのスキューを補正するため、データの位相は補償されておらず、データの位相がずれた場合に、回路動作が不安定になる虞がある。 By the way, since the circuit for correcting the clock skew as described above corrects the clock skew according to the clock phase shift, the data phase is not compensated, and the data phase is shifted. The circuit operation may become unstable.

 そこで、安定的な回路動作を実現できる同期データ処理回路、及び、携帯端末機を提供することを目的とする。 Therefore, an object is to provide a synchronous data processing circuit and a portable terminal capable of realizing a stable circuit operation.

 本発明の実施の形態の同期データ処理回路は、クロック発生源から出力されるクロックに基づき、定電圧で駆動される第1回路と、駆動電圧が可変され、前記クロック発生源から出力されるクロックに基づき、前記第1回路との間で双方向又はいずれか一方向にデータを同期転送する第2回路と、前記第1回路又は前記第2回路に入力されるクロックの遅延量を調整する遅延調整部と、前記第1回路及び前記第2回路の間で転送されるテストデータを生成するテストデータ生成部と、前記転送された前記テストデータを判定し、前記テストデータが同期転送されたか否かを表す判定結果に基づき前記遅延調整部における遅延量を調整する判定部とを含む。 A synchronous data processing circuit according to an embodiment of the present invention includes a first circuit driven at a constant voltage based on a clock output from a clock generation source, and a clock output from the clock generation source with a drive voltage varied. And a second circuit for synchronously transferring data to or from the first circuit in either direction or a delay for adjusting a delay amount of a clock input to the first circuit or the second circuit. An adjustment unit, a test data generation unit that generates test data transferred between the first circuit and the second circuit, and the transferred test data are determined, and whether or not the test data is transferred synchronously And a determination unit that adjusts a delay amount in the delay adjustment unit based on a determination result representing the above.

 安定的な回路動作を実現できる同期データ処理回路、及び、携帯端末機を提供することができる。 It is possible to provide a synchronous data processing circuit that can realize stable circuit operation and a portable terminal.

比較例のスマートフォン端末機10を示す斜視図である。It is a perspective view which shows the smart phone terminal 10 of a comparative example. 比較例のスマートフォン端末機10の内部構成を示す図である。It is a figure which shows the internal structure of the smart phone terminal of a comparative example. コアにDVFSを適用しない場合の負荷モード、クロック周波数、及び供給電圧の関係の一例を示す図である。It is a figure which shows an example of the relationship between the load mode at the time of not applying DVFS to a core, a clock frequency, and a supply voltage. コアの動作可能領域と動作不可能領域をクロック周波数及び供給電圧との関係で示す図である。It is a figure which shows the operable area | region and inoperable area | region of a core by the relationship between a clock frequency and supply voltage. コアにDVFSを適用した場合の負荷モード、クロック周波数、及び供給電圧の関係の一例を示す図である。It is a figure which shows an example of the relationship between the load mode at the time of applying DVFS to a core, a clock frequency, and a supply voltage. コア0、コア1、PMU、及びバスの接続関係と、供給電圧を示す図である。It is a figure which shows the connection relation of the core 0, the core 1, PMU, and a bus | bath, and a supply voltage. コアに含まれるコアクロックツリーと、バスに含まれるバスクロックツリーとにおけるデータの伝送時間の関係がコアへの供給電圧の違いによって変化する様子を模式的に示す図である。It is a figure which shows typically a mode that the relationship of the transmission time of the data in the core clock tree contained in a core and the bus clock tree contained in a bus | bath changes with the difference in the supply voltage to a core. 比較例のデータ処理回路90を示す図である。It is a figure which shows the data processing circuit 90 of a comparative example. 図5Aに示す電圧検知部94が、コア0への供給電圧に応じて非同期での転送を行う状態から同期転送を行う状態にデータの転送形式を切り替える動作の一例を示す図である。5A is a diagram illustrating an example of an operation in which the voltage detection unit 94 illustrated in FIG. 5A switches the data transfer format from a state in which asynchronous transfer is performed according to a supply voltage to the core 0 to a state in which synchronous transfer is performed. 実施の形態1の同期データ処理回路において、DVFSによるコアクロックツリーの伝送時間の変化に応じて、可変ディレイ部で遅延時間を調整する様子を模式的に示す図である。In the synchronous data processing circuit of Embodiment 1, it is a figure which shows typically a mode that delay time is adjusted with a variable delay part according to the change of the transmission time of the core clock tree by DVFS. 実施の形態1の同期データ処理回路100を示す図である。1 is a diagram illustrating a synchronous data processing circuit 100 according to a first embodiment. FIG. 実施の形態1の同期データ処理回路100のコア110、バス120、及び同期判定部140の回路構成を示す図である。3 is a diagram illustrating a circuit configuration of a core 110, a bus 120, and a synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment. FIG. 実施の形態1の同期データ処理回路100の可変ディレイ部130を示す図である。3 is a diagram illustrating a variable delay unit 130 of the synchronous data processing circuit 100 according to the first embodiment. FIG. 実施の形態1の同期データ処理回路100の同期判定部140のパターン発生部141及び判定部144を示す図である。3 is a diagram illustrating a pattern generation unit 141 and a determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment. FIG. 実施の形態1の同期データ処理回路100の同期判定部140のパターン発生部141及び判定部144の動作例を示すタイミングチャートである。6 is a timing chart illustrating an operation example of the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment. 実施の形態1の同期データ処理回路100の同期判定部140の判定部142及びパターン発生部143を示す図である。3 is a diagram illustrating a determination unit 142 and a pattern generation unit 143 of the synchronization determination unit 140 of the synchronization data processing circuit 100 according to the first embodiment. FIG. 実施の形態1の同期データ処理回路100の同期判定部140の判定部142及びパターン発生部143の動作例を示すタイミングチャートである。4 is a timing chart illustrating an example of operations of a determination unit 142 and a pattern generation unit 143 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment. 実施の形態2の同期データ処理回路のコア110、バス120、及び同期判定部240の回路構成を示す図である。FIG. 6 is a diagram illustrating a circuit configuration of a core 110, a bus 120, and a synchronization determination unit 240 of a synchronous data processing circuit according to a second embodiment. 実施の形態1の同期データ処理回路100の同期判定部240のパターン発生部241及び判定部244を示す図である。3 is a diagram illustrating a pattern generation unit 241 and a determination unit 244 of a synchronization determination unit 240 of the synchronous data processing circuit 100 according to the first embodiment. FIG. 実施の形態2の同期データ処理回路の同期判定部240のパターン発生部241及び判定部244の動作例を示すタイミングチャートである。10 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment. 実施の形態2の同期データ処理回路の同期判定部240のパターン発生部241及び判定部244の動作例を示すタイミングチャートである。10 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment. 実施の形態2の同期データ処理回路において、フリーズ信号frzによってFF113A~113D及び123A~123Dが固定された状態から、復帰する場合の動作を示すタイミングチャートである。11 is a timing chart showing an operation when returning from a state in which the FFs 113A to 113D and 123A to 123D are fixed by the freeze signal frz in the synchronous data processing circuit of the second embodiment.

 以下、本発明の同期データ処理回路、及び、携帯端末機を適用した実施の形態について説明する。 Hereinafter, embodiments in which the synchronous data processing circuit and the mobile terminal of the present invention are applied will be described.

 まず、実施の形態の同期データ処理回路について説明する前に、携帯端末機と、比較例の同期データ処理回路及びその課題について説明する。 First, before describing the synchronous data processing circuit of the embodiment, a portable terminal, a synchronous data processing circuit of a comparative example, and problems thereof will be described.

 <比較例>
 図1は、比較例のスマートフォン端末機10を示す斜視図である。
<Comparative example>
FIG. 1 is a perspective view showing a smartphone terminal 10 of a comparative example.

 実施の形態1のコネクタ装置を含むスマートフォン端末機10は、正面側に配設されるタッチパネル11、操作ボタン12、通話用のスピーカ13、通話用のマイク14、及びデジタルカメラ15を含む。スマートフォン端末機10は、携帯端末機の一例である。 The smart phone terminal 10 including the connector device according to the first embodiment includes a touch panel 11, operation buttons 12, a call speaker 13, a call microphone 14, and a digital camera 15 disposed on the front side. The smartphone terminal 10 is an example of a mobile terminal.

 なお、スマートフォン端末機10は、近接通信装置(赤外線通信装置、電子マネー用の通信装置等)等の付属装置を含んでもよい。 The smartphone terminal 10 may include an accessory device such as a proximity communication device (infrared communication device, electronic money communication device, etc.).

 なお、図1には、携帯端末機の一例としてスマートフォン端末機10を示すが、端末機は、スマートフォン端末機10に限定されず、例えば、携帯電話端末機、又は、ゲーム機等であってもよい。 In addition, although the smart phone terminal 10 is shown in FIG. 1 as an example of a portable terminal, a terminal is not limited to the smart phone terminal 10, For example, even if it is a mobile telephone terminal or a game machine etc. Good.

 図2は、比較例のスマートフォン端末機10の内部構成を示す図である。 FIG. 2 is a diagram illustrating an internal configuration of the smartphone terminal 10 of the comparative example.

 スマートフォン端末機10は、アプリケーション処理部20、モデム部30、ユーザインターフェイス41、システムコントローラ42、LCD(Liquid Crystal Display:液晶表示装置)43、及びバッテリ44を含む。 The smart phone terminal 10 includes an application processing unit 20, a modem unit 30, a user interface 41, a system controller 42, an LCD (Liquid Crystal Display) 43, and a battery 44.

 アプリケーション処理部20は、メモリ21、可変電圧供給部22、及びアプリケーションプロセッサ50を含む。アプリケーション処理部20は、スマートフォン端末機10の通信以外の処理を行う処理部であり、例えば、オーディオ、ビデオ、画像、写真等のデータの符号/複合処理等を行う。 The application processing unit 20 includes a memory 21, a variable voltage supply unit 22, and an application processor 50. The application processing unit 20 is a processing unit that performs processing other than communication of the smartphone terminal 10, and performs, for example, encoding / combining processing of data such as audio, video, images, and photos.

 メモリ21は、例えば、シンクロナスDRAM(Synchronous Dynamic Random Access Memory)を用いることができる。メモリ21には、例えば、様々なアプリケーションのプログラムが格納されている。 As the memory 21, for example, a synchronous DRAM (Synchronous Dynamic Random Access Memory) can be used. For example, various application programs are stored in the memory 21.

 可変電圧供給部22は、例えば、出力電圧を可変制御することのできるコンバータである。可変電圧供給部22は、バッテリ44から供給される電力をアプリケーションプロセッサ50のコア0及びコア1に供給する際に、アプリケーションプロセッサ50のPMU(Power Management Unit:パワーマネジメントユニット)から入力される電圧指令に基づき、出力電圧を可変制御する。 The variable voltage supply unit 22 is, for example, a converter that can variably control the output voltage. When the variable voltage supply unit 22 supplies the power supplied from the battery 44 to the core 0 and the core 1 of the application processor 50, the voltage command input from the PMU (Power Management Unit) of the application processor 50 Based on this, the output voltage is variably controlled.

 アプリケーションプロセッサ50は、コア0、コア1、及びPMUを含む。アプリケーションプロセッサ50は、デュアルコアプロセッサの一例である。コア0及びコア1は、互いに独立に演算処理を行うことのできるプロセッサコアであり、ここでは同一の処理能力を有するものとして取り扱う。なお、図2では、アプリケーションプロセッサ50内においてコア0、コア1、及びPMUの間を接続するバスの図示を省略する。 Application processor 50 includes core 0, core 1, and PMU. The application processor 50 is an example of a dual core processor. The core 0 and the core 1 are processor cores that can perform arithmetic processing independently of each other, and are treated as having the same processing capability here. In FIG. 2, the bus connecting the core 0, the core 1, and the PMU in the application processor 50 is not shown.

 コア0及びコア1は、DVFS(Dynamic Voltage and Frequency Scaling)により、可変電圧供給部22から入力される駆動電圧が可変され、消費電力の低減が図られている。 The core 0 and the core 1 have a drive voltage input from the variable voltage supply unit 22 varied by DVFS (Dynamic Voltage and Frequency Frequency Scaling), thereby reducing power consumption.

 PMUは、コア0及びコア1の動作状況に応じて、コア0及びコア1の入力電圧を制御するための電圧指令を可変電圧供給部22に入力する。 The PMU inputs a voltage command for controlling the input voltage of the core 0 and the core 1 to the variable voltage supply unit 22 in accordance with the operation status of the core 0 and the core 1.

 モデム部30は、スマートフォン端末機10の通信に関する処理を行う処理部である。モデム部30は、ベースバンドモジュール60及びRFモジュール80を含む。 The modem unit 30 is a processing unit that performs processing related to communication of the smartphone terminal 10. The modem unit 30 includes a baseband module 60 and an RF module 80.

 ベースバンドモジュール60は、メモリ61、可変電圧供給部62、及びAFE(Analog Front End)63を含む。ベースバンドモジュール60には、SIM(Subscriber Identity Module)カード82が差し込まれる。SIMカード82は、例えば、電話番号等のスマートフォン端末機10の契約者の固有の情報を表すデータが書き込まれている。 The baseband module 60 includes a memory 61, a variable voltage supply unit 62, and an AFE (Analog Front End) 63. A SIM (Subscriber Identity Module) card 82 is inserted into the baseband module 60. In the SIM card 82, for example, data representing information unique to the contractor of the smartphone terminal 10 such as a telephone number is written.

 メモリ61は、例えば、シンクロナスDRAM(Synchronous Dynamic Random Access Memory)を用いることができる。メモリ61には、例えば、通信処理を実行するためのプログラム、及び、通信の暗号化及び複合化に必要なプログラム等が格納されている。 As the memory 61, for example, a synchronous DRAM (Synchronous Dynamic Random Access Memory) can be used. For example, the memory 61 stores a program for executing communication processing, a program necessary for encryption and decryption of communication, and the like.

 可変電圧供給部62は、例えば、出力電圧を可変制御することのできるコンバータである。可変電圧供給部62は、バッテリ44から供給される電力をベースバンドプロセッサ70のコア0及びコア1に供給する際に、ベースバンドプロセッサ70のPMU(Power Management Unit:パワーマネジメントユニット)から入力される電圧指令に基づき、出力電圧を可変制御する。 The variable voltage supply unit 62 is, for example, a converter that can variably control the output voltage. The variable voltage supply unit 62 is input from a PMU (Power Management Unit) of the baseband processor 70 when supplying power supplied from the battery 44 to the core 0 and the core 1 of the baseband processor 70. Based on the voltage command, the output voltage is variably controlled.

 AFE63は、ベースバンドプロセッサ70とRFモジュール80との間で、通信データのデジタル変換及びアナログ変換を行う。AFE63は、ベースバンドプロセッサ70から入力されるデジタルの通信データをアナログ変換してRFモジュール80の送信部TXに入力する。また、AFE63は、RFモジュール80の受信部RXから入力されるアナログの通信データをデジタル変換してベースバンドプロセッサ70に入力する。 The AFE 63 performs digital conversion and analog conversion of communication data between the baseband processor 70 and the RF module 80. The AFE 63 analog-converts digital communication data input from the baseband processor 70 and inputs the analog communication data to the transmission unit TX of the RF module 80. The AFE 63 digitally converts analog communication data input from the receiving unit RX of the RF module 80 and inputs the analog communication data to the baseband processor 70.

 ベースバンドプロセッサ70は、コア0、コア1、及びPMUを含む。ベースバンドプロセッサ70は、デュアルコアプロセッサの一例である。コア0及びコア1は、互いに独立に演算処理を行うことのできるプロセッサコアであり、ここでは同一の処理能力を有するものとして取り扱う。なお、図2では、ベースバンドプロセッサ70内においてコア0、コア1、及びPMUの間を接続するバスの図示を省略する。 The baseband processor 70 includes a core 0, a core 1, and a PMU. The baseband processor 70 is an example of a dual core processor. The core 0 and the core 1 are processor cores that can perform arithmetic processing independently of each other, and are treated as having the same processing capability here. In FIG. 2, the bus connecting the core 0, the core 1, and the PMU in the baseband processor 70 is not shown.

 コア0及びコア1は、DVFS(Dynamic Voltage and Frequency Scaling)により、可変電圧供給部62から入力される駆動電圧が可変され、消費電力の低減が図られている。 The core 0 and the core 1 have a driving voltage input from the variable voltage supply unit 62 varied by DVFS (Dynamic Voltage and Frequency Frequency Scaling), thereby reducing power consumption.

 PMUは、コア0及びコア1の動作状況に応じて、コア0及びコア1の入力電圧を制御するための電圧指令を可変電圧供給部62に入力する。 The PMU inputs a voltage command for controlling the input voltage of the core 0 and the core 1 to the variable voltage supply unit 62 according to the operation status of the core 0 and the core 1.

 RFモジュール80は、送信部TX、受信部RX、及びパワーアンプPAを含む。RFモジュール80には、アンテナ81が接続されている。送信部TXは、AFE63から入力されるアナログの通信データ(送信データ)をパワーアンプPAに入力する回路である。 The RF module 80 includes a transmission unit TX, a reception unit RX, and a power amplifier PA. An antenna 81 is connected to the RF module 80. The transmission unit TX is a circuit that inputs analog communication data (transmission data) input from the AFE 63 to the power amplifier PA.

 受信部RXは、アンテナ81で受信されたアナログの通信データ(受信データ)をAFE63に入力する回路である。パワーアンプPAは、送信部TXから入力されるアナログの通信データ(送信データ)を増幅してアンテナ81に出力する増幅器である。 The receiving unit RX is a circuit that inputs analog communication data (received data) received by the antenna 81 to the AFE 63. The power amplifier PA is an amplifier that amplifies analog communication data (transmission data) input from the transmission unit TX and outputs the amplified data to the antenna 81.

 アンテナ81は、モデム部30の通信データを送受信するアンテナであり、例えば、モノポールアンテナを用いることができる。アンテナ81の長さは、例えば、使用周波数の波長λの1/4(λ/4)に設定すればよい。 The antenna 81 is an antenna that transmits and receives communication data of the modem unit 30, and for example, a monopole antenna can be used. For example, the length of the antenna 81 may be set to ¼ (λ / 4) of the wavelength λ of the operating frequency.

 ユーザインターフェイス41は、スマートフォン端末機10のタッチパネル11(図1参照)の入力部、操作ボタン12(図1参照)、S/Dカードのポート、及びデジタルカメラの入出力端子などが接続される入出力部である。タッチパネル、S/Dカードのポート、及びデジタルカメラ等は、ユーザインターフェイス41を介して、アプリケーション処理部20及びシステムコントローラ42に接続される。 The user interface 41 is connected to an input unit of the touch panel 11 (see FIG. 1) of the smartphone terminal 10, an operation button 12 (see FIG. 1), an S / D card port, and an input / output terminal of a digital camera. It is an output unit. The touch panel, the S / D card port, the digital camera, and the like are connected to the application processing unit 20 and the system controller 42 via the user interface 41.

 なお、スマートフォン端末機10がタッチパネル11の代わりに、又は、タッチパネル11に加えて、キーボードを含む場合には、キーボードはユーザインターフェイス41に接続される。 If the smartphone terminal 10 includes a keyboard instead of the touch panel 11 or in addition to the touch panel 11, the keyboard is connected to the user interface 41.

 システムコントローラ42は、バッテリ44から供給される電力によって駆動され、スマートフォン端末機10のシステム全体の制御を行う。 The system controller 42 is driven by power supplied from the battery 44 and controls the entire system of the smartphone terminal 10.

 LCD43は、スマートフォン端末機10のタッチパネル11(図1参照)に含まれる液晶表示部である。LCD43は、システムコントローラ42及びアプリケーション処理部20によって駆動される。 The LCD 43 is a liquid crystal display unit included in the touch panel 11 (see FIG. 1) of the smartphone terminal 10. The LCD 43 is driven by the system controller 42 and the application processing unit 20.

 バッテリ44は、スマートフォン端末機10の電源であり、例えば、リチウムイオンバッテリを用いることができる。 The battery 44 is a power source of the smartphone terminal 10, and for example, a lithium ion battery can be used.

 次に、図3A~3Cを用いて、アプリケーションプロセッサ50及びベースバンドプロセッサ70に含まれるコア0及びコア1のDVFSについて説明する。ここでは、コア0及びコア1を特に区別しない場合は、単にコアと記す。 Next, the DVFS of the core 0 and the core 1 included in the application processor 50 and the baseband processor 70 will be described with reference to FIGS. 3A to 3C. Here, when the core 0 and the core 1 are not particularly distinguished, they are simply referred to as a core.

 図3Aは、コアにDVFSを適用しない場合の負荷モード、クロック周波数、及び供給電圧の関係の一例を示す図である。図3Bは、コアの動作可能領域と動作不可能領域をクロック周波数及び供給電圧との関係で示す図である。図3Cは、コアにDVFSを適用した場合の負荷モード、クロック周波数、及び供給電圧の関係の一例を示す図である。 FIG. 3A is a diagram illustrating an example of a relationship between a load mode, a clock frequency, and a supply voltage when DVFS is not applied to the core. FIG. 3B is a diagram illustrating a core operable region and an inoperable region in relation to a clock frequency and a supply voltage. FIG. 3C is a diagram illustrating an example of a relationship among a load mode, a clock frequency, and a supply voltage when DVFS is applied to the core.

 ここで、コアにDVFSを適用しない場合とは、図2において可変電圧供給部22及び62を介さずに、コア0及びコア1に一定電圧の電力を供給することをいう。また、コアにDVFSを適用する場合とは、図2において可変電圧供給部22及び62を介してコア0及びコア1に供給する電力の電圧を可変にすることをいう。 Here, the case where DVFS is not applied to the core means that power of a constant voltage is supplied to the core 0 and the core 1 without using the variable voltage supply units 22 and 62 in FIG. The case where DVFS is applied to the core means that the voltage of power supplied to the core 0 and the core 1 via the variable voltage supply units 22 and 62 in FIG. 2 is made variable.

 また、負荷モード3とは400MHzのクロック周波数でコアを駆動する場合であり、負荷モード2とは200MHzのクロック周波数でコアを駆動する場合である。負荷モード1とは100MHzのクロック周波数でコアを駆動する場合であり、負荷モード0とはクロック周波数が0MHzであり、コアを駆動しない場合に相当する。 Also, the load mode 3 is a case where the core is driven at a clock frequency of 400 MHz, and the load mode 2 is a case where the core is driven at a clock frequency of 200 MHz. The load mode 1 is a case where the core is driven at a clock frequency of 100 MHz, and the load mode 0 is a case where the clock frequency is 0 MHz and the core is not driven.

 図3Aに示すように、DVFSを適用しない場合は、負荷モード3(400MHz)、負荷モード2(200MHz)、負荷モード1(100MHz)、及び、負荷モード0(0MHz)の全ての場合において、コア0及びコア1への供給電圧は1.2Vで一定である。 As shown in FIG. 3A, when DVFS is not applied, in all cases of load mode 3 (400 MHz), load mode 2 (200 MHz), load mode 1 (100 MHz), and load mode 0 (0 MHz) The supply voltage to 0 and core 1 is constant at 1.2V.

 コアは、クロック周波数に応じた供給電圧で駆動することができるため、DVFSを適用することによって動作点での供給電圧を低減できれば、負荷に応じて省電力化を図ることができる。 Since the core can be driven with a supply voltage corresponding to the clock frequency, if the supply voltage at the operating point can be reduced by applying DVFS, power saving can be achieved according to the load.

 ここで、コアの動作可能領域は、図3Bに破線で囲んで示す領域であり、DVFSを適用しない場合のモード0~3による動作点は、黒丸で示す通りである。なお、動作可能領域よりも供給電圧が低い領域は、コアが動作を行うことのできない動作不可能領域である。 Here, the operable region of the core is a region surrounded by a broken line in FIG. 3B, and the operating points in modes 0 to 3 when DVFS is not applied are as indicated by black circles. The region where the supply voltage is lower than the operable region is an inoperable region where the core cannot operate.

 図3Bに示すように、モード3(400MHz)の場合は供給電圧を1.2Vよりも下げる余裕は殆どないが、モード2(200MHz)の場合は、供給電圧を約1.0V程度まで下げても、白丸で示すように動作点は動作可能領域に入る。 As shown in FIG. 3B, in mode 3 (400 MHz), there is almost no margin for lowering the supply voltage below 1.2V, but in mode 2 (200 MHz), the supply voltage is reduced to about 1.0V. However, as indicated by white circles, the operating point enters the operable region.

 また、モード1(100MHz)の場合は、供給電圧を約0.8V程度まで下げても、白丸で示すように動作点は動作可能領域に入る。 In the case of mode 1 (100 MHz), even if the supply voltage is lowered to about 0.8 V, the operating point enters the operable region as indicated by white circles.

 また、モード0(0MHz)の場合は、コアを動作させないため、動作可能領域に関係なく、白丸で示すように供給電圧を0Vにすることができる。 In mode 0 (0 MHz), since the core is not operated, the supply voltage can be set to 0 V as indicated by a white circle regardless of the operable region.

 従って、DVFSを適用する場合は、図3Cに示すように、負荷モード2、負荷モード1、及び、負荷モード0の場合におけるコアへの供給電圧は、それぞれ、1.0V、0.8V、及び0Vまで下げることができる。 Therefore, when DVFS is applied, as shown in FIG. 3C, the supply voltages to the core in the load mode 2, the load mode 1, and the load mode 0 are 1.0 V, 0.8 V, and It can be lowered to 0V.

 コアの負荷が軽いときには、クロック周波数を低くして処理速度を遅くしても問題がないため、DVFSを適用してコアの負荷に応じて供給電圧を低下させることにより、コアの消費電力を低減することができる。 When the core load is light, there is no problem even if the processing speed is lowered by lowering the clock frequency. Therefore, the power consumption of the core is reduced by applying DVFS to lower the supply voltage according to the core load. can do.

 ところで、スマートフォン端末機10(図1及び図2参照)のような携帯端末機では、コアのように供給電圧を可変にできる回路と、供給電圧を可変にはできず、一定電圧で駆動する必要のある回路がある。このように一定電圧で駆動する必要のある回路としては、例えば、コアに接続されるバス、PMU、又は、メモリ等がある。 By the way, in a mobile terminal such as the smartphone terminal 10 (see FIGS. 1 and 2), a circuit that can vary the supply voltage, such as a core, and a supply voltage that cannot be varied, must be driven at a constant voltage. There is a circuit with. Examples of the circuit that needs to be driven at a constant voltage include a bus connected to the core, a PMU, or a memory.

 ここで、コアの動作周波数を変更して供給電圧を変更すると、コアからデータが出力される位相が変化し、一定電圧で駆動される回路との間で、同期を取れなくなる場合が生じうる。 Here, if the supply voltage is changed by changing the operating frequency of the core, the phase in which data is output from the core changes, and there may be a case where synchronization cannot be achieved with a circuit driven at a constant voltage.

 図4Aは、コア0、コア1、PMU、及びバスの接続関係と、供給電圧を示す図である。図4Bは、コアに含まれるコアクロックツリーと、バスに含まれるバスクロックツリーとにおけるデータの伝送時間の関係がコアへの供給電圧の違いによって変化する様子を模式的に示す図である。 FIG. 4A is a diagram showing the connection relationship between the core 0, the core 1, the PMU, and the bus, and the supply voltage. FIG. 4B is a diagram schematically illustrating a state in which the relationship between the data transmission times of the core clock tree included in the core and the bus clock tree included in the bus varies depending on the difference in supply voltage to the core.

 図4Aに示すように、コア0、コア1、及びPMUは、バスに接続されており、バスを介してデータの転送を行う。 As shown in FIG. 4A, the core 0, the core 1, and the PMU are connected to the bus and transfer data via the bus.

 ここではコア0及びコア1にDVFSを適用するため、コア0及びコア1への供給電圧は可変であり、0.8V~1.2Vである。また、PMUとバスへの供給電圧は、1.2Vで一定である。 Here, since DVFS is applied to the core 0 and the core 1, the supply voltage to the core 0 and the core 1 is variable and is 0.8V to 1.2V. The supply voltage to the PMU and the bus is constant at 1.2V.

 図4Aに示すコア0、コア1、PMU、及びバスは、図2に示すアプリケーションプロセッサ50及びベースバンドプロセッサ70に含まれるコア0、コア1、PMUに、実際には存在するバスを追加したものである。 The core 0, core 1, PMU, and bus shown in FIG. 4A are obtained by adding a bus that actually exists to the core 0, core 1, and PMU included in the application processor 50 and the baseband processor 70 shown in FIG. It is.

 なお、このようなコア0、コア1、PMU、及びバスは、LSI(Large Scale Integrated circuit:大規模集積回路)として、ワンチップで実現できる。 It should be noted that such core 0, core 1, PMU, and bus can be realized on a single chip as an LSI (Large Scale Integrated circuit).

 ここで、コア0及びコア1とバスとの間で、データを同期転送する。コア0とコア1は、バスとの間で同様に同期転送を行うため、ここではコア0及びバスにおけるデータの伝送時間について説明する。 Here, data is synchronously transferred between the core 0 and core 1 and the bus. Since the core 0 and the core 1 perform synchronous transfer between the buses in the same manner, the data transmission time in the core 0 and the bus will be described here.

 図4Bに示すように、コア0及びバスは、それぞれ、同期転送による出力データの位相を揃えるためのコアクロックツリー(core clock tree)及びバスクロックツリー(bus clock tree)を含む。 As shown in FIG. 4B, the core 0 and the bus include a core clock tree and a bus clock tree for aligning the phases of output data by synchronous transfer, respectively.

 コアクロックツリー及びバスクロックツリーは、それぞれ、入力端子と出力端子が交互に接続されるように直列に接続された複数のバッファと、直列接続されたバッファの最終段に接続されるFF(Flip Flop)とを含む。 Each of the core clock tree and the bus clock tree includes a plurality of buffers connected in series so that input terminals and output terminals are alternately connected, and an FF (Flip Flop) connected to the last stage of the serially connected buffers. ).

 コアクロックツリーとバスクロックツリーには、例えばPLL(Phase Locked Loop:位相同期回路)から同一のクロックが入力される。 The same clock is input to the core clock tree and the bus clock tree, for example, from a PLL (Phase Locked Loop).

 図4Bの上側の図に示すように、コアクロックツリーとバスクロックツリーは、コア0への供給電圧がバスへの供給電圧と同一の1.2Vである場合に、最終段にあるFF同士が同時にデータを転送できるように、伝搬時間が揃えられているものとする。このため、図4Bの上側の図では、コアクロックツリーとバスクロックツリーの長さを揃えて示す。 As shown in the upper diagram of FIG. 4B, the core clock tree and the bus clock tree have the same relationship between the FFs in the final stage when the supply voltage to the core 0 is 1.2 V, which is the same as the supply voltage to the bus. It is assumed that the propagation times are aligned so that data can be transferred simultaneously. For this reason, in the upper diagram of FIG. 4B, the lengths of the core clock tree and the bus clock tree are shown aligned.

 この場合に、コア0にDVFSを適用して、供給電圧を0.8Vに低下させると、コアクロックツリーでの伝搬時間が長くなるため、図4Bの下側の図に示すように、コアクロックツリーの方がバスクロックツリーよりも伝搬時間が長くなってしまう。 In this case, if DVFS is applied to the core 0 and the supply voltage is lowered to 0.8 V, the propagation time in the core clock tree becomes longer. Therefore, as shown in the lower diagram of FIG. The propagation time of the tree is longer than that of the bus clock tree.

 このため、コアクロックツリーの最終段のFFからデータが転送されるタイミングと、バスクロックツリーの最終段のFFからデータが転送されるタイミングとが合わなくなってしまい、データを同期転送できなくなるという問題が生じる。 For this reason, the timing at which data is transferred from the final stage FF of the core clock tree and the timing at which data is transferred from the final stage FF of the bus clock tree are not matched, and data cannot be transferred synchronously. Occurs.

 このような問題を解決するために、バスに非同期ブリッジを設け、コア0への供給電圧を低下させる際には、同期転送を行わずに、非同期ブリッジを介してデータを転送する手法がある。 In order to solve such a problem, there is a method in which an asynchronous bridge is provided on the bus and data is transferred via the asynchronous bridge without performing the synchronous transfer when the supply voltage to the core 0 is lowered.

 図5Aは、比較例のデータ処理回路90を示す図である。 FIG. 5A is a diagram showing a data processing circuit 90 of a comparative example.

 比較例のデータ処理回路90は、コアクロックツリー91、データ送信部92、データ受信部93、電圧検知部94、バスクロックツリー95、データ送信部96、データ受信部97、及び非同期ブリッジ98を含む。 The data processing circuit 90 of the comparative example includes a core clock tree 91, a data transmission unit 92, a data reception unit 93, a voltage detection unit 94, a bus clock tree 95, a data transmission unit 96, a data reception unit 97, and an asynchronous bridge 98. .

 これらの構成要素のうち、コアクロックツリー91、データ送信部92、及びデータ受信部93は、コア0に含まれる。また、バスクロックツリー95、データ送信部96、データ受信部97、及び非同期ブリッジ98は、バスに含まれる。 Among these components, the core clock tree 91, the data transmission unit 92, and the data reception unit 93 are included in the core 0. The bus clock tree 95, the data transmission unit 96, the data reception unit 97, and the asynchronous bridge 98 are included in the bus.

 図5Aに示すデータ送信部92、96、及び、データ受信部93、97は、図4Aに示すコアクロックツリーとバスクロックツリーのFFに相当する。データ送信部92及びデータ受信部93には、コアクロックツリー91からクロックが入力され、データ送信部96及びデータ受信部97には、バスクロックツリー95からクロックが入力される。 The data transmission units 92 and 96 and the data reception units 93 and 97 shown in FIG. 5A correspond to the FFs of the core clock tree and the bus clock tree shown in FIG. 4A. A clock is input from the core clock tree 91 to the data transmission unit 92 and the data reception unit 93, and a clock is input from the bus clock tree 95 to the data transmission unit 96 and the data reception unit 97.

 コア0には、電圧検知部94が接続されている。電圧検知部94は、可変電圧供給部(22又は62(図2参照))からコア0への供給電圧を検知し、同期転送指令又は非同期転送指令をバス内の非同期ブリッジ98に入力する。 The voltage detector 94 is connected to the core 0. The voltage detection unit 94 detects a supply voltage from the variable voltage supply unit (22 or 62 (see FIG. 2)) to the core 0, and inputs a synchronous transfer command or an asynchronous transfer command to the asynchronous bridge 98 in the bus.

 図5Bは、図5Aに示す電圧検知部94が、コア0への供給電圧に応じて非同期での転送を行う状態から同期転送を行う状態にデータの転送形式を切り替える動作の一例を示す図である。なお、図5Bにおける縦軸はコア0への供給電圧であり、横軸は時間である。 FIG. 5B is a diagram illustrating an example of an operation in which the voltage detection unit 94 illustrated in FIG. 5A switches the data transfer format from a state in which asynchronous transfer is performed to a state in which synchronous transfer is performed in accordance with a supply voltage to the core 0. is there. In addition, the vertical axis | shaft in FIG. 5B is a supply voltage to the core 0, and a horizontal axis is time.

 図5Bに示すように、時刻t0からt1までの間は、電圧検知部94が検知するコア0への供給電圧は0.8Vであるため、電圧検知部94は非同期転送指令を出力する。 As shown in FIG. 5B, since the supply voltage to the core 0 detected by the voltage detector 94 is 0.8 V from time t0 to t1, the voltage detector 94 outputs an asynchronous transfer command.

 また、時刻t1からコア0への供給電圧が上昇するが、時刻t2において供給電圧が1.2Vで安定するまでは、電圧検知部94は、非同期転送指令を出力する。これは、電圧が安定するまでは、コア0のコアクロックツリー91の伝送時間が安定せず、同期転送を行うことが困難であるためである。 Further, the supply voltage to the core 0 increases from time t1, but the voltage detection unit 94 outputs an asynchronous transfer command until the supply voltage stabilizes at 1.2 V at time t2. This is because the transmission time of the core clock tree 91 of the core 0 is not stable until the voltage is stabilized, and it is difficult to perform synchronous transfer.

 時刻t2でコア0への供給電圧が安定すると、電圧検知部94は、コア0への供給電圧が安定した正常な電圧であると判定し、同期転送指令を出力する。 When the supply voltage to the core 0 is stabilized at time t2, the voltage detection unit 94 determines that the supply voltage to the core 0 is a stable and normal voltage, and outputs a synchronous transfer command.

 なお、図5Bには、コア0への供給電圧が時間の変化とともに上昇する場合を示すが、供給電圧が1.2Vから0.8に低下する場合は、供給電圧が1.2V未満になった時点で、電圧検知部94は、出力を同期転送指令から非同期転送指令に切り替える。 FIG. 5B shows a case where the supply voltage to the core 0 increases with time, but when the supply voltage decreases from 1.2 V to 0.8, the supply voltage becomes less than 1.2 V. At this point, the voltage detection unit 94 switches the output from the synchronous transfer command to the asynchronous transfer command.

 非同期ブリッジ98は、バスのデータ送信部96の出力側とデータ受信部97の入力側とに挿入されており、電圧検知部94から入力される同期転送指令又は非同期転送指令に応じて、コア0とバスとの間におけるデータの転送形式を切り替える。 The asynchronous bridge 98 is inserted on the output side of the data transmission unit 96 of the bus and on the input side of the data reception unit 97, and in response to a synchronous transfer command or an asynchronous transfer command input from the voltage detection unit 94, The data transfer format between the bus and the bus.

 非同期ブリッジ98は、FIFO(First-In-First-Out)処理部を内蔵している。非同期ブリッジ98は、電圧検知部94から同期転送指令が入力されると、入力データをFIFO処理部を経由させずに、そのままのタイミングで出力する。一方、非同期ブリッジ98は、電圧検知部94から非同期転送指令が入力されると、入力データをFIFO処理部に入力し、FIFO処理は入力順にデータを出力する。 The asynchronous bridge 98 incorporates a FIFO (First-In-First-Out) processing unit. When a synchronous transfer command is input from the voltage detection unit 94, the asynchronous bridge 98 outputs the input data as it is without passing through the FIFO processing unit. On the other hand, when an asynchronous transfer command is input from the voltage detection unit 94, the asynchronous bridge 98 inputs input data to the FIFO processing unit, and the FIFO processing outputs data in the order of input.

 従って、非同期ブリッジ98は、電圧検知部94から同期転送指令が入力されると、バスのデータ送信部96から入力されるデータをそのままのタイミングでコア0のデータ受信部93に転送する。また、非同期ブリッジ98は、コア0のデータ送信部92から入力されるデータをそのままのタイミングでバスのデータ受信部97に出力する。すなわち、電圧検知部94から同期転送指令が非同期ブリッジ98に入力されているときは、コア0とバスとの間では、非同期ブリッジ98内のFIFO処理部を経由せずに、データが同期転送される。 Therefore, when the asynchronous transfer command is input from the voltage detection unit 94, the asynchronous bridge 98 transfers the data input from the bus data transmission unit 96 to the data reception unit 93 of the core 0 at the same timing. The asynchronous bridge 98 outputs the data input from the data transmission unit 92 of the core 0 to the data reception unit 97 of the bus at the same timing. That is, when a synchronous transfer command is input from the voltage detection unit 94 to the asynchronous bridge 98, data is synchronously transferred between the core 0 and the bus without passing through the FIFO processing unit in the asynchronous bridge 98. The

 また、非同期ブリッジ98は、電圧検知部94から非同期転送指令が入力されると、FIFO処理部に入力された順にデータを出力する。 In addition, when an asynchronous transfer command is input from the voltage detection unit 94, the asynchronous bridge 98 outputs data in the order of input to the FIFO processing unit.

 すなわち、非同期ブリッジ98に非同期転送指令が入力されると、バスのデータ送信部96から非同期ブリッジ98内のFIFO処理部に入力されたデータは、入力順にコア0のデータ受信部93に転送される。また、コア0のデータ送信部92から非同期ブリッジ98のFIFO処理部に入力されたデータは、入力順にバスのデータ受信部97に出力される。これにより、バスとコア0との間において、非同期状態でのデータの転送を可能にしている。 That is, when an asynchronous transfer command is input to the asynchronous bridge 98, data input from the bus data transmission unit 96 to the FIFO processing unit in the asynchronous bridge 98 is transferred to the data reception unit 93 of the core 0 in the order of input. . Data input from the data transmission unit 92 of the core 0 to the FIFO processing unit of the asynchronous bridge 98 is output to the data reception unit 97 of the bus in the order of input. This enables data transfer in an asynchronous state between the bus and the core 0.

 以上のように、比較例のデータ処理回路90は、非同期状態でデータを転送する際は、非同期ブリッジ98のFIFO処理部を経由してデータを転送する。非同期ブリッジ98のFIFO処理部は、入力順にデータを出力する。 As described above, the data processing circuit 90 of the comparative example transfers data via the FIFO processing unit of the asynchronous bridge 98 when transferring data in an asynchronous state. The FIFO processing unit of the asynchronous bridge 98 outputs data in the order of input.

 このため、非同期状態でデータを転送する際は、データの転送速度が低下するという問題があった。FIFO処理部を経由することによるデータの転送速度は、約50%程度である。データの転送速度が約50%低下すると、システムとしての性能が著しく劣化するという問題が生じる。 For this reason, when transferring data in an asynchronous state, there was a problem that the data transfer rate was reduced. The data transfer rate through the FIFO processing unit is about 50%. When the data transfer rate is reduced by about 50%, there arises a problem that the performance of the system is remarkably deteriorated.

 また、比較例のデータ処理回路90は、FIFO処理部を有する非同期ブリッジ98を含むことにより、回路設計が煩雑になるという問題と、動作を保証するための検証作業に要する開発工数が増大するという問題があった。 Further, the data processing circuit 90 of the comparative example includes the asynchronous bridge 98 having the FIFO processing unit, so that the problem of circuit design becomes complicated and the development man-hour required for the verification work for guaranteeing the operation increases. There was a problem.

 以上より、比較例のデータ処理回路90では、データ転送速度の低下、回路設計の煩雑化、開発工数の増大という問題があった。 As described above, the data processing circuit 90 of the comparative example has problems that the data transfer speed is reduced, the circuit design is complicated, and the development man-hour is increased.

 従って、以下では、このような問題を解決した同期データ処理回路について説明する。 Therefore, hereinafter, a synchronous data processing circuit that solves such a problem will be described.

 <実施の形態1>
 図6は、実施の形態1の同期データ処理回路において、DVFSによるコアクロックツリーの伝送時間の変化に応じて、可変ディレイ部で遅延時間を調整する様子を模式的に示す図である。
<Embodiment 1>
FIG. 6 is a diagram schematically illustrating how the delay time is adjusted by the variable delay unit in accordance with the change in the transmission time of the core clock tree by DVFS in the synchronous data processing circuit of the first embodiment.

 図6には、実施の形態1の同期データ処理回路のうちの可変ディレイ部、コアクロックツリー、固定ディレイ部、及びバスクロックツリーを示す。これらのうち、コアクロックツリーは図7を用いて後述するコアに含まれており、バスクロックツリーは図7を用いて後述するバスに含まれる。 FIG. 6 shows a variable delay unit, a core clock tree, a fixed delay unit, and a bus clock tree in the synchronous data processing circuit of the first embodiment. Among these, the core clock tree is included in a core described later using FIG. 7, and the bus clock tree is included in a bus described later using FIG.

 可変ディレイ部及び固定ディレイ部には、例えばPLLから同一のクロックが入力される。 The same clock is input from the PLL, for example, to the variable delay unit and the fixed delay unit.

 図6に示すように、実施の形態1の同期データ処理回路では、コアのコアクロックツリーに可変ディレイ部を直列に接続し、DVFSによるコアへの供給電圧の変化に応じて、可変ディレイ部での遅延時間を調整することにより、コアへの供給電圧が変化しても、データを同期転送できるようにしたものである。 As shown in FIG. 6, in the synchronous data processing circuit of the first embodiment, a variable delay unit is connected in series to the core clock tree of the core, and the variable delay unit uses the variable delay unit according to the change in the supply voltage to the core by DVFS. By adjusting the delay time, the data can be transferred synchronously even if the supply voltage to the core changes.

 また、同期転送を実現するにあたってコア側とバス側でのクロックの伝送時間を揃えるために、バスクロックツリーに固定ディレイ部を直列に接続している。 Also, a fixed delay unit is connected in series with the bus clock tree in order to align the clock transmission time on the core side and the bus side when realizing synchronous transfer.

 すなわち、図6の上側の図に示すように、コアへの供給電圧が1.2Vであるときは、供給電圧が0.8Vのときよりもコアクロックツリーでの伝送時間が短くなるため、供給電圧が0.8Vのときよりも可変ディレイ部でクロックに与える遅延時間を長くする。 That is, as shown in the upper diagram of FIG. 6, when the supply voltage to the core is 1.2V, the transmission time in the core clock tree is shorter than when the supply voltage is 0.8V. The delay time given to the clock is made longer by the variable delay unit than when the voltage is 0.8V.

 このため、図6の上の図では、可変ディレイ部を長く示す。長くされた可変ディレイ部と、短くなったコアクロックツリーの合計の長さは、固定ディレイ部とバスクロックツリーの合計の長さと略等しい。 Therefore, in the upper diagram of FIG. 6, the variable delay unit is shown longer. The total length of the lengthened variable delay section and the shortened core clock tree is substantially equal to the total length of the fixed delay section and the bus clock tree.

 これは、可変ディレイ部とコアクロックツリーによるクロックの伝搬時間が、固定ディレイ部とバスクロックツリーによるクロックの伝搬時間と略等しいことを示している。 This indicates that the clock propagation time by the variable delay unit and the core clock tree is substantially equal to the clock propagation time by the fixed delay unit and the bus clock tree.

 また、図6の下側の図に示すように、コアへの供給電圧が0.8Vであるときは、供給電圧が1.2Vのときよりもコアクロックツリーでの伝送時間が長くなるため、供給電圧が1.2Vのときよりも可変ディレイ部でクロックに与える遅延時間を短くする。 Also, as shown in the lower diagram of FIG. 6, when the supply voltage to the core is 0.8V, the transmission time in the core clock tree becomes longer than when the supply voltage is 1.2V. The delay time given to the clock by the variable delay unit is made shorter than when the supply voltage is 1.2V.

 このため、図6の下側の図では、可変ディレイ部を短く示す。短くされた可変ディレイ部と、長くなったコアクロックツリーの合計の長さは、固定ディレイ部とバスクロックツリーの合計の長さと略等しい。 For this reason, the variable delay section is shown briefly in the lower diagram of FIG. The total length of the shortened variable delay section and the lengthened core clock tree is substantially equal to the total length of the fixed delay section and the bus clock tree.

 これは、可変ディレイ部とコアクロックツリーによるクロックの伝搬時間が、固定ディレイ部とバスクロックツリーによるクロックの伝搬時間と略等しいことを示している。 This indicates that the clock propagation time by the variable delay unit and the core clock tree is substantially equal to the clock propagation time by the fixed delay unit and the bus clock tree.

 実施の形態1の同期データ処理回路は、図6の上下の図に示すように、コアへの供給電圧が1.2Vと場合と、0.8Vの場合との両方の場合において、可変ディレイ部とコアクロックツリーによるクロックの伝搬時間が、固定ディレイ部とバスクロックツリーによるクロックの伝搬時間と略等しくなるようにする。 As shown in the upper and lower diagrams of FIG. 6, the synchronous data processing circuit according to the first embodiment has a variable delay unit in both cases where the supply voltage to the core is 1.2V and 0.8V. And the clock propagation time by the core clock tree is made substantially equal to the clock propagation time by the fixed delay unit and the bus clock tree.

 このように可変ディレイ部とコアクロックツリーによるクロックの伝搬時間が、固定ディレイ部とバスクロックツリーによるクロックの伝搬時間と略等しくなるようにするのは、同期転送を可能にするために、コアとバスの間でデータを転送する際に、セットアップ時間とホールド時間を確保して、同期転送を実現するためである。 In this way, the clock propagation time by the variable delay unit and the core clock tree is made substantially equal to the clock propagation time by the fixed delay unit and the bus clock tree in order to enable synchronous transfer. This is because when data is transferred between the buses, a setup time and a hold time are secured to realize synchronous transfer.

 なお、以上では、可変ディレイ部及び固定ディレイ部に、PLLから同一のクロックを入力する場合について説明したが、例えば、可変ディレイ部又は固定ディレイ部の入力側に分周器を設け、分周したクロックを可変ディレイ部又は固定ディレイ部に入力した状態で、同期転送を行ってもよい。 In the above description, the same clock is input from the PLL to the variable delay unit and the fixed delay unit. For example, a frequency divider is provided on the input side of the variable delay unit or the fixed delay unit to divide the frequency. The synchronous transfer may be performed in a state where the clock is input to the variable delay unit or the fixed delay unit.

 次に、図7を用いて、実施の形態1の同期データ処理回路の構成について説明する。 Next, the configuration of the synchronous data processing circuit according to the first embodiment will be described with reference to FIG.

 図7は、実施の形態1の同期データ処理回路100を示す図である。 FIG. 7 is a diagram illustrating the synchronous data processing circuit 100 according to the first embodiment.

 同期データ処理回路100は、コア110A、110B、バス120、可変ディレイ部130A、130B、同期判定部140A、140B、及び固定ディレイ部150を含む。 The synchronous data processing circuit 100 includes cores 110A and 110B, a bus 120, variable delay units 130A and 130B, synchronization determination units 140A and 140B, and a fixed delay unit 150.

 可変ディレイ部130A、130B、及び固定ディレイ部150には、例えばPLL(Phase Locked Loop:位相同期回路)160が接続されている。なお、同期データ処理回路100は、PLL160を構成要素として含んでもよい。 For example, a PLL (Phase Locked Loop) 160 is connected to the variable delay units 130A and 130B and the fixed delay unit 150. Note that the synchronous data processing circuit 100 may include the PLL 160 as a constituent element.

 実施の形態1の同期データ処理回路100は、例えば、図1及び図2に示すスマートフォン端末機10に適用される。 The synchronous data processing circuit 100 according to the first embodiment is applied to, for example, the smart phone terminal 10 shown in FIGS.

 以下では、実施の形態1の同期データ処理回路100が図1及び図2に示すスマートフォン端末機10のアプリケーションプロセッサ50又はベースバンドプロセッサ70として用いられる形態について説明する。 Hereinafter, a mode in which the synchronous data processing circuit 100 according to the first embodiment is used as the application processor 50 or the baseband processor 70 of the smartphone terminal 10 illustrated in FIGS. 1 and 2 will be described.

 このため、図7に示すコア110A、110Bは、それぞれ、アプリケーションプロセッサ50及びベースバンドプロセッサ70に含まれるコア0及びコア1と同様のコアであることとして説明を行う。 For this reason, the cores 110A and 110B shown in FIG. 7 will be described as cores similar to the cores 0 and 1 included in the application processor 50 and the baseband processor 70, respectively.

 また、以下では、スマートフォン端末機10を示す図1及び図2を援用する。 In the following, FIG. 1 and FIG. 2 showing the smartphone terminal 10 will be cited.

 コア110A及び110Bは、互いに独立に演算処理を行うことのできるプロセッサコアであり、ここでは同一の処理能力を有するものとして取り扱う。コア110A及び110Bは、それぞれ、可変ディレイ部130A及び130Bから入力されるクロックCKinに基づいて動作する。 The cores 110A and 110B are processor cores that can perform arithmetic processing independently of each other, and are treated as having the same processing capability here. The cores 110A and 110B operate based on the clock CKin input from the variable delay units 130A and 130B, respectively.

 コア110A及び110Bは、DVFS(Dynamic Voltage and Frequency Scaling)により、可変電圧供給部22(図2参照)から入力される駆動電圧が可変され、消費電力の低減が図られている。 In the cores 110A and 110B, the drive voltage input from the variable voltage supply unit 22 (refer to FIG. 2) is varied by DVFS (Dynamic Voltage and Frequency Frequency Scaling), thereby reducing power consumption.

 なお、図7にはPMU(図2参照)の図示を省くが、コア110A及び110Bの動作状況に応じて、コア110A及び110Bの入力電圧を制御するための電圧指令をPMUが可変電圧供給部22に入力する。 Although the illustration of the PMU (see FIG. 2) is omitted in FIG. 7, the PMU provides a voltage command for controlling the input voltage of the cores 110A and 110B according to the operating state of the cores 110A and 110B. 22 input.

 バス120は、コア110A及び110Bとの間でデータの転送(送受信)を行う。バス120は、固定ディレイ部150から入力されるクロックCKinに基づいて動作する。 The bus 120 transfers (transmits / receives) data between the cores 110A and 110B. The bus 120 operates based on the clock CKin input from the fixed delay unit 150.

 可変ディレイ部130A及び130Bは、それぞれ、PLL160から入力されるクロックCKに遅延を与えて、クロックCKinを出力する。可変ディレイ部130A及び130Bが出力するクロックCKinは、それぞれ、コア110A及び110Bに入力される。可変ディレイ部130A及び130BがPLL160から入力されるクロックCKに与える遅延量は、それぞれ、同期判定部140A及び140Bから入力される遅延制御指令に応じて決定される。 The variable delay units 130A and 130B delay the clock CK input from the PLL 160, and output the clock CKin. The clocks CKin output from the variable delay units 130A and 130B are input to the cores 110A and 110B, respectively. The delay amount given to the clock CK input from the PLL 160 by the variable delay units 130A and 130B is determined according to the delay control command input from the synchronization determination units 140A and 140B, respectively.

 同期判定部140A及び140Bは、それぞれ、コア110Aとバス120、及び、コア110Bとバス120にわたって配設されている。 The synchronization determination units 140A and 140B are disposed across the core 110A and the bus 120, and the core 110B and the bus 120, respectively.

 同期判定部140Aは、コア110Aとバス120との間におけるデータの転送状況を判定し、可変ディレイ部130AでクロックCKに与える遅延量を決定する。同期判定部140Aは、遅延量を表す遅延制御指令を可変ディレイ部130Aに入力する。 The synchronization determination unit 140A determines the data transfer status between the core 110A and the bus 120, and determines the delay amount to be given to the clock CK by the variable delay unit 130A. The synchronization determination unit 140A inputs a delay control command representing the delay amount to the variable delay unit 130A.

 同期判定部140Aが出力する遅延制御指令によって可変ディレイ部130Aの遅延量が制御されることにより、可変ディレイ部130Aとコア110A内のコアクロックツリーとにおけるデータの伝送時間が、固定ディレイ部150とバス120内のバスクロックツリーとにおけるデータの伝送時間と略等しくなる。 By controlling the delay amount of the variable delay unit 130A according to the delay control command output from the synchronization determination unit 140A, the data transmission time between the variable delay unit 130A and the core clock tree in the core 110A is The transmission time of data in the bus clock tree in the bus 120 is approximately equal.

 同期判定部140Bは、コア110Bとバス120との間におけるデータの転送状況を判定し、可変ディレイ部130BでクロックCKに与える遅延量を決定する。同期判定部140Bは、遅延量を表す遅延制御指令を可変ディレイ部130Bに入力する。 The synchronization determination unit 140B determines a data transfer state between the core 110B and the bus 120, and determines a delay amount to be given to the clock CK by the variable delay unit 130B. The synchronization determination unit 140B inputs a delay control command representing the delay amount to the variable delay unit 130B.

 同期判定部140Bが出力する遅延制御指令によって可変ディレイ部130Bの遅延量が制御されることにより、可変ディレイ部130Bとコア110B内のコアクロックツリーとにおけるデータの伝送時間が、固定ディレイ部150とバス120内のバスクロックツリーとにおけるデータの伝送時間と略等しくなる。 By controlling the delay amount of the variable delay unit 130B according to the delay control command output from the synchronization determination unit 140B, the data transmission time between the variable delay unit 130B and the core clock tree in the core 110B is The transmission time of data in the bus clock tree in the bus 120 is approximately equal.

 すなわち、同期判定部140A及び140Bが可変ディレイ部130A及び130Bの遅延量をそれぞれ制御することにより、可変ディレイ部130Aとコア110A内のコアクロックツリー、可変ディレイ部130Bとコア110B内のコアクロックツリー、及び、固定ディレイ部150とバスクロックツリーの3つのルートにおけるデータの伝送時間は略等しくなる。 That is, the synchronization determination units 140A and 140B control the delay amounts of the variable delay units 130A and 130B, respectively, so that the variable delay unit 130A and the core clock tree in the core 110A, and the variable delay unit 130B and the core clock tree in the core 110B. In addition, the data transmission times in the three routes of the fixed delay unit 150 and the bus clock tree are substantially equal.

 固定ディレイ部150は、PLL160から入力されるクロックCKに所定の固定の遅延量を与えてクロックCKinを出力する。固定ディレイ部150が出力するクロックCKinは、バス120に入力される。 The fixed delay unit 150 gives a predetermined fixed delay amount to the clock CK input from the PLL 160 and outputs the clock CKin. The clock CKin output from the fixed delay unit 150 is input to the bus 120.

 固定ディレイ部150は、可変ディレイ部130Aにおける遅延量を増減させた際に、可変ディレイ部130Aとコアクロックツリーによるクロックの伝搬時間を、固定ディレイ部150とバスクロックツリーによるクロックの伝搬時間と略等しくするための調整用に設けられている。 When the delay amount in the variable delay unit 130A is increased or decreased, the fixed delay unit 150 approximates the clock propagation time by the variable delay unit 130A and the core clock tree to the clock propagation time by the fixed delay unit 150 and the bus clock tree. It is provided for adjustment to equalize.

 また、固定ディレイ部150は、可変ディレイ部130Bにおける遅延量を増減させた際に、可変ディレイ部130Bとコアクロックツリーによるクロックの伝搬時間を、固定ディレイ部150とバスクロックツリーによるクロックの伝搬時間と略等しくするための調整用に設けられている。 Further, when the delay amount in the variable delay unit 130B is increased or decreased, the fixed delay unit 150 determines the clock propagation time by the variable delay unit 130B and the core clock tree, and the clock propagation time by the fixed delay unit 150 and the bus clock tree. And is provided for adjustment to be substantially equal.

 PLL160は、可変ディレイ部130A、130B、及び固定ディレイ部150に入力するためのクロックCKを生成し、出力する。PLL160は、例えば、図示しない水晶発振器から入力される基準クロックの周波数を逓倍し、所望の周波数のクロックCKを出力する。なお、可変ディレイ部130A、130B、及び固定ディレイ部150に入力するためのクロックCKを生成できるクロック生成器であれば、PLL以外のクロック生成器であってもよい。 The PLL 160 generates and outputs a clock CK to be input to the variable delay units 130A and 130B and the fixed delay unit 150. For example, the PLL 160 multiplies the frequency of a reference clock input from a crystal oscillator (not shown) and outputs a clock CK having a desired frequency. Note that any clock generator other than the PLL may be used as long as the clock generator can generate the clock CK to be input to the variable delay units 130A and 130B and the fixed delay unit 150.

 なお、コア110A及び110Bは、第2回路の一例であり、バス120は第1回路の一例であり、可変ディレイ部130A及び130Bは、遅延調整部の一例である。 The cores 110A and 110B are examples of the second circuit, the bus 120 is an example of the first circuit, and the variable delay units 130A and 130B are examples of the delay adjustment unit.

 また、以上では、可変ディレイ部130A、130B及び固定ディレイ部150に、PLL160から同一のクロックを入力する場合について説明したが、例えば、可変ディレイ部130A、130B又は固定ディレイ部150の入力側に分周器を設け、分周したクロックを可変ディレイ部130A、130B又は固定ディレイ部150に入力した状態で、同期転送を行ってもよい。 In the above description, the same clock is input from the PLL 160 to the variable delay units 130A and 130B and the fixed delay unit 150. However, for example, the variable delay units 130A and 130B or the fixed delay unit 150 can be distributed to the input side. Synchronous transfer may be performed in a state where a frequency divider is provided and the divided clock is input to the variable delay units 130A and 130B or the fixed delay unit 150.

 すなわち、コア110A及び110Bと、バス120とは、同一のクロック発生源であるPLL160から出力されるクロックに基づいて駆動されていればよく、コア110A及び110B、又は、バス120に入力されるクロックは、PLL160が出力するクロックを分周したクロックであってもよい。 That is, the cores 110A and 110B and the bus 120 need only be driven based on the clock output from the PLL 160, which is the same clock generation source, and the cores 110A and 110B or the clock input to the bus 120. May be a clock obtained by dividing the clock output from the PLL 160.

 一般的に、コア110A及び110Bの方がバス120よりも高い周波数を要求する。このため、例えば、コア110A及び110Bには、PLL160から可変ディレイ部130A、130Bを介して400MHzのクロックCKinを入力し、バス120には、PLL160から出力される400MHzのクロックCKを図示しない分周器で200MHzに分周し、クロックCKinとして固定ディレイ部150を介して入力してもよい。 Generally, the cores 110A and 110B require a higher frequency than the bus 120. For this reason, for example, the 400 MHz clock CKin is input to the cores 110A and 110B from the PLL 160 via the variable delay units 130A and 130B, and the 400 MHz clock CK output from the PLL 160 is divided to the bus 120. The frequency may be divided into 200 MHz by a device and input as a clock CKin via the fixed delay unit 150.

 このようにコア110A及び110Bに入力されるクロックCKinの周波数と、バス120に入力される分周されたクロックCKinの周波数が異なっても、コア110A及び110Bと、バス120とに入力するクロックCKinは、ともにPLL160から出力されたクロックCKに基づくクロックである。 Thus, even if the frequency of the clock CKin input to the cores 110A and 110B is different from the frequency of the divided clock CKin input to the bus 120, the clock CKin input to the cores 110A and 110B and the bus 120 is different. Are clocks based on the clock CK output from the PLL 160.

 次に、図8を用いて、同期判定部140A、140Bの回路構成、及び、遅延制御指令の生成手法について説明する。なお、以下では、コア110A、110B、可変ディレイ部130A、130B、及び同期判定部140A、140Bを区別せずに説明を行い、それぞれ、コア110、可変ディレイ部130、及び同期判定部140と称す。 Next, a circuit configuration of the synchronization determination units 140A and 140B and a method for generating a delay control command will be described with reference to FIG. Hereinafter, the cores 110A and 110B, the variable delay units 130A and 130B, and the synchronization determination units 140A and 140B will be described without distinction, and will be referred to as the core 110, the variable delay unit 130, and the synchronization determination unit 140, respectively. .

 図8は、実施の形態1の同期データ処理回路100のコア110、バス120、及び同期判定部140の回路構成を示す図である。なお、可変ディレイ部130の回路構成については、図9を用いて後述する。 FIG. 8 is a diagram illustrating a circuit configuration of the core 110, the bus 120, and the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment. The circuit configuration of the variable delay unit 130 will be described later with reference to FIG.

 コア110は、コアクロックツリー111、バッファ112A、112B、FF113A~113D、組み合わせ回路114A、114B、及びバッファ115A、115Bを含む。 The core 110 includes a core clock tree 111, buffers 112A and 112B, FFs 113A to 113D, combinational circuits 114A and 114B, and buffers 115A and 115B.

 コアクロックツリー111は、コア110の内部に配設されており、コア110の内部におけるデータの伝送経路であるとともに、伝送時間の調整のために複数のバッファが直列に接続された構成を有する。コアクロックツリー111の入力端子は、可変ディレイ部130の出力端子に接続されており、クロックCKinが入力される。コアクロックツリー111の出力端子は、バッファ112A及び112Bに接続されている。 The core clock tree 111 is arranged inside the core 110, and is a data transmission path inside the core 110, and has a configuration in which a plurality of buffers are connected in series for adjusting the transmission time. The input terminal of the core clock tree 111 is connected to the output terminal of the variable delay unit 130, and receives the clock CKin. The output terminal of the core clock tree 111 is connected to the buffers 112A and 112B.

 コアクロックツリー111は、可変ディレイ部130からクロックCKinが入力されると、所定の遅延量を付与してクロックをバッファ112A及び112Bに入力する。 When the clock CKin is input from the variable delay unit 130, the core clock tree 111 adds a predetermined delay amount and inputs the clock to the buffers 112A and 112B.

 バッファ112A及び112Bは、コアクロックツリー111の出力端子に互いに並列に接続されている。バッファ112Aの出力端子は、FF113A及び113Bのクロック入力端子に接続されている。バッファ112Bの出力端子は、FF113C及び113Dのクロック入力端子と、同期判定部140に接続されている。 The buffers 112A and 112B are connected to the output terminal of the core clock tree 111 in parallel with each other. The output terminal of the buffer 112A is connected to the clock input terminals of the FFs 113A and 113B. The output terminal of the buffer 112B is connected to the clock input terminals of the FFs 113C and 113D and the synchronization determination unit 140.

 バッファ112A及び112Bは、コアクロックツリー111からクロックが入力されると、FF113A~113Dのクロック入力端子にクロックCCKを入力する。 When the clock is input from the core clock tree 111, the buffers 112A and 112B input the clock CCK to the clock input terminals of the FFs 113A to 113D.

 FF113A及び113Bは、コア110からデータを出力する側のFFであり、データ入力端子Dは、コア110の図示しない内部回路に接続されている。FF113A及び113Bのデータ入力端子Dには、コア110の図示しない内部回路から、例えば、演算処理によって生成されたデータが入力される。 FFs 113A and 113B are FFs on the data output side from the core 110, and the data input terminal D is connected to an internal circuit (not shown) of the core 110. Data generated by arithmetic processing, for example, is input from an internal circuit (not shown) of the core 110 to the data input terminals D of the FFs 113A and 113B.

 FF113A及び113Bのデータ出力端子Qには、それぞれ、組み合わせ回路114A及びバッファ115Aが接続されている。FF113A及び113Bのクロック入力端子にはバッファ112Aの出力端子が接続されている。 The combination circuit 114A and the buffer 115A are connected to the data output terminals Q of the FFs 113A and 113B, respectively. The output terminal of the buffer 112A is connected to the clock input terminals of the FFs 113A and 113B.

 FF113A及び113Bは、クロック入力端子にバッファ112AからクロックCCKが入力されると、データ入力端子Dにあるデータをデータ出力端子Dに反映させる。 The FFs 113A and 113B reflect the data in the data input terminal D to the data output terminal D when the clock CCK is input from the buffer 112A to the clock input terminal.

 FF113C及び113Dは、コア110にデータを入力する側のFFであり、データ入力端子Dは、それぞれ、組み合わせ回路114B及びバッファ115Bに接続されている。FF113C及び113Dのデータ入力端子Dには、それぞれ、組み合わせ回路114B及びバッファ115Bから出力されるデータが入力される。 FFs 113C and 113D are FFs on the side of inputting data to the core 110, and the data input terminal D is connected to the combinational circuit 114B and the buffer 115B, respectively. Data output from the combinational circuit 114B and the buffer 115B are input to the data input terminals D of the FFs 113C and 113D, respectively.

 FF113C及び113Dのデータ出力端子Qは、コア110の図示しない内部回路に接続されている。FF113C及び113Dのクロック出力端子Qから出力されるデータは、コア110の図示しない内部回路に伝送される。 The data output terminals Q of the FFs 113C and 113D are connected to an internal circuit (not shown) of the core 110. Data output from the clock output terminals Q of the FFs 113C and 113D is transmitted to an internal circuit (not shown) of the core 110.

 FF113C及び113Dは、クロック入力端子にバッファ112BからクロックCCKが入力されると、データ入力端子Dにあるデータをデータ出力端子Dに反映させる。 The FFs 113C and 113D reflect the data in the data input terminal D to the data output terminal D when the clock CCK is input from the buffer 112B to the clock input terminal.

 組み合わせ回路114Aは、入力端子がFF113Aのデータ出力端子Qに接続され、出力端子がバス120のFF123Aのデータ入力端子Dに接続されている。組み合わせ回路114Aは、例えば、AND、OR等の論理回路であり、FF113Aから入力されるデータに対して所定の演算を行い、バス120のFF123Aに転送する。 The combination circuit 114A has an input terminal connected to the data output terminal Q of the FF 113A and an output terminal connected to the data input terminal D of the FF 123A of the bus 120. The combinational circuit 114A is, for example, a logic circuit such as AND and OR, performs a predetermined operation on the data input from the FF 113A, and transfers the data to the FF 123A of the bus 120.

 組み合わせ回路114Bは、入力端子がバス120のFF123Cのデータ出力端子Qに接続され、出力端子がFF113のデータ入力端子Dに接続されている。組み合わせ回路114Bは、例えば、AND、OR等の論理回路であり、バス120のFF123Cから転送されるデータに対して所定の演算を行い、コア110の内部回路に出力する。 The combination circuit 114B has an input terminal connected to the data output terminal Q of the FF 123C of the bus 120 and an output terminal connected to the data input terminal D of the FF 113. The combinational circuit 114B is, for example, a logic circuit such as AND or OR, and performs a predetermined operation on the data transferred from the FF 123C of the bus 120 and outputs it to the internal circuit of the core 110.

 バッファ115Aは、入力端子がFF113Bのデータ出力端子Qに接続され、出力端子がバス120のFF123Bのデータ入力端子Dに接続されている。バッファ115Aは、FF113Bから出力されるデータをバス120のFF123Bに転送する。 The buffer 115A has an input terminal connected to the data output terminal Q of the FF 113B and an output terminal connected to the data input terminal D of the FF 123B of the bus 120. The buffer 115A transfers the data output from the FF 113B to the FF 123B of the bus 120.

 バッファ115Bは、入力端子がバス120のFF123Dのデータ出力端子Qに接続され、出力端子がFF113Dのデータ入力端子Dに接続されている。バッファ115Bは、バス120のFF123Dから転送されるデータをFF113Dに出力する。 The buffer 115B has an input terminal connected to the data output terminal Q of the FF 123D of the bus 120, and an output terminal connected to the data input terminal D of the FF 113D. The buffer 115B outputs the data transferred from the FF 123D of the bus 120 to the FF 113D.

 バス120は、バスクロックツリー121、バッファ122A、122B、及びFF123A~123Dを含む。 The bus 120 includes a bus clock tree 121, buffers 122A and 122B, and FFs 123A to 123D.

 バスクロックツリー121は、バス120の内部に配設されており、バス120の内部におけるデータの伝送経路であるとともに、伝送時間の調整のために複数のバッファが直列に接続された構成を有する。バスクロックツリー121の入力端子は、固定ディレイ部150の出力端子に接続されており、クロックCKinが入力される。バスクロックツリー121の出力端子は、バッファ122A及び122Bに接続されている。 The bus clock tree 121 is arranged inside the bus 120 and has a configuration in which a plurality of buffers are connected in series for adjusting the transmission time as well as a data transmission path inside the bus 120. The input terminal of the bus clock tree 121 is connected to the output terminal of the fixed delay unit 150, and receives the clock CKin. The output terminal of the bus clock tree 121 is connected to the buffers 122A and 122B.

 バスクロックツリー121は、固定ディレイ部150からクロックCKinが入力されると、所定の遅延量を付与してクロックをバッファ122A及び122Bに入力する。 When the clock CKin is input from the fixed delay unit 150, the bus clock tree 121 adds a predetermined delay amount and inputs the clock to the buffers 122A and 122B.

 バッファ122A及び122Bは、バスクロックツリー121の出力端子に互いに並列に接続されている。バッファ122Aの出力端子は、FF123A及び123Bのクロック入力端子に接続されている。バッファ122Bの出力端子は、FF123C及び123Dのクロック入力端子と、同期判定部140に接続されている。 The buffers 122A and 122B are connected to the output terminal of the bus clock tree 121 in parallel with each other. The output terminal of the buffer 122A is connected to the clock input terminals of the FFs 123A and 123B. The output terminal of the buffer 122B is connected to the clock input terminals of the FFs 123C and 123D and the synchronization determination unit 140.

 バッファ122A及び122Bは、バスクロックツリー121からクロックが入力されると、FF123A~123Dのクロック入力端子にクロックBCKを入力する。 When the clock is input from the bus clock tree 121, the buffers 122A and 122B input the clock BCK to the clock input terminals of the FFs 123A to 123D.

 FF123A及び123Bは、コア110から転送されるデータをバス120に入力する側のFFであり、データ入力端子Dには、それぞれ、コア110の組み合わせ回路114A及びバッファ115の出力端子が接続されている。 The FFs 123A and 123B are FFs on the side that inputs data transferred from the core 110 to the bus 120. The data input terminal D is connected to the combinational circuit 114A of the core 110 and the output terminal of the buffer 115, respectively. .

 FF123A及び123Bのデータ出力端子Qは、バス120の図示しない内部回路に接続されている。 The data output terminals Q of the FFs 123A and 123B are connected to an internal circuit (not shown) of the bus 120.

 FF123A及び123Bは、クロック入力端子にバッファ122AからクロックBCKが入力されると、データ入力端子Dにあるデータをデータ出力端子Dに反映させる。 The FFs 123A and 123B reflect the data in the data input terminal D to the data output terminal D when the clock BCK is input from the buffer 122A to the clock input terminal.

 FF123C及び123Dは、バス120からデータを出力する側のFFであり、データ入力端子Dは、バス120の図示しない内部回路に接続されている。FF123C及び123Dのデータ出力端子Qは、それぞれ、コア110の組み合わせ回路114B及びバッファ115Bの入力端子に接続されている。 FFs 123C and 123D are FFs on the data output side from the bus 120, and the data input terminal D is connected to an internal circuit (not shown) of the bus 120. The data output terminals Q of the FFs 123C and 123D are connected to the combinational circuit 114B of the core 110 and the input terminals of the buffer 115B, respectively.

 FF123C及び123Dは、クロック入力端子にバッファ122BからクロックBCKが入力されると、データ入力端子Dにあるデータをデータ出力端子Dに反映させる。 The FFs 123C and 123D reflect the data in the data input terminal D to the data output terminal D when the clock BCK is input from the buffer 122B to the clock input terminal.

 同期判定部140は、コア110とバス120とにわたって配設されている。同期判定部140は、パターン発生部141、判定部142、パターン発生部143、判定部144、及び出力部145を含む。ここで、パターン発生部141、143は、テストデータ生成部の一例であり、判定部142、145は、判定部の一例である。 The synchronization determination unit 140 is disposed across the core 110 and the bus 120. The synchronization determination unit 140 includes a pattern generation unit 141, a determination unit 142, a pattern generation unit 143, a determination unit 144, and an output unit 145. Here, the pattern generation units 141 and 143 are examples of test data generation units, and the determination units 142 and 145 are examples of determination units.

 パターン発生部141は、バス120側に設けられている。パターン発生部141は、バッファ122Bから入力されるクロックBCKに基づき、テストデータtd0を発生する。パターン発生部141が発生するテストデータtd0は、判定部144に入力される。テストデータtd0は、バス120のFF123C、123Dからコア110のFF113C、113Dに転送される通常データのレプリカである。 The pattern generator 141 is provided on the bus 120 side. The pattern generation unit 141 generates test data td0 based on the clock BCK input from the buffer 122B. Test data td0 generated by the pattern generation unit 141 is input to the determination unit 144. The test data td0 is a replica of normal data transferred from the FFs 123C and 123D of the bus 120 to the FFs 113C and 113D of the core 110.

 判定部142は、バス120側に設けられている。判定部142は、バッファ122Bから入力されるクロックBCKと、パターン発生部143から入力されるテストデータtd1との位相差を判定し、コア110からバス120への同期転送が可能な位相差であるか否かを判定する。 The determination unit 142 is provided on the bus 120 side. The determination unit 142 determines the phase difference between the clock BCK input from the buffer 122B and the test data td1 input from the pattern generation unit 143, and is a phase difference that allows synchronous transfer from the core 110 to the bus 120. It is determined whether or not.

 判定部142は、バッファ122Bから入力されるクロックBCKの位相に対して、パターン発生部143から入力されるテストデータtd1の位相が遅れており、同期転送が困難であると判定すると、可変ディレイ部130でクロックCKinの位相を進めるための遅延制御指令dwn1を出力する。これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が減らされ、位相が進められたクロックCKinが出力される。なお、遅延制御指令dwn1は、出力部145を経て可変ディレイ部130に入力される。 If the determination unit 142 determines that the phase of the test data td1 input from the pattern generation unit 143 is delayed with respect to the phase of the clock BCK input from the buffer 122B and it is difficult to perform synchronous transfer, the variable delay unit At 130, a delay control command dwn1 for advancing the phase of the clock CKin is output. As a result, the amount of delay applied to the clock CK input to the variable delay unit 130 is reduced, and the clock CKin with the advanced phase is output. The delay control command dwn1 is input to the variable delay unit 130 via the output unit 145.

 一方、判定部142は、バッファ122Bから入力されるクロックBCKの位相に対して、パターン発生部143から入力されるテストデータtd1の位相が進んでおり、同期転送が困難であると判定すると、可変ディレイ部130でクロックCKinの位相を遅らせるための遅延制御指令up1を出力する。これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が増やされ、位相が遅延されたクロックCKinが出力される。なお、遅延制御指令up1は、出力部145を経て可変ディレイ部130に入力される。 On the other hand, when the determination unit 142 determines that the phase of the test data td1 input from the pattern generation unit 143 is advanced with respect to the phase of the clock BCK input from the buffer 122B, it is difficult to perform synchronous transfer. The delay unit 130 outputs a delay control command up1 for delaying the phase of the clock CKin. As a result, the amount of delay applied to the clock CK input to the variable delay unit 130 is increased, and the clock CKin with the phase delayed is output. The delay control command up1 is input to the variable delay unit 130 via the output unit 145.

 パターン発生部143は、コア110側に設けられている。パターン発生部143は、バッファ112Bから入力されるクロックCCKに基づき、テストデータtd1を発生する。パターン発生部143が発生するテストデータtd1は、判定部142に入力される。テストデータtd1は、コア110のFF113A、113Bからバス120のFF123A、123Bに転送される通常データのレプリカである。 The pattern generator 143 is provided on the core 110 side. The pattern generator 143 generates test data td1 based on the clock CCK input from the buffer 112B. Test data td1 generated by the pattern generation unit 143 is input to the determination unit 142. The test data td1 is a replica of normal data transferred from the FFs 113A and 113B of the core 110 to the FFs 123A and 123B of the bus 120.

 判定部144は、コア110側に設けられている。判定部144は、バッファ112Bから入力されるクロックCCKと、パターン発生部141から入力されるテストデータtd0との位相差を判定し、バス120からコア110への同期転送が可能な位相差であるか否かを判定する。 The determination unit 144 is provided on the core 110 side. The determination unit 144 determines the phase difference between the clock CCK input from the buffer 112B and the test data td0 input from the pattern generation unit 141, and is a phase difference that allows synchronous transfer from the bus 120 to the core 110. It is determined whether or not.

 判定部144は、パターン発生部141から入力されるテストデータtd0の位相に対して、バッファ112Bから入力されるクロックCCKの位相が遅れており、同期転送が困難であると判定すると、可変ディレイ部130でクロックCKinの位相を進めるための遅延制御指令dwn0を出力する。これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が減らされ、位相が進められたクロックCKinが出力される。なお、遅延制御指令dwn0は、出力部145を経て可変ディレイ部130に入力される。 If the determination unit 144 determines that the phase of the clock CCK input from the buffer 112B is delayed with respect to the phase of the test data td0 input from the pattern generation unit 141 and that synchronous transfer is difficult, the variable delay unit At 130, a delay control command dwn0 for advancing the phase of the clock CKin is output. As a result, the amount of delay applied to the clock CK input to the variable delay unit 130 is reduced, and the clock CKin with the advanced phase is output. The delay control command dwn0 is input to the variable delay unit 130 via the output unit 145.

 一方、判定部144は、パターン発生部141から入力されるテストデータtd0の位相に対して、バッファ112Bから入力されるクロックCCKの位相が進んでおり、同期転送が困難であると判定すると、可変ディレイ部130でクロックCKinの位相を遅らせるための遅延制御指令up0を出力する。これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が増やされ、位相が遅延されたクロックCKinが出力される。なお、遅延制御指令up0は、出力部145を経て可変ディレイ部130に入力される。 On the other hand, when the determination unit 144 determines that the phase of the clock CCK input from the buffer 112B is advanced with respect to the phase of the test data td0 input from the pattern generation unit 141 and that synchronous transfer is difficult, the determination unit 144 is variable. The delay unit 130 outputs a delay control command up0 for delaying the phase of the clock CKin. As a result, the amount of delay applied to the clock CK input to the variable delay unit 130 is increased, and the clock CKin with the phase delayed is output. The delay control command up0 is input to the variable delay unit 130 via the output unit 145.

 出力部145は、一対のOR(論理和)回路で実現される。出力部145は、一方のOR回路で、判定部142から入力される遅延制御指令up1と、判定部144から入力される遅延制御指令up0との論理和を表す遅延制御指令upを出力する。また、出力部145は、他方のOR回路で、判定部142から入力される遅延制御指令dwn1と、判定部144から入力される遅延制御指令dwn0との論理和を表す遅延制御指令dwnを出力する。出力部145から出力される遅延制御指令up、dwnは、可変ディレイ部130に入力される。 The output unit 145 is realized by a pair of OR (logical sum) circuits. The output unit 145 is one OR circuit, and outputs a delay control command up representing a logical sum of the delay control command up1 input from the determination unit 142 and the delay control command up0 input from the determination unit 144. The output unit 145 is the other OR circuit, and outputs a delay control command dwn representing the logical sum of the delay control command dwn1 input from the determination unit 142 and the delay control command dwn0 input from the determination unit 144. . Delay control commands up and dwn output from the output unit 145 are input to the variable delay unit 130.

 なお、ここでは、同期判定部140は、コア110とバス120とにわたって配設されるものとして説明するが、同期判定部140のうちのパターン発生部141及び判定部142は、バス120に含まれるものとして取り扱うことができる。同様に、同期判定部140のうちのパターン発生部143及び判定部144は、コア110に含まれるものとして取り扱うことができる。 Here, although the synchronization determination unit 140 is described as being disposed across the core 110 and the bus 120, the pattern generation unit 141 and the determination unit 142 of the synchronization determination unit 140 are included in the bus 120. It can be handled as a thing. Similarly, the pattern generation unit 143 and the determination unit 144 in the synchronization determination unit 140 can be handled as being included in the core 110.

 次に、図9を用いて、可変ディレイ部130の回路構成について説明する。 Next, the circuit configuration of the variable delay unit 130 will be described with reference to FIG.

 図9は、実施の形態1の同期データ処理回路100の可変ディレイ部130を示す図である。 FIG. 9 is a diagram illustrating the variable delay unit 130 of the synchronous data processing circuit 100 according to the first embodiment.

 可変ディレイ部130は、インバ-タ131A、131B、n段の遅延段132-1~132-n、インバータ133A、133B、及びシフトレジスタ134を含む。 The variable delay unit 130 includes inverters 131A and 131B, n delay stages 132-1 to 132-n, inverters 133A and 133B, and a shift register 134.

 インバータ131A及び131Bは、可変ディレイ部130の入力部に設けられており、互いに直列に接続されている。インバータ131Aの入力端子には、PLL160(図7参照)からクロックCKが入力され、インバータ131Bの出力端子から、各遅延段132-1~132-nのNAND回路132Bに入力される。 The inverters 131A and 131B are provided at the input section of the variable delay section 130 and are connected in series with each other. The clock CK is input from the PLL 160 (see FIG. 7) to the input terminal of the inverter 131A, and is input to the NAND circuits 132B of the delay stages 132-1 to 132-n from the output terminal of the inverter 131B.

 各遅延段132-1~132-nは、インバータ132A、NAND回路132B及び132Cを含む。なお、nは任意の整数であり、例えば、100~300程度である。 Each delay stage 132-1 to 132-n includes an inverter 132A and NAND circuits 132B and 132C. Note that n is an arbitrary integer, for example, about 100 to 300.

 遅延段132-1のインバータ132Aには、所定のL(Low)レベルの電圧VSSが入力されている。インバータ132Aの出力端子は、NAND回路132Cの一方の入力端子に接続されている。 The predetermined VSS (L) level voltage VSS is input to the inverter 132A of the delay stage 132-1. The output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C.

 遅延段132-1のNAND回路132Bは、一方の入力端子にインバータ131Bの出力端子が接続され、他方の入力端子にシフトレジスタ134の1段目の出力端子が接続されている。NAND回路132Bの出力端子は、NAND回路132Cの他方の入力端子に接続されている。 The NAND circuit 132B of the delay stage 132-1 has one input terminal connected to the output terminal of the inverter 131B, and the other input terminal connected to the first stage output terminal of the shift register 134. The output terminal of the NAND circuit 132B is connected to the other input terminal of the NAND circuit 132C.

 遅延段132-1のNAND回路132Cの一方の入力端子にはインバータ132Aの出力端子が接続されており、他方の入力端子にはNAND回路132Bの出力端子が接続されている。NAND回路132Cの出力端子は、次の遅延段132-2のインバータ132Aの入力端子に接続されている。 The output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C of the delay stage 132-1, and the output terminal of the NAND circuit 132B is connected to the other input terminal. The output terminal of the NAND circuit 132C is connected to the input terminal of the inverter 132A of the next delay stage 132-2.

 遅延段132-2から132-(n-1)のインバータ132A、NAND回路132B及び132Cは、すべて同様に接続されている。インバータ132Aの入力端子は、1つ前の遅延段のNAND回路132Cの出力端子に接続されている。インバータ132Aの出力端子は、NAND回路132Cの一方の入力端子に接続されている。 The inverter 132A and the NAND circuits 132B and 132C of the delay stages 132-2 to 132- (n-1) are all connected in the same manner. The input terminal of the inverter 132A is connected to the output terminal of the NAND circuit 132C of the previous delay stage. The output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C.

 NAND回路132Bは、一方の入力端子にインバータ131Bの出力端子が接続され、他方の入力端子にシフトレジスタ134の出力端子が接続されている。NAND回路132Bの出力端子は、NAND回路132Cの他方の入力端子に接続されている。 In the NAND circuit 132B, the output terminal of the inverter 131B is connected to one input terminal, and the output terminal of the shift register 134 is connected to the other input terminal. The output terminal of the NAND circuit 132B is connected to the other input terminal of the NAND circuit 132C.

 NAND回路132Cの一方の入力端子にはインバータ132Aの出力端子が接続されており、他方の入力端子にはNAND回路132Bの出力端子が接続されている。NAND回路132Cの出力端子は、次の遅延段のインバータ132Aの入力端子に接続されている。 The output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C, and the output terminal of the NAND circuit 132B is connected to the other input terminal. The output terminal of the NAND circuit 132C is connected to the input terminal of the inverter 132A of the next delay stage.

 遅延段132-nのインバータ132Aの入力端子は、遅延段132-(n-1)のNAND回路132Cの出力端子に接続されている。インバータ132Aの出力端子は、NAND回路132Cの一方の入力端子に接続されている。 The input terminal of the inverter 132A of the delay stage 132-n is connected to the output terminal of the NAND circuit 132C of the delay stage 132- (n-1). The output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C.

 遅延段132-nのNAND回路132Bは、一方の入力端子にインバータ131Bの出力端子が接続され、他方の入力端子にシフトレジスタ134のn段目の出力端子が接続されている。NAND回路132Bの出力端子は、NAND回路132Cの他方の入力端子に接続されている。 The NAND circuit 132B of the delay stage 132-n has one input terminal connected to the output terminal of the inverter 131B, and the other input terminal connected to the n-th output terminal of the shift register 134. The output terminal of the NAND circuit 132B is connected to the other input terminal of the NAND circuit 132C.

 遅延段132-nのNAND回路132Cの一方の入力端子にはインバータ132Aの出力端子が接続されており、他方の入力端子にはNAND回路132Bの出力端子が接続されている。NAND回路132Cの出力端子は、インバータ133Aの入力端子に接続されている。 The output terminal of the inverter 132A is connected to one input terminal of the NAND circuit 132C of the delay stage 132-n, and the output terminal of the NAND circuit 132B is connected to the other input terminal. The output terminal of the NAND circuit 132C is connected to the input terminal of the inverter 133A.

 インバータ133Aは、遅延段132-nのNAND回路132Cの出力端子に接続されており、出力端子は、インバータ133Bの入力端子に接続されている。 The inverter 133A is connected to the output terminal of the NAND circuit 132C of the delay stage 132-n, and the output terminal is connected to the input terminal of the inverter 133B.

 インバータ133Bの入力端子は、インバータ133Aの出力端子に接続されており、出力端子は、可変ディレイ部130の出力端子に接続されている。インバータ133Bからは、可変ディレイ部130で遅延が与えられたクロックCKinが出力される。 The input terminal of the inverter 133B is connected to the output terminal of the inverter 133A, and the output terminal is connected to the output terminal of the variable delay unit 130. From the inverter 133B, the clock CKin delayed by the variable delay unit 130 is output.

 シフトレジスタ134は、n個の出力端子を有し、各出力端子は、遅延段132-1~132-nのNAND回路132Bの他方の入力端子に接続されている。シフトレジスタ134は、n個の出力端子のうちのいずれか1つに"1"を出力し、他の出力端子には"0"を出力する。 The shift register 134 has n output terminals, and each output terminal is connected to the other input terminal of the NAND circuit 132B of the delay stages 132-1 to 132-n. The shift register 134 outputs “1” to any one of the n output terminals, and outputs “0” to the other output terminals.

 シフトレジスタ134は、同期判定部140の出力部145から入力される遅延制御指令up、dwnに基づき、n個の出力端子のうちで"1"を出力する出力端子を切り替える。 The shift register 134 switches the output terminal that outputs “1” among the n output terminals based on the delay control commands up and dwn input from the output unit 145 of the synchronization determination unit 140.

 また、シフトレジスタ134のクロック入力端子にはインバータ131Bの出力端子が接続されており、シフトレジスタ134は、インバータ131Bから入力されるクロックに応じて動作する。 Further, the output terminal of the inverter 131B is connected to the clock input terminal of the shift register 134, and the shift register 134 operates in accordance with the clock input from the inverter 131B.

 シフトレジスタ134は、遅延制御指令up、dwnが"0"、"0"である場合は、遅延量を変更せずに保持する。また、シフトレジスタ134は、遅延制御指令up、dwnが"0"、"1"である場合には、クロックCKに与える遅延量を減らすために、"1"を出力する出力端子を1つ右にずらす。すなわち、この場合、シフトレジスタ134は、"1"を出力する出力端子を矢印downが示す方向(右)に1つずらす。 When the delay control commands up and dwn are “0” and “0”, the shift register 134 holds the delay amount without changing it. In addition, when the delay control commands up and dwn are “0” and “1”, the shift register 134 moves the output terminal that outputs “1” one right in order to reduce the amount of delay given to the clock CK. Shift to That is, in this case, the shift register 134 shifts the output terminal that outputs “1” by one in the direction (right) indicated by the arrow down.

 シフトレジスタ134は、遅延制御指令up、dwnが"1"、"0"である場合には、クロックCKに与える遅延量を増やすために、"1"を出力する出力端子を1つ左にずらす。 When the delay control commands up and dwn are “1” and “0”, the shift register 134 shifts the output terminal that outputs “1” to the left in order to increase the amount of delay applied to the clock CK. .

 なお、遅延制御指令up、dwnが"1"、"1"になる場合はない。 Note that the delay control commands up and dwn are not “1” or “1”.

 図9に示すように、2段目の遅延段132-2に対応するシフトレジスタ134の出力端子から"1"が出力される場合は、インバータ131Aに入力されるクロックCKのH(High)レベルのパルスは、インバータ131A及び131Bで2度反転されてHレベルのパルスとして出力され、遅延段132-2のNAND回路132Bの一方の入力端子に入力される。このとき、遅延段132-2のNAND回路132Bの他方の入力端子には、シフトレジスタ134の出力端子から"1"が入力されるため、NAND回路132Bの出力は "0"になり、NAND回路132Cの他方の入力端子に入力される。 As shown in FIG. 9, when “1” is output from the output terminal of the shift register 134 corresponding to the second delay stage 132-2, the H (High) level of the clock CK input to the inverter 131A This pulse is inverted twice by the inverters 131A and 131B and output as an H level pulse, and is input to one input terminal of the NAND circuit 132B of the delay stage 132-2. At this time, since “1” is input from the output terminal of the shift register 134 to the other input terminal of the NAND circuit 132B of the delay stage 132-2, the output of the NAND circuit 132B becomes “0”, and the NAND circuit It is input to the other input terminal of 132C.

 また、このとき、遅延段132-2のNAND回路132Cの一方の入力端子には、"1"が入力されるため、NAND回路132Cの出力は "1"になり、次の遅延段132-3に入力される。 At this time, since “1” is input to one input terminal of the NAND circuit 132C of the delay stage 132-2, the output of the NAND circuit 132C becomes “1”, and the next delay stage 132-3 Is input.

 遅延段132-3~132-nは、OR回路132Bの一方の入力端子にインバータ1131BからHレベルのパルスが入力されており、他方の入力端子にはシフトレジスタ134の出力端子から"0"が入力されるため、NAND回路132Bの出力は"1"になり、NAND回路132Cの他方の入力端子に入力される。 In the delay stages 132-3 to 132-n, an H level pulse is input from the inverter 1131B to one input terminal of the OR circuit 132B, and “0” is output from the output terminal of the shift register 134 to the other input terminal. Therefore, the output of the NAND circuit 132B becomes “1” and is input to the other input terminal of the NAND circuit 132C.

 すなわち、遅延段132-3では、NAND回路132Cの一方の入力端子にはインバータ132Aで反転された"0"が入力され、NAND回路132Cの他方の入力端子には、"1"が入力されるため、NAND回路132Cの出力は"1"になり、次の遅延段に入力される。 That is, in the delay stage 132-3, “0” inverted by the inverter 132A is input to one input terminal of the NAND circuit 132C, and “1” is input to the other input terminal of the NAND circuit 132C. Therefore, the output of the NAND circuit 132C becomes “1” and is input to the next delay stage.

 このようにして、遅延段132-3~132-nは出力"1"を伝送し、遅延段132-nの出力"1"は、インバータ133A及び133Bを経て、HレベルのパルスCKinとして出力される。 In this way, the delay stages 132-3 to 132-n transmit the output "1", and the output "1" of the delay stage 132-n is output as the H level pulse CKin via the inverters 133A and 133B. The

 すなわち、可変ディレイ部130に入力されるクロックCKのHレベルのパルスは、遅延段132-2~133-nで遅延されて、クロックCKinとして出力される。 That is, the H level pulse of the clock CK input to the variable delay unit 130 is delayed by the delay stages 132-2 to 133-n and output as the clock CKin.

 従って、上述のように遅延制御信号up、dwnでシフトレジスタ134の出力を制御すれば、可変ディレイ部130でクロックCKに与える遅延量を制御することができる。すなわち、可変ディレイ部130から出力されるクロックCKinの遅延量を制御することができる。 Therefore, if the output of the shift register 134 is controlled by the delay control signals up and dwn as described above, the delay amount given to the clock CK by the variable delay unit 130 can be controlled. That is, the delay amount of the clock CKin output from the variable delay unit 130 can be controlled.

 次に、図10を用いて、同期判定部140のパターン発生部141と判定部144の回路構成について説明する。 Next, the circuit configuration of the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 will be described with reference to FIG.

 図10は、実施の形態1の同期データ処理回路100の同期判定部140のパターン発生部141及び判定部144を示す図である。 FIG. 10 is a diagram illustrating the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.

 パターン発生部141は、FF141Aとインバータ141Bを含む。FF141Aのクロック入力端子には、クロックBCKがバッファ122B(図8参照)から入力される。 The pattern generator 141 includes an FF 141A and an inverter 141B. The clock BCK is input from the buffer 122B (see FIG. 8) to the clock input terminal of the FF 141A.

 FF141Aのデータ入力端子Dにはインバータ141Bの出力端子が接続されており、FF141Aのデータ出力端子Qにはインバータ141Bの入力端子と、判定部144の入力端子とが接続されている。 The output terminal of the inverter 141B is connected to the data input terminal D of the FF 141A, and the input terminal of the inverter 141B and the input terminal of the determination unit 144 are connected to the data output terminal Q of the FF 141A.

 インバータ141Bは、入力端子がFF141Aのデータ出力端子Qに接続され、出力端子がFF141Aのデータ入力端子Dに接続されているため、FF141AがクロックBCKで動く度に、データ入力端子Dには自己のデータ出力端子Qの値が反転して入力される。 Since the inverter 141B has an input terminal connected to the data output terminal Q of the FF 141A and an output terminal connected to the data input terminal D of the FF 141A, each time the FF 141A is moved by the clock BCK, the data input terminal D has its own terminal. The value of the data output terminal Q is inverted and input.

 従って、パターン発生部141は、クロックBCKが入力される度に、"1"、"0"を交互に出力するため、パターン発生部141が発生するテストデータtd0は、"1"、"0"を交互に繰り返すデータとなる。 Therefore, since the pattern generator 141 alternately outputs “1” and “0” every time the clock BCK is input, the test data td0 generated by the pattern generator 141 is “1”, “0”. The data is repeated alternately.

 判定部144は、遅延部171A、171B、171C、FF172A、172B、172C、及びEOR(排他的論理和)回路173A、173Bを含む。 The determination unit 144 includes delay units 171A, 171B, 171C, FFs 172A, 172B, 172C, and EOR (exclusive OR) circuits 173A, 173B.

 遅延部171A、171B、171Cは、パターン発生部141のFF141Aのデータ入力端子Dに互いに並列に接続されている。遅延部171Aは、第1遅延部の一例であり、遅延部171Cは第2遅延部の一例である。 The delay units 171A, 171B, and 171C are connected in parallel to the data input terminal D of the FF 141A of the pattern generation unit 141. The delay unit 171A is an example of a first delay unit, and the delay unit 171C is an example of a second delay unit.

 遅延部171Aは5つのバッファを直列に接続した回路であり、出力端子はFF172Aのデータ入力端子Dに接続されている。遅延部171Aの遅延時間は、コア110のFF113C、113Dでデータを同期転送する際のワーストケースのセットアップ時間(setup worst)を実現するために、テストデータtd0に与える遅延時間に設定されている。 The delay unit 171A is a circuit in which five buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 172A. The delay time of the delay unit 171A is set to the delay time given to the test data td0 in order to realize the worst case setup time (setup worst) when data is synchronously transferred by the FFs 113C and 113D of the core 110.

 ここで、ワーストケースのセットアップ時間(setup worst)は、例えば、コア110のFF113C、113Dを通るパスにおいてデータを同期転送する際の最短のセットアップ時間に、所定の余裕時間を加えた時間に設定される。換言すれば、ワーストケースのセットアップ時間(setup worst)は、例えば、コア110のFF113C、113Dを通るパスのうち、最も長いパスのFFで得られる最短のセットアップ時間に、所定の余裕時間を加えた時間に設定される。 Here, the worst-case setup time (setup worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest setup time for synchronously transferring data in the path passing through the FFs 113C and 113D of the core 110. The In other words, the worst-case setup time (setup worst) is obtained by adding a predetermined margin time to the shortest setup time obtained by the longest FF among the paths passing through the FFs 113C and 113D of the core 110, for example. Set to time.

 コア110のFF113C、113Dを通るパスにおいてデータを同期転送する際の最短のセットアップ時間とは、コア110のFF113C、113Dを通るパスにおいて、それ以上セットアップ時間を短くすると同期転送ができなくなる最短の時間をいう。 The shortest setup time for synchronously transferring data in the path passing through the FFs 113C and 113D of the core 110 is the shortest time in which synchronous transfer cannot be performed if the setup time is further shortened in the path passing through the FFs 113C and 113D of the core 110. Say.

 なお、図10にはコア110側のデータ受信用のフリップフロップとして2つのFF113C、113Dを示す。しかしながら、コア110は、実際にはデータ受信用のフリップフロップを多数有するので、すべてのフリップフロップを通るパスにおける最短のセットアップ時間を用いて、ワーストケースのセットアップ時間(setup worst)を決定すればよい。 FIG. 10 shows two FFs 113C and 113D as data reception flip-flops on the core 110 side. However, since the core 110 actually has a large number of flip-flops for data reception, the worst-case setup time (setup worst) may be determined using the shortest setup time in a path passing through all the flip-flops. .

 遅延部171Bは3つのバッファを直列に接続した回路であり、出力端子はFF172Aのデータ入力端子Dに接続されている。遅延部171Bの遅延時間は、コア110のFF113C、113Dのノミナルの時間(nominal)に設定されている。 The delay unit 171B is a circuit in which three buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 172A. The delay time of the delay unit 171B is set to the nominal time of the FFs 113C and 113D of the core 110.

 ここで、ノミナルの時間(nominal)は、コア110のFF113C、113Dを通るパスを伝送される有効データのウィンドウの中央を表す時間に設定される。 Here, the nominal time (nominal) is set to a time representing the center of the window of valid data transmitted through the path passing through the FFs 113C and 113D of the core 110.

 遅延部171Cは1つのバッファで実現される回路であり、出力端子はFF172Aのデータ入力端子Dに接続されている。遅延部171Cの遅延時間は、コア110のFF113C、113Dでデータを同期転送する際のワーストケースのホールド時間(hold worst)を実現するために、テストデータtd0に与える遅延時間に設定されている。 The delay unit 171C is a circuit realized by one buffer, and the output terminal is connected to the data input terminal D of the FF 172A. The delay time of the delay unit 171C is set to the delay time given to the test data td0 in order to realize the worst case hold time (hold worst) when data is synchronously transferred by the FFs 113C and 113D of the core 110.

 ここで、ワーストケースのホールド時間(hold worst)は、例えば、コア110のFF113C、113Dを通るパスにおいてデータを同期転送する際の最短のホールド時間に、所定の余裕時間を加えた時間に設定される。換言すれば、ワーストケースのホールド時間(hold worst)は、例えば、コア110のFF113C、113Dを通るパスのうち、最も長いパスのFFで得られる最短のホールド時間に、所定の余裕時間を加えた時間に設定される。 Here, the worst case hold time (hold worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest hold time for synchronously transferring data in the path passing through the FFs 113C and 113D of the core 110. The In other words, the worst case hold time (hold worst) is obtained by adding a predetermined margin time to the shortest hold time obtained by the FF having the longest path among the paths passing through the FFs 113C and 113D of the core 110, for example. Set to time.

 コア110のFF113C、113Dを通るパスにおいてデータを同期転送する際の最短のホールド時間とは、コア110のFF113C、113Dを通るパスにおいて、それ以上ホールド時間を短くすると同期転送ができなくなる最短の時間をいう。 The shortest hold time when data is synchronously transferred in the path passing through the FFs 113C and 113D of the core 110 is the shortest time in which synchronous transfer cannot be performed if the hold time is further shortened in the path passing through the FFs 113C and 113D of the core 110. Say.

 なお、コア110は、実際にはデータ送信用のフリップフロップを多数有するので、すべてのフリップフロップを通るパスにおけるホールド時間のうち、最も短いホールド時間を用いて、ワーストケースのホールド時間(hold worst)を決定すればよい。 Since the core 110 actually has many flip-flops for data transmission, the worst case hold time (hold (worst) is used by using the shortest hold time among the hold times in the paths passing through all the flip-flops. Can be determined.

 なお、遅延部171A~171Cにおけるバッファの数は一例である。 Note that the number of buffers in the delay units 171A to 171C is an example.

 FF172Aは、データ入力端子Dが遅延部171Aの出力端子に接続され、データ出力端子QがEOR回路173Aの一方の入力端子に接続され、クロック入力端子にクロックCCKが入力される。ここではFF172Aのデータ出力端子Qから出力されるデータをsd0と表す。 In the FF 172A, the data input terminal D is connected to the output terminal of the delay unit 171A, the data output terminal Q is connected to one input terminal of the EOR circuit 173A, and the clock CCK is input to the clock input terminal. Here, data output from the data output terminal Q of the FF 172A is represented as sd0.

 FF172Bは、データ入力端子Dが遅延部171Bの出力端子に接続され、データ出力端子QがEOR回路173Aの他方の入力端子とEOR回路173Bの一方の入力端子とに接続され、クロック入力端子にクロックCCKが入力される。ここではFF172Bのデータ出力端子Qから出力されるデータをnd0と表す。 In the FF 172B, the data input terminal D is connected to the output terminal of the delay unit 171B, the data output terminal Q is connected to the other input terminal of the EOR circuit 173A and one input terminal of the EOR circuit 173B, and the clock input terminal is clocked. CCK is input. Here, data output from the data output terminal Q of the FF 172B is represented as nd0.

 FF172Cは、データ入力端子Dが遅延部171Cの出力端子に接続され、データ出力端子QがEOR回路173Cの他方の入力端子に接続され、クロック入力端子にクロックCCKが入力される。ここではFF172Cのデータ出力端子Qから出力されるデータをhd0と表す。 In the FF 172C, the data input terminal D is connected to the output terminal of the delay unit 171C, the data output terminal Q is connected to the other input terminal of the EOR circuit 173C, and the clock CCK is input to the clock input terminal. Here, data output from the data output terminal Q of the FF 172C is represented as hd0.

 EOR回路173Aは、一方の入力端子にFF172Aのデータ出力端子Qが接続され、他方の入力端子にFF172Bのデータ出力端子Qが接続され、出力端子から遅延制御指令up0を出力する。 In the EOR circuit 173A, the data output terminal Q of the FF 172A is connected to one input terminal, the data output terminal Q of the FF 172B is connected to the other input terminal, and the delay control command up0 is output from the output terminal.

 EOR回路173Bは、一方の入力端子にFF172Bのデータ出力端子Qが接続され、他方の入力端子にFF172Cのデータ出力端子Qが接続され、出力端子から遅延制御指令dwn0を出力する。 In the EOR circuit 173B, the data output terminal Q of the FF 172B is connected to one input terminal, the data output terminal Q of the FF 172C is connected to the other input terminal, and the delay control command dwn0 is output from the output terminal.

 次に、図11を用いて、同期判定部140のパターン発生部141と判定部144の動作について説明する。 Next, operations of the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 will be described with reference to FIG.

 図11は、実施の形態1の同期データ処理回路100の同期判定部140のパターン発生部141及び判定部144の動作例を示すタイミングチャートである。 FIG. 11 is a timing chart illustrating an operation example of the pattern generation unit 141 and the determination unit 144 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.

 図11には、クロックBCK、CCK、テストデータtd0、遅延部171Aの出力データ(setup worst)、遅延部171Bの出力データ(nominal)、遅延部171Cの出力データ(hold worst)、FF172A~172Cの出力データsd0、nd0、hd0、及び遅延制御指令up0、dwn0の遷移を示す。 FIG. 11 shows clocks BCK, CCK, test data td0, output data of delay unit 171A (setup 部 worst), output data of delay unit 171B (nominal), output data of delay unit 171C (hold worst), and FFs 172A to 172C. The transition of output data sd0, nd0, hd0 and delay control commands up0, dwn0 is shown.

 ここで、遅延部171Aの出力データ(setup worst)は、テストデータtd0を遅延部171Aで遅延させたデータである。遅延部171Bの出力データ(nominal)は、テストデータtd0を遅延部171Bで遅延させたデータである。遅延部171Cの出力データ(hold worst)は、テストデータtd0を遅延部171Cで遅延させたデータである。遅延部171A~171Cでテストデータtd0に与える遅延時間を図11では矢印で示す。 Here, the output data (setup worst) of the delay unit 171A is data obtained by delaying the test data td0 by the delay unit 171A. The output data (nominal) of the delay unit 171B is data obtained by delaying the test data td0 by the delay unit 171B. The output data (hold worst) of the delay unit 171C is data obtained by delaying the test data td0 by the delay unit 171C. A delay time given to the test data td0 by the delay units 171A to 171C is indicated by an arrow in FIG.

 図11(A)は、バス120からコア110にデータが同期転送されている状態におけるタイミングチャートである。 FIG. 11A is a timing chart in a state where data is synchronously transferred from the bus 120 to the core 110.

 図11(A)に示すように、クロックBCKとCCKの位相が等しい場合は、パターン発生部141から出力されるテストデータtd0の立ち上がりの位相は、クロックCCKの立ち上がりの位相と等しい。 As shown in FIG. 11A, when the phases of the clocks BCK and CCK are equal, the rising phase of the test data td0 output from the pattern generator 141 is equal to the rising phase of the clock CCK.

 この場合に、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、FF172Cの出力hd0は時刻t1でテストデータtd0と等しいLレベルになっている。 In this case, the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hd0 of the FF 172C is the time At t1, the L level is equal to the test data td0.

 また、遅延部171Bの出力データ(nominal)は、時刻t1のクロックCCKの立ち上がりよりも十分に後であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Also, the output data (nominal) of the delay unit 171B is sufficiently later than the rising edge of the clock CCK at time t1, and the output nd0 of the FF 172B is at the L level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t2におけるクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF172Aの出力sd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Also, the rise of the output data (setuprstworst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1. The L level is equal to the test data td0.

 このため、EOR回路173A及び173Bの出力はともに"0"になり、遅延制御指令up0、dwn0はともにLレベルである。 Therefore, the outputs of the EOR circuits 173A and 173B are both “0”, and the delay control commands up0 and dwn0 are both at the L level.

 次に、図11(B)に示すように、バス120側のパターン発生部141に入力されるクロックBCKに対して、コア110側の判定部144に入力されるクロックCCKが遅れている場合について説明する。このケースは、DVFSによりコア110への供給電圧が低下することによってクロックCCKが遅れている場合に相当する。 Next, as shown in FIG. 11B, a case where the clock CCK input to the determination unit 144 on the core 110 side is delayed with respect to the clock BCK input to the pattern generation unit 141 on the bus 120 side. explain. This case corresponds to a case where the clock CCK is delayed due to a drop in the supply voltage to the core 110 due to DVFS.

 図11(B)に示すように、クロックBCKに対してCCKの位相が遅れている場合は、時刻t1におけるクロックCCKの立ち上がりのタイミングは、パターン発生部141から出力されるテストデータtd0の立ち上がりのタイミングよりも遅れている。 As shown in FIG. 11B, when the phase of CCK is delayed with respect to the clock BCK, the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generator 141. It is behind the timing.

 この場合に、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも前であり(timing violated)、クロックCCKの時刻t1の立ち上がりで既に遅延部171Cの出力データ(hold worst)はHレベルになっている。これはホールド時間が足りておらず、ホールド時間の制約に違反したケースである。 In this case, the rise of the output data (hold worst) of the delay unit 171C is prior to the rise of the clock CCK at time t1 (timing violated), and the output data of the delay unit 171C is already at the rise of the clock CCK at time t1. (Hold worst) is at the H level. This is a case where the hold time is insufficient and the hold time constraint is violated.

 このため、遅延部171Cの出力データ(hold worst)のLレベルを取得できず、FF172Cの出力hd0は時刻t1でテストデータtd0と異なるHレベルになる。 Therefore, the L level of the output data (hold low) of the delay unit 171C cannot be acquired, and the output hd0 of the FF 172C becomes an H level different from the test data td0 at time t1.

 また、遅延部171Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも十分に後であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Also, the rise of the output data (nominal) of the delay unit 171B is sufficiently later than the rise of the clock CCK at time t1, and the output nd0 of the FF 172B is at L level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりの次にクロックCCKが立ち上がる時刻t2よりも前であり(timing met)、セットアップ時間が確保されているため、FF172Aの出力sd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Further, the rise of the output data (setuprstworst) of the delay unit 171A is before the time t2 when the clock CCK rises after the rise of the clock CCK at time t1 (timing met), and the setup time is secured. The output sd0 of the FF 172A is at the L level equal to the test data td0 at time t1.

 このため、EOR回路173Aの出力は"0"になるとともに、EOR回路173Bの出力は"1"になるため、遅延制御指令up0はLレベル、遅延制御指令dwn0はHレベルになる。すなわち、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwnが判定部144から出力される。 Therefore, the output of the EOR circuit 173A becomes “0” and the output of the EOR circuit 173B becomes “1”, so that the delay control command up0 becomes L level and the delay control command dwn0 becomes H level. That is, in order to advance the phase of the clock CCK, an H level delay control command dwn is output from the determination unit 144.

 次に、図11(C)に示すように、バス120側のパターン発生部141に入力されるクロックBCKに対して、コア110側の判定部144に入力されるクロックCCKが進んでいる場合について説明する。このケースは、DVFSによりコア110への供給電圧が低下していた状態から上昇されることによってクロックCCKが進んでいる場合に相当する。 Next, as shown in FIG. 11C, the clock CCK input to the determination unit 144 on the core 110 side is advanced with respect to the clock BCK input to the pattern generation unit 141 on the bus 120 side. explain. This case corresponds to the case where the clock CCK is advanced by raising from the state where the supply voltage to the core 110 has been lowered by DVFS.

 図11(C)に示すように、クロックBCKに対してCCKの位相が進んでいる場合は、時刻t1におけるクロックCCKの立ち上がりのタイミングは、パターン発生部141から出力されるテストデータtd0の立ち上がりのタイミングよりも進んでいる。 As shown in FIG. 11C, when the phase of the CCK is advanced with respect to the clock BCK, the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generation unit 141. More advanced than timing.

 この場合に、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも1つ前の立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、クロックCCKの時刻t1の立ち上がりで遅延部171Cの出力データ(hold worst)のHレベルを取得する。このため、FF172Cの出力hd0は時刻t1でテストデータtd0と等しいHレベルになる。 In this case, the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured. The H level of the output data (hold worst) of the delay unit 171C is acquired at the rising edge of the clock CCK at time t1. Therefore, the output hd0 of the FF 172C becomes H level equal to the test data td0 at time t1.

 また、遅延部171Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも十分に前であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいHレベルになる。 Also, the rise of the output data (nominal) of the delay unit 171B is sufficiently before the rise of the clock CCK at time t1, and the output nd0 of the FF 172B becomes H level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing violated)、時刻t1でクロックCCKが立ち上がった際に、Hレベルに切り替わっておらず、Lレベルのままである。これは、セットアップ時間の制約に違反したケースである。このため、FF172Aの出力sd0は時刻t1でテストデータtd0とは異なるLレベルに保持される。 The rising edge of the output data (setup worst) of the delay unit 171A is later than the rising edge of the clock CCK at time t1 (timing violated), and when the clock CCK rises at time t1, it has not switched to the H level. However, it remains at the L level. This is a case where the setup time constraint is violated. Therefore, the output sd0 of the FF 172A is held at the L level different from the test data td0 at time t1.

 このため、EOR回路173Aの出力は"1"になるとともに、EOR回路173Bの出力は"0"になるため、遅延制御指令up0はHレベル、遅延制御指令dwn0はLレベルになる。すなわち、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令upが判定部144から出力される。 Therefore, since the output of the EOR circuit 173A becomes “1” and the output of the EOR circuit 173B becomes “0”, the delay control command up0 becomes the H level and the delay control command dwn0 becomes the L level. That is, an H-level delay control command up is output from the determination unit 144 in order to delay the phase of the clock CCK.

 以上のように、判定部144は、パターン発生部141に入力されるクロックBCKに対して、判定部144に入力されるクロックCCKが遅れており、遅延部171Cの出力データ(hold worst)を正しく取得できない場合は、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwnを出力する。 As described above, in the determination unit 144, the clock CCK input to the determination unit 144 is delayed with respect to the clock BCK input to the pattern generation unit 141, and the output data (hold worst) of the delay unit 171C is correctly set. If it cannot be obtained, an H level delay control command dwn is output to advance the phase of the clock CCK.

 また、判定部144は、パターン発生部141に入力されるクロックBCKに対して、判定部144に入力されるクロックCCKが進んでおり、遅延部171Aの出力データ(setup worst)を正しく取得できない場合は、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令up0を出力する。 Further, the determination unit 144 is not able to correctly acquire the output data (setup 判定 worst) of the delay unit 171A because the clock CCK input to the determination unit 144 is advanced with respect to the clock BCK input to the pattern generation unit 141. Outputs a delay control command up0 of H level to delay the phase of the clock CCK.

 なお、判定部144は、遅延部171Cの出力データ(hold worst)と、遅延部171Aの出力データ(setup worst)とが遅延部171Bの出力データ(nominal)と等しく正しく取得できている場合は、ともにLレベルの遅延制御指令up0、dwn0を出力する。 Note that the determination unit 144 obtains the output data (hold worst) of the delay unit 171C and the output data (setup worst) of the delay unit 171A correctly and correctly with the output data (nominal) of the delay unit 171B. Both output L level delay control commands up0 and dwn0.

 次に、図12を用いて同期判定部140の判定部142とパターン発生部143の回路構成について説明する。 Next, the circuit configuration of the determination unit 142 and the pattern generation unit 143 of the synchronization determination unit 140 will be described with reference to FIG.

 図12は、実施の形態1の同期データ処理回路100の同期判定部140の判定部142及びパターン発生部143を示す図である。 FIG. 12 is a diagram illustrating the determination unit 142 and the pattern generation unit 143 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.

 パターン発生部143は、FF143Aとインバータ143Bを含む。FF143Aのクロック入力端子には、クロックCCKがバッファ122B(図8参照)から入力される。 The pattern generator 143 includes an FF 143A and an inverter 143B. The clock CCK is input from the buffer 122B (see FIG. 8) to the clock input terminal of the FF 143A.

 FF143Aのデータ入力端子Dにはインバータ143Bの出力端子が接続されており、FF143Aのデータ出力端子Qにはインバータ143Bの入力端子と、判定部142の入力端子とが接続されている。 The output terminal of the inverter 143B is connected to the data input terminal D of the FF 143A, and the input terminal of the inverter 143B and the input terminal of the determination unit 142 are connected to the data output terminal Q of the FF 143A.

 インバータ143Bは、入力端子がFF143Aのデータ出力端子Qに接続され、出力端子がFF143Aのデータ入力端子Dに接続されているため、FF143AがクロックCCKで動く度に、データ入力端子Dには自己のデータ出力端子Qの値が反転して入力される。 Since the input terminal of the inverter 143B is connected to the data output terminal Q of the FF 143A and the output terminal is connected to the data input terminal D of the FF 143A, each time the FF 143A is moved by the clock CCK, the data input terminal D has its own terminal. The value of the data output terminal Q is inverted and input.

 従って、パターン発生部143は、クロックCCKが入力される度に、"1"、"0"を交互に出力するため、パターン発生部143が発生するテストデータtd1は、"1"、"0"を交互に繰り返すデータとなる。 Therefore, since the pattern generator 143 alternately outputs “1” and “0” every time the clock CCK is input, the test data td1 generated by the pattern generator 143 is “1”, “0”. The data is repeated alternately.

 判定部142は、遅延部181A、181B、181C、FF182A、182B、182C、及びEOR(排他的論理和)回路183A、183Bを含む。 The determination unit 142 includes delay units 181A, 181B, 181C, FFs 182A, 182B, 182C, and EOR (exclusive OR) circuits 183A, 183B.

 遅延部181A、181B、181Cは、パターン発生部143のFF141Aのデータ入力端子Dに互いに並列に接続されている。遅延部181Aは、第1遅延部の一例であり、遅延部181Cは第2遅延部の一例である。 The delay units 181A, 181B, 181C are connected in parallel to the data input terminal D of the FF 141A of the pattern generation unit 143. The delay unit 181A is an example of a first delay unit, and the delay unit 181C is an example of a second delay unit.

 遅延部181Aは5つのバッファを直列に接続した回路であり、出力端子はFF182Aのデータ入力端子Dに接続されている。遅延部181Aの遅延時間は、コア110のFF113A、113Bでデータを同期転送する際のワーストケースのセットアップ時間(setup worst)を実現するために、テストデータtd1に与える遅延時間に設定されている。 The delay unit 181A is a circuit in which five buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 182A. The delay time of the delay unit 181A is set to the delay time given to the test data td1 in order to realize the worst-case setup time (setup worst) when data is synchronously transferred by the FFs 113A and 113B of the core 110.

 ここで、ワーストケースのセットアップ時間(setup worst)は、例えば、コア110のFF113A、113Bを通るパスにおいてデータを同期転送する際の最短のセットアップ時間に、所定の余裕時間を加えた時間に設定される。換言すれば、ワーストケースのセットアップ時間(setup worst)は、例えば、コア110のFF113A、113Bを通るパスのうち、最も長いパスのFFで得られる最短のセットアップ時間に、所定の余裕時間を加えた時間に設定される。 Here, the worst-case setup time (setup worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest setup time for synchronously transferring data in the path passing through the FFs 113A and 113B of the core 110. The In other words, the worst-case setup time (setup worst) is obtained by adding a predetermined margin time to the shortest setup time obtained by the longest FF among the paths passing through the FFs 113A and 113B of the core 110, for example. Set to time.

 コア110のFF113A、113Bを通るパスにおいてデータを同期転送する際の最短のセットアップ時間とは、コア110のFF113A、113Bを通るパスにおいて、それ以上セットアップ時間を短くすると同期転送ができなくなる最短の時間をいう。 The shortest setup time for synchronously transferring data in the path passing through the FFs 113A and 113B of the core 110 is the shortest time in which synchronous transfer cannot be performed if the setup time is further shortened in the path passing through the FFs 113A and 113B of the core 110. Say.

 なお、図12にはコア110側のデータ送信用のフリップフロップとして2つのFF113A、113Bを示す。しかしながら、コア110は、実際にはデータ送信用のフリップフロップを多数有するので、すべてのフリップフロップを通るパスにおける最短のセットアップ時間を用いて、ワーストケースのセットアップ時間(setup worst)を決定すればよい。 In FIG. 12, two FFs 113A and 113B are shown as flip-flops for data transmission on the core 110 side. However, since the core 110 actually has a large number of data transmission flip-flops, the worst-case setup time (setup worst) may be determined using the shortest setup time in a path passing through all the flip-flops. .

 遅延部181Bは3つのバッファを直列に接続した回路であり、出力端子はFF182Aのデータ入力端子Dに接続されている。遅延部181Bの遅延時間は、コア110のFF113A、113Bのノミナルの時間(nominal)を実現するために、テストデータtd1に与える遅延時間に設定されている。 The delay unit 181B is a circuit in which three buffers are connected in series, and the output terminal is connected to the data input terminal D of the FF 182A. The delay time of the delay unit 181B is set to the delay time given to the test data td1 in order to realize the nominal time of the FFs 113A and 113B of the core 110.

 ここで、ノミナルの時間(nominal)は、コア110のFF113A、113Bを通るパスを伝送される有効データのウィンドウの中央を表す時間に設定される。 Here, the nominal time (nominal) is set to a time representing the center of the window of valid data transmitted through the path passing through the FFs 113A and 113B of the core 110.

 遅延部181Cは1つのバッファで実現される回路であり、出力端子はFF182Aのデータ入力端子Dに接続されている。遅延部181Cの遅延時間は、コア110のFF113A、113Bでデータを同期転送する際のワーストケースのホールド時間(hold worst)を実現するために、テストデータtd0に与える遅延時間に設定されている。 The delay unit 181C is a circuit realized by one buffer, and its output terminal is connected to the data input terminal D of the FF 182A. The delay time of the delay unit 181C is set to the delay time given to the test data td0 in order to realize the worst case hold time (hold 際 worst) when data is synchronously transferred by the FFs 113A and 113B of the core 110.

 ここで、ワーストケースのホールド時間(hold worst)は、例えば、コア110のFF113A、113Bを通るパスにおいてデータを同期転送する際の最短のホールド時間に、所定の余裕時間を加えた時間に設定される。換言すれば、ワーストケースのホールド時間(hold worst)は、例えば、コア110のFF113A、113Bを通るパスのうち、最も長いパスのFFで得られる最短のホールド時間に、所定の余裕時間を加えた時間に設定される。 Here, the worst case hold time (hold worst) is set to, for example, a time obtained by adding a predetermined margin time to the shortest hold time for synchronously transferring data in the path passing through the FFs 113A and 113B of the core 110. The In other words, the worst case hold time (hold worst) is obtained by adding a predetermined margin time to the shortest hold time obtained by the FF having the longest path among the paths passing through the FFs 113A and 113B of the core 110, for example. Set to time.

 コア110のFF113A、113Bを通るパスにおいてデータを同期転送する際の最短のホールド時間とは、コア110のFF113A、113Bを通るパスにおいて、それ以上ホールド時間を短くすると同期転送ができなくなる最短の時間をいう。 The shortest hold time when data is synchronously transferred in the path passing through the FFs 113A and 113B of the core 110 is the shortest time in which synchronous transfer cannot be performed if the hold time is further shortened in the path passing through the FFs 113A and 113B of the core 110. Say.

 なお、コア110は、実際にはデータ送信用のフリップフロップを多数有するので、すべてのフリップフロップを通るパスにおけるホールド時間のうち、最も短いホールド時間を用いて、ワーストケースのホールド時間(hold worst)を決定すればよい。 Since the core 110 actually has many flip-flops for data transmission, the worst case hold time (hold (worst) is used by using the shortest hold time among the hold times in the paths passing through all the flip-flops. Can be determined.

 なお、遅延部181A~181Cにおけるバッファの数は一例である。 Note that the number of buffers in the delay units 181A to 181C is an example.

 FF182Aは、データ入力端子Dが遅延部181Aの出力端子に接続され、データ出力端子QがEOR回路183Aの一方の入力端子に接続され、クロック入力端子にクロックBCKが入力される。ここではFF182Aのデータ出力端子Qから出力されるデータをsd1と表す。 In the FF 182A, the data input terminal D is connected to the output terminal of the delay unit 181A, the data output terminal Q is connected to one input terminal of the EOR circuit 183A, and the clock BCK is input to the clock input terminal. Here, the data output from the data output terminal Q of the FF 182A is represented as sd1.

 FF182Bは、データ入力端子Dが遅延部181Bの出力端子に接続され、データ出力端子QがEOR回路183Aの他方の入力端子とEOR回路183Bの一方の入力端子とに接続され、クロック入力端子にクロックBCKが入力される。ここではFF182Bのデータ出力端子Qから出力されるデータをnd1と表す。 In the FF 182B, the data input terminal D is connected to the output terminal of the delay unit 181B, the data output terminal Q is connected to the other input terminal of the EOR circuit 183A and one input terminal of the EOR circuit 183B, and the clock input terminal is clocked. BCK is input. Here, data output from the data output terminal Q of the FF 182B is represented as nd1.

 FF182Cは、データ入力端子Dが遅延部181Cの出力端子に接続され、データ出力端子QがEOR回路183Cの他方の入力端子に接続され、クロック入力端子にクロックBCKが入力される。ここではFF182Cのデータ出力端子Qから出力されるデータをhd1と表す。 In the FF 182C, the data input terminal D is connected to the output terminal of the delay unit 181C, the data output terminal Q is connected to the other input terminal of the EOR circuit 183C, and the clock BCK is input to the clock input terminal. Here, data output from the data output terminal Q of the FF 182C is represented by hd1.

 EOR回路183Aは、一方の入力端子にFF182Aのデータ出力端子Qが接続され、他方の入力端子にFF182Bのデータ出力端子Qが接続され、出力端子から遅延制御指令dwn1を出力する。 In the EOR circuit 183A, the data output terminal Q of the FF 182A is connected to one input terminal, the data output terminal Q of the FF 182B is connected to the other input terminal, and the delay control command dwn1 is output from the output terminal.

 EOR回路183Bは、一方の入力端子にFF182Bのデータ出力端子Qが接続され、他方の入力端子にFF182Cのデータ出力端子Qが接続され、出力端子から遅延制御指令up1を出力する。 In the EOR circuit 183B, the data output terminal Q of the FF 182B is connected to one input terminal, the data output terminal Q of the FF 182C is connected to the other input terminal, and the delay control command up1 is output from the output terminal.

 次に、図13を用いて、同期判定部140の判定部142とパターン発生部143の動作について説明する。 Next, the operations of the determination unit 142 and the pattern generation unit 143 of the synchronization determination unit 140 will be described with reference to FIG.

 図13は、実施の形態1の同期データ処理回路100の同期判定部140の判定部142及びパターン発生部143の動作例を示すタイミングチャートである。 FIG. 13 is a timing chart illustrating an operation example of the determination unit 142 and the pattern generation unit 143 of the synchronization determination unit 140 of the synchronous data processing circuit 100 according to the first embodiment.

 図13には、クロックBCK、CCK、テストデータtd1、遅延部181Aの出力データ(setup worst)、遅延部181Bの出力データ(nominal)、遅延部181Cの出力データ(hold worst)、FF182A~182Cの出力データsd1、nd1、hd1、及び遅延制御指令up1、dwn1の遷移を示す。 FIG. 13 shows clocks BCK, CCK, test data td1, output data of delay unit 181A (setup worst), output data of delay unit 181B (nominal), output data of delay unit 181C (hold worst), and FFs 182A to 182C. The transition of the output data sd1, nd1, hd1, and delay control commands up1, dwn1 is shown.

 図13(A)は、コア110からバス120にデータが同期転送されている状態におけるタイミングチャートである。 FIG. 13A is a timing chart in a state where data is synchronously transferred from the core 110 to the bus 120.

 図13(A)に示すように、クロックBCKとCCKの位相が等しい場合は、パターン発生部143から出力されるテストデータtd1の立ち上がりの位相は、クロックBCKの立ち上がりの位相と等しい。 As shown in FIG. 13A, when the phases of the clocks BCK and CCK are equal, the rising phase of the test data td1 output from the pattern generator 143 is equal to the rising phase of the clock BCK.

 この場合に、遅延部181Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックBCKの立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、FF182Cの出力hd1は時刻t1でテストデータtd1と等しいLレベルになっている。 In this case, the rise of the output data (hold worst) of the delay unit 181C is later than the rise of the clock BCK at time t1 (timing met), and the hold time is secured, so the output hd1 of the FF 182C is the time At t1, the L level is equal to the test data td1.

 また、遅延部181Bの出力データ(nominal)は、時刻t1のクロックBCKの立ち上がりよりも十分に後であり、FF182Bの出力nd1は時刻t1でテストデータtd1と等しいLレベルになっている。 The output data (nominal) of the delay unit 181B is sufficiently later than the rising edge of the clock BCK at time t1, and the output nd1 of the FF 182B is at L level equal to the test data td1 at time t1.

 また、遅延部181Aの出力データ(setup worst)の立ち上がりは、時刻t2のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF182Aの出力sd1は時刻t1でテストデータtd1と等しいLレベルになっている。 The rise of the output data (setup worst) of the delay unit 181A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd1 of the FF 182A is at time t1. The L level is equal to the test data td1.

 このため、EOR回路183A及び183Bの出力はともに"0"になり、遅延制御指令up1、dwn1はともにLレベルである。 Therefore, the outputs of the EOR circuits 183A and 183B are both “0”, and the delay control commands up1 and dwn1 are both at the L level.

 次に、図13(B)に示すように、バス120側のパターン発生部143に入力されるクロックBCKに対して、コア110側の判定部142に入力されるクロックCCKが進んでいる場合について説明する。このケースは、DVFSによりコア110への供給電圧が低下していた状態から上昇されることによってクロックCCKが進んでいる場合に相当する。 Next, as shown in FIG. 13B, the clock CCK input to the determination unit 142 on the core 110 side is advanced with respect to the clock BCK input to the pattern generation unit 143 on the bus 120 side. explain. This case corresponds to the case where the clock CCK is advanced by raising from the state where the supply voltage to the core 110 has been lowered by DVFS.

 図13(B)に示すように、クロックBCKに対してCCKの位相が進んでいる場合は、時刻t1におけるクロックBCKの立ち上がりのタイミングは、パターン発生部143から出力されるテストデータtd1の立ち上がりのタイミングよりも遅れている。 As shown in FIG. 13B, when the phase of the CCK is advanced with respect to the clock BCK, the rising timing of the clock BCK at the time t1 is the rising timing of the test data td1 output from the pattern generator 143. It is behind the timing.

 この場合に、遅延部181Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックBCKの立ち上がりよりも前であり(timing violated)、クロックBCKの時刻t1の立ち上がりで既に遅延部181Cの出力データ(hold worst)はHレベルになっている。これはホールド時間が足りておらず、ホールド時間の制約に違反したケースである。 In this case, the rise of the output data (hold worst) of the delay unit 181C is prior to the rise of the clock BCK at time t1 (timing violated), and the output data of the delay unit 181C is already at the rise of the clock BCK at time t1. (Hold worst) is at the H level. This is a case where the hold time is insufficient and the hold time constraint is violated.

 このため、遅延部181Cの出力データ(hold worst)のLレベルを取得できず、FF182Cの出力hd1は時刻t1でテストデータtd1と異なるHレベルになる。 Therefore, the L level of the output data (hold low) of the delay unit 181C cannot be acquired, and the output hd1 of the FF 182C becomes an H level different from the test data td1 at time t1.

 また、遅延部181Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックBCKの立ち上がりよりも十分に後であり、FF182Bの出力nd1は時刻t1でテストデータtd1と等しいLレベルになっている。 Also, the rise of the output data (nominal) of the delay unit 181B is sufficiently later than the rise of the clock BCK at time t1, and the output nd1 of the FF 182B is at the L level equal to the test data td1 at time t1.

 また、遅延部181Aの出力データ(setup worst)の立ち上がりは、時刻t2のクロックBCKが立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF182Aの出力sd1は時刻t1でテストデータtd1と等しいLレベルになっている。 Also, the rise of the output data (setuprstworst) of the delay unit 181A is before the rise of the clock BCK at time t2 (timing met), and the setup time is secured, so the output sd1 of the FF 182A is at time t1. The L level is equal to the test data td1.

 このため、EOR回路183Aの出力は"0"になるとともに、EOR回路183Bの出力は"1"になるため、遅延制御指令dwn1はLレベル、遅延制御指令up1はHレベルになる。すなわち、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令up1が判定部142から出力される。 Therefore, the output of the EOR circuit 183A becomes “0” and the output of the EOR circuit 183B becomes “1”, so that the delay control command dwn1 becomes L level and the delay control command up1 becomes H level. That is, in order to delay the phase of the clock CCK, an H level delay control command up 1 is output from the determination unit 142.

 次に、図13(C)に示すように、バス120側のパターン発生部143に入力されるクロックBCKに対して、コア110側の判定部142に入力されるクロックCCKが遅れている場合について説明する。このケースは、DVFSによりコア110への供給電圧が低下することによってクロックCCKが遅れている場合に相当する。 Next, as shown in FIG. 13C, the clock CCK input to the determination unit 142 on the core 110 is delayed with respect to the clock BCK input to the pattern generation unit 143 on the bus 120 side. explain. This case corresponds to a case where the clock CCK is delayed due to a drop in the supply voltage to the core 110 due to DVFS.

 図13(C)に示すように、クロックBCKに対してCCKの位相が遅れている場合は、時刻t1におけるクロックBCKの立ち上がりのタイミングは、パターン発生部143から出力されるテストデータtd1の立ち上がりのタイミングよりも進んでいる。 As shown in FIG. 13C, when the phase of the CCK is delayed with respect to the clock BCK, the rising timing of the clock BCK at the time t1 is the rising edge of the test data td1 output from the pattern generator 143. More advanced than timing.

 この場合に、遅延部181Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックBCKの立ち上がりよりも1つ前の立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、クロックBCKの時刻t1の立ち上がりで遅延部181Cの出力データ(hold worst)のHレベルを取得する。このため、FF182Cの出力hd1は時刻t1でテストデータtd1と等しいHレベルになる。 In this case, the rise of the output data (hold worst) of the delay unit 181C is later than the rise of the clock BCK just before the rise of the clock BCK at time t1 (timing met), and the hold time is secured. The H level of the output data (hold worst) of the delay unit 181C is acquired at the rising edge of the clock BCK at time t1. For this reason, the output hd1 of the FF 182C becomes H level equal to the test data td1 at time t1.

 また、遅延部181Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックBCKの立ち上がりよりも十分に前であり、FF182Bの出力nd1は時刻t1でテストデータtd1と等しいHレベルになる。 Also, the rise of the output data (nominal) of the delay unit 181B is sufficiently before the rise of the clock BCK at time t1, and the output nd1 of the FF 182B becomes H level equal to the test data td1 at time t1.

 また、遅延部181Aの出力データ(setup worst)の立ち上がりは、時刻t1のクロックBCKの立ち上がりよりも後であり(timing violated)、時刻t1でクロックBCKが立ち上がった際に、Hレベルに切り替わっておらず、Lレベルのままである。これは、セットアップ時間の制約に違反したケースである。このため、FF182Aの出力sd1は時刻t1でテストデータtd1とは異なるLレベルに保持される。 The rise of the output data (setup worst) of the delay unit 181A is later than the rise of the clock BCK at time t1 (timing violated), and when the clock BCK rises at time t1, it has not been switched to the H level. However, it remains at the L level. This is a case where the setup time constraint is violated. Therefore, the output sd1 of the FF 182A is held at an L level different from the test data td1 at time t1.

 このため、EOR回路183Aの出力は"1"になるとともに、EOR回路183Bの出力は"0"になるため、遅延制御指令dwn1はHレベル、遅延制御指令up1はLレベルになる。すなわち、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwn1が判定部142から出力される。 Therefore, the output of the EOR circuit 183A becomes “1” and the output of the EOR circuit 183B becomes “0”, so that the delay control command dwn1 becomes the H level and the delay control command up1 becomes the L level. That is, in order to advance the phase of the clock CCK, an H level delay control command dwn1 is output from the determination unit 142.

 以上のように、判定部142は、パターン発生部143に入力されるクロックBCKに対して、判定部142に入力されるクロックCCKが進んでおり、遅延部181Cの出力データ(hold worst)を正しく取得できない場合は、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令up1を出力する。 As described above, in the determination unit 142, the clock CCK input to the determination unit 142 is advanced with respect to the clock BCK input to the pattern generation unit 143, and the output data (hold worst) of the delay unit 181C is correctly set. If it cannot be obtained, an H level delay control command up1 is output to delay the phase of the clock CCK.

 また、判定部142は、パターン発生部143に入力されるクロックBCKに対して、判定部142に入力されるクロックCCKが遅れており、遅延部181Aの出力データ(setup worst)を正しく取得できない場合は、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwn1を出力する。 Further, the determination unit 142 is unable to correctly acquire the output data (setup worst) of the delay unit 181A because the clock CCK input to the determination unit 142 is delayed with respect to the clock BCK input to the pattern generation unit 143. Outputs an H level delay control command dwn1 to advance the phase of the clock CCK.

 なお、判定部142は、遅延部181Cの出力データ(hold worst)と、遅延部181Aの出力データ(setup worst)とが遅延部181Bの出力データ(nominal)と等しく正しく取得できている場合は、ともにLレベルの遅延制御指令up1、dwn1を出力する。 Note that when the output data (hold worst) of the delay unit 181C and the output data (setup worst) of the delay unit 181A are correctly acquired equally to the output data (nominal) of the delay unit 181B, the determination unit 142 Both output L level delay control commands up1 and dwn1.

 以上のように、実施の形態1の同期データ処理回路100によれば、バス120側のクロックBCKに対するコア110側のクロックCCKの位相差が所定値(ワーストケースのホールド時間(hold worst)又はワーストケースのセットアップ時間(setup worst))より大きくなると、遅延制御指令up1、dwn1でクロックCCKの位相を調整する。 As described above, according to the synchronous data processing circuit 100 of the first embodiment, the phase difference between the clock BCK on the bus 120 side and the clock CCK on the core 110 side is a predetermined value (worst case hold time (hold (worst) or worst). When it becomes longer than the setup time (setup worst) of the case, the phase of the clock CCK is adjusted by the delay control commands up1 and dwn1.

 従って、コア110とバス120との間で、データの同期転送を安定的に行うことのできる同期データ処理回路100を提供することができる。 Therefore, it is possible to provide the synchronous data processing circuit 100 that can stably perform the synchronous transfer of data between the core 110 and the bus 120.

 また、DVFSによる消費電力化を図りつつ、上述のように可変ディレイ部130でコア110に入力するクロックの位相を調整することにより、コア110への供給電力が低下した状態でも、データを同期転送することができる。 In addition, by reducing the power consumption by DVFS and adjusting the phase of the clock input to the core 110 by the variable delay unit 130 as described above, the data is synchronously transferred even when the power supplied to the core 110 is reduced. can do.

 以上のように、実施の形態1の同期データ処理回路100によれば、消費電力の低減を図りつつ、データの同期転送を安定的に行うことができる。 As described above, according to the synchronous data processing circuit 100 of the first embodiment, it is possible to stably perform synchronous data transfer while reducing power consumption.

 このような実施の形態1の同期データ処理回路100は、例えば、通信速度が100Mbpsを超える高速データ通信規格であるLTE(Long Term Evolution)に好適である。 The synchronous data processing circuit 100 according to the first embodiment is suitable for, for example, LTE (Long Term Evolution), which is a high-speed data communication standard with a communication speed exceeding 100 Mbps.

 近年、例えば図1に示すスマートフォン端末機10のような携帯端末機では、可能な限りバッテリーの持続時間を延伸するために、システム全体の低消費電力化の要求が厳しくなってきている。 In recent years, for example, in a portable terminal such as the smartphone terminal 10 shown in FIG. 1, in order to extend the duration of the battery as much as possible, the demand for low power consumption of the entire system has become strict.

 その一方で、100Mbpsを超える高速データ通信規格であるLTEの採用により、ベースバンド・モジュールに使われるLSIの高速処理要求も厳しくなってきている。また、現在のLTEに対応する基地局の数が少ないことからLTEが使える範囲は狭いため、LTEが使えない場所では自動的に普及の進んでいる3G通信規格であるW-CDMA(Wideband-CDMA)等への切換機能が要求される。 On the other hand, with the adoption of LTE, which is a high-speed data communication standard exceeding 100 Mbps, requirements for high-speed processing of LSIs used in baseband modules are becoming stricter. In addition, since the number of base stations corresponding to the current LTE is small, the range in which LTE can be used is narrow. Therefore, W-CDMA (Wideband-CDMA), which is a 3G communication standard that is automatically spreading in places where LTE cannot be used. ) Etc. are required.

 図1に示すスマートフォン端末機10のような携帯端末機では、例えば、ベースバンドモジュール60において、LTE基地局を検索してもアンテナ81で信号を受信できない場合、システムコントローラ42からの指示でベースバンドモジュール60の機能をLTEからW-CDMAに切り換える。 In a mobile terminal such as the smartphone terminal 10 shown in FIG. 1, for example, in the baseband module 60, if a signal cannot be received by the antenna 81 even after searching for an LTE base station, the baseband is received by an instruction from the system controller 42. The function of the module 60 is switched from LTE to W-CDMA.

 ここで、W-CDMAはLTEよりも通信速度が低いため、LTE程のデータ処理性能を必要としない。また、LTEとW-CDMAの両方の通信を可能とする場合、ベースバンドモジュール60は、LTE規格に合わせて高速データ処理が可能な仕様にされる。 Here, since the communication speed of W-CDMA is lower than that of LTE, the data processing performance is not as high as that of LTE. Further, when both LTE and W-CDMA communication are possible, the baseband module 60 is set to a specification that enables high-speed data processing in accordance with the LTE standard.

 このようなベースバンドモジュール60をW-CDMAでの通信に切り替えると、性能過剰であるため、W-CDMA用に設計されたベースバンドモジュールを使用する場合よりも、消費電力が大きくなるという問題がある。 When such a baseband module 60 is switched to W-CDMA communication, the performance is excessive, so that there is a problem that power consumption becomes larger than when a baseband module designed for W-CDMA is used. is there.

 また、通話時の音声処理や待ち受け時においても、高速処理性能を必要としないため、W-CDMA用に設計されたベースバンドモジュールを使用する場合よりも、消費電力が大きくなるという問題がある。 Also, there is a problem that the power consumption becomes larger than when a baseband module designed for W-CDMA is used because high-speed processing performance is not required even during voice processing during standby or during standby.

 このような問題を解決するために、DVFSを採用することにより、ベースバンドモジュール60の消費電力の低減を図ることが行われている。 In order to solve such a problem, the power consumption of the baseband module 60 is reduced by adopting DVFS.

 しかしながら、図4A及び図4Bを用いて説明したように、アプリケーションプロセッサ50及びベースバンドプロセッサ70に含まれるコア0、コア1への供給電圧を低下させると、遅延時間が長くなることにより、同期転送ができなくなるという問題が生じる。 However, as described with reference to FIGS. 4A and 4B, when the supply voltage to the cores 0 and 1 included in the application processor 50 and the baseband processor 70 is lowered, the delay time becomes longer, so that the synchronous transfer is performed. The problem that it becomes impossible to occur.

 また、図5を用いて説明したように、非同期ブリッジ98(図5A参照)を用いることにより、同期転送ができないときには非同期によりデータを転送することもできるが、転送速度が約50%程度低下するという問題があり、また、動作保証のための開発工数が増大するという問題も生じる。 Further, as described with reference to FIG. 5, by using the asynchronous bridge 98 (see FIG. 5A), data can be transferred asynchronously when synchronous transfer is not possible, but the transfer rate is reduced by about 50%. In addition, there is a problem that the number of development steps for guaranteeing the operation increases.

 これらに対して、実施の形態1の同期データ処理回路100を図1及び図2に示すスマートフォン端末機10のアプリケーションプロセッサ50又はベースバンドプロセッサ70に適用し、LTEに合わせて設計すれば、まずDVFSにより低消費電力化を図ることができる。 On the other hand, if the synchronous data processing circuit 100 of the first embodiment is applied to the application processor 50 or the baseband processor 70 of the smartphone terminal 10 shown in FIGS. Therefore, low power consumption can be achieved.

 また、DVFSによりコア110への供給電圧が低下しても、可変ディレイ部130で遅延時間を調整することにより、データの同期転送を行うことができ、比較例の非同期ブリッジ98(図5A参照)を用いた場合のように、転送速度が低下することを抑制できる。 Further, even if the supply voltage to the core 110 is lowered by DVFS, the variable delay unit 130 adjusts the delay time so that the data can be transferred synchronously, and the asynchronous bridge 98 of the comparative example (see FIG. 5A). As in the case of using, it is possible to suppress a decrease in transfer speed.

 さらに、また、非同期ブリッジ98を用いる必要がないため、動作保証のための開発工数が増大することを抑制でき、より少ない開発工数で同期転送を行うことのできる同期データ処理回路を提供することができる。 Furthermore, since there is no need to use the asynchronous bridge 98, it is possible to suppress an increase in the development man-hours for guaranteeing the operation, and to provide a synchronous data processing circuit capable of performing synchronous transfer with a smaller development man-hour. it can.

 なお、以上では、コア110とバス120との間で双方向にデータを同期転送する形態について説明したが、コア110からバス120への一方通行でデータを同期転送する場合においても同様に実施することができる。また、これとは逆に、バス120からコア110への一方通行でデータを同期転送する場合においても同様に実施することができる。 In the above description, the mode in which data is synchronously transferred in both directions between the core 110 and the bus 120 has been described. However, the same applies to the case where data is synchronously transferred in one way from the core 110 to the bus 120. be able to. On the other hand, when data is synchronously transferred by one-way from the bus 120 to the core 110, the same operation can be performed.

 また、以上では、コア110に可変ディレイ部130を接続するとともに、バス120に固定ディレイ部150を接続し(図7参照)、コア110のクロックCCKの位相を調整する形態について説明した。 In the above description, the variable delay unit 130 is connected to the core 110 and the fixed delay unit 150 is connected to the bus 120 (see FIG. 7) to adjust the phase of the clock CCK of the core 110.

 しかしながら、バス120に可変ディレイ部130を接続するとともに、コア110に固定ディレイ部150を接続し、バス120のクロックBCKの位相を調整してもよい。 However, the phase of the clock BCK of the bus 120 may be adjusted by connecting the variable delay unit 130 to the bus 120 and connecting the fixed delay unit 150 to the core 110.

 <実施の形態2>
 実施の形態2の同期データ処理回路は、クロックBCKとCCKの位相差が、実施の形態1におけるワーストケースのホールド時間(hold worst)又はワーストケースのセットアップ時間(setup worst)に至る前に、注意処理を行う点が実施の形態1の同期データ処理回路100と異なる。
<Embodiment 2>
The synchronous data processing circuit according to the second embodiment should be noted before the phase difference between the clocks BCK and CCK reaches the worst case hold time (hold worst) or the worst case setup time (setup worst) in the first embodiment. The processing is different from the synchronous data processing circuit 100 of the first embodiment.

 また、実施の形態2の同期データ処理回路は、クロックBCKとCCKの位相差が、実施の形態1におけるワーストケースのホールド時間(hold worst)又はワーストケースのセットアップ時間(setup worst)に至ると、位相差が緩和されるまで、システムをフリーズさせるフリーズ処理を行う点が実施の形態1の同期データ処理回路100と異なる。 Further, in the synchronous data processing circuit of the second embodiment, when the phase difference between the clocks BCK and CCK reaches the worst case hold time (hold worst) or the worst case setup time (setup worst) in the first embodiment, The difference from the synchronous data processing circuit 100 of the first embodiment is that a freeze process for freezing the system is performed until the phase difference is relaxed.

 その他の構成要素は実施の形態1の同期データ処理回路100と同様であるため、同様の構成要素には同一符号を付し、その説明を省略する。 Other components are the same as those of the synchronous data processing circuit 100 of the first embodiment, and thus similar components are denoted by the same reference numerals and description thereof is omitted.

 図14は、実施の形態2の同期データ処理回路のコア110、バス120、及び同期判定部240の回路構成を示す図である。 FIG. 14 is a diagram illustrating a circuit configuration of the core 110, the bus 120, and the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.

 コア110は、コアクロックツリー111、バッファ112B、FF113A~113D、組み合わせ回路114A、114B、バッファ115A、115B、及びゲートロックバッファ212A、212Bを含む。 The core 110 includes a core clock tree 111, buffers 112B, FFs 113A to 113D, combinational circuits 114A and 114B, buffers 115A and 115B, and gate lock buffers 212A and 212B.

 コアクロックツリー111は、コア110の内部に配設されており、コア110の内部におけるデータの伝送経路であるとともに、伝送時間の調整のために複数のバッファが直列に接続された構成を有する。コアクロックツリー111の入力端子は、可変ディレイ部130の出力端子に接続されており、クロックCKinが入力される。コアクロックツリー111の出力端子は、バッファ112Bと、ゲートロックバッファ212A及び212Bのクロック入力端子とに接続されている。 The core clock tree 111 is arranged inside the core 110, and is a data transmission path inside the core 110, and has a configuration in which a plurality of buffers are connected in series for adjusting the transmission time. The input terminal of the core clock tree 111 is connected to the output terminal of the variable delay unit 130, and receives the clock CKin. The output terminal of the core clock tree 111 is connected to the buffer 112B and the clock input terminals of the gate lock buffers 212A and 212B.

 コアクロックツリー111は、可変ディレイ部130からクロックCKinが入力されると、所定の遅延量を付与してクロックをバッファ112Bと、ゲートロックバッファ212A及び212Bのクロック入力端子とに入力する。 When the clock CKin is input from the variable delay unit 130, the core clock tree 111 gives a predetermined delay amount and inputs the clock to the buffer 112B and the clock input terminals of the gate lock buffers 212A and 212B.

 バッファ112Bは、コアクロックツリー111の出力端子に接続されている。バッファ112Bの出力端子は、同期判定部240に接続されている。バッファ112Bは、出力端子が同期判定部240だけに接続されている点が実施の形態1のバッファ112Bと異なる。 The buffer 112B is connected to the output terminal of the core clock tree 111. The output terminal of the buffer 112B is connected to the synchronization determination unit 240. The buffer 112B is different from the buffer 112B of the first embodiment in that the output terminal is connected only to the synchronization determination unit 240.

 ゲートロックバッファ212Aは、クロック入力端子がコアクロックツリー111の出力端子に接続されており、フリーズ信号入力端子が同期判定部240の出力部245のフリーズ信号出力部に接続されている。また、ゲートロックバッファ212Aの出力端子は、FF113A及び113Bのクロック入力端子に接続されている。 The gate lock buffer 212A has a clock input terminal connected to the output terminal of the core clock tree 111, and a freeze signal input terminal connected to the freeze signal output unit of the output unit 245 of the synchronization determination unit 240. The output terminal of the gate lock buffer 212A is connected to the clock input terminals of the FFs 113A and 113B.

 ゲートロックバッファ212Aは、フリーズ信号入力端子に出力部245から入力されるフリーズ信号frzが"0"の場合は、クロック入力端子に入力されるクロックをそのまま出力する。このため、ゲートロックバッファ212Aは、フリーズ信号frzが"0"であるときは、クロックCCK1を出力する。 When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 212A outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 212A outputs the clock CCK1 when the freeze signal frz is “0”.

 ここで、クロックCCK1は、バッファ112Bが出力するクロックCCKと同じ位相のクロックであるが、実施の形態2では、バッファ112Bが出力するクロックCCKと区別する。 Here, the clock CCK1 is a clock having the same phase as the clock CCK output from the buffer 112B, but in the second embodiment, it is distinguished from the clock CCK output from the buffer 112B.

 一方、ゲートロックバッファ212Aは、フリーズ信号frzが"1"であるときは、出力端子から出力するクロックを固定してデータの転送を凍結させる。 On the other hand, when the freeze signal frz is “1”, the gate lock buffer 212A fixes the clock output from the output terminal and freezes the data transfer.

 ゲートロックバッファ212Bは、クロック入力端子がコアクロックツリー111の出力端子に接続されており、フリーズ信号入力端子が同期判定部240の出力部245のフリーズ信号出力部に接続されている。また、ゲートロックバッファ212Bの出力端子は、FF113C及び113Dのクロック入力端子に接続されている。 In the gate lock buffer 212B, the clock input terminal is connected to the output terminal of the core clock tree 111, and the freeze signal input terminal is connected to the freeze signal output unit of the output unit 245 of the synchronization determination unit 240. The output terminal of the gate lock buffer 212B is connected to the clock input terminals of the FFs 113C and 113D.

 ゲートロックバッファ212Bは、フリーズ信号入力端子に出力部245から入力されるフリーズ信号frzが"0"の場合は、クロック入力端子に入力されるクロックをそのまま出力する。このため、ゲートロックバッファ212Bは、フリーズ信号frzが"0"であるときは、クロックCCK1を出力する。 When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 212B outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 212B outputs the clock CCK1 when the freeze signal frz is “0”.

 一方、ゲートロックバッファ212Bは、フリーズ信号frzが"1"であるときは、出力端子から出力するクロックを固定してデータの転送を凍結させる。 On the other hand, when the freeze signal frz is “1”, the gate lock buffer 212B fixes the clock output from the output terminal and freezes the data transfer.

 FF113A及び113Bは、クロック入力端子にゲートロックバッファ212Aの出力端子が接続される点が実施の形態1のFF113A及び113Bとそれぞれ異なる。実施の形態2のFF113A及び113Bのその他の構成及び動作は、実施の形態1のFF113A及び113Bと同様である。 The FFs 113A and 113B are different from the FFs 113A and 113B of the first embodiment in that the output terminal of the gate lock buffer 212A is connected to the clock input terminal. Other configurations and operations of the FFs 113A and 113B of the second embodiment are the same as those of the FFs 113A and 113B of the first embodiment.

 FF113C及び113Dは、クロック入力端子にゲートロックバッファ212Bの出力端子が接続される点が実施の形態1のFF113C及び113Dとそれぞれ異なる。実施の形態2のFF113C及び113Dのその他の構成及び動作は、実施の形態1のFF113C及び113Dと同様である。 The FFs 113C and 113D are different from the FFs 113C and 113D of the first embodiment in that the output terminal of the gate lock buffer 212B is connected to the clock input terminal. Other configurations and operations of the FFs 113C and 113D of the second embodiment are the same as those of the FFs 113C and 113D of the first embodiment.

 バス120は、バスクロックツリー121、バッファ122B、FF123A~123D、及びゲートロックバッファ222A、222Bを含む。 The bus 120 includes a bus clock tree 121, a buffer 122B, FFs 123A to 123D, and gate lock buffers 222A and 222B.

 バスクロックツリー121の出力端子は、バッファ122Bと、ゲートロックバッファ222A及び222Bのクロック入力端子とに接続されている。 The output terminal of the bus clock tree 121 is connected to the buffer 122B and the clock input terminals of the gate lock buffers 222A and 222B.

 バスクロックツリー121は、固定ディレイ部150からクロックCKinが入力されると、所定の遅延量を付与してクロックをバッファ122Bと、ゲートロックバッファ222A及び222Bのクロック入力端子とに入力する。 When the clock CKin is input from the fixed delay unit 150, the bus clock tree 121 gives a predetermined delay amount and inputs the clock to the buffer 122B and the clock input terminals of the gate lock buffers 222A and 222B.

 バッファ122Bは、バスクロックツリー121の出力端子に接続されている。バッファ122Bの出力端子は、同期判定部240に接続されている。バッファ122Bは、出力端子が同期判定部240だけに接続されている点が実施の形態1のバッファ122Bと異なる。 The buffer 122B is connected to the output terminal of the bus clock tree 121. The output terminal of the buffer 122B is connected to the synchronization determination unit 240. The buffer 122B is different from the buffer 122B of the first embodiment in that the output terminal is connected only to the synchronization determination unit 240.

 ゲートロックバッファ222Aは、クロック入力端子がバスクロックツリー121の出力端子に接続されており、フリーズ信号入力端子が同期判定部240の出力部245のフリーズ信号出力部に接続されている。また、ゲートロックバッファ222Aの出力端子は、FF123A及び123Bのクロック入力端子に接続されている。 The gate lock buffer 222A has a clock input terminal connected to the output terminal of the bus clock tree 121 and a freeze signal input terminal connected to the freeze signal output section of the output section 245 of the synchronization determination section 240. The output terminal of the gate lock buffer 222A is connected to the clock input terminals of the FFs 123A and 123B.

 ゲートロックバッファ222Aは、フリーズ信号入力端子に出力部245から入力されるフリーズ信号frzが"0"の場合は、クロック入力端子に入力されるクロックをそのまま出力する。このため、ゲートロックバッファ222Aは、フリーズ信号frzが"0"であるときは、クロックBCK1を出力する。 When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 222A outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 222A outputs the clock BCK1 when the freeze signal frz is “0”.

 ここで、クロックBCK1は、バッファ122Bが出力するクロックBCKと同じ位相のクロックであるが、実施の形態2では、バッファ122Bが出力するクロックCCKと区別する。 Here, the clock BCK1 is a clock having the same phase as the clock BCK output from the buffer 122B, but in the second embodiment, the clock BCK1 is distinguished from the clock CCK output from the buffer 122B.

 一方、ゲートロックバッファ222Aは、フリーズ信号frzが"1"であるときは、出力端子から出力するクロックを固定してデータの転送を凍結させる。 On the other hand, when the freeze signal frz is “1”, the gate lock buffer 222A fixes the clock output from the output terminal and freezes the data transfer.

 ゲートロックバッファ222Bは、クロック入力端子がバスクロックツリー121の出力端子に接続されており、フリーズ信号入力端子が同期判定部240の出力部245のフリーズ信号出力部に接続されている。また、ゲートロックバッファ222Bの出力端子は、FF123C及び123Dのクロック入力端子に接続されている。 The gate lock buffer 222B has a clock input terminal connected to the output terminal of the bus clock tree 121 and a freeze signal input terminal connected to the freeze signal output section of the output section 245 of the synchronization determination section 240. The output terminal of the gate lock buffer 222B is connected to the clock input terminals of the FFs 123C and 123D.

 ゲートロックバッファ222Bは、フリーズ信号入力端子に出力部245から入力されるフリーズ信号frzが"0"の場合は、クロック入力端子に入力されるクロックをそのまま出力する。このため、ゲートロックバッファ222Bは、フリーズ信号frzが"0"であるときは、クロックBCK1を出力する。 When the freeze signal frz input from the output unit 245 to the freeze signal input terminal is “0”, the gate lock buffer 222B outputs the clock input to the clock input terminal as it is. Therefore, the gate lock buffer 222B outputs the clock BCK1 when the freeze signal frz is “0”.

 一方、ゲートロックバッファ222Bは、フリーズ信号frzが"1"であるときは、出力端子から出力するクロックを固定してデータの転送を凍結させる。 On the other hand, when the freeze signal frz is “1”, the gate lock buffer 222B fixes the clock output from the output terminal and freezes the data transfer.

 FF123A及び123Bは、クロック入力端子にゲートロックバッファ222Aの出力端子が接続される点が実施の形態1のFF123A及び123Bと異なる。 The FFs 123A and 123B are different from the FFs 123A and 123B of the first embodiment in that the output terminal of the gate lock buffer 222A is connected to the clock input terminal.

 FF123C及び123Dは、クロック入力端子にゲートロックバッファ222Bの出力端子が接続される点が実施の形態1のFF123C及び123Dと異なる。 The FFs 123C and 123D are different from the FFs 123C and 123D of the first embodiment in that the output terminal of the gate lock buffer 222B is connected to the clock input terminal.

 同期判定部240は、コア110とバス120とにわたって配設されている。同期判定部240は、パターン発生部241、判定部242、パターン発生部243、判定部244、及び出力部245を含む。 The synchronization determination unit 240 is disposed across the core 110 and the bus 120. The synchronization determination unit 240 includes a pattern generation unit 241, a determination unit 242, a pattern generation unit 243, a determination unit 244, and an output unit 245.

 パターン発生部241は、バス120側に設けられている。パターン発生部241は、バッファ122Bから入力されるクロックBCKに基づき、テストデータtd0を発生する。パターン発生部241が発生するテストデータtd0は、判定部244に入力される。 The pattern generator 241 is provided on the bus 120 side. The pattern generator 241 generates test data td0 based on the clock BCK input from the buffer 122B. Test data td0 generated by the pattern generation unit 241 is input to the determination unit 244.

 判定部242は、バス120側に設けられている。判定部242は、バッファ122Bから入力されるクロックBCKと、パターン発生部243から入力されるテストデータtd1との位相差を判定し、注意処理及びフリーズ処理を行う。 The determination unit 242 is provided on the bus 120 side. The determination unit 242 determines a phase difference between the clock BCK input from the buffer 122B and the test data td1 input from the pattern generation unit 243, and performs attention processing and freeze processing.

 判定部242は、クロックBCKの位相に対するテストデータtd1の位相が遅れており、位相差がワーストケースのホールド時間(hold worst)よりも所定の位相差少ない注意用のホールド時間(hold warning)に達すると、可変ディレイ部130でクロックCKinの位相を進めるための遅延制御指令dwn1を出力する。 The determination unit 242 reaches the attention hold time (hold warning) in which the phase of the test data td1 is delayed with respect to the phase of the clock BCK and the phase difference is smaller than the worst case hold time (hold worst) by a predetermined phase difference. Then, the delay control command dwn1 for advancing the phase of the clock CKin by the variable delay unit 130 is output.

 これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が減らされ、位相が進められたクロックCKinが出力される。なお、遅延制御指令dwn1は、出力部245を経て可変ディレイ部130に入力される。 Thus, the amount of delay applied to the clock CK input to the variable delay unit 130 is reduced, and the clock CKin with the advanced phase is output. The delay control command dwn1 is input to the variable delay unit 130 via the output unit 245.

 また、判定部242は、クロックBCKの位相に対するテストデータtd1の位相が遅れており、位相差がワーストケースのホールド時間(hold worst)に達すると、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるためのフリーズ信号frz1を出力する。 In addition, when the phase of the test data td1 is delayed with respect to the phase of the clock BCK and the phase difference reaches the worst case hold time (hold worst), the determination unit 242 fixes the FFs 113A to 113D and 123A to 123D to fix the data. The freeze signal frz1 for freezing the transfer of.

 一方、判定部242は、クロックBCKの位相に対するテストデータtd1の位相が進んでおり、位相差がワーストケースのセットアップ時間(setup worst)よりも所定の位相差多い注意用のセットアップ時間(setup warning)に達すると、可変ディレイ部130でクロックCKinの位相を遅らせるための遅延制御指令up1を出力する。 On the other hand, the determination unit 242 has a test setup time (setuptwarning) in which the phase of the test data td1 is advanced with respect to the phase of the clock BCK and the phase difference is larger by a predetermined phase difference than the worst-case setup time (setup worst). Is reached, the variable delay unit 130 outputs a delay control command up1 for delaying the phase of the clock CKin.

 これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が増やされ、位相が遅らされたクロックCKinが出力される。なお、遅延制御指令up1は、出力部245を経て可変ディレイ部130に入力される。 Thereby, the amount of delay given to the clock CK input to the variable delay unit 130 is increased, and the clock CKin with the phase delayed is output. The delay control command up1 is input to the variable delay unit 130 via the output unit 245.

 また、判定部242は、クロックBCKの位相に対するテストデータtd1の位相が進んでおり、位相差がワーストケースのセットアップ時間(setup worst)に達すると、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるためのフリーズ信号frz1を出力する。 Further, when the phase of the test data td1 advances with respect to the phase of the clock BCK and the phase difference reaches the worst-case setup time (setup worst), the determination unit 242 fixes the FFs 113A to 113D and 123A to 123D to fix the data. The freeze signal frz1 for freezing the transfer of.

 パターン発生部243は、コア110側に設けられている。パターン発生部243は、バッファ112Bから入力されるクロックCCKに基づき、テストデータtd1を発生する。パターン発生部243が発生するテストデータtd1は、判定部242に入力される。 The pattern generator 243 is provided on the core 110 side. The pattern generator 243 generates test data td1 based on the clock CCK input from the buffer 112B. Test data td1 generated by the pattern generation unit 243 is input to the determination unit 242.

 判定部244は、バス120側に設けられている。判定部244は、バッファ112Bから入力されるクロックCCKと、パターン発生部241から入力されるテストデータtd0との位相差を判定し、注意処理及びフリーズ処理を行う。 The determination unit 244 is provided on the bus 120 side. The determination unit 244 determines the phase difference between the clock CCK input from the buffer 112B and the test data td0 input from the pattern generation unit 241, and performs attention processing and freeze processing.

 判定部244は、クロックCCKの位相に対するテストデータtd0の位相が遅れており、位相差がワーストケースのホールド時間(hold worst)よりも所定の位相差少ない注意用のホールド時間(hold warning)に達すると、可変ディレイ部130でクロックCKinの位相を進めるための遅延制御指令dwn0を出力する。 The determination unit 244 reaches the attention hold time (hold warning) in which the phase of the test data td0 is delayed with respect to the phase of the clock CCK, and the phase difference is smaller than the worst case hold time (hold worst) by a predetermined phase difference. Then, the delay control command dwn0 for advancing the phase of the clock CKin by the variable delay unit 130 is output.

 このように位相差がワーストケースのホールド時間(hold worst)よりも所定の位相差少ない注意用のホールド時間(hold warning)に達すると、可変ディレイ部130でクロックCKinの位相を進めるための遅延制御指令dwn0を出力する処理は、クロックCCKの位相が遅れている場合における注意処理である。 As described above, when the phase difference reaches a warning hold time (hold warning) that is smaller than the worst case hold time (hold worst) by a predetermined phase difference, the delay control for advancing the phase of the clock CKin by the variable delay unit 130 The process of outputting the command dwn0 is a caution process when the phase of the clock CCK is delayed.

 これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が減らされ、位相が進められたクロックCKinが出力される。なお、遅延制御指令dwn0は、出力部245を経て可変ディレイ部130に入力される。 Thus, the amount of delay applied to the clock CK input to the variable delay unit 130 is reduced, and the clock CKin with the advanced phase is output. The delay control command dwn0 is input to the variable delay unit 130 via the output unit 245.

 また、判定部244は、クロックCCKの位相に対するテストデータtd0の位相が遅れており、位相差がワーストケースのホールド時間(hold worst)に達すると、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるためのフリーズ信号frz0を出力する。 In addition, when the phase of the test data td0 is delayed with respect to the phase of the clock CCK and the phase difference reaches the worst case hold time (hold worst), the determination unit 244 fixes the FFs 113A to 113D and 123A to 123D to fix the data. The freeze signal frz0 for freezing the transfer of.

 このように位相差がワーストケースのホールド時間(hold worst)に達すると、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるためのフリーズ信号frz0を出力する処理は、クロックCCKの位相が遅れている場合における凍結処理である。 Thus, when the phase difference reaches the worst case hold time (hold (worst), the process of outputting the freeze signal frz0 for fixing the FFs 113A to 113D and 123A to 123D to freeze the data transfer is performed by the clock CCK. This is a freezing process when the phase is delayed.

 一方、判定部244は、クロックCCKの位相に対するテストデータtd0の位相が進んでおり、位相差がワーストケースのセットアップ時間(setup worst)よりも所定の位相差多い注意用のセットアップ時間(setup warning)に達すると、可変ディレイ部130でクロックCKinの位相を遅らせるための遅延制御指令up0を出力する。 On the other hand, in the determination unit 244, the phase of the test data td0 with respect to the phase of the clock CCK is advanced, and the phase difference is larger than the worst case setup time (setup worst) by a predetermined phase difference (setup warning). Is reached, the variable delay unit 130 outputs a delay control command up0 for delaying the phase of the clock CKin.

 このように位相差がワーストケースのセットアップ時間(setup worst)よりも所定の位相差多い注意用のセットアップ時間(setup warning)に達すると、可変ディレイ部130でクロックCKinの位相を遅らせるための遅延制御指令up0を出力する処理は、クロックCCKの位相が進んでいる場合における注意処理である。 In this way, when the phase difference reaches the setup time for warning (setup warning), which is larger than the worst-case setup time (setup worst) by a predetermined phase difference, delay control for delaying the phase of the clock CKin by the variable delay unit 130 The process of outputting the command up0 is a caution process when the phase of the clock CCK is advanced.

 これにより、可変ディレイ部130に入力されるクロックCKに与えられる遅延量が増やされ、位相が遅らされたクロックCKinが出力される。なお、遅延制御指令up0は、出力部245を経て可変ディレイ部130に入力される。 Thereby, the amount of delay given to the clock CK input to the variable delay unit 130 is increased, and the clock CKin with the phase delayed is output. The delay control command up0 is input to the variable delay unit 130 via the output unit 245.

 また、判定部244は、クロックCCKの位相に対するテストデータtd0の位相が進んでおり、位相差がワーストケースのセットアップ時間(setup worst)に達すると、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるためのフリーズ信号frz0を出力する。 Further, when the phase of the test data td0 advances with respect to the phase of the clock CCK and the phase difference reaches the worst-case setup time (setup worst), the determination unit 244 fixes the FFs 113A to 113D and 123A to 123D to fix the data. The freeze signal frz0 for freezing the transfer of.

 このように位相差がワーストケースのセットアップ時間(setup worst)に達すると、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるためのフリーズ信号frz0を出力するは、クロックCCKの位相が進んでいる場合における凍結処理である。 Thus, when the phase difference reaches the worst case setup time (setup worst), the freeze signal frz0 for fixing the FFs 113A to 113D and 123A to 123D and freezing the data transfer is outputted by the phase of the clock CCK. This is a freezing process in the case of progressing.

 パターン発生部241は、コア110側に設けられている。パターン発生部241は、バッファ112Bから入力されるクロックCCKに基づき、テストデータtd0を発生する。パターン発生部241が発生するテストデータtd0は、判定部244に入力される。 The pattern generator 241 is provided on the core 110 side. The pattern generator 241 generates test data td0 based on the clock CCK input from the buffer 112B. Test data td0 generated by the pattern generation unit 241 is input to the determination unit 244.

 出力部245は、3つのOR(論理和)回路で実現される。出力部245は、1つのOR回路で、判定部242から入力される遅延制御指令up1と、判定部244から入力される遅延制御指令up0との論理和を表す遅延制御指令upを出力する。また、出力部245は、2つ目のOR回路で、判定部242から入力される遅延制御指令dwn1と、判定部244から入力される遅延制御指令dwn0との論理和を表す遅延制御指令dwnを出力する。出力部245は、3つ目のOR回路で、判定部242から入力されるフリーズ信号frz1と、判定部244から入力されるフリーズ信号frz0との論理和を表すフリーズ信号frzを出力する。 The output unit 245 is realized by three OR (logical sum) circuits. The output unit 245 is a single OR circuit, and outputs a delay control command up representing the logical sum of the delay control command up1 input from the determination unit 242 and the delay control command up0 input from the determination unit 244. The output unit 245 is a second OR circuit, and outputs a delay control command dwn representing a logical sum of the delay control command dwn1 input from the determination unit 242 and the delay control command dwn0 input from the determination unit 244. Output. The output unit 245 is a third OR circuit, and outputs a freeze signal frz representing the logical sum of the freeze signal frz1 input from the determination unit 242 and the freeze signal frz0 input from the determination unit 244.

 出力部245から出力される遅延制御指令up、dwnは、可変ディレイ部130に入力され、フリーズ信号frzはゲートロックバッファ212A、212B、222A、222Bのフリーズ信号入力端子に入力される。 The delay control commands up and dwn output from the output unit 245 are input to the variable delay unit 130, and the freeze signal frz is input to the freeze signal input terminals of the gate lock buffers 212A, 212B, 222A, and 222B.

 なお、ここでは、同期判定部240は、コア110とバス120とにわたって配設されるものとして説明するが、同期判定部240のうちのパターン発生部241及び判定部242は、バス120に含まれるものとして取り扱うことができる。同様に、同期判定部240のうちのパターン発生部243及び判定部244は、コア110に含まれるものとして取り扱うことができる。 Here, although the synchronization determination unit 240 is described as being disposed across the core 110 and the bus 120, the pattern generation unit 241 and the determination unit 242 of the synchronization determination unit 240 are included in the bus 120. It can be handled as a thing. Similarly, the pattern generation unit 243 and the determination unit 244 in the synchronization determination unit 240 can be handled as being included in the core 110.

 次に、図15を用いて、同期判定部240のパターン発生部241と判定部244の回路構成について説明する。 Next, the circuit configuration of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 will be described with reference to FIG.

 図15は、実施の形態1の同期データ処理回路100の同期判定部240のパターン発生部241及び判定部244を示す図である。 FIG. 15 is a diagram illustrating the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit 100 according to the first embodiment.

 パターン発生部241は、実施の形態1のパターン発生部141と同様であり、FF141Aとインバータ141Bを含む。 The pattern generation unit 241 is the same as the pattern generation unit 141 of the first embodiment, and includes an FF 141A and an inverter 141B.

 パターン発生部241は、クロックBCKが入力される度に、"1"、"0"を交互に出力するため、パターン発生部241が発生するテストデータtd0は、"1"、"0"を交互に繰り返すデータとなる。 Since the pattern generation unit 241 alternately outputs “1” and “0” every time the clock BCK is input, the test data td0 generated by the pattern generation unit 241 alternates between “1” and “0”. It will be repeated data.

 判定部244は、遅延部171A、171B、171C、FF172A、172B、172C、EOR(排他的論理和)回路173A、173Bに加えて、遅延部271A、271B、FF272A、272B、EOR回路273A、273B、及びOR回路274A、274B、274Cを含む。 In addition to the delay units 171A, 171B, 171C, FFs 172A, 172B, 172C, EOR (exclusive OR) circuits 173A, 173B, the determination unit 244 includes delay units 271A, 271B, FFs 272A, 272B, EOR circuits 273A, 273B, And OR circuits 274A, 274B, 274C.

 これらのうち、遅延部171A、171B、FF172A、172B、172C、EOR(排他的論理和)回路173A、173Bの接続関係は、実施の形態1の判定部144の各構成要素と同様である。しかしながら、遅延部171Cは、遅延部271Bを介してFF141のデータ出力端子Qに接続されている点が実施の形態1の判定部144の遅延部171Cと異なる。 Among these, the connection relationship of the delay units 171A, 171B, FFs 172A, 172B, 172C, and EOR (exclusive OR) circuits 173A, 173B is the same as that of each component of the determination unit 144 of the first embodiment. However, the delay unit 171C is different from the delay unit 171C of the determination unit 144 of Embodiment 1 in that the delay unit 171C is connected to the data output terminal Q of the FF 141 via the delay unit 271B.

 遅延部171Cの遅延時間は、遅延部271Bの遅延時間と合わせて、コア110のFF113C、113Dのホールド時間のワーストケースの時間(hold worst)を実現するために、テストデータtd0に与える遅延時間になるように設定されている。 The delay time of the delay unit 171C is the same as the delay time given to the test data td0 in order to realize the worst case time (hold worst) of the hold time of the FFs 113C and 113D of the core 110 together with the delay time of the delay unit 271B. It is set to be.

 FF172Aは、データ出力端子QがEOR回路173Aの一方の入力端子と、EOR回路273Aの他方の入力端子に接続されている点が実施の形態1のFF172Aと異なる。 The FF 172A is different from the FF 172A of the first embodiment in that the data output terminal Q is connected to one input terminal of the EOR circuit 173A and the other input terminal of the EOR circuit 273A.

 FF172Cは、データ出力端子QがEOR回路173Cの他方の入力端子と、EOR回路273Bの一方の入力端子に接続されている点が実施の形態1のFF172Cと異なる。 The FF 172C is different from the FF 172C of the first embodiment in that the data output terminal Q is connected to the other input terminal of the EOR circuit 173C and one input terminal of the EOR circuit 273B.

 EOR回路173Aは、出力端子がOR回路274Aの他方の入力端子と、OR回路274Bの一方の入力端子に接続されている点が実施の形態1のEOR回路173Aと異なる。 The EOR circuit 173A is different from the EOR circuit 173A of Embodiment 1 in that an output terminal is connected to the other input terminal of the OR circuit 274A and one input terminal of the OR circuit 274B.

 EOR回路173Bは、出力端子がOR回路274Bの他方の入力端子と、OR回路274Cの一方の入力端子に接続されている点が実施の形態1のEOR回路173Aと異なる。 The EOR circuit 173B is different from the EOR circuit 173A of Embodiment 1 in that an output terminal is connected to the other input terminal of the OR circuit 274B and one input terminal of the OR circuit 274C.

 遅延部271Aは、入力端子が遅延部171Aの出力端子に接続され、出力端子がFF272Aのデータ入力端子Dに接続される。遅延部271Aにおける遅延時間は、ワーストケースのセットアップ時間(setup worst)よりも所定の位相差多い注意用のセットアップ時間(setup warning)を実現するために、テストデータtd0に与える遅延時間である。 The delay unit 271A has an input terminal connected to the output terminal of the delay unit 171A and an output terminal connected to the data input terminal D of the FF 272A. The delay time in the delay unit 271A is a delay time given to the test data td0 in order to realize a caution setup time (setup warning) having a predetermined phase difference larger than the worst case setup time (setup worst).

 遅延部171Aにおける遅延時間に、遅延部271Aにおける遅延時間を付け足した遅延時間をテストデータtd0に与えると、注意用のセットアップ時間(setup warning)が実現される。遅延部171A及び271Aは、第1予備遅延部の一例である。 When a delay time obtained by adding the delay time in the delay unit 271A to the delay time in the delay unit 171A is given to the test data td0, a setup time for warning (setup warning) is realized. The delay units 171A and 271A are an example of a first preliminary delay unit.

 遅延部271Bは、入力端子がパターン発生部241のFF141Aのデータ出力端子Qに接続され、出力端子が遅延部171Cの入力端子と、FF272Bのデータ入力端子Dに接続されている。遅延部271Bは、第2予備遅延部の一例である。 The delay unit 271B has an input terminal connected to the data output terminal Q of the FF 141A of the pattern generation unit 241, and an output terminal connected to the input terminal of the delay unit 171C and the data input terminal D of the FF 272B. The delay unit 271B is an example of a second preliminary delay unit.

 遅延部271Bにおける遅延時間は、注意用のホールド時間(hold warning)を実現するために、テストデータtd0に与える遅延時間である。 The delay time in the delay unit 271B is a delay time given to the test data td0 in order to realize a hold time for attention (hold warning).

 遅延部271Bにおける遅延時間に、遅延部171Cの遅延時間を付け足した時間をテストデータtd0に与えると、ワーストケースのホールド時間(hold worst)が実電されるように設定されている。このため、実施の形態2では、遅延部171C及び271Bが第2遅延部の一例となる。 When the time obtained by adding the delay time of the delay unit 171C to the delay time in the delay unit 271B is given to the test data td0, the worst case hold time (hold worst) is set to be actually supplied. Therefore, in the second embodiment, the delay units 171C and 271B are an example of the second delay unit.

 遅延部271Bにおける遅延時間と、遅延部171Cの遅延時間との割合は、例えば、1:2に設定される。なお、この割合は、同期データ処理回路の回路特性に合わせて任意の割合に設定することができる。 The ratio between the delay time in the delay unit 271B and the delay time in the delay unit 171C is set to 1: 2, for example. This ratio can be set to an arbitrary ratio in accordance with the circuit characteristics of the synchronous data processing circuit.

 FF272Aは、データ入力端子Dが遅延部271Aの出力端子に接続され、データ出力端子QがEOR回路273Aの一方の入力端子に接続され、クロック入力端子にクロックCCKが入力される。FF272Aの出力データをsw0と表す。 In the FF 272A, the data input terminal D is connected to the output terminal of the delay unit 271A, the data output terminal Q is connected to one input terminal of the EOR circuit 273A, and the clock CCK is input to the clock input terminal. The output data of FF272A is represented as sw0.

 FF272Bは、データ入力端子Dが遅延部271Bの出力端子に接続され、データ出力端子QがEOR回路273Bの一方の入力端子に接続され、クロック入力端子にクロックCCKが入力される。FF272Bの出力データをhw0と表す。 In the FF 272B, the data input terminal D is connected to the output terminal of the delay unit 271B, the data output terminal Q is connected to one input terminal of the EOR circuit 273B, and the clock CCK is input to the clock input terminal. The output data of FF272B is represented as hw0.

 EOR回路273Aは、一方の入力端子にFF272Aのデータ出力端子Qが接続され、他方の入力端子にFF172Aのデータ出力端子Qが接続される。 In the EOR circuit 273A, the data output terminal Q of the FF 272A is connected to one input terminal, and the data output terminal Q of the FF 172A is connected to the other input terminal.

 EOR回路273Bは、一方の入力端子にFF172Cのデータ出力端子Qが接続され、他方の入力端子にFF272Bのデータ出力端子Qが接続される。 In the EOR circuit 273B, the data output terminal Q of the FF 172C is connected to one input terminal, and the data output terminal Q of the FF 272B is connected to the other input terminal.

 OR回路274Aは、一方の入力端子にEOR回路273Aの出力端子が接続され、他方の入力端子にEOR回路173Aの出力端子が接続される。OR回路274Aは、EOR回路273A及び173Aの出力の論理和を遅延制御指令up0として出力する。 The OR circuit 274A has one input terminal connected to the output terminal of the EOR circuit 273A and the other input terminal connected to the output terminal of the EOR circuit 173A. The OR circuit 274A outputs the logical sum of the outputs of the EOR circuits 273A and 173A as a delay control command up0.

 OR回路274Bは、一方の入力端子にEOR回路173Aの出力端子が接続され、他方の入力端子にEOR回路173Bの出力端子が接続される。OR回路274Bは、EOR回路173A及び173Bの出力の論理和をフリーズ信号frz0として出力する。 The OR circuit 274B has one input terminal connected to the output terminal of the EOR circuit 173A and the other input terminal connected to the output terminal of the EOR circuit 173B. The OR circuit 274B outputs the logical sum of the outputs of the EOR circuits 173A and 173B as the freeze signal frz0.

 OR回路274Cは、一方の入力端子にEOR回路173Bの出力端子が接続され、他方の入力端子にEOR回路273Bの出力端子が接続される。OR回路274Cは、EOR回路173B及び273Bの出力の論理和を遅延制御指令dwn0として出力する。 The OR circuit 274C has one input terminal connected to the output terminal of the EOR circuit 173B and the other input terminal connected to the output terminal of the EOR circuit 273B. The OR circuit 274C outputs the logical sum of the outputs of the EOR circuits 173B and 273B as a delay control command dwn0.

 なお、同期判定部240のパターン発生部242及び判定部243の回路構成は、実施の形態1のパターン発生部142及び判定部143に、遅延部271A、271B、FF272A、272B、EOR回路273A、273B、及びOR回路274A、274B、274Cを加えた構成である。 Note that the circuit configurations of the pattern generation unit 242 and the determination unit 243 of the synchronization determination unit 240 are the same as those of the pattern generation unit 142 and the determination unit 143 of the first embodiment, but are the delay units 271A, 271B, FF272A, 272B, and the EOR circuits 273A, 273B. , And OR circuits 274A, 274B, 274C.

 また、パターン発生部242及び判定部243では、パターン発生部242にクロックBCKが入力され、判定部243にクロックCCKが入力される。 In the pattern generation unit 242 and the determination unit 243, the clock BCK is input to the pattern generation unit 242, and the clock CCK is input to the determination unit 243.

 判定部243では、FF272A、173A、173B、173C、272Bに対応する5つのFFから、それぞれ、出力データsw1、sd1、nd1、hd1、hw1が出力される。 The determination unit 243 outputs output data sw1, sd1, nd1, hd1, and hw1 from five FFs corresponding to the FFs 272A, 173A, 173B, 173C, and 272B, respectively.

 また、判定部243では、OR回路274A、274B、274Cに対応する3つのOR回路から、それぞれ、遅延制御指令dwn1、フリーズ信号frz1、及び遅延制御指令up1を出力する。このため、ここでは、パターン発生部242及び判定部243の回路構成については図示を省略する。 The determination unit 243 outputs a delay control command dwn1, a freeze signal frz1, and a delay control command up1 from the three OR circuits corresponding to the OR circuits 274A, 274B, and 274C, respectively. For this reason, illustration of the circuit configurations of the pattern generation unit 242 and the determination unit 243 is omitted here.

 なお、図15では、遅延部271Aを遅延部171Aの出力端子に接続する形態について説明したが、遅延部271Aの代わりに、遅延部271A及び171Aの遅延時間を合わせた遅延時間を有する遅延部をFF272Aのデータ入力端子Dと、FF141Aのデータ出力端子Qとの間に接続してもよい。 In FIG. 15, the configuration in which the delay unit 271A is connected to the output terminal of the delay unit 171A has been described. However, instead of the delay unit 271A, a delay unit having a delay time obtained by combining the delay times of the delay units 271A and 171A is used. You may connect between the data input terminal D of FF272A, and the data output terminal Q of FF141A.

 また、遅延部171Cを遅延部271Bの出力端子に接続する形態について説明したが、遅延部171Cの代わりに、遅延部171C及び271Bの遅延時間を合わせた遅延時間を有する遅延部をFF172Cのデータ入力端子Dと、FF141Aのデータ出力端子Qとの間に接続してもよい。 In addition, although the configuration in which the delay unit 171C is connected to the output terminal of the delay unit 271B has been described, instead of the delay unit 171C, a delay unit having a delay time that is the sum of the delay times of the delay units 171C and 271B You may connect between the terminal D and the data output terminal Q of FF141A.

 次に、図16を用いて、同期判定部240のパターン発生部241と判定部244の動作について説明する。 Next, operations of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 will be described with reference to FIG.

 図16は、実施の形態2の同期データ処理回路の同期判定部240のパターン発生部241及び判定部244の動作例を示すタイミングチャートである。 FIG. 16 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.

 図16には、クロックBCK、CCK、テストデータtd0、遅延部271Aの出力データ(setup warning)、遅延部171Aの出力データ(setup worst)、遅延部171Bの出力データ(nominal)、遅延部171Cの出力データ(hold worst)、遅延部271Bの出力データ(hold warning)を示す。また、図16には、FF172A~172Cの出力データsd0、nd0、hd0、及び遅延制御指令up0、dwn0をさらに示す。 FIG. 16 shows clocks BCK, CCK, test data td0, output data (setup warning) of the delay unit 271A, output data (setup worst) of the delay unit 171A, output data (nominal) of the delay unit 171B, and the delay unit 171C. Output data (hold worst) and output data (hold warning) of the delay unit 271B are shown. FIG. 16 further shows output data sd0, nd0, hd0 and delay control commands up0, dwn0 of the FFs 172A to 172C.

 ここで、遅延部271Aの出力データ(setup warning)は、テストデータtd0を遅延部171A及び271Aで遅延させたデータである。遅延部171Aの出力データ(setup worst)は、テストデータtd0を遅延部171Aで遅延させたデータである。遅延部171Bの出力データ(nominal)は、テストデータtd0を遅延部171Bで遅延させたデータである。遅延部171Cの出力データ(hold worst)は、テストデータtd0を遅延部271B及び171Cで遅延させたデータである。遅延部271Bの出力データ(hold warning)は、テストデータtd0を遅延部271Bで遅延させたデータである。 Here, the output data (setup warning) of the delay unit 271A is data obtained by delaying the test data td0 by the delay units 171A and 271A. The output data (setup worst) of the delay unit 171A is data obtained by delaying the test data td0 by the delay unit 171A. The output data (nominal) of the delay unit 171B is data obtained by delaying the test data td0 by the delay unit 171B. The output data (hold worst) of the delay unit 171C is data obtained by delaying the test data td0 by the delay units 271B and 171C. The output data (hold warning) of the delay unit 271B is data obtained by delaying the test data td0 by the delay unit 271B.

 このようにテストデータtd0に与える遅延時間を図16では矢印で示す。 The delay time given to the test data td0 is indicated by an arrow in FIG.

 図16(A)は、バス120からコア110にデータが同期転送されている状態におけるタイミングチャートである。 FIG. 16A is a timing chart in a state where data is synchronously transferred from the bus 120 to the core 110.

 図16(A)に示すように、クロックBCKとCCKの位相が等しい場合は、パターン発生部241から出力されるテストデータtd0の立ち上がりの位相は、クロックCCKの立ち上がりの位相と等しい。 As shown in FIG. 16A, when the phases of the clocks BCK and CCK are equal, the rising phase of the test data td0 output from the pattern generator 241 is equal to the rising phase of the clock CCK.

 この場合に、遅延部271Bの出力データ(hold warning)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、FF272Bの出力hw0は時刻t1でテストデータtd0と等しいLレベルになっている。 In this case, the rise of the output data (hold warning) of the delay unit 271B is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hw0 of the FF 272B is the time At t1, the L level is equal to the test data td0.

 また、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、FF172Cの出力hd0は時刻t1でテストデータtd0と等しいLレベルになっている。 The rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hd0 of the FF 172C is at time t1. The L level is equal to the test data td0.

 また、遅延部171Bの出力データ(nominal)は、時刻t1のクロックCCKの立ち上がりよりも十分に後であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Also, the output data (nominal) of the delay unit 171B is sufficiently later than the rising edge of the clock CCK at time t1, and the output nd0 of the FF 172B is at the L level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t2のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF172Aの出力sd0は時刻t1でテストデータtd0と等しいLレベルになっている。 The rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1. The L level is equal to the test data td0.

 また、遅延部271Aの出力データ(setup warning)の立ち上がりは、時刻t2のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF172Aの出力sw0は時刻t1でテストデータtd0と等しいLレベルになっている。 Further, the rise of the output data (setup warning) of the delay unit 271A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sw0 of the FF 172A is at time t1. The L level is equal to the test data td0.

 このため、EOR回路273A、173A、173B、273Bの出力はすべて"0"になるため、遅延制御指令up0、dwn0、及びフリーズ信号frz0はすべてLレベルである。 Therefore, since the outputs of the EOR circuits 273A, 173A, 173B, 273B are all “0”, the delay control commands up0, dwn0 and the freeze signal frz0 are all at the L level.

 次に、図16(B)に示すように、バス120側のパターン発生部241に入力されるクロックBCKに対して、コア110側の判定部244に入力されるクロックCCKが少し遅れている場合について説明する。このケースは、DVFSによりコア110への供給電圧が低下することによってクロックCCKが遅れている場合に相当する。 Next, as shown in FIG. 16B, when the clock CCK input to the determination unit 244 on the core 110 side is slightly delayed from the clock BCK input to the pattern generation unit 241 on the bus 120 side. Will be described. This case corresponds to a case where the clock CCK is delayed due to a drop in the supply voltage to the core 110 due to DVFS.

 図16(B)に示すように、クロックBCKに対してCCKの位相が遅れている場合は、時刻t1におけるクロックCCKの立ち上がりのタイミングは、パターン発生部241から出力されるテストデータtd0の立ち上がりのタイミングよりも遅れている。 As shown in FIG. 16B, when the phase of CCK is delayed with respect to the clock BCK, the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generator 241. It is behind the timing.

 この場合に、遅延部271Bの出力データ(hold warning)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも前であり(timing violated)、クロックCCKの時刻t1の立ち上がりで既に遅延部271Bの出力データ(hold warning)はHレベルになっている。これはホールド時間が足りなくなる一歩手前のケースである。 In this case, the rise of the output data (hold warning) of the delay unit 271B is before the rise of the clock CCK at time t1 (timing violated), and the output data of the delay unit 271B is already at the rise of time t1 of the clock CCK. (Hold warning) is at the H level. This is a case one step before the hold time is insufficient.

 このため、遅延部271Bの出力データ(hold warning)のLレベルを取得できず、FF272Bの出力hw0は時刻t1でテストデータtd0と異なるHレベルになる。 Therefore, the L level of the output data (hold warning) of the delay unit 271B cannot be acquired, and the output hw0 of the FF 272B becomes an H level different from the test data td0 at time t1.

 また、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、FF172Cの出力hd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Further, the rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so the output hd0 of the FF 172C is at time t1. The L level is equal to the test data td0.

 また、遅延部171Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも十分に後であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Also, the rise of the output data (nominal) of the delay unit 171B is sufficiently later than the rise of the clock CCK at time t1, and the output nd0 of the FF 172B is at L level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t2のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF172Aの出力sd0は時刻t1でテストデータtd0と等しいLレベルになっている。 The rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1. The L level is equal to the test data td0.

 また、遅延部271Aの出力データ(setup warning)の立ち上がりは、時刻t2のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF272Aの出力sw0は時刻t1でテストデータtd0と等しいLレベルになっている。 The rise of the output data (setup (warning) of the delay unit 271A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sw0 of the FF 272A is at time t1. The L level is equal to the test data td0.

 このため、EOR回路273A、173A、173Bの出力はすべて"0"になり、EOR回路273Bの出力だけが"1"になるため、遅延制御指令up0及びフリーズ信号frz0はLレベルである。また、遅延制御指令dwn0はHレベルである。 For this reason, the outputs of the EOR circuits 273A, 173A, 173B all become “0”, and only the output of the EOR circuit 273B becomes “1”, so that the delay control command up0 and the freeze signal frz0 are at the L level. Delay control command dwn0 is at the H level.

 従って、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwn0が判定部244から出力される。 Therefore, an H level delay control command dwn0 is output from the determination unit 244 in order to advance the phase of the clock CCK.

 なお、この場合、バス120からコア110へのデータは同期転送される。 In this case, data from the bus 120 to the core 110 is transferred synchronously.

 次に、図16(C)に示すように、バス120側のパターン発生部241に入力されるクロックBCKに対して、コア110側の判定部244に入力されるクロックCCKが図16(B)に示す場合よりもさらに遅れている場合について説明する。このケースは、DVFSにより図16(B)に示す場合よりもコア110への供給電圧がさらに低下することによってクロックCCKが遅れている場合に相当する。 Next, as shown in FIG. 16C, the clock CCK input to the determination unit 244 on the core 110 side is compared with the clock BCK input to the pattern generation unit 241 on the bus 120 side. The case where it is further delayed than the case shown in FIG. This case corresponds to a case where the clock CCK is delayed due to a further drop in the supply voltage to the core 110 as compared to the case shown in FIG.

 図16(C)に示すように、クロックBCKに対してCCKの位相が遅れている場合は、時刻t1におけるクロックCCKの立ち上がりのタイミングは、パターン発生部241から出力されるテストデータtd0の立ち上がりのタイミングよりも遅れている。 As shown in FIG. 16C, when the phase of the CCK is delayed with respect to the clock BCK, the rising timing of the clock CCK at the time t1 is the rising timing of the test data td0 output from the pattern generator 241. It is behind the timing.

 この場合に、遅延部271Bの出力データ(hold warning)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも前であり(timing violated)、クロックCCKの時刻t1の立ち上がりで既に遅延部271Bの出力データ(hold warning)はHレベルになっている。 In this case, the rise of the output data (hold warning) of the delay unit 271B is before the rise of the clock CCK at time t1 (timing violated), and the output data of the delay unit 271B is already at the rise of time t1 of the clock CCK. (Hold warning) is at the H level.

 このため、遅延部271Bの出力データ(hold warning)のLレベルを取得できず、FF272Bの出力hw0は時刻t1でテストデータtd0と異なるHレベルになる。 Therefore, the L level of the output data (hold warning) of the delay unit 271B cannot be acquired, and the output hw0 of the FF 272B becomes an H level different from the test data td0 at time t1.

 また、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも前であり(timing violated)、クロックCCKの時刻t1の立ち上がりで既に遅延部271Bの出力データ(hold warning)はHレベルになっている。これはホールド時間が不足しているケースである。 The rise of the output data (hold worst) of the delay unit 171C is before the rise of the clock CCK at time t1 (timing violated), and the output data (hold) of the delay unit 271B has already been reached at the rise of the clock CCK at time t1. warning) is at the H level. This is a case where the hold time is insufficient.

 このため、遅延部271Bの出力データ(hold warning)のLレベルを取得できず、FF272Bの出力hw0は時刻t1でテストデータtd0と異なるHレベルになる。 Therefore, the L level of the output data (hold warning) of the delay unit 271B cannot be acquired, and the output hw0 of the FF 272B becomes an H level different from the test data td0 at time t1.

 また、遅延部171Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも十分に後であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいLレベルになっている。 Also, the rise of the output data (nominal) of the delay unit 171B is sufficiently later than the rise of the clock CCK at time t1, and the output nd0 of the FF 172B is at L level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t2のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF172Aの出力sd0は時刻t1でテストデータtd0と等しいLレベルになっている。 The rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sd0 of the FF 172A is at time t1. The L level is equal to the test data td0.

 また、遅延部271Aの出力データ(setup warning)の立ち上がりは、時刻t2のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、FF272Aの出力sw0は時刻t1でテストデータtd0と等しいLレベルになっている。 The rise of the output data (setup (warning) of the delay unit 271A is before the rise of the clock CCK at time t2 (timing met), and the setup time is secured, so the output sw0 of the FF 272A is at time t1. The L level is equal to the test data td0.

 このため、EOR回路273A、173A、273Bの出力はすべて"0"になり、EOR回路173Bの出力だけが"1"になるため、遅延制御指令up0はLレベルである。また、フリーズ信号frz0及び遅延制御指令dwn0はHレベルである。 Therefore, the outputs of the EOR circuits 273A, 173A, 273B all become “0”, and only the output of the EOR circuit 173B becomes “1”, so that the delay control command up0 is at the L level. The freeze signal frz0 and the delay control command dwn0 are at the H level.

 従って、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwn0が判定部244から出力されるとともに、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるために、Hレベルのフリーズ信号frzが出力される。 Accordingly, an H level delay control command dwn0 is output from the determination unit 244 in order to advance the phase of the clock CCK, and at the H level, the FFs 113A to 113D and 123A to 123D are fixed to freeze the data transfer. A freeze signal frz is output.

 図17は、実施の形態2の同期データ処理回路の同期判定部240のパターン発生部241及び判定部244の動作例を示すタイミングチャートである。 FIG. 17 is a timing chart illustrating an operation example of the pattern generation unit 241 and the determination unit 244 of the synchronization determination unit 240 of the synchronous data processing circuit according to the second embodiment.

 図17には、クロックBCK、CCK、テストデータtd0、遅延部271Aの出力データ(setup warning)遅延部171Aの出力データ(setup worst)、遅延部171Bの出力データ(nominal)、遅延部171Cの出力データ(hold worst)、遅延部271Bの出力データ(hold warning)を示す。また、図17には、FF172A~172Cの出力データsd0、nd0、hd0、及び遅延制御指令up0、dwn0をさらに示す。 FIG. 17 shows clocks BCK, CCK, test data td0, output data (setup warning) of delay unit 271A, output data (setup worst) of delay unit 171A, output data (nominal) of delay unit 171B, and output of delay unit 171C. Data (hold worst) and output data (hold warning) of the delay unit 271B are shown. FIG. 17 further shows output data sd0, nd0, hd0 and delay control commands up0, dwn0 of the FFs 172A to 172C.

 図17(A)は、バス120からコア110にデータが同期転送されている状態におけるタイミングチャートである。 FIG. 17A is a timing chart in a state where data is synchronously transferred from the bus 120 to the core 110.

 図17(A)に示すように、クロックBCKとCCKの位相が等しい場合は、パターン発生部241から出力されるテストデータtd0の立ち上がりの位相は、時刻t1におけるクロックCCKの立ち上がりの位相と等しい。図17(A)に示す場合は、図16(A)に示す場合と同様である。 As shown in FIG. 17A, when the phases of the clocks BCK and CCK are equal, the rising phase of the test data td0 output from the pattern generator 241 is equal to the rising phase of the clock CCK at time t1. The case shown in FIG. 17A is the same as the case shown in FIG.

 このため、EOR回路273A、173A、173B、273Bの出力はすべて"0"になるため、遅延制御指令up0、dwn0、及びフリーズ信号frz0はすべてLレベルである。 Therefore, since the outputs of the EOR circuits 273A, 173A, 173B, 273B are all “0”, the delay control commands up0, dwn0 and the freeze signal frz0 are all at the L level.

 次に、図17(B)に示すように、バス120側のパターン発生部241に入力されるクロックBCKに対して、コア110側の判定部244に入力されるクロックCCKが少し進んでいる場合について説明する。このケースは、DVFSによりコア110への供給電圧が低下していた状態から上昇されることによってクロックCCKが進んでいる場合に相当する。 Next, as shown in FIG. 17B, the clock CCK input to the determination unit 244 on the core 110 side is slightly advanced with respect to the clock BCK input to the pattern generation unit 241 on the bus 120 side. Will be described. This case corresponds to the case where the clock CCK is advanced by raising from the state where the supply voltage to the core 110 has been lowered by DVFS.

 図17(B)に示すように、クロックBCKに対してCCKの位相が進んでいる場合は、時刻t1におけるクロックCCKの立ち上がりのタイミングは、パターン発生部241から出力されるテストデータtd0の立ち上がりのタイミングよりも進んでいる。 As shown in FIG. 17B, when the phase of the CCK is advanced with respect to the clock BCK, the rising timing of the clock CCK at the time t1 is the rising edge of the test data td0 output from the pattern generator 241. More advanced than timing.

 この場合に、遅延部271Bの出力データ(hold warning)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも1つ前の立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、クロックCCKの時刻t1の立ち上がりで遅延部271Bの出力データ(hold warning)のHレベルを取得する。このため、FF272Bの出力hd0は時刻t1でテストデータtd0と等しいHレベルになる。 In this case, the rise of the output data (hold warning) of the delay unit 271B is later than the rise of the clock CCK just before the rise of the clock CCK at time t1 (timing met), and the hold time is secured. The H level of the output data (hold warning) of the delay unit 271B is acquired at the rising edge of the clock CCK at time t1. For this reason, the output hd0 of the FF 272B becomes H level equal to the test data td0 at time t1.

 また、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも1つ前の立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、クロックCCKの時刻t1の立ち上がりで遅延部171Cの出力データ(hold worst)のHレベルを取得する。このため、FF172Cの出力hd0は時刻t1でテストデータtd0と等しいHレベルになる。 The rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so that the clock The H level of the output data (hold worst) of the delay unit 171C is acquired at the rising edge of time C1 of CCK. Therefore, the output hd0 of the FF 172C becomes H level equal to the test data td0 at time t1.

 また、遅延部171Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも十分に前であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいHレベルになる。 Also, the rise of the output data (nominal) of the delay unit 171B is sufficiently before the rise of the clock CCK at time t1, and the output nd0 of the FF 172B becomes H level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも前であり(timing met)、セットアップ時間が確保されているため、時刻t1でクロックCCKが立ち上がった際に、Hレベルに切り替わっている。このため、FF172Aの出力sd0は時刻t1でテストデータtd0とは等しいHレベルに保持される。 The rise of the output data (setup worst) of the delay unit 171A is before the rise of the clock CCK at time t1 (timing met), and the setup time is secured, so the clock CCK rises at time t1. At that time, it is switched to the H level. Therefore, the output sd0 of the FF 172A is held at the H level equal to the test data td0 at time t1.

 また、遅延部271Aの出力データ(setup warning)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing violated)、時刻t1でクロックCCKが立ち上がった際に、Hレベルに切り替わっておらず、Lレベルのままである。このため、FF272Aの出力sw0は時刻t1でテストデータtd0とは異なるLレベルに保持される。 The rising edge of the output data (setup warning) of the delay unit 271A is later than the rising edge of the clock CCK at time t1 (timing violated). When the clock CCK rises at time t1, it has not been switched to the H level. However, it remains at the L level. Therefore, the output sw0 of the FF 272A is held at the L level different from the test data td0 at time t1.

 以上より、EOR回路173A、173B、273Bの出力はすべて"0"になり、EOR回路273Aの出力だけが"1"になるため、遅延制御指令up0はHレベルである。また、フリーズ信号frz0及び遅延制御指令dwn0はLレベルである。 As described above, the outputs of the EOR circuits 173A, 173B, and 273B all become “0”, and only the output of the EOR circuit 273A becomes “1”, so that the delay control command up0 is at the H level. The freeze signal frz0 and the delay control command dwn0 are at the L level.

 従って、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令up0が判定部244から出力される。 Therefore, an H-level delay control command up0 is output from the determination unit 244 in order to delay the phase of the clock CCK.

 なお、この場合、バス120からコア110へのデータは同期転送される。 In this case, data from the bus 120 to the core 110 is transferred synchronously.

 次に、図17(C)に示すように、バス120側のパターン発生部241に入力されるクロックBCKに対して、コア110側の判定部244に入力されるクロックCCKが図17(B)に示す場合よりもさらに進んでいる場合について説明する。このケースは、DVFSによりコア110への供給電圧が低下していた状態から図17(B)に示す場合よりもさらに上昇されることによってクロックCCKが進んでいる場合に相当する。 Next, as shown in FIG. 17C, the clock CCK input to the determination unit 244 on the core 110 side is compared with the clock BCK input to the pattern generation unit 241 on the bus 120 side. A case where the process is further advanced than the case shown in FIG. This case corresponds to the case where the clock CCK is advanced from the state in which the supply voltage to the core 110 has been lowered by DVFS and further increased from the case shown in FIG.

 図17(C)に示すように、クロックBCKに対してCCKの位相が進んでいる場合は、時刻t1におけるクロックCCKの立ち上がりのタイミングは、パターン発生部241から出力されるテストデータtd0の立ち上がりのタイミングよりも進んでいる。 As shown in FIG. 17C, when the phase of the CCK is advanced with respect to the clock BCK, the rising timing of the clock CCK at time t1 is the rising timing of the test data td0 output from the pattern generator 241. More advanced than timing.

 この場合に、遅延部271Bの出力データ(hold warning)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも1つ前の立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、クロックCCKの時刻t1の立ち上がりで遅延部271Bの出力データ(hold warning)のHレベルを取得する。このため、FF272Bの出力hd0は時刻t1でテストデータtd0と等しいHレベルになる。 In this case, the rise of the output data (hold warning) of the delay unit 271B is later than the rise of the clock CCK just before the rise of the clock CCK at time t1 (timing met), and the hold time is secured. The H level of the output data (hold warning) of the delay unit 271B is acquired at the rising edge of the clock CCK at time t1. For this reason, the output hd0 of the FF 272B becomes H level equal to the test data td0 at time t1.

 また、遅延部171Cの出力データ(hold worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも1つ前の立ち上がりよりも後であり(timing met)、ホールド時間が確保されているため、クロックCCKの時刻t1の立ち上がりで遅延部171Cの出力データ(hold worst)のHレベルを取得する。このため、FF172Cの出力hd0は時刻t1でテストデータtd0と等しいHレベルになる。 The rise of the output data (hold worst) of the delay unit 171C is later than the rise of the clock CCK at time t1 (timing met), and the hold time is secured, so that the clock The H level of the output data (hold worst) of the delay unit 171C is acquired at the rising edge of time C1 of CCK. Therefore, the output hd0 of the FF 172C becomes H level equal to the test data td0 at time t1.

 また、遅延部171Bの出力データ(nominal)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも十分に前であり、FF172Bの出力nd0は時刻t1でテストデータtd0と等しいHレベルになる。 Also, the rise of the output data (nominal) of the delay unit 171B is sufficiently before the rise of the clock CCK at time t1, and the output nd0 of the FF 172B becomes H level equal to the test data td0 at time t1.

 また、遅延部171Aの出力データ(setup worst)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing violated)、時刻t1でクロックCCKが立ち上がった際に、Hレベルに切り替わっておらず、Lレベルのままである。これは、セットアップ時間の制約に違反したケースである。このため、FF172Aの出力sd0は時刻t1でテストデータtd0とは異なるLレベルに保持される。 The rising edge of the output data (setup worst) of the delay unit 171A is later than the rising edge of the clock CCK at time t1 (timing violated), and when the clock CCK rises at time t1, it has not switched to the H level. However, it remains at the L level. This is a case where the setup time constraint is violated. Therefore, the output sd0 of the FF 172A is held at the L level different from the test data td0 at time t1.

 また、遅延部271Aの出力データ(setup warning)の立ち上がりは、時刻t1のクロックCCKの立ち上がりよりも後であり(timing violated)、時刻t1でクロックCCKが立ち上がった際に、Hレベルに切り替わっておらず、Lレベルのままである。このため、FF272Aの出力sw0は時刻t1でテストデータtd0とは異なるLレベルに保持される。 The rise of the output data (setup warning) of the delay unit 271A is later than the rise of the clock CCK at time t1 (timing violated), and when the clock CCK rises at time t1, it has not switched to the H level. However, it remains at the L level. Therefore, the output sw0 of the FF 272A is held at the L level different from the test data td0 at time t1.

 以上より、EOR回路273A、173B、273Bの出力はすべて"0"になり、EOR回路173Aの出力だけが"1"になるため、遅延制御指令up0及びフリーズ信号frz0はHレベルである。また、遅延制御指令dwn0はLレベルである。 From the above, since the outputs of the EOR circuits 273A, 173B, 273B all become “0” and only the output of the EOR circuit 173A becomes “1”, the delay control command up0 and the freeze signal frz0 are at the H level. Delay control command dwn0 is at the L level.

 従って、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令up0が判定部244から出力されるとともに、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるために、Hレベルのフリーズ信号frz0が出力される。 Accordingly, an H level delay control command up0 is output from the determination unit 244 in order to delay the phase of the clock CCK, and at the H level, the FFs 113A to 113D and 123A to 123D are fixed to freeze the data transfer. A freeze signal frz0 is output.

 以上のように、判定部244は、判定部244は、パターン発生部241に入力されるクロックBCKに対して、判定部244に入力されるクロックCCKが遅れているが、ホールド時間がワーストのホールド時間に至っておらず、注意用のホールド時間に至った場合は、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwn0を出力する。なお、この場合は注意レベルであるため、バス120からコア110へのデータは同期転送される。 As described above, the determination unit 244 determines that the determination unit 244 has a worst hold time although the clock CCK input to the determination unit 244 is delayed with respect to the clock BCK input to the pattern generation unit 241. If the time has not been reached and the caution hold time has been reached, an H level delay control command dwn0 is output to advance the phase of the clock CCK. In this case, since it is a caution level, data from the bus 120 to the core 110 is synchronously transferred.

 また、判定部244は、パターン発生部241に入力されるクロックBCKに対して、判定部244に入力されるクロックCCKが遅れており、ホールド時間がワーストのホールド時間に至った場合は、クロックCCKの位相を進めるためにHレベルの遅延制御指令dwnを出力する。また、この場合、判定部244は、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるために、Hレベルのフリーズ信号frz0を出力する。 In addition, the determination unit 244 determines that the clock CCK input to the determination unit 244 is delayed with respect to the clock BCK input to the pattern generation unit 241, and the clock CCK is input when the hold time reaches the worst hold time. Output the delay control command dwn at the H level. In this case, the determination unit 244 outputs the H level freeze signal frz0 in order to freeze the data transfer with the FFs 113A to 113D and 123A to 123D fixed.

 また、判定部244は、パターン発生部241に入力されるクロックBCKに対して、判定部244に入力されるクロックCCKが進んでいるが、セットアップ時間がワーストのセットアップ時間に至っておらず、注意用のセットアップ時間に至った場合は、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令up0を出力する。なお、この場合は注意レベルであるため、バス120からコア110へのデータは同期転送される。 In addition, the determination unit 244 uses a clock CCK input to the determination unit 244 that is advanced with respect to the clock BCK input to the pattern generation unit 241, but the setup time has not reached the worst setup time. When the set-up time is reached, an H-level delay control command up0 is output to delay the phase of the clock CCK. In this case, since it is a caution level, data from the bus 120 to the core 110 is synchronously transferred.

 また、判定部244は、パターン発生部241に入力されるクロックBCKに対して、判定部244に入力されるクロックCCKが進んでおり、ホールド時間がワーストのホールド時間に至った場合は、クロックCCKの位相を遅らせるためにHレベルの遅延制御指令up0を出力する。また、この場合、判定部244は、FF113A~113D及び123A~123Dを固定してデータの転送を凍結させるために、Hレベルのフリーズ信号frz0を出力する。 In addition, the determination unit 244 advances the clock CCK when the clock CCK input to the determination unit 244 advances with respect to the clock BCK input to the pattern generation unit 241 and the hold time reaches the worst hold time. In order to delay the phase of H, the H level delay control command up0 is output. In this case, the determination unit 244 outputs the H level freeze signal frz0 in order to freeze the data transfer with the FFs 113A to 113D and 123A to 123D fixed.

 なお、判定部244は、遅延部171Cの出力データ(hold worst)と、遅延部171Aの出力データ(setup worst)とが遅延部171Bの出力データ(nominal)と等しく正しく取得できている場合は、ともにLレベルの遅延制御指令up0、dwn0を出力する。 The determination unit 244 obtains the output data (hold (worst) of the delay unit 171C and the output data (setup worst) of the delay unit 171A equally and correctly with the output data (nominal) of the delay unit 171B. Both output L level delay control commands up0 and dwn0.

 次に、図18を用いて、Hレベルのフリーズ信号frzによってFF113A~113D及び123A~123Dが固定された状態から、復帰する場合の動作について説明する。 Next, the operation when returning from the state in which the FFs 113A to 113D and 123A to 123D are fixed by the H level freeze signal frz will be described with reference to FIG.

 図18は、実施の形態2の同期データ処理回路において、フリーズ信号frzによってFF113A~113D及び123A~123Dが固定された状態から、復帰する場合の動作を示すタイミングチャートである。 FIG. 18 is a timing chart showing an operation in the case of returning from the state in which the FFs 113A to 113D and 123A to 123D are fixed by the freeze signal frz in the synchronous data processing circuit of the second embodiment.

 図18には、バス120に入力されるクロックBus_CKin、コア110に入力されるCore_CKin、クロックBCK、CCK。フリーズ信号frz、クロックBCK1、CCK1、及び転送データを示す。 FIG. 18 shows the clock Bus_CKin input to the bus 120, the Core_CKin input to the core 110, and the clocks BCK and CCK. A freeze signal frz, clocks BCK1, CCK1, and transfer data are shown.

 時刻t1でフリーズ信号frzがHレベルになると、クロックBCK1とクロックCCK1がLレベルに保持される。これにより、FF113A~113D及び123A~123Dのデータが凍結され、データの転送状態は、同期転送が行われている状態からデータ転送が凍結される状態に切り替わる。 When the freeze signal frz becomes H level at time t1, the clock BCK1 and the clock CCK1 are held at L level. As a result, the data in the FFs 113A to 113D and 123A to 123D are frozen, and the data transfer state is switched from the state where the synchronous transfer is performed to the state where the data transfer is frozen.

 しかしながら、このとき、遅延制御指令up又はdwnにより、クロックCCK1の位相は調整され続ける。 However, at this time, the phase of the clock CCK1 is continuously adjusted by the delay control command up or dwn.

 そして、時刻t2では、フリーズ信号frzがLレベルに復帰する。フリーズ信号frzがLレベルに復帰するのは、クロックCCK1の位相がある程度復帰し、クロックBCK1との位相差が注意レベルに戻ったときである。すなわち、例えば、図16(C)に示す状態から図16(B)に示す状態に復帰した場合、又は、図17(C)に示す状態から図17(B)に示す状態に復帰した場合が該当する。 At time t2, the freeze signal frz returns to the L level. The freeze signal frz returns to the L level when the phase of the clock CCK1 returns to some extent and the phase difference from the clock BCK1 returns to the caution level. That is, for example, when the state shown in FIG. 16C returns to the state shown in FIG. 16B, or when the state shown in FIG. 17C returns to the state shown in FIG. 17B. Applicable.

 そして、その少し後の時刻t3にクロックBCK1とクロックCCK1が復帰し、データの転送状態は、データ転送が凍結される状態から同期転送が行われる状態に復帰する。 At a later time t3, the clock BCK1 and the clock CCK1 are restored, and the data transfer state is restored from the state where the data transfer is frozen to the state where the synchronous transfer is performed.

 以上のように、実施の形態2の同期データ処理回路では、データを同期転送できない状態になると、FF113A~113D及び123A~123Dのデータが凍結するが、凍結後にクロックCCKの位相が注意レベルに戻ると、データの凍結を解除して動作を復帰させる。 As described above, in the synchronous data processing circuit of the second embodiment, when the data cannot be transferred synchronously, the data of the FFs 113A to 113D and 123A to 123D are frozen, but the phase of the clock CCK returns to the caution level after freezing. Then, release the data freeze and restore the operation.

 このため、コア110とバス120との間で、データの同期転送を安定的に行うことのできる同期データ処理回路を提供することができる。 For this reason, it is possible to provide a synchronous data processing circuit capable of stably performing synchronous transfer of data between the core 110 and the bus 120.

 以上、本発明の例示的な実施の形態の同期データ処理回路、及び、携帯端末機について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The synchronous data processing circuit and the portable terminal according to the exemplary embodiment of the present invention have been described above. However, the present invention is not limited to the specifically disclosed embodiment, and is claimed. Various modifications and changes can be made without departing from the scope.

 10 スマートフォン端末機
 20 アプリケーション処理部
 30 モデム部
 41 ユーザインターフェイス
 42 システムコントローラ
 43 LCD
 44 バッテリ
 50 アプリケーションプロセッサ
 60 ベースバンドモジュール
 70 ベースバンドプロセッサ
 80 RFモジュール
 100 同期データ処理回路
 110A、110B コア
 120 バス
 130A、130B 可変ディレイ部
 140A、140B 同期判定部
 150 固定ディレイ部
 160 PLL
 212A、212B、222A、222B ゲートロックバッファ
 240 同期判定部
 241 パターン発生部
 242 判定部
 243 パターン発生部
 244 判定部
 245 出力部
DESCRIPTION OF SYMBOLS 10 Smartphone terminal 20 Application processing part 30 Modem part 41 User interface 42 System controller 43 LCD
44 battery 50 application processor 60 baseband module 70 baseband processor 80 RF module 100 synchronous data processing circuit 110A, 110B core 120 bus 130A, 130B variable delay unit 140A, 140B synchronization determination unit 150 fixed delay unit 160 PLL
212A, 212B, 222A, 222B Gate lock buffer 240 Synchronization determination unit 241 Pattern generation unit 242 Determination unit 243 Pattern generation unit 244 Determination unit 245 Output unit

Claims (13)

 クロック発生源から出力されるクロックに基づき、定電圧で駆動される第1回路と、
 駆動電圧が可変され、前記クロック発生源から出力されるクロックに基づき、前記第1回路との間で双方向又はいずれか一方向にデータを同期転送する第2回路と、
 前記第1回路又は前記第2回路に入力されるクロックの遅延量を調整する遅延調整部と、
 前記第1回路及び前記第2回路の間で転送されるテストデータを生成するテストデータ生成部と、
 前記転送された前記テストデータを判定し、前記テストデータが同期転送されたか否かを表す判定結果に基づき前記遅延調整部における遅延量を調整する判定部と
 を含む、同期データ処理回路。
A first circuit driven at a constant voltage based on a clock output from a clock generation source;
A second circuit for changing the driving voltage and synchronously transferring data to or from the first circuit based on a clock output from the clock generation source;
A delay adjusting unit for adjusting a delay amount of a clock input to the first circuit or the second circuit;
A test data generation unit for generating test data transferred between the first circuit and the second circuit;
A determination unit that determines the transferred test data and adjusts a delay amount in the delay adjustment unit based on a determination result indicating whether or not the test data is synchronously transferred.
 前記第2回路及び前記遅延調整部をそれぞれ複数含むとともに、前記複数の遅延調整部は、前記複数の第2回路の各々に1つずつ配設され、それぞれ、前記複数の第2回路に入力されるクロックの遅延量を調節する、請求項1記載の同期データ処理回路。 A plurality of the second circuits and the plurality of delay adjustment units are included, and each of the plurality of delay adjustment units is disposed in each of the plurality of second circuits and is input to each of the plurality of second circuits. The synchronous data processing circuit according to claim 1, wherein a delay amount of a clock to be adjusted is adjusted.  前記テストデータ生成部は前記第1回路側に設けられるとともに、前記判定部は前記第2回路側に設けられ、前記テストデータ生成部が生成するテストデータは、前記第1回路側から前記第2回路側に転送され、
 前記判定部は、前記第2回路のワーストケースのセットアップ時間を実現する遅延時間を有する第1遅延部を有し、前記第1遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を増大させる、請求項1又は2記載の同期データ処理回路。
The test data generation unit is provided on the first circuit side, the determination unit is provided on the second circuit side, and the test data generated by the test data generation unit is transmitted from the first circuit side to the second circuit. Transferred to the circuit side,
The determination unit includes a first delay unit having a delay time for realizing a worst-case setup time of the second circuit, and when the test data delayed by the first delay unit is not synchronously transferred, the delay The synchronous data processing circuit according to claim 1, wherein the delay amount in the adjustment unit is increased.
 前記判定部は、前記第1遅延部の遅延時間よりも第1余裕遅延時間だけ長い遅延時間を有する第1予備遅延部をさらに有し、前記第1予備遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を増大させ、前記第1遅延部で遅延されたテストデータが同期転送されない場合は、前記第1回路及び前記第2回路を凍結する、請求項3記載の同期データ処理回路。 The determination unit further includes a first preliminary delay unit having a delay time longer than a delay time of the first delay unit by a first margin delay time, and the test data delayed by the first preliminary delay unit is synchronized. 4. When not transferred, the delay amount in the delay adjustment unit is increased, and when the test data delayed by the first delay unit is not transferred synchronously, the first circuit and the second circuit are frozen. The synchronous data processing circuit described.  前記判定部は、前記第2回路のワーストケースのホールド時間を実現する遅延時間を有する第2遅延部を有し、前記第2遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を減少させる、請求項1乃至4のいずれか一項記載の同期データ処理回路。 The determination unit includes a second delay unit having a delay time that realizes a worst-case hold time of the second circuit, and when the test data delayed by the second delay unit is not transferred synchronously, the delay The synchronous data processing circuit according to claim 1, wherein a delay amount in the adjustment unit is reduced.  前記判定部は、前記第2遅延部の遅延時間よりも第2余裕遅延時間だけ短い遅延時間を有する第2予備遅延部をさらに有し、前記第2予備遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を減少させ、前記第2遅延部で遅延されたテストデータが同期転送されない場合は、前記第1回路及び前記第2回路を凍結する、請求項5記載の同期データ処理回路。 The determination unit further includes a second preliminary delay unit having a delay time shorter by a second margin delay time than a delay time of the second delay unit, and the test data delayed by the second preliminary delay unit is synchronized 6. When not transferred, the delay amount in the delay adjustment unit is decreased, and when the test data delayed by the second delay unit is not transferred synchronously, the first circuit and the second circuit are frozen. The synchronous data processing circuit described.  前記テストデータ生成部は前記第2回路側に設けられるとともに、前記判定部は前記第1回路側に設けられ、前記テストデータ生成部が生成するテストデータは、前記第2回路側から前記第1回路側に転送され、
 前記判定部は、前記第1回路のワーストケースのセットアップ時間を実現する遅延時間を有する第1遅延部を有し、前記第1遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を減少させる、請求項1又は2記載の同期データ処理回路。
The test data generation unit is provided on the second circuit side, the determination unit is provided on the first circuit side, and the test data generated by the test data generation unit is transmitted from the second circuit side to the first circuit. Transferred to the circuit side,
The determination unit includes a first delay unit having a delay time for realizing a worst-case setup time of the first circuit, and when the test data delayed by the first delay unit is not transferred synchronously, the delay The synchronous data processing circuit according to claim 1, wherein the amount of delay in the adjustment unit is reduced.
 前記判定部は、前記第1遅延部の遅延時間よりも第1余裕遅延時間だけ長い遅延時間を有する第1予備遅延部をさらに有し、前記第1予備遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を減少させ、前記第1遅延部で遅延されたテストデータが同期転送されない場合は、前記第1回路及び前記第2回路を凍結する、請求項7記載の同期データ処理回路。 The determination unit further includes a first preliminary delay unit having a delay time longer than a delay time of the first delay unit by a first margin delay time, and the test data delayed by the first preliminary delay unit is synchronized. 8. If not transferred, the delay amount in the delay adjusting unit is reduced, and if the test data delayed by the first delay unit is not transferred synchronously, the first circuit and the second circuit are frozen. The synchronous data processing circuit described.  前記判定部は、前記第1回路のワーストケースのホールド時間を実現する遅延時間を有する第2遅延部を有し、前記第2遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を増大させる、請求項1、2、7、又は、8のいずれか一項記載の同期データ処理回路。 The determination unit includes a second delay unit having a delay time that realizes a worst-case hold time of the first circuit, and when the test data delayed by the second delay unit is not transferred synchronously, the delay The synchronous data processing circuit according to claim 1, wherein the delay amount in the adjustment unit is increased.  前記判定部は、前記第2遅延部の遅延時間よりも第2余裕遅延時間だけ短い遅延時間を有する第2予備遅延部をさらに有し、前記第2予備遅延部で遅延されたテストデータが同期転送されない場合は、前記遅延調整部における遅延量を減少又は増大させ、前記第2遅延部で遅延されたテストデータが同期転送されない場合は、前記第1回路及び前記第2回路を凍結する、請求項9記載の同期データ処理回路。 The determination unit further includes a second preliminary delay unit having a delay time shorter by a second margin delay time than a delay time of the second delay unit, and the test data delayed by the second preliminary delay unit is synchronized When the data is not transferred, the delay amount in the delay adjustment unit is decreased or increased, and when the test data delayed by the second delay unit is not transferred synchronously, the first circuit and the second circuit are frozen. Item 10. A synchronous data processing circuit according to Item 9.  前記第1回路又は前記第2回路のうち、前記遅延調整部によって遅延量が調整されるクロックが入力される回路とは反対の回路に入力されるクロックに所定の固定の遅延量を与える固定遅延部をさらに含む、請求項1乃至10のいずれか一項に記載の同期転送回路。 A fixed delay that gives a predetermined fixed delay amount to a clock that is input to a circuit that is opposite to a circuit that receives a clock whose delay amount is adjusted by the delay adjustment unit, of the first circuit or the second circuit. The synchronous transfer circuit according to claim 1, further comprising a unit.  前記データは、前記第1回路及び前記第2回路との間で双方向で同期転送され、
 前記テストデータ生成部は、
 前記第1回路が用いるクロックに基づき第1テストデータを生成する第1テストデータ生成部と、
 前記第2回路が用いるクロックに基づき第2テストデータを生成する第2テストデータ生成部と
 を有し、
 前記判定部は、
 前記第1テストデータの位相を判定し、判定結果に基づき前記遅延調整部における遅延量を調整する第1判定部と、
 前記第2テストデータの位相を判定し、判定結果に基づき前記遅延調整部における遅延量を調整する第2判定部と
 を有する、請求項1乃至11のいずれか一項記載の同期データ処理回路。
The data is synchronously transferred in both directions between the first circuit and the second circuit,
The test data generation unit
A first test data generation unit for generating first test data based on a clock used by the first circuit;
A second test data generation unit that generates second test data based on a clock used by the second circuit,
The determination unit
A first determination unit that determines a phase of the first test data and adjusts a delay amount in the delay adjustment unit based on a determination result;
The synchronous data processing circuit according to claim 1, further comprising: a second determination unit that determines a phase of the second test data and adjusts a delay amount in the delay adjustment unit based on a determination result.
 請求項1乃至12のいずれか一項の同期データ処理回路を有するプロセッサと、
 前記同期データ処理回路の第2回路に供給する駆動電圧を可変する可変電圧供給部と
 を含む、携帯端末機。
A processor having the synchronous data processing circuit according to any one of claims 1 to 12,
And a variable voltage supply unit that varies a drive voltage supplied to the second circuit of the synchronous data processing circuit.
PCT/JP2012/056202 2012-03-09 2012-03-09 Synchronization data processing circuit and mobile terminal apparatus Ceased WO2013132667A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/056202 WO2013132667A1 (en) 2012-03-09 2012-03-09 Synchronization data processing circuit and mobile terminal apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/056202 WO2013132667A1 (en) 2012-03-09 2012-03-09 Synchronization data processing circuit and mobile terminal apparatus

Publications (1)

Publication Number Publication Date
WO2013132667A1 true WO2013132667A1 (en) 2013-09-12

Family

ID=49116177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/056202 Ceased WO2013132667A1 (en) 2012-03-09 2012-03-09 Synchronization data processing circuit and mobile terminal apparatus

Country Status (1)

Country Link
WO (1) WO2013132667A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784946A (en) * 1993-09-20 1995-03-31 Hitachi Ltd Data transfer method
JP2006086455A (en) * 2004-09-17 2006-03-30 Toshiba Corp Semiconductor device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784946A (en) * 1993-09-20 1995-03-31 Hitachi Ltd Data transfer method
JP2006086455A (en) * 2004-09-17 2006-03-30 Toshiba Corp Semiconductor device

Similar Documents

Publication Publication Date Title
US9852859B2 (en) Adjustable power rail multiplexing
EP2833548B1 (en) Digitally controlled edge interpolator (dcei) for digital-to-time converters (dtc)
KR100793521B1 (en) CPU and bus power reduction when running in sleep mode
CN109977056A (en) Digital processing system, master chip and digital processing method
US20170148497A1 (en) Semiconductor system
US20010048635A1 (en) Device and method for generating clock signals from a single reference frequency signal and for synchronizing data signals with a generated clock
CN115933811A (en) Clock frequency adjusting system and method and electronic equipment
JP5417688B2 (en) Semiconductor integrated circuit
KR102325388B1 (en) Power Gating Control Circuit For Controlling Stably Data Restoring
US9223384B2 (en) Synthesizing intermediate performance levels in integrated circuits, and related processor systems, methods, and computer-readable media
EP3134794B1 (en) Clock phase alignment
US7003683B2 (en) Glitchless clock selection circuit
US20160241251A1 (en) Display apparatus and driving method for the same
US8810304B2 (en) Adaptive power gating and regulation
US8510576B2 (en) Semiconductor integrated circuit and control method of semiconductor integrated circuit
WO2013132667A1 (en) Synchronization data processing circuit and mobile terminal apparatus
JP2012105049A (en) Phase/frequency comparison circuit and pll circuit
US10429881B2 (en) Semiconductor device for stopping an oscillating clock signal from being provided to an IP block, a semiconductor system having the semiconductor device, and a method of operating the semiconductor device
JP4965161B2 (en) Memory card controller
KR20140070041A (en) Semiconductor integrated chip and operating method thereof
US8143913B2 (en) Semiconductor integrated circuit, semiconductor integrated circuit control method, and terminal system
US20080309373A1 (en) Integrated circuit device and electronic instrument
JP2006185030A (en) Clock modulation circuit
JP2006050411A (en) Semiconductor device
KR20070113845A (en) Modem for Mobile Terminal Supporting Multiple Communication Standards

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: 12870698

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: 12870698

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP