JP2013062568A - Integrated circuit - Google Patents

Integrated circuit Download PDF

Info

Publication number
JP2013062568A
JP2013062568A JP2011197940A JP2011197940A JP2013062568A JP 2013062568 A JP2013062568 A JP 2013062568A JP 2011197940 A JP2011197940 A JP 2011197940A JP 2011197940 A JP2011197940 A JP 2011197940A JP 2013062568 A JP2013062568 A JP 2013062568A
Authority
JP
Japan
Prior art keywords
timing signal
clock
circuit
signal
timing
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.)
Abandoned
Application number
JP2011197940A
Other languages
Japanese (ja)
Inventor
Kouji Hirairi
孝二 平入
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2011197940A priority Critical patent/JP2013062568A/en
Publication of JP2013062568A publication Critical patent/JP2013062568A/en
Abandoned legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce a skew of a timing signal while suppressing an increase in power consumption.SOLUTION: A main clock distribution circuit distributively ramifies a timing signal into a plurality of main timing signals. A sub clock distribution circuit distributively ramifies the timing signal into a plurality of sub timing signals when instructed to distribute the timing signal. A minimum delay timing signal output section outputs as a minimum delay timing signal the one distributed earlier of any one of the plurality of main timing signals and any one of the plurality of sub timing signals. A synchronous operation circuit operates in synchronism with the minimum delay timing signal. A measurement section measures a value indicating a delay variation in any one of the plurality of main timing signals. A clock distribution circuit control section instructs the sub distribution circuit to distribute the timing signal if the variation indicated by the measured value is equal to or greater than a predetermined value.

Description

本技術は、集積回路に関する。詳しくは、タイミング信号に同期して動作する集積回路に関する。   The present technology relates to integrated circuits. Specifically, the present invention relates to an integrated circuit that operates in synchronization with a timing signal.

従来、集積回路においては、クロック信号などのタイミング信号に同期して動作する素子(例えば、フリップフロップ)のそれぞれにタイミング信号を分配するために、クロック木などのクロック分配回路が設けられていた。このクロック木でタイミング信号を複数の素子に分配する場合、それぞれの素子においてスキューが大きくなることがあった。ここで、スキューは、ある素子にタイミング信号が到着するまでの遅延時間と、その素子と異なる素子にタイミング信号が到着するまでの遅延時間との間の差である。例えば、クロック木の葉に回路を接続する構成においてクロック木の根から葉のそれぞれに至るまでの配線長やバッファ段数が異なると、それぞれの葉に分配されたタイミング信号の遅延時間に差が生じやすくなる。また、集積回路の駆動電圧が低下した場合にスキューのばらつきが大きくなることが知られている。   Conventionally, in an integrated circuit, a clock distribution circuit such as a clock tree is provided in order to distribute a timing signal to each element (for example, flip-flop) that operates in synchronization with a timing signal such as a clock signal. When the timing signal is distributed to a plurality of elements using this clock tree, the skew may increase in each element. Here, the skew is a difference between a delay time until a timing signal arrives at a certain element and a delay time until a timing signal arrives at an element different from the element. For example, in a configuration in which a circuit is connected to a leaf of a clock tree, if the wiring length from the root of the clock tree to each leaf and the number of buffer stages are different, a difference is likely to occur in the delay time of the timing signal distributed to each leaf. It is also known that skew variation increases when the driving voltage of an integrated circuit decreases.

スキューのばらつきが増大すると、集積回路に誤動作が生じることがある。例えば、フリップフロップにおいて、ホールド違反やセットアップ違反などのタイミングエラーが発生して集積回路に誤動作が生じるおそれがある。ホールド違反とは、クロック信号などのタイミング信号によりデータの取り込みが指示されてからフリップフロップに同一値のデータが維持(ホールド)される時間が設計値(ホールドタイム)より短くなってしまうことをいう。セットアップ違反とは、クロック信号によるデータの取り込みの指示に先立ってフリップフロップにデータを入力するタイミングが設計上のタイミング(セットアップタイム)より遅くなってしまうことをいう。スキューのばらつきが増大すると、タイミング信号がフリップフロップに到着する時刻が早すぎたり遅すぎたりしてタイミングエラーが生じ易くなる。   When the skew variation increases, a malfunction may occur in the integrated circuit. For example, in a flip-flop, a timing error such as a hold violation or a setup violation may occur, and the integrated circuit may malfunction. The hold violation means that a time during which data of the same value is maintained (held) in the flip-flop becomes shorter than a design value (hold time) after data fetching is instructed by a timing signal such as a clock signal. . The setup violation means that the timing of inputting data to the flip-flop prior to the instruction to fetch data by the clock signal is later than the design timing (setup time). When the skew variation increases, the timing signal arrives at the flip-flop too early or too late, and a timing error is likely to occur.

クロックスキューを低減するために、クロック木でなく、メッシュ状のメッシュ配線によりタイミング信号を分配する方法もある。メッシュ配線においては、バッファを介さずに格子状の配線によりクロック信号が分配されるため、クロック木よりも配線抵抗が小さくなり、スキューのばらつきが小さくなる。ただし、メッシュ配線は、配線に必要な回路面積がクロック木よりも大きくなってしまう。そこで、クロック木とメッシュ配線とを併用するクロック分配回路が提案されている(例えば、特許文献1参照。)。この構成により、回路面積の増大が抑制されて、スキューが低減される。   In order to reduce the clock skew, there is also a method of distributing the timing signal not by the clock tree but by mesh mesh wiring. In the mesh wiring, since the clock signal is distributed by the grid-like wiring without using the buffer, the wiring resistance is smaller than that of the clock tree, and the skew variation is reduced. However, mesh wiring requires a larger circuit area for wiring than the clock tree. Therefore, a clock distribution circuit using a clock tree and mesh wiring in combination has been proposed (see, for example, Patent Document 1). With this configuration, an increase in circuit area is suppressed and skew is reduced.

特開平8−116025号公報Japanese Patent Laid-Open No. 8-11605

しかしながら、上述の従来技術では集積回路の電力消費量が増大するおそれがあった。例えば、メッシュ配線に値の異なるタイミング信号が分配された場合、メッシュ配線に接続された回路間に短絡電流が流れることがある。この短絡電流の発生により消費電力が増大してしまうことがあった。   However, the above-described conventional technology may increase the power consumption of the integrated circuit. For example, when timing signals having different values are distributed to the mesh wiring, a short circuit current may flow between the circuits connected to the mesh wiring. The occurrence of this short circuit current may increase power consumption.

本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、所定のタイミングを指示するタイミング信号を複数の主タイミング信号に分岐して分配する主タイミング信号分配回路と、上記タイミング信号の分配が指示された場合には上記タイミング信号を複数の副タイミング信号に分岐して分配する副タイミング信号分配回路と、上記複数の主タイミング信号のいずれかと上記複数の副タイミング信号のいずれかとのうち先に分配された信号を最小遅延タイミング信号として出力する最小遅延タイミング信号出力部と、上記最小遅延タイミング信号に同期して動作する同期動作回路と、上記複数の主タイミング信号のいずれかの遅延のばらつきを示す値を測定する測定部と、上記測定された値の示す上記ばらつきが上記所定値以上であるときに上記副タイミング信号分配回路に上記タイミング信号の分配を指示するタイミング信号分配回路制御部とを具備する集積回路である。これにより、複数の主タイミング信号のいずれかの遅延のばらつきが所定値以上であるときに副タイミング信号分配回路にタイミング信号の分配が指示されるという作用をもたらす。   The present technology has been made to solve the above-described problems, and a first aspect thereof is a main timing signal distribution in which a timing signal instructing a predetermined timing is branched and distributed to a plurality of main timing signals. A circuit, a sub-timing signal distribution circuit that divides the timing signal into a plurality of sub-timing signals when distribution of the timing signal is instructed, and one of the plurality of main timing signals and the plurality of sub-timing signals A minimum delay timing signal output unit that outputs a signal distributed earlier with any one of the timing signals as a minimum delay timing signal; a synchronous operation circuit that operates in synchronization with the minimum delay timing signal; and the plurality of main timings A measurement unit that measures a value indicating any variation in delay of the signal, and the variation indicated by the measured value is An integrated circuit comprising a timing signal distribution circuit control unit for instructing the distribution of said timing signal to said auxiliary timing signal distribution circuit when a predetermined value or more. As a result, there is an effect that the timing signal distribution is instructed to the sub-timing signal distribution circuit when the delay variation of any of the plurality of main timing signals is equal to or greater than a predetermined value.

また、この第1の側面において、上記最小遅延タイミング信号出力部は、複数のタイミング信号生成部を備え、上記複数のタイミング信号生成部のそれぞれは、主入力端子および副入力端子を備え、上記主入力端子および上記副入力端子に入力された信号から上記最小遅延タイミング信号を生成して出力し、上記主タイミング信号分配回路は、上記複数のタイミング信号生成部のそれぞれの上記主入力端子に互いに異なる上記複数の主タイミング信号を分配し、上記副タイミング信号分配回路は、上記タイミング信号の分配の指示に従って上記複数のタイミング信号生成部のそれぞれの上記副入力端子に互いに異なる上記複数の副タイミング信号を分配し、上記測定部は、上記複数の主タイミング信号のそれぞれについて上記ばらつきを示す値を測定し、上記タイミング信号分配回路制御部は、上記ばらつきが上記所定値以上になっている上記主タイミング信号が分配されている上記タイミング信号生成部の上記副入力端子に対して上記副タイミング信号の分配を指示してもよい。これにより、遅延のばらつきが所定値以上になっている主タイミング信号が分配されているタイミング信号生成部の副入力端子に対して副タイミング信号の分配が指示されるという作用をもたらす。   In the first aspect, the minimum delay timing signal output unit includes a plurality of timing signal generation units, and each of the plurality of timing signal generation units includes a main input terminal and a sub input terminal. The minimum delay timing signal is generated and output from signals input to the input terminal and the sub input terminal, and the main timing signal distribution circuit is different from each of the main input terminals of the plurality of timing signal generation units. The plurality of main timing signals are distributed, and the sub-timing signal distribution circuit distributes the plurality of sub-timing signals different from each other to the sub-input terminals of the plurality of timing signal generation units according to the timing signal distribution instruction. And the measurement unit indicates the variation for each of the plurality of main timing signals. The timing signal distribution circuit control unit measures the sub timing signal with respect to the sub input terminal of the timing signal generation unit to which the main timing signal in which the variation is equal to or greater than the predetermined value is distributed. May be directed to distribute. As a result, there is an effect that the distribution of the sub-timing signal is instructed to the sub-input terminal of the timing signal generation unit to which the main timing signal whose delay variation is equal to or greater than a predetermined value is distributed.

また、この第1の側面において、上記主タイミング信号分配回路および上記副タイミング信号分配回路は、上記複数のタイミング信号生成部のいずれかに対して同一の段数のバッファを介して上記主タイミング信号および上記副タイミング信号を分配してもよい。これにより、複数のタイミング信号生成部のいずれかに対して同一の段数のバッファを介して主タイミング信号および副タイミング信号が分配されるという作用をもたらす。   In the first aspect, the main timing signal distribution circuit and the sub-timing signal distribution circuit may transmit the main timing signal and the sub-timing signal distribution circuit to any one of the plurality of timing signal generation units via the same number of stages of buffers. The sub timing signal may be distributed. This brings about the effect that the main timing signal and the sub-timing signal are distributed to any one of the plurality of timing signal generation units via the same number of buffers.

また、この第1の側面において、上記測定部は、上記主タイミング信号分配回路に供給される電圧が所定電圧以下になった場合には上記ばらつきを示す値の測定を行ってもよい。これにより、電圧が所定電圧になった場合にばらつきを示す値の測定が行われるという作用をもたらす。   In the first aspect, the measurement unit may measure a value indicating the variation when a voltage supplied to the main timing signal distribution circuit becomes a predetermined voltage or less. As a result, there is an effect that measurement of a value indicating variation is performed when the voltage becomes a predetermined voltage.

また、この第1の側面において、上記測定部は、上記同期動作回路におけるタイミングエラーを検出するエラー検出部と、上記ばらつきを示す値として上記タイミングエラーの検出頻度を測定するエラー検出頻度測定部とを備えてもよい。これにより、ばらつきを示す値としてタイミングエラーの検出頻度が測定されるという作用をもたらす。   In the first aspect, the measurement unit includes an error detection unit that detects a timing error in the synchronous operation circuit, and an error detection frequency measurement unit that measures the detection frequency of the timing error as a value indicating the variation. May be provided. This brings about the effect that the detection frequency of the timing error is measured as a value indicating variation.

また、この第1の側面において、上記最小遅延タイミング信号出力部は、上記複数の主タイミング信号のいずれかと上記複数の副タイミング信号のいずれかとの論理和を上記最小遅延タイミング信号として出力し、上記同期動作回路は、上記最小遅延タイミング信号の立上りエッジに同期して動作してもよい。これにより、主タイミング信号および副タイミング信号の論理和が最小タイミング信号として出力され、同期動作回路は、その最小遅延タイミング信号の立上りエッジに同期して動作するという作用をもたらす。   In the first aspect, the minimum delay timing signal output unit outputs a logical sum of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal. The synchronous operation circuit may operate in synchronization with the rising edge of the minimum delay timing signal. As a result, the logical sum of the main timing signal and the sub-timing signal is output as the minimum timing signal, and the synchronous operation circuit operates in synchronization with the rising edge of the minimum delay timing signal.

また、この第1の側面において、上記最小遅延タイミング信号出力部は、上記複数の主タイミング信号のいずれかと上記複数の副タイミング信号のいずれかとの論理和を上記最小遅延タイミング信号として出力し、上記同期動作回路は、上記最小遅延タイミング信号を反転して出力するインバータと、上記反転された最小遅延タイミング信号の立上りエッジに同期して動作するフリップフロップとを備えてもよい。これにより、主タイミング信号および副タイミング信号の否定論理和が最小タイミング信号として出力され、同期動作回路は、反転された最小遅延タイミング信号の立上りエッジに同期して動作するという作用をもたらす。   In the first aspect, the minimum delay timing signal output unit outputs a logical sum of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal. The synchronous operation circuit may include an inverter that inverts and outputs the minimum delay timing signal, and a flip-flop that operates in synchronization with a rising edge of the inverted minimum delay timing signal. As a result, the negative logical sum of the main timing signal and the sub timing signal is output as the minimum timing signal, and the synchronous operation circuit operates in synchronization with the rising edge of the inverted minimum delay timing signal.

また、この第1の側面において、上記最小遅延タイミング信号出力部は、上記複数の主タイミング信号のいずれかと上記複数の副タイミング信号のいずれかとの論理積を上記最小遅延タイミング信号として出力し、上記同期動作回路は、上記最小遅延タイミング信号の立下りエッジに同期して動作してもよい。これにより、主タイミング信号および副タイミング信号の論理積が最小タイミング信号として出力され、同期動作回路は、その最小遅延タイミング信号の立下りエッジに同期して動作するという作用をもたらす。   In the first aspect, the minimum delay timing signal output unit outputs a logical product of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal. The synchronous operation circuit may operate in synchronization with the falling edge of the minimum delay timing signal. As a result, the logical product of the main timing signal and the sub timing signal is output as the minimum timing signal, and the synchronous operation circuit operates in synchronization with the falling edge of the minimum delay timing signal.

また、この第1の側面において、上記最小遅延タイミング信号出力部は、上記複数の主タイミング信号のいずれかと上記複数の副タイミング信号のいずれかとの論理積を上記最小遅延タイミング信号として出力し、上記同期動作回路は、上記最小遅延タイミング信号を反転して出力するインバータと、上記反転された最小遅延タイミング信号の立下りエッジに同期して動作するフリップフロップとを備えてもよい。これにより、主タイミング信号および副タイミング信号の否定論理積が最小タイミング信号として出力され、同期動作回路は、反転された最小遅延タイミング信号の立上りエッジに同期して動作するという作用をもたらす。   In the first aspect, the minimum delay timing signal output unit outputs a logical product of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal. The synchronous operation circuit may include an inverter that inverts and outputs the minimum delay timing signal, and a flip-flop that operates in synchronization with a falling edge of the inverted minimum delay timing signal. As a result, a negative logical product of the main timing signal and the sub timing signal is output as the minimum timing signal, and the synchronous operation circuit operates in synchronization with the rising edge of the inverted minimum delay timing signal.

また、この第1の側面において、上記同期動作回路は、上記最小遅延タイミング信号を格子状に配置された複数の領域に分配するメッシュ配線と、上記複数の領域のいずれかに分配された上記最小遅延タイミング信号に同期して動作するフリップフロップとを備えてもよい。これにより、最小遅延タイミング信号がメッシュ配線により分配されるという作用をもたらす。   In the first aspect, the synchronous operation circuit includes a mesh wiring that distributes the minimum delay timing signal to a plurality of regions arranged in a grid pattern, and the minimum circuit that is distributed to any of the plurality of regions. And a flip-flop that operates in synchronization with the delay timing signal. This brings about the effect that the minimum delay timing signal is distributed by the mesh wiring.

また、この第1の側面において、上記タイミング信号はクロック信号であり、上記主タイミング信号分配回路は、所定の段数の第1のバッファを介して上記タイミング信号を上記複数の主タイミング信号に分岐するクロック木であり、上記副タイミング信号分配回路は、所定の段数の第2のバッファを介して上記タイミング信号を上記複数の副タイミング信号に分岐するクロック木であってもよい。これにより、所定の段数のバッファを介してクロック信号が分配されるという作用をもたらす。   In this first aspect, the timing signal is a clock signal, and the main timing signal distribution circuit branches the timing signal into the plurality of main timing signals via a predetermined number of stages of first buffers. The sub-timing signal distribution circuit may be a clock tree that branches the timing signal into the plurality of sub-timing signals via a predetermined number of second buffers. As a result, the clock signal is distributed through a predetermined number of stages of buffers.

本技術によれば、電力消費量の増大を抑制しつつ、タイミング信号の遅延のばらつきが低減するという優れた効果を奏し得る。   According to the present technology, it is possible to achieve an excellent effect of reducing variations in timing signal delay while suppressing an increase in power consumption.

第1の実施の形態における集積回路の一構成例を示すブロック図である。1 is a block diagram illustrating a configuration example of an integrated circuit according to a first embodiment. 第1の実施の形態におけるクロック分配部の一構成例を示す図である。It is a figure which shows the example of 1 structure of the clock distribution part in 1st Embodiment. 第1の実施の形態におけるクロック分配部および同期動作回路の一構成例を示す回路図である。FIG. 3 is a circuit diagram illustrating a configuration example of a clock distribution unit and a synchronous operation circuit in the first embodiment. 第1の実施の形態におけるクロック信号の立上りに同期した同期動作回路の動作の一例を示すタイミングチャートである。4 is a timing chart illustrating an example of the operation of the synchronous operation circuit synchronized with the rising edge of the clock signal according to the first embodiment. 第1の実施の形態における第1の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 1st modification in 1st Embodiment. 第1の実施の形態における第2の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 2nd modification in 1st Embodiment. 第1の実施の形態における第3の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 3rd modification in 1st Embodiment. 第1の実施の形態における第3の変形例におけるクロック信号の立下りに同期した同期動作回路の動作の一例を示すタイミングチャートである。It is a timing chart which shows an example of operation | movement of the synchronous operation circuit synchronized with the fall of the clock signal in the 3rd modification in 1st Embodiment. 第1の実施の形態における第4の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 4th modification in 1st Embodiment. 第1の実施の形態における第5の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 5th modification in 1st Embodiment. 第2の実施の形態における集積回路の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the integrated circuit in 2nd Embodiment. 第2の実施の形態におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in 2nd Embodiment. 第2の実施の形態におけるフリップフロップの一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the flip-flop in 2nd Embodiment. 第2の実施の形態における主クロック分配回路の一構成例を示す回路図である。FIG. 6 is a circuit diagram illustrating a configuration example of a main clock distribution circuit according to a second embodiment. 第2の実施の形態における副クロック分配回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the subclock distribution circuit in 2nd Embodiment. 第2の実施の形態におけるエラー測定部の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the error measurement part in 2nd Embodiment. 第2の実施の形態におけるエラー検出回路の一構成例を示す回路図である。It is a circuit diagram which shows the example of 1 structure of the error detection circuit in 2nd Embodiment. 第2の実施の形態におけるクロック分配回路制御部の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the clock distribution circuit control part in 2nd Embodiment. 第2の実施の形態におけるクロック分配回路制御部の動作の一例を示すフローチャートである。10 is a flowchart illustrating an example of an operation of a clock distribution circuit control unit according to the second embodiment. 第2の実施の形態における第1の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 1st modification in 2nd Embodiment. 第2の実施の形態における第2の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 2nd modification in 2nd Embodiment. 第2の実施の形態における第3の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 3rd modification in 2nd Embodiment. 第2の実施の形態における第4の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 4th modification in 2nd Embodiment. 第2の実施の形態における第5の変形例におけるクロック分配部および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution part and synchronous operation circuit in the 5th modification in 2nd Embodiment. 第3の実施の形態における集積回路の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the integrated circuit in 3rd Embodiment. 第3の実施の形態におけるクロック分配回路および同期動作回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the clock distribution circuit and synchronous operation circuit in 3rd Embodiment. 第3の実施の形態におけるエラー測定部の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the error measurement part in 3rd Embodiment. 第3の実施の形態におけるクロック分配回路、同期動作回路および組合せ論理回路の実装例を示す図である。It is a figure which shows the example of mounting of the clock distribution circuit, synchronous operation circuit, and combinational logic circuit in 3rd Embodiment. 第3の実施の形態における電源供給部の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the power supply part in 3rd Embodiment. 第3の実施の形態におけるクロック分配回路駆動電圧制御部の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the clock distribution circuit drive voltage control part in 3rd Embodiment. 第3の実施の形態におけるクロック分配回路駆動電圧制御回路の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the clock distribution circuit drive voltage control circuit in 3rd Embodiment. 第3の実施の形態における電圧制御レジスタおよび可変抵抗器の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the voltage control register | resistor and variable resistor in 3rd Embodiment. 第3の実施の形態における論理回路駆動電圧制御部の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the logic circuit drive voltage control part in 3rd Embodiment. 第3の実施の形態における論理回路駆動電圧制御回路の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the logic circuit drive voltage control circuit in 3rd Embodiment. 第3の実施の形態におけるクロック分配回路駆動電圧制御部の動作の一例を示すフローチャートである。14 is a flowchart illustrating an example of an operation of a clock distribution circuit drive voltage control unit according to the third embodiment. 第3の実施の形態における論理回路駆動電圧制御部の動作の一例を示すフローチャートである。14 is a flowchart illustrating an example of an operation of a logic circuit drive voltage control unit according to the third embodiment. 第3の実施の形態におけるクロック分配回路駆動電圧および論理回路駆動電圧の第1の設定例を示すグラフである。It is a graph which shows the 1st example of a setting of the clock distribution circuit drive voltage and logic circuit drive voltage in 3rd Embodiment. 第3の実施の形態におけるクロック分配回路駆動電圧および論理回路駆動電圧の第2の設定例を示すグラフである。It is a graph which shows the 2nd example of a clock distribution circuit drive voltage and a logic circuit drive voltage in 3rd Embodiment. 第3の実施の形態におけるクロック分配回路駆動電圧および論理回路駆動電圧の第2の設定例を示すグラフである。It is a graph which shows the 2nd example of a clock distribution circuit drive voltage and a logic circuit drive voltage in 3rd Embodiment. 第3の実施の形態における第1の変形例における集積回路の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the integrated circuit in the 1st modification in 3rd Embodiment. 第3の実施の形態における第2の変形例における電源供給部の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the power supply part in the 2nd modification in 3rd Embodiment. 第3の実施の形態における第3の変形例における集積回路の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the integrated circuit in the 3rd modification in 3rd Embodiment. 第3の実施の形態における第4の変形例における電源供給部の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the power supply part in the 4th modification in 3rd Embodiment. 第4の実施の形態における集積回路の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the integrated circuit in 4th Embodiment. 第4の実施の形態におけるエラー測定部、同期動作回路およびクロック分配回路の一構成例を示す回路図である。It is a circuit diagram which shows the example of 1 structure of the error measurement part in 4th Embodiment, a synchronous operation circuit, and a clock distribution circuit. 第4の実施の形態におけるエラー補償制御部の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the error compensation control part in 4th Embodiment. 第4の実施の形態におけるエラー解析部の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the error analysis part in 4th Embodiment. 第4の実施の形態における電源供給部の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the power supply part in 4th Embodiment. 第4の実施の形態におけるエラーフラグERR1およびERR2がともに「0」となる場合のエラー検出回路の動作の一例を示すタイミングチャートである。16 is a timing chart illustrating an example of an operation of the error detection circuit when both error flags ERR1 and ERR2 are “0” in the fourth embodiment. 第4の実施の形態におけるエラーフラグERR2のみが「1」となる場合のエラー検出回路の動作の一例を示すタイミングチャートである。16 is a timing chart illustrating an example of an operation of the error detection circuit when only an error flag ERR2 is “1” in the fourth embodiment. 第4の実施の形態におけるエラーフラグERR1およびERR2がともに「1」となる場合のエラー検出回路の動作の一例を示すタイミングチャートである。16 is a timing chart illustrating an example of the operation of the error detection circuit when both error flags ERR1 and ERR2 are “1” in the fourth embodiment. 第4の実施の形態におけるエラー検出回路のトラップウィンドウおよびデータの更新タイミングの一例を示す図である。It is a figure which shows an example of the trap window of the error detection circuit in 4th Embodiment, and the update timing of data. 第4の実施の形態における第1の変形例における集積回路の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the integrated circuit in the 1st modification in 4th Embodiment. 第4の実施の形態における第1の変形例におけるエラー補償制御部の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the error compensation control part in the 1st modification in 4th Embodiment. 第4の実施の形態における第1の変形例におけるエラー計数部の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the error counting part in the 1st modification in 4th Embodiment. 第4の実施の形態における第1の変形例におけるエラー解析部の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the error analysis part in the 1st modification in 4th Embodiment. 第4の実施の形態における第1の変形例におけるエラー検出回路のトラップウィンドウおよびデータの更新タイミングの一例を示すである。It is an example of the trap window and data update timing of the error detection circuit in the first modification example of the fourth embodiment. 第4の実施の形態における第2の変形例におけるエラー検出回路、フリップフロップおよびクロック分配回路の一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the error detection circuit, flip-flop, and clock distribution circuit in the 2nd modification in 4th Embodiment. 第4の実施の形態における第2の変形例におけるエラー検出回路のトラップウィンドウの一例を示す図である。It is a figure which shows an example of the trap window of the error detection circuit in the 2nd modification in 4th Embodiment.

以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(クロックスキューを低減するためのクロック分配回路の例)
2.第2の実施の形態(クロック信号の遅延のばらつきを適応的に低減するための主/副クロック分配回路の例)
3.第3の実施の形態(クロック分配回路駆動電圧を論理回路駆動電圧より低く制御する電圧制御の例)
4.第4の実施の形態(タイミングエラーの種類を判別して駆動電圧を制御する電圧制御の例)
Hereinafter, modes for carrying out the present technology (hereinafter referred to as embodiments) will be described. The description will be made in the following order.
1. First embodiment (example of clock distribution circuit for reducing clock skew)
2. Second Embodiment (Example of Main / Sub Clock Distribution Circuit for Adaptively Reducing Clock Signal Delay Variation)
3. Third Embodiment (Example of voltage control for controlling clock distribution circuit drive voltage lower than logic circuit drive voltage)
4). Fourth Embodiment (Example of voltage control for controlling the drive voltage by determining the type of timing error)

<1.第1の実施の形態>
[集積回路の構成例]
図1は、第1の実施の形態における集積回路100の一構成例を示すブロック図である。この第1の実施の形態における集積回路100は、電源供給部200、クロック生成部300、クロック分配部400および同期動作回路500を備える。
<1. First Embodiment>
[Configuration example of integrated circuit]
FIG. 1 is a block diagram illustrating a configuration example of the integrated circuit 100 according to the first embodiment. The integrated circuit 100 according to the first embodiment includes a power supply unit 200, a clock generation unit 300, a clock distribution unit 400, and a synchronous operation circuit 500.

電源供給部200は、クロック生成部300、クロック分配部400および同期動作回路500のそれぞれに信号線209を介して電源電圧VDDを供給するものである。   The power supply unit 200 supplies the power supply voltage VDD to the clock generation unit 300, the clock distribution unit 400, and the synchronous operation circuit 500 through the signal line 209.

クロック生成部300は、PLL(Phase Locked Loop)などを用いて所定の周波数のクロック信号CLKを生成するものである。クロック信号CLKは、同期動作回路500に所定のタイミングを指示するための信号として生成される。クロック生成部300は、生成したクロック信号CLKをクロック分配部400に信号線309を介して出力する。   The clock generation unit 300 generates a clock signal CLK having a predetermined frequency using a PLL (Phase Locked Loop) or the like. The clock signal CLK is generated as a signal for instructing the synchronous operation circuit 500 at a predetermined timing. The clock generation unit 300 outputs the generated clock signal CLK to the clock distribution unit 400 via the signal line 309.

クロック分配部400は、同期動作回路500にクロック信号CLKを分配するものである。クロック分配部400は、クロック信号CLKから最小遅延クロック信号mCLKを生成する。最小遅延クロック信号mCLKの詳細については後述する。クロック分配部400は、最小遅延クロック信号mCLKを同期動作回路500に信号線409を介して出力する。同期動作回路500は、最小遅延クロック信号mCLKに同期して動作する回路である。   The clock distribution unit 400 distributes the clock signal CLK to the synchronous operation circuit 500. The clock distribution unit 400 generates a minimum delay clock signal mCLK from the clock signal CLK. Details of the minimum delay clock signal mCLK will be described later. The clock distribution unit 400 outputs the minimum delay clock signal mCLK to the synchronous operation circuit 500 via the signal line 409. The synchronous operation circuit 500 is a circuit that operates in synchronization with the minimum delay clock signal mCLK.

[クロック分配部の構成例]
図2は、第1の実施の形態におけるクロック分配部400の一構成例を示す図である。図2(a)は、クロック分配部400における複数の分配点のそれぞれまでの配線の配置例を示す図である。図2(a)に例示するように、クロック分配部400は、H木型に配線されたクロック木を備える。このクロック木における経路には必要に応じて複数のバッファが挿入されている。クロック生成部300からのクロック信号CLKがクロック木の根の部分に入力され、そのクロック信号CLKがクロック木の葉の部分に相当する分配点のそれぞれに分配される。分配点のそれぞれには、同期動作回路500などが接続される。図2(b)は、図2(a)の一点鎖線で囲まれた部分を拡大した図である。図2(b)に示すように、分配点のうち分配点P1およびP2は、OR(論理和)ゲート430の入力端子に接続されている。そして、そのORゲート430の出力端子が同期動作回路500に接続されている。同期動作回路500の構成の詳細については後述する。
[Configuration example of clock distribution unit]
FIG. 2 is a diagram illustrating a configuration example of the clock distribution unit 400 according to the first embodiment. FIG. 2A is a diagram illustrating an arrangement example of wirings up to each of a plurality of distribution points in the clock distribution unit 400. As illustrated in FIG. 2A, the clock distribution unit 400 includes a clock tree wired in an H-tree shape. A plurality of buffers are inserted in the path in the clock tree as necessary. The clock signal CLK from the clock generator 300 is input to the root portion of the clock tree, and the clock signal CLK is distributed to each of the distribution points corresponding to the leaf portions of the clock tree. A synchronous operation circuit 500 or the like is connected to each distribution point. FIG. 2B is an enlarged view of a portion surrounded by a one-dot chain line in FIG. As shown in FIG. 2B, among the distribution points, distribution points P1 and P2 are connected to an input terminal of an OR (logical sum) gate 430. The output terminal of the OR gate 430 is connected to the synchronous operation circuit 500. Details of the configuration of the synchronous operation circuit 500 will be described later.

ORゲート430は、入力値の論理和を生成するものである。ORゲート430は、分配点P1からのクロック信号と分配点P2からのクロック信号との論理和を同期動作回路500に出力する。ここで、クロック木において分岐した配線のそれぞれは分配点に至るまでの間に合流することがないため、クロック木の根から分配点P1までの回路と、その根から分配点P2までの回路とは互いに構成が異なるものとなる。例えば、配線長や経由するバッファの段数などが異なる。このため、分配点P1およびP2のそれぞれに分配されるクロック信号CLKの遅延時間には差(すなわち、クロックスキュー)が生じうる。分配点P1およびP2の間のユークリッド距離が近いか否かに関わらず、クロック木におけるトポロジ上の距離が大きい場合は、それらの分配点においてクロックスキューが大きくなり易い。また、電源供給部200からの供給電圧VDDが低下した場合には、クロックスキューのばらつきがさらに大きくなるおそれがある。しかし、ORゲート430は、分配点P1およびP2のそれぞれに分配されるクロック信号CLKの論理和を出力するため、それらのクロック信号CLKの立上りエッジのうち、遅延の小さい方の立上りエッジが出力されることになる。このORゲート430が出力した遅延の少ない方のクロック信号を以下では「最小遅延クロック信号mCLK」と称する。   The OR gate 430 generates a logical sum of input values. The OR gate 430 outputs a logical sum of the clock signal from the distribution point P1 and the clock signal from the distribution point P2 to the synchronous operation circuit 500. Here, since each of the wiring branches in the clock tree does not merge before reaching the distribution point, the circuit from the root of the clock tree to the distribution point P1 and the circuit from the root to the distribution point P2 are mutually connected. The configuration will be different. For example, the wiring length and the number of stages of the buffer through which the line passes are different. For this reason, a difference (that is, clock skew) may occur in the delay time of the clock signal CLK distributed to each of the distribution points P1 and P2. Regardless of whether the Euclidean distance between the distribution points P1 and P2 is short or not, if the topological distance in the clock tree is large, the clock skew tends to increase at those distribution points. In addition, when the supply voltage VDD from the power supply unit 200 decreases, there is a possibility that the variation in clock skew may be further increased. However, since OR gate 430 outputs a logical sum of clock signals CLK distributed to distribution points P1 and P2, the rising edge with the smaller delay among the rising edges of clock signals CLK is output. Will be. The clock signal with the smaller delay output from the OR gate 430 is hereinafter referred to as “minimum delay clock signal mCLK”.

図3は、第1の実施の形態におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。クロック分配部400は、クロック分配回路410および420とORゲート430とを備える。クロック分配回路410は、所定の段数のバッファ411を備える。クロック分配回路420は、所定の段数のバッファ421を備える。クロック分配回路410は、クロック木におけるいずれかの分配点(例えば、P1)にクロック信号CLKを分配するものである。クロック分配回路410は、分配したクロック信号のいずれかを遅延クロック信号CLK_D1として、ORゲート430の入力端子へ信号線419を介して出力する。クロック分配回路420は、クロック分配回路410が分配する分配点と異なる分配点(例えば、P2)にクロック信号CLKを分配するものである。クロック分配回路420は、分配したクロック信号のいずれかを遅延クロック信号CLK_D2として、ORゲート430の入力端子へ信号線429を介して出力する。なお、クロック分配回路410は、特許請求の範囲に記載の第1のタイミング信号分配回路の一例である。クロック分配回路420は、特許請求の範囲に記載の第2のタイミング信号分配回路の一例である。   FIG. 3 is a circuit diagram illustrating a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 according to the first embodiment. The clock distribution unit 400 includes clock distribution circuits 410 and 420 and an OR gate 430. The clock distribution circuit 410 includes a buffer 411 having a predetermined number of stages. The clock distribution circuit 420 includes buffers 421 having a predetermined number of stages. The clock distribution circuit 410 distributes the clock signal CLK to any distribution point (for example, P1) in the clock tree. The clock distribution circuit 410 outputs one of the distributed clock signals as a delayed clock signal CLK_D1 to the input terminal of the OR gate 430 via the signal line 419. The clock distribution circuit 420 distributes the clock signal CLK to a distribution point (for example, P2) different from the distribution point distributed by the clock distribution circuit 410. The clock distribution circuit 420 outputs one of the distributed clock signals as a delayed clock signal CLK_D2 to the input terminal of the OR gate 430 via the signal line 429. The clock distribution circuit 410 is an example of a first timing signal distribution circuit described in the claims. The clock distribution circuit 420 is an example of a second timing signal distribution circuit described in the claims.

ORゲート430は、遅延クロック信号CLK_D1およびCLK_D2の論理和を最小遅延クロック信号mCLKとして、同期動作回路500に信号線409を介して出力するものである。なお、ORゲート430は、特許請求の範囲に記載の最小遅延クロック信号出力部の一例である。   The OR gate 430 outputs the logical sum of the delayed clock signals CLK_D1 and CLK_D2 as the minimum delayed clock signal mCLK to the synchronous operation circuit 500 via the signal line 409. The OR gate 430 is an example of a minimum delay clock signal output unit described in the claims.

同期動作回路500は、最小遅延クロック信号mCLKに同期して動作するものである。同期動作回路500は、例えば、フリップフロップ510および520を備える。フリップフロップ510および520は、最小遅延クロック信号mCLKに同期してデータを取り込んで保持するものである。フリップフロップ510は、例えば、入力信号D0のデータを最小遅延クロック信号mCLKの立上りエッジに同期して取り込んで保持し、保持したデータをフリップフロップ520へ出力信号Q0として出力する。そして、フリップフロップ520は、出力信号Q0のデータを最小遅延クロック信号mCLKの立上りエッジに同期して取り込んで保持し、保持したデータを出力信号Q1として出力する。   The synchronous operation circuit 500 operates in synchronization with the minimum delay clock signal mCLK. The synchronous operation circuit 500 includes flip-flops 510 and 520, for example. The flip-flops 510 and 520 capture and hold data in synchronization with the minimum delay clock signal mCLK. For example, the flip-flop 510 captures and holds the data of the input signal D0 in synchronization with the rising edge of the minimum delay clock signal mCLK, and outputs the held data to the flip-flop 520 as the output signal Q0. Then, flip-flop 520 takes in and holds the data of output signal Q0 in synchronization with the rising edge of minimum delay clock signal mCLK, and outputs the held data as output signal Q1.

図4は、第1の実施の形態におけるクロック信号の立上りに同期した同期動作回路500の動作の一例を示すタイミングチャートである。入力信号D0の値が「d2」から「d3」に更新される前のあるタイミングでクロック信号CLKに立上りエッジが生じた場合を考える。クロック信号CLKがクロック分配回路410により分配され、クロック信号CLKに対して遅延して遅延クロック信号CLK_D1に立上りエッジが生じる。また、クロック信号CLKがクロック分配回路420により分配され、遅延クロック信号CLK_D2に立上りエッジが生じる。遅延クロック信号CLK_D1の遅延は、遅延クロック信号CLK_D2より大きいものとする。ORゲート430は、これらの遅延クロック信号の論理和を最小遅延クロック信号mCLKとして出力する。遅延クロック信号のいずれかに立上りエッジが生じれば、その論理和の値は「1」となるため、遅延の最も小さい遅延クロック信号CLK_D2の立上りに応じて最小遅延クロック信号mCLKに立上りエッジが生じる。フリップフロップ510は、最小遅延クロック信号mCLKの立上りエッジに同期して「d2」の値を取り込んで出力信号Q0としてフリップフロップ520へ出力する。フリップフロップ520は、次の最小遅延クロック信号mCLKの立上りエッジに同期して「d2」の値を取り込む。   FIG. 4 is a timing chart showing an example of the operation of the synchronous operation circuit 500 synchronized with the rising edge of the clock signal in the first embodiment. Consider a case where a rising edge occurs in the clock signal CLK at a certain timing before the value of the input signal D0 is updated from “d2” to “d3”. The clock signal CLK is distributed by the clock distribution circuit 410, and a rising edge occurs in the delayed clock signal CLK_D1 with a delay with respect to the clock signal CLK. Further, the clock signal CLK is distributed by the clock distribution circuit 420, and a rising edge is generated in the delayed clock signal CLK_D2. The delay of the delayed clock signal CLK_D1 is greater than the delayed clock signal CLK_D2. The OR gate 430 outputs a logical sum of these delayed clock signals as a minimum delayed clock signal mCLK. If a rising edge occurs in any of the delayed clock signals, the value of the logical sum is “1”. Therefore, a rising edge occurs in the minimum delay clock signal mCLK according to the rising edge of the delayed clock signal CLK_D2 having the smallest delay. . The flip-flop 510 takes in the value of “d2” in synchronization with the rising edge of the minimum delay clock signal mCLK, and outputs it as the output signal Q 0 to the flip-flop 520. The flip-flop 520 takes in the value of “d2” in synchronization with the rising edge of the next minimum delay clock signal mCLK.

仮にORゲート430を介さずに、遅延クロック信号CLK_D1およびCLK_D2をそれぞれフリップフロップ510および520に与えると、それらの遅延クロック信号の遅延時間に差(クロックスキュー)が生じることがある。このクロックスキューが増大すると、フリップフロップ510および520間でのデータの受け渡しに支障が生じ、誤動作が生じる可能性がある。特に、駆動電圧を低下させるとクロックスキューのばらつきが増大するため、誤動作が生じる確率が高くなる。しかし、集積回路100ではORゲート430により、遅延が最小のクロック信号mCLKをフリップフロップ510および520に供給しているため、クロックスキューが小さくなる。この結果、集積回路100の誤動作の発生率が低減する。   If the delayed clock signals CLK_D1 and CLK_D2 are supplied to the flip-flops 510 and 520 without passing through the OR gate 430, a difference (clock skew) may occur between the delay times of the delayed clock signals. When this clock skew increases, there is a possibility that data transfer between the flip-flops 510 and 520 will be hindered and malfunction may occur. In particular, when the drive voltage is lowered, the variation in clock skew increases, so the probability of malfunctions increases. However, in the integrated circuit 100, since the clock signal mCLK with the minimum delay is supplied to the flip-flops 510 and 520 by the OR gate 430, the clock skew is reduced. As a result, the occurrence rate of malfunction of the integrated circuit 100 is reduced.

ORゲート430を挿入したクロック木のクロックスキューのばらつき(例えば、標準偏差)の測定値は、ORゲート430を挿入しないクロック木よりも小さくなる。例えば、バッファを10段にして所定の条件下においてシミュレーションを行った場合に、ORゲート430の挿入により、標準偏差の測定値が挿入前の約0.7倍に低減するといった結果が得られている。クロック木においては、一般にバッファサイズを増加するか、バッファの段数を減らすと、クロックスキューのばらつきが低下する。クロックスキューのばらつきを0.7倍にするには、例えば、バッファサイズを2倍にするか、バッファの段数を半分にする必要がある。ORゲート430を挿入することにより、バッファサイズやバッファの段数を変更することなく、クロックスキューを低減させることができる。また、ORゲート430を挿入してもメッシュ配線のように短絡電流が生じないため、電力消費量が増大しない。   The measured value of the clock skew variation (for example, standard deviation) of the clock tree with the OR gate 430 inserted is smaller than that of the clock tree with no OR gate 430 inserted. For example, when simulation is performed under a predetermined condition with 10 stages of buffers, the result that the measured value of the standard deviation is reduced by about 0.7 times before the insertion by inserting the OR gate 430 is obtained. Yes. In a clock tree, variation in clock skew generally decreases when the buffer size is increased or the number of buffer stages is decreased. In order to increase the clock skew variation by 0.7, for example, it is necessary to double the buffer size or halve the number of buffer stages. By inserting the OR gate 430, the clock skew can be reduced without changing the buffer size or the number of buffer stages. Further, even if the OR gate 430 is inserted, no short circuit current is generated unlike the mesh wiring, so that the power consumption is not increased.

このように、第1の実施の形態によれば、クロック分配回路410がクロック信号CLKを分配点P1に分配し、クロック分配回路420がクロック信号CLKを分配点P2に分配する。そして、ORゲート430は、それらの分配点に分配されたクロック信号CLKのうち遅延が小さい方の信号を最小遅延タイミング信号mCLKとして出力する。同期動作回路500は最小遅延タイミング信号mCLKに同期して動作する。これにより、クロック分配回路410および420によって分配された、それぞれのクロック信号CLKのうち遅延の小さい方の信号が、最小遅延タイミング信号mCLKとして同期動作回路500に出力される。これにより、同期動作回路500におけるクロックスキューが低減する。また、クロック分配回路410および420からのそれぞれのクロック信号CLKの値が異なる場合であっても、メッシュ配線のように短絡電流が生じないため、電力消費量の増大が抑制される。   Thus, according to the first embodiment, the clock distribution circuit 410 distributes the clock signal CLK to the distribution point P1, and the clock distribution circuit 420 distributes the clock signal CLK to the distribution point P2. Then, the OR gate 430 outputs the signal having the smaller delay among the clock signals CLK distributed to these distribution points as the minimum delay timing signal mCLK. The synchronous operation circuit 500 operates in synchronization with the minimum delay timing signal mCLK. As a result, the signal with the smaller delay among the clock signals CLK distributed by the clock distribution circuits 410 and 420 is output to the synchronous operation circuit 500 as the minimum delay timing signal mCLK. Thereby, the clock skew in the synchronous operation circuit 500 is reduced. Further, even when the values of the clock signals CLK from the clock distribution circuits 410 and 420 are different from each other, a short-circuit current is not generated unlike the mesh wiring, so that an increase in power consumption is suppressed.

なお、ORゲート430は、2つの遅延クロック信号CLK_D1およびCLK_D2から最小遅延タイミング信号mCLKを生成しているが、3つ以上の遅延クロック信号から最小遅延タイミング信号mCLKを生成してもよい。   Although the OR gate 430 generates the minimum delay timing signal mCLK from the two delay clock signals CLK_D1 and CLK_D2, the OR gate 430 may generate the minimum delay timing signal mCLK from three or more delay clock signals.

また、同期動作回路500は、2個のフリップフロップ510および520を備えているが、同期動作回路500の回路構成は、この構成に限定されない。例えば、1個または3個以上のフリップフロップを備えてもよい。   Further, although the synchronous operation circuit 500 includes two flip-flops 510 and 520, the circuit configuration of the synchronous operation circuit 500 is not limited to this configuration. For example, one or three or more flip-flops may be provided.

また、集積回路100は、ORゲート430を使用して最小遅延タイミング信号mCLKを生成する構成としているが、ORゲート以外の論理ゲートによって最小遅延タイミング信号mCLKを生成してもよい。例えば、同期動作回路500が立下りエッジに同期して動作する場合、集積回路100は、ORゲートに代えてANDゲートによって最小遅延タイミング信号mCLKを生成してもよい。   Further, although the integrated circuit 100 is configured to generate the minimum delay timing signal mCLK using the OR gate 430, the minimum delay timing signal mCLK may be generated using a logic gate other than the OR gate. For example, when the synchronous operation circuit 500 operates in synchronization with the falling edge, the integrated circuit 100 may generate the minimum delay timing signal mCLK by an AND gate instead of the OR gate.

また、クロック分配部400は予めH木型に配線されたクロック木を備える構成としているが、例えば、クロック木を自動合成する技術であるCTS(Clock Tree Synthesis)を使用して生成したクロック木を備えてもよい。   The clock distribution unit 400 is configured to include a clock tree previously wired in an H-tree shape. For example, a clock tree generated using CTS (Clock Tree Synthesis), which is a technique for automatically synthesizing a clock tree, is used. You may prepare.

[第1の変形例]
図5は、第1の実施の形態における第1の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。第1の変形例におけるクロック分配部400の構成は、ORゲート430に代えてNOR(否定論理和)ゲート431を備える点において、第1の実施の形態と異なる。第1の変形例における同期動作回路500の構成は、インバータ530および540をさらに備える点において、第1の実施の形態と異なる。
[First Modification]
FIG. 5 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the first modification example of the first embodiment. The configuration of the clock distribution unit 400 in the first modified example is different from that of the first embodiment in that a NOR (negative OR) gate 431 is provided instead of the OR gate 430. The configuration of the synchronous operation circuit 500 in the first modified example is different from that of the first embodiment in that inverters 530 and 540 are further provided.

NORゲート431は、遅延クロック信号CLK_D1およびCLK_D2の否定論理和を最小遅延クロック信号mCLKとして同期動作回路500に出力するものである。インバータ530は、最小遅延クロック信号mCLKを反転してフリップフロップ510に出力するものである。インバータ540は、最小遅延クロック信号mCLKを反転してフリップフロップ520に出力するものである。   The NOR gate 431 outputs a negative logical sum of the delayed clock signals CLK_D1 and CLK_D2 to the synchronous operation circuit 500 as the minimum delayed clock signal mCLK. The inverter 530 inverts the minimum delay clock signal mCLK and outputs it to the flip-flop 510. The inverter 540 inverts the minimum delay clock signal mCLK and outputs it to the flip-flop 520.

このように第1の変形例によれば、フリップフロップ510および520のクロック入力端子にインバータが設けられた構成において、クロックスキューを低減することができる。   As described above, according to the first modification, clock skew can be reduced in the configuration in which the inverter is provided at the clock input terminals of the flip-flops 510 and 520.

[第2の変形例]
図6は、第1の実施の形態における第2の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。第2の変形例におけるクロック分配部400の構成は、ORゲート430に代えてNOR(否定論理和)ゲート431を備える点において、第1の実施の形態と異なる。この第2の変形例における同期動作回路500の構成は、インバータ530および540とメッシュ配線550をさらに備える点において、第1の実施の形態と異なる。
[Second Modification]
FIG. 6 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the second modification example of the first embodiment. The configuration of the clock distribution unit 400 in the second modified example is different from that of the first embodiment in that a NOR (negative OR) gate 431 is provided instead of the OR gate 430. The configuration of the synchronous operation circuit 500 in the second modified example is different from that of the first embodiment in that inverters 530 and 540 and a mesh wiring 550 are further provided.

NORゲート431の構成は、第1の変形例と同様である。インバータ530および540は、最小遅延クロック信号mCLKを反転してメッシュ配線550に出力するものである。メッシュ配線550は、格子状に配置された複数の領域に最小遅延クロック信号mCLKを分配するものである。これらの領域にフリップフロップ510および520などが配置される。   The configuration of the NOR gate 431 is the same as that of the first modification. Inverters 530 and 540 invert minimum delay clock signal mCLK and output the inverted signal to mesh wiring 550. The mesh wiring 550 distributes the minimum delay clock signal mCLK to a plurality of regions arranged in a lattice shape. In these regions, flip-flops 510 and 520 are arranged.

このように第2の変形例によれば、メッシュ配線550によりフリップフロップ510および520のクロック入力端子に接続する構成においてクロックスキューを低減することができる。   As described above, according to the second modification, the clock skew can be reduced in the configuration in which the mesh wiring 550 is connected to the clock input terminals of the flip-flops 510 and 520.

[第3の変形例]
図7は、第1の実施の形態における第3の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。上述の第1の実施の形態では同期動作回路500がクロック信号の立上りエッジにより動作することを想定していたが、この第3の変形例では、同期動作回路500がクロック信号の立下りエッジにより動作することを想定する。具体的には、第3の変形例におけるクロック分配部400の構成は、ORゲート430に代えてAND(論理積)ゲート432を備える点において、第1の実施の形態と異なる。第3の変形例における同期動作回路500の構成は、フリップフロップ510および520に代えてフリップフロップ560および570を備える点において、第1の実施の形態と異なる。
[Third Modification]
FIG. 7 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the third modification example of the first embodiment. In the first embodiment described above, it is assumed that the synchronous operation circuit 500 operates on the rising edge of the clock signal. However, in the third modification, the synchronous operation circuit 500 operates on the falling edge of the clock signal. Assume that it works. Specifically, the configuration of the clock distribution unit 400 in the third modification example is different from that of the first embodiment in that an AND (logical product) gate 432 is provided instead of the OR gate 430. The configuration of the synchronous operation circuit 500 in the third modified example is different from that of the first embodiment in that flip-flops 560 and 570 are provided instead of the flip-flops 510 and 520.

ANDゲート432は、遅延クロック信号CLK_D1およびCLK_D2の論理積を最小遅延クロック信号mCLKとして同期動作回路500に出力するものである。フリップフロップ560および570は、最小遅延クロック信号mCLKの立下りエッジに同期してデータを取り込み、保持するものである。   The AND gate 432 outputs a logical product of the delayed clock signals CLK_D1 and CLK_D2 to the synchronous operation circuit 500 as the minimum delayed clock signal mCLK. The flip-flops 560 and 570 capture and hold data in synchronization with the falling edge of the minimum delay clock signal mCLK.

図8は、第1の実施の形態における第3の変形例におけるクロック信号の立上りに同期した同期動作回路500の動作の一例を示すタイミングチャートである。入力信号D0の値が「d2」から「d3」に更新される前のあるタイミングでクロック信号CLKに立下りエッジが生じた場合を考える。クロック信号CLKがクロック分配回路410により分配され、クロック信号CLKに対して遅延して遅延クロック信号CLK_D1に立下りエッジが生じる。また、クロック信号CLKがクロック分配回路420により分配され、遅延クロック信号CLK_D2に立上りエッジが生じる。遅延クロック信号CLK_D1の遅延は、遅延クロック信号CLK_D2より大きいものとする。ORゲート430は、これらの遅延クロック信号の論理積を最小遅延クロック信号mCLKとして出力する。遅延クロック信号のいずれかに立下りエッジが生じれば、その論理和の値は「0」となるため、遅延の最も小さい遅延クロック信号CLK_D2の立下りに応じて最小遅延クロック信号mCLKに立下りエッジが生じる。フリップフロップ560は、最小遅延クロック信号mCLKの立下りエッジに同期して「d2」の値を取り込んで出力信号Q0としてフリップフロップ570へ出力する。フリップフロップ570は、次の最小遅延クロック信号mCLKの立下りエッジに同期して「d2」の値を取り込む。   FIG. 8 is a timing chart showing an example of the operation of the synchronous operation circuit 500 synchronized with the rising edge of the clock signal in the third modification example of the first embodiment. Consider a case where a falling edge occurs in the clock signal CLK at a certain timing before the value of the input signal D0 is updated from “d2” to “d3”. The clock signal CLK is distributed by the clock distribution circuit 410 and is delayed with respect to the clock signal CLK to cause a falling edge in the delayed clock signal CLK_D1. Further, the clock signal CLK is distributed by the clock distribution circuit 420, and a rising edge is generated in the delayed clock signal CLK_D2. The delay of the delayed clock signal CLK_D1 is greater than the delayed clock signal CLK_D2. The OR gate 430 outputs the logical product of these delayed clock signals as the minimum delayed clock signal mCLK. If a falling edge occurs in any of the delayed clock signals, the value of the logical sum is “0”, so that the falling edge of the delayed clock signal CLK_D2 having the smallest delay falls to the minimum delayed clock signal mCLK. Edges are generated. The flip-flop 560 takes the value of “d2” in synchronization with the falling edge of the minimum delay clock signal mCLK, and outputs the value to the flip-flop 570 as the output signal Q0. The flip-flop 570 takes in the value of “d2” in synchronization with the falling edge of the next minimum delay clock signal mCLK.

このように第3の変形例によれば、同期動作回路500がクロック信号の立下りエッジに同期して動作する構成において、クロックスキューを低減することができる。   Thus, according to the third modification, the clock skew can be reduced in the configuration in which the synchronous operation circuit 500 operates in synchronization with the falling edge of the clock signal.

[第4の変形例]
図9は、第1の実施の形態における第4の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。この第4の変形例においても第3の変形例と同様に同期動作回路500が立下りエッジにより動作することを想定する。第4の変形例におけるクロック分配部400の構成は、ORゲート430に代えてNAND(否定論理積)ゲート433を備える点において、第1の実施の形態と異なる。第4の変形例における同期動作回路500の構成は、フリップフロップ510および520に代えてフリップフロップ560および570を備え、インバータ530および540をさらに備える点において、第1の実施の形態と異なる。
[Fourth Modification]
FIG. 9 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the fourth modification example of the first embodiment. In the fourth modified example, it is assumed that the synchronous operation circuit 500 operates on the falling edge as in the third modified example. The configuration of the clock distribution unit 400 in the fourth modification example is different from that of the first embodiment in that a NAND (negative AND) gate 433 is provided instead of the OR gate 430. The configuration of the synchronous operation circuit 500 in the fourth modified example is different from that of the first embodiment in that flip-flops 560 and 570 are provided instead of the flip-flops 510 and 520 and inverters 530 and 540 are further provided.

NANDゲート433は、遅延クロック信号CLK_D1およびCLK_D2の否定論理積を最小遅延クロック信号mCLKとして同期動作回路500に出力するものである。インバータ530は、最小遅延クロック信号mCLKを反転してフリップフロップ560に出力するものである。インバータ540は、最小遅延クロック信号mCLKを反転してフリップフロップ570に出力するものである。フリップフロップ560および570は、最小遅延クロック信号mCLKの立下りエッジに同期してデータを取り込み、保持するものである。   The NAND gate 433 outputs a negative logical product of the delayed clock signals CLK_D1 and CLK_D2 to the synchronous operation circuit 500 as the minimum delayed clock signal mCLK. The inverter 530 inverts the minimum delay clock signal mCLK and outputs it to the flip-flop 560. The inverter 540 inverts the minimum delay clock signal mCLK and outputs it to the flip-flop 570. The flip-flops 560 and 570 capture and hold data in synchronization with the falling edge of the minimum delay clock signal mCLK.

このように第4の変形例によれば、フリップフロップ560および570のクロック入力端子にインバータが設けられ、同期動作回路500がクロック信号の立下りエッジに同期して動作する構成において、クロックスキューを低減することができる。   As described above, according to the fourth modification example, in the configuration in which the clock input terminals of the flip-flops 560 and 570 are provided with the inverter, and the synchronous operation circuit 500 operates in synchronization with the falling edge of the clock signal, the clock skew is reduced. Can be reduced.

[第5の変形例]
図10は、第1の実施の形態における第5の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。この第5の変形例においても第3の変形例と同様に同期動作回路500が立下りエッジにより動作することを想定する。第5の変形例におけるクロック分配部400の構成は、ORゲート430に代えてNANDゲート433を備える点において、第1の実施の形態と異なる。第5の変形例における同期動作回路500の構成は、フリップフロップ510および520に代えてフリップフロップ560および570を備える点において、第1の実施の形態と異なる。また、第5の変形例における同期動作回路500の構成は、インバータ530および540とメッシュ配線550をさらに備える点において、第1の実施の形態と異なる。
[Fifth Modification]
FIG. 10 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the fifth modification example of the first embodiment. Also in the fifth modification example, it is assumed that the synchronous operation circuit 500 operates on the falling edge as in the third modification example. The configuration of the clock distribution unit 400 in the fifth modification example is different from that of the first embodiment in that a NAND gate 433 is provided instead of the OR gate 430. The configuration of the synchronous operation circuit 500 in the fifth modified example is different from that of the first embodiment in that flip-flops 560 and 570 are provided instead of the flip-flops 510 and 520. The configuration of the synchronous operation circuit 500 in the fifth modification example is different from that of the first embodiment in that inverters 530 and 540 and a mesh wiring 550 are further provided.

NANDゲート433の構成は、第4の変形例と同様である。インバータ530および540とメッシュ配線550との構成は、第2の変形例と同様である。フリップフロップ560および570の構成は、第4の変形例と同様である。   The configuration of the NAND gate 433 is the same as that of the fourth modification. The configurations of the inverters 530 and 540 and the mesh wiring 550 are the same as in the second modification. The configuration of the flip-flops 560 and 570 is the same as that of the fourth modification.

このように第5の変形例によれば、メッシュ配線にフリップフロップ560および570のクロック入力端子が接続され、同期動作回路500がクロック信号の立下りエッジに同期して動作する構成において、クロックスキューを低減することができる。   As described above, according to the fifth modification, in the configuration in which the clock input terminals of the flip-flops 560 and 570 are connected to the mesh wiring and the synchronous operation circuit 500 operates in synchronization with the falling edge of the clock signal, Can be reduced.

<2.第2の実施の形態>
[集積回路の構成例]
図11は、第2の実施の形態における集積回路100の一構成例を示すブロック図である。この第2の実施の形態における集積回路100は、電源供給部200、クロック生成部300、クロック分配部400、同期動作回路500、エラー測定部600およびクロック分配回路制御部700を備える。
<2. Second Embodiment>
[Configuration example of integrated circuit]
FIG. 11 is a block diagram illustrating a configuration example of the integrated circuit 100 according to the second embodiment. The integrated circuit 100 according to the second embodiment includes a power supply unit 200, a clock generation unit 300, a clock distribution unit 400, a synchronous operation circuit 500, an error measurement unit 600, and a clock distribution circuit control unit 700.

電源供給部200は、クロック生成部300、クロック分配部400、同期動作回路500、エラー測定部600およびクロック分配回路制御部700のそれぞれに信号線209を介して電源電圧VDDを供給するものである。   The power supply unit 200 supplies the power supply voltage VDD to each of the clock generation unit 300, the clock distribution unit 400, the synchronous operation circuit 500, the error measurement unit 600, and the clock distribution circuit control unit 700 via the signal line 209. .

クロック生成部300は、PLLなどを用いて所定の周波数のクロック信号CLKを生成するものである。クロック信号CLKは、同期動作回路500に所定のタイミングを指示するための信号として生成される。クロック生成部300は、生成したクロック信号CLKをクロック分配部400に信号線309を介して出力する。   The clock generator 300 generates a clock signal CLK having a predetermined frequency using a PLL or the like. The clock signal CLK is generated as a signal for instructing the synchronous operation circuit 500 at a predetermined timing. The clock generation unit 300 outputs the generated clock signal CLK to the clock distribution unit 400 via the signal line 309.

クロック分配部400は、同期動作回路500にクロック信号CLKを分配するものである。クロック分配部400は、クロック信号CLKから最小遅延クロック信号mCLKを生成する。クロック分配部400は、最小遅延クロック信号mCLKを同期動作回路500に信号線409を介して出力する。同期動作回路500は、最小遅延クロック信号mCLKに同期して動作する回路である。   The clock distribution unit 400 distributes the clock signal CLK to the synchronous operation circuit 500. The clock distribution unit 400 generates a minimum delay clock signal mCLK from the clock signal CLK. The clock distribution unit 400 outputs the minimum delay clock signal mCLK to the synchronous operation circuit 500 via the signal line 409. The synchronous operation circuit 500 is a circuit that operates in synchronization with the minimum delay clock signal mCLK.

エラー測定部600は、同期動作回路500に生じたタイミングエラーを検出し、その検出頻度を測定するものである。タイミングエラーの検出頻度は、例えば、一定の計測周期内のエラー数を計数することにより測定される。エラー測定部600は、クロック分配回路制御部700の制御に従ってタイミングエラーの数を計数し、その計数値をクロック分配回路制御部700に信号線609を介して出力する。なお、エラー測定部600は、特許請求の範囲に記載の測定部の一例である。   The error measurement unit 600 detects a timing error occurring in the synchronous operation circuit 500 and measures the detection frequency. The detection frequency of timing errors is measured, for example, by counting the number of errors within a certain measurement period. The error measurement unit 600 counts the number of timing errors in accordance with the control of the clock distribution circuit control unit 700 and outputs the counted value to the clock distribution circuit control unit 700 via the signal line 609. The error measurement unit 600 is an example of a measurement unit described in the claims.

クロック分配回路制御部700は、タイミングエラーの検出頻度に基づいてクロック分配部400を制御するものである。具体的には、クロック分配回路制御部700は、電源供給部200からの供給電圧VDDが所定電圧以下になったときにエラー測定部600を制御してタイミングエラー数の測定を開始させる。そして、クロック分配回路制御部700は、検出されたタイミングエラーの検出頻度に基づいてイネーブル信号En_MおよびEn_Sを生成する。イネーブル信号En_MおよびEn_Sの詳細については、後述する。クロック分配回路制御部700は、イネーブル信号En_MおよびEn_Sをクロック分配部400に信号線708および709を介して出力する。なお、クロック分配回路制御部700は、特許請求の範囲に記載のタイミング信号分配回路制御部の一例である。   The clock distribution circuit control unit 700 controls the clock distribution unit 400 based on the detection frequency of timing errors. Specifically, the clock distribution circuit control unit 700 controls the error measurement unit 600 to start measuring the number of timing errors when the supply voltage VDD from the power supply unit 200 becomes a predetermined voltage or less. Then, the clock distribution circuit control unit 700 generates the enable signals En_M and En_S based on the detected frequency of the timing error. Details of the enable signals En_M and En_S will be described later. The clock distribution circuit control unit 700 outputs enable signals En_M and En_S to the clock distribution unit 400 via signal lines 708 and 709. The clock distribution circuit control unit 700 is an example of a timing signal distribution circuit control unit described in the claims.

[クロック分配部の構成例]
図12は、第2の実施の形態におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。第2の実施の形態のクロック分配部400は、主クロック分配回路440と、副クロック分配回路450と、ORゲート461および462とを備える。第2の実施の形態の同期動作回路500は、フリップフロップ510および520を備える。
[Configuration example of clock distribution unit]
FIG. 12 is a circuit diagram illustrating a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 according to the second embodiment. The clock distribution unit 400 according to the second embodiment includes a main clock distribution circuit 440, a sub clock distribution circuit 450, and OR gates 461 and 462. The synchronous operation circuit 500 according to the second embodiment includes flip-flops 510 and 520.

主クロック分配回路440は、イネーブル信号En_Mに従ってクロック信号CLKを分岐させて複数のクロック信号を生成し、それらの信号を分配するものである。主クロック分配回路440において分岐されたそれぞれのクロック信号を以下では「主クロック信号」と称する。ここで、主クロック分配回路440は、複数の経路を備え、それらのうちの2つを経路M_AおよびM_Bとする。そして、経路M_Aを経由して分配された主クロック信号をCLK_M_Aとし、経路M_Bを経由して分配された主クロック信号をCLK_M_Bとする。なお、主クロック分配回路440は、特許請求の範囲に記載の主タイミング信号分配回路の一例である。   The main clock distribution circuit 440 branches the clock signal CLK according to the enable signal En_M, generates a plurality of clock signals, and distributes these signals. Each clock signal branched in the main clock distribution circuit 440 is hereinafter referred to as a “main clock signal”. Here, the main clock distribution circuit 440 includes a plurality of paths, and two of them are paths M_A and M_B. The main clock signal distributed via the path M_A is CLK_M_A, and the main clock signal distributed via the path M_B is CLK_M_B. The main clock distribution circuit 440 is an example of a main timing signal distribution circuit described in the claims.

副クロック分配回路450は、イネーブル信号En_Sに従ってクロック信号CLKを分岐させて複数のクロック信号を生成し、それらの信号を分配するものである。副クロック分配回路450において分岐されたそれぞれのクロック信号を以下では「副クロック信号」と称する。ここで、主クロック分配回路440は、複数の経路を備え、それらのうちの2つを経路S_AおよびS_Bとする。そして、経路S_Aを経由して分配された副クロック信号をCLK_S_Aとし、経路S_Aを経由して分配された副クロック信号をCLK_S_Bとする。なお、副クロック分配回路450は、特許請求の範囲に記載の副タイミング信号分配回路の一例である。   The sub clock distribution circuit 450 branches the clock signal CLK according to the enable signal En_S, generates a plurality of clock signals, and distributes these signals. The respective clock signals branched in the sub clock distribution circuit 450 are hereinafter referred to as “sub clock signals”. Here, the main clock distribution circuit 440 includes a plurality of paths, and two of them are defined as paths S_A and S_B. The sub clock signal distributed via the path S_A is CLK_S_A, and the sub clock signal distributed via the path S_A is CLK_S_B. The sub clock distribution circuit 450 is an example of a sub timing signal distribution circuit described in the claims.

ここで、主クロック分配回路440は、同期動作回路500を動作させる場合において、オン状態のイネーブル信号En_Mにより常に活性化される。一方、副クロック分配回路450は、初期状態においてオフ状態のイネーブル信号En_Sにより不活性化される。そして、副クロック分配回路450は、同期動作回路500においてタイミングエラーの検出頻度が所定値より高くなったときに活性化される。ここで、イネーブル信号En_Sは、En_S_Root、En_S_AおよびEn_S_Bを含む。そして、副クロック分配回路450おける経路S_Aは、イネーブル信号En_S_RootおよびEn_S_Aをオン状態にすることにより活性化される。一方、副クロック分配回路450おける経路S_Bは、イネーブル信号En_S_RootおよびEn_S_Bをオン状態にすることにより活性化される。   Here, the main clock distribution circuit 440 is always activated by the enable signal En_M in the on state when the synchronous operation circuit 500 is operated. On the other hand, the sub clock distribution circuit 450 is inactivated by the enable signal En_S in the off state in the initial state. The sub clock distribution circuit 450 is activated when the detection frequency of the timing error in the synchronous operation circuit 500 becomes higher than a predetermined value. Here, the enable signal En_S includes En_S_Root, En_S_A, and En_S_B. The path S_A in the sub clock distribution circuit 450 is activated by turning on the enable signals En_S_Root and En_S_A. On the other hand, the path S_B in the sub clock distribution circuit 450 is activated by turning on the enable signals En_S_Root and En_S_B.

ORゲート461および462は、それぞれの入力値の論理和を生成するものである。ORゲート461は、入力端子を2つ備え、それらの入力端子に主クロック信号CLK_M_Aおよび副クロック信号CLK_S_Aが入力される。ORゲート461は、これらの信号の論理和を最小遅延クロック信号mCLK_Aとして同期動作回路500に出力する。ORゲート462は、入力端子を2つ備え、それらの入力端子に主クロック信号CLK_M_Bおよび副クロック信号CLK_S_Bが入力される。ORゲート462は、これらの信号の論理和を最小遅延クロック信号mCLK_Bとして同期動作回路500に出力する。このようにORゲート461および462は、それぞれ主タイミング信号および副タイミング信号の論理和を出力するため、それらの信号の立上りエッジのうち、遅延の小さい方の立上りエッジが出力される。言い換えれば、主タイミング信号および副タイミング信号ののうち先に分配された方の信号が出力される。   The OR gates 461 and 462 generate a logical sum of their input values. The OR gate 461 includes two input terminals, and the main clock signal CLK_M_A and the sub clock signal CLK_S_A are input to these input terminals. The OR gate 461 outputs the logical sum of these signals to the synchronous operation circuit 500 as the minimum delay clock signal mCLK_A. The OR gate 462 includes two input terminals, and the main clock signal CLK_M_B and the sub clock signal CLK_S_B are input to these input terminals. The OR gate 462 outputs the logical sum of these signals to the synchronous operation circuit 500 as the minimum delay clock signal mCLK_B. In this manner, OR gates 461 and 462 output the logical sum of the main timing signal and the sub-timing signal, respectively, so that the rising edge with the smaller delay among the rising edges of these signals is output. In other words, the signal that is distributed first among the main timing signal and the sub-timing signal is output.

なお、ORゲート461および462のそれぞれは、特許請求の範囲に記載のタイミング信号生成部の一例である。また、ORゲート461および462における主クロック信号が入力される端子は、特許請求の範囲に記載の主入力端子の一例である。ORゲート461および462における副クロック信号が入力される端子は、特許請求の範囲に記載の副入力端子の一例である。   Each of the OR gates 461 and 462 is an example of a timing signal generation unit described in the claims. The terminals to which the main clock signal is input in the OR gates 461 and 462 are examples of the main input terminal described in the claims. The terminals to which the sub clock signals are input in the OR gates 461 and 462 are examples of the sub input terminals described in the claims.

フリップフロップ510は、最小遅延クロック信号mCLK_Aに同期してデータを織り込んで保持するものである。フリップフロップ510に入力される入力信号D_Aと、フリップフロップ510からのラッチ出力信号L_Aとは、エラー測定部600に信号線509を介して出力される。ラッチ出力信号L_Aは、マスタスレーブ型のフリップフロップ510におけるマスタ側のラッチの出力信号である。また、エラー測定部600には最小遅延クロック信号mCLK_Aも信号線509を介して出力される。フリップフロップ520は、最小遅延クロック信号mCLK_Bに同期してデータを取り込んで保持するものである。フリップフロップ520に入力される入力信号D_Bと、フリップフロップ510からのラッチ出力信号L_Bとは、エラー測定部600に信号線509を介して出力される。ラッチ出力信号L_Bは、マスタスレーブ側のフリップフロップ520におけるマスタ側のラッチの出力信号である。また、エラー測定部600には最小遅延クロック信号mCLK_Bも信号線509を介して出力される。   The flip-flop 510 incorporates and holds data in synchronization with the minimum delay clock signal mCLK_A. The input signal D_A input to the flip-flop 510 and the latch output signal L_A from the flip-flop 510 are output to the error measurement unit 600 via the signal line 509. The latch output signal L_A is an output signal of the master side latch in the master-slave type flip-flop 510. Further, the minimum delay clock signal mCLK_A is also output to the error measurement unit 600 via the signal line 509. The flip-flop 520 captures and holds data in synchronization with the minimum delay clock signal mCLK_B. The input signal D_B input to the flip-flop 520 and the latch output signal L_B from the flip-flop 510 are output to the error measurement unit 600 via the signal line 509. The latch output signal L_B is an output signal of the master side latch in the master slave side flip-flop 520. Further, the minimum delay clock signal mCLK_B is also output to the error measurement unit 600 via the signal line 509.

図13は、第2の実施の形態におけるフリップフロップ510の一構成例を示す回路図である。フリップフロップ510は、マスタスレーブ型のラッチであり、マスタ側のラッチ511とスレーブ側のラッチ512とから構成される。なお、フリップフロップ520の構成もフリップフロップ510と同様である。   FIG. 13 is a circuit diagram illustrating a configuration example of the flip-flop 510 according to the second embodiment. The flip-flop 510 is a master-slave type latch, and includes a master-side latch 511 and a slave-side latch 512. Note that the configuration of the flip-flop 520 is the same as that of the flip-flop 510.

ラッチ511は、最小遅延クロック信号mCLK_Aに同期して入力信号を保持するものである。ラッチ511は、入力端子Q、出力端子Dおよびゲートイネーブル端子Gを備える。入力端子には、入力信号Q_Aが入力され、ゲートイネーブル端子Gには、最小遅延クロック信号mCLK_Aが入力され、出力端子Dは、ラッチ512の入力端子に接続されている。ラッチ511は、最小遅延クロック信号mCLK_Aがオン状態の場合には入力信号D_Aをスルー出力する。一方、最小遅延クロック信号mCLK_Aがオフ状態になった場合にはラッチ511は、立下りエッジにおける入力信号D_Aを保持して出力する。このラッチ511の出力はラッチ出力信号L_Aとしてエラー測定部600およびラッチ512に出力される。   The latch 511 holds an input signal in synchronization with the minimum delay clock signal mCLK_A. The latch 511 includes an input terminal Q, an output terminal D, and a gate enable terminal G. The input signal Q_A is input to the input terminal, the minimum delay clock signal mCLK_A is input to the gate enable terminal G, and the output terminal D is connected to the input terminal of the latch 512. The latch 511 outputs the input signal D_A through when the minimum delay clock signal mCLK_A is on. On the other hand, when the minimum delay clock signal mCLK_A is turned off, the latch 511 holds and outputs the input signal D_A at the falling edge. The output of the latch 511 is output to the error measuring unit 600 and the latch 512 as a latch output signal L_A.

ラッチ512は、最小遅延クロック信号mCLK_Aを反転させたクロック信号mCK2_Aに同期してラッチ出力信号L_Aを保持するものである。ラッチ512の構成は、ラッチ511と同様である。ラッチ512の出力は、フリップフロップ510の出力信号として出力される。   The latch 512 holds the latch output signal L_A in synchronization with the clock signal mCK2_A obtained by inverting the minimum delay clock signal mCLK_A. The configuration of the latch 512 is the same as that of the latch 511. The output of the latch 512 is output as an output signal of the flip-flop 510.

図14は、第2の実施の形態における主クロック分配回路440の一構成例を示す回路図である。主クロック分配回路440は、PLL441、443および445と、バッファ442、444および446とを備える。   FIG. 14 is a circuit diagram showing a configuration example of the main clock distribution circuit 440 in the second embodiment. The main clock distribution circuit 440 includes PLLs 441, 443, and 445 and buffers 442, 444, and 446.

PLL441、443および445は、入力されたクロック信号と同一の周波数のクロック信号を生成するものである。PLL441、443および445は、入力端子CKI、出力端子CKOおよびイネーブル端子ENを備える。PLL441、443および445は、例えば、オン状態のイネーブル信号が入力された場合に、生成したクロック信号を出力し、オフ状態のイネーブル信号が入力された場合にその出力を停止する。主クロック分配回路440は、クロック分配回路制御部700からEn_M_Root、En_M_AおよびEn_M_Bを含むイネーブル信号En_Mを受け取る。En_M_Root、En_M_AおよびEn_M_Bは、それぞれPLL441、443および445を制御するためのイネーブル信号である。ここで、信号線708は、信号線708−1、708−2および708−3を含み、イネーブル信号En_M_RootはPLL441に信号線708−1を介して入力される。イネーブル信号En_M_AはPLL443に信号線708−2を介して入力され、イネーブル信号En_M_BはPLL445に信号線708−3を介して入力される。   The PLLs 441, 443, and 445 generate a clock signal having the same frequency as the input clock signal. The PLLs 441, 443, and 445 include an input terminal CKI, an output terminal CKO, and an enable terminal EN. The PLLs 441, 443, and 445, for example, output the generated clock signal when an on-state enable signal is input, and stop the output when an off-state enable signal is input. The main clock distribution circuit 440 receives an enable signal En_M including En_M_Root, En_M_A, and En_M_B from the clock distribution circuit control unit 700. En_M_Root, En_M_A, and En_M_B are enable signals for controlling the PLLs 441, 443, and 445, respectively. Here, the signal line 708 includes signal lines 708-1, 708-2, and 708-3, and the enable signal En_M_Root is input to the PLL 441 via the signal line 708-1. The enable signal En_M_A is input to the PLL 443 via the signal line 708-2, and the enable signal En_M_B is input to the PLL 445 via the signal line 708-3.

PLL441は、クロック木の根に近い位置に設置された回路であり、PLL441の入力端子CKIにクロック生成部300からのクロック信号CLKが入力される。PLL441が出力したクロック信号は、バッファ442を介して複数のクロック信号に分岐される。分岐されたクロック信号のうち、いずれか2つがPLL443および445の入力端子CKIに入力される。   The PLL 441 is a circuit installed at a position close to the root of the clock tree, and the clock signal CLK from the clock generation unit 300 is input to the input terminal CKI of the PLL 441. The clock signal output from the PLL 441 is branched into a plurality of clock signals via the buffer 442. Any two of the branched clock signals are input to the input terminals CKI of the PLLs 443 and 445.

PLL443が出力したクロック信号CLKは、バッファ444を介して複数のクロック信号に分岐される。分岐されたクロック信号のいずれかがORゲート461に出力される。この信号が主クロック信号CLK_M_Aとされる。PLL445が出力したクロック信号CLKは、バッファ446を介して複数のクロック信号に分岐される。分岐されたクロック信号のいずれかがORゲート462に出力される。この信号が主クロック信号CLK_M_Bとされる。PLL441の出力点から主クロック信号CLK_M_Aの出力点までの経路を経路M_Aとし、PLL441の出力点から主クロック信号CLK_M_Bの出力点までの経路を経路M_Bとする。   The clock signal CLK output from the PLL 443 is branched into a plurality of clock signals via the buffer 444. One of the branched clock signals is output to the OR gate 461. This signal is the main clock signal CLK_M_A. The clock signal CLK output from the PLL 445 is branched into a plurality of clock signals via the buffer 446. One of the branched clock signals is output to the OR gate 462. This signal is the main clock signal CLK_M_B. A path from the output point of the PLL 441 to the output point of the main clock signal CLK_M_A is defined as a path M_A, and a path from the output point of the PLL 441 to the output point of the main clock signal CLK_M_B is defined as a path M_B.

図15は、第2の実施の形態における副クロック分配回路450の一構成例を示す回路図である。副クロック分配回路450は、PLL451、453および455と、バッファ452、454および456とを備える。   FIG. 15 is a circuit diagram showing a configuration example of the sub clock distribution circuit 450 in the second embodiment. The sub clock distribution circuit 450 includes PLLs 451, 453, and 455 and buffers 452, 454, and 456.

PLL451、453および455の構成は、PLL441と同様の構成である。副クロック分配回路450は、クロック分配回路制御部700からEn_S_Root、En_S_AおよびEn_S_Bを含むイネーブル信号En_Sを受け取る。En_S_Root、En_S_AおよびEn_S_Bは、それぞれPLL451、453および455を制御するためのイネーブル信号である。ここで、信号線709は、信号線709−1、709−2および709−3を含み、イネーブル信号En_S_Rootは信号線709−1を介してPLL451に入力される。イネーブル信号En_S_AはPLL453に信号線709−2を介して入力され、イネーブル信号En_S_BはPLL455に信号線709−3を介して入力される。   The configurations of the PLLs 451, 453, and 455 are the same as those of the PLL 441. The sub clock distribution circuit 450 receives an enable signal En_S including En_S_Root, En_S_A, and En_S_B from the clock distribution circuit control unit 700. En_S_Root, En_S_A, and En_S_B are enable signals for controlling the PLLs 451, 453, and 455, respectively. Here, the signal line 709 includes signal lines 709-1, 709-2, and 709-3, and the enable signal En_S_Root is input to the PLL 451 via the signal line 709-1. The enable signal En_S_A is input to the PLL 453 via the signal line 709-2, and the enable signal En_S_B is input to the PLL 455 via the signal line 709-3.

PLL451は、クロック木の根に近い位置に設置された回路であり、PLL451の入力端子CKIにクロック生成部300からのクロック信号CLKが入力される。PLL451が出力したクロック信号は、バッファ452を介して複数のクロック信号に分岐される。分岐されたクロック信号のうち、いずれか2つがPLL453および455の入力端子CKIに入力される。   The PLL 451 is a circuit installed at a position close to the root of the clock tree, and the clock signal CLK from the clock generation unit 300 is input to the input terminal CKI of the PLL 451. The clock signal output from the PLL 451 is branched into a plurality of clock signals via the buffer 452. Any two of the branched clock signals are input to the input terminals CKI of the PLLs 453 and 455.

PLL453が出力したクロック信号CLKは、バッファ454を介して複数のクロック信号に分岐される。分岐されたクロック信号のいずれかがORゲート461に出力される。この信号が副クロック信号CLK_S_Aとされる。PLL455が出力したクロック信号CLKは、バッファ456を介して複数のクロック信号に分岐される。分岐されたクロック信号のいずれかがORゲート462に出力される。この信号が副クロック信号CLK_S_Bとされる。PLL451の出力点から副クロック信号CLK_S_Aの出力点までの経路を経路S_Aとし、PLL451の出力点から副クロック信号CLK_S_Bの出力点までの経路を経路S_Bとする。   The clock signal CLK output from the PLL 453 is branched into a plurality of clock signals via the buffer 454. One of the branched clock signals is output to the OR gate 461. This signal is the sub clock signal CLK_S_A. The clock signal CLK output from the PLL 455 is branched into a plurality of clock signals via the buffer 456. One of the branched clock signals is output to the OR gate 462. This signal is the sub clock signal CLK_S_B. A path from the output point of the PLL 451 to the output point of the sub clock signal CLK_S_A is a path S_A, and a path from the output point of the PLL 451 to the output point of the sub clock signal CLK_S_B is a path S_B.

ここで、ORゲート461に対しては、同一の段数を介して主タイミング信号および副タイミング信号が分配されることが望ましい。すなわち、経路M_Aおよび経路S_Aにおけるバッファ段数は等しいことが望ましい。バッファ段数を同じにすることにより、主タイミング信号および副タイミング信号の遅延時間の差のばらつきが小さくなり、この結果、最小遅延タイミング信号mCLKの遅延のばらつきも小さくなる。なお、主タイミング信号および副タイミング信号の遅延時間が同程度となるのであれば、経路M_Aおよび経路S_Aのそれぞれにおけるバッファ段数は、多少異なる段数であってもよい。経路M_BおよびS_Bについても同様である。   Here, it is desirable that the main timing signal and the sub timing signal are distributed to the OR gate 461 through the same number of stages. That is, it is desirable that the number of buffer stages in the route M_A and the route S_A is equal. By making the number of buffer stages the same, the variation in the difference in delay time between the main timing signal and the sub-timing signal is reduced. As a result, the variation in the delay of the minimum delay timing signal mCLK is also reduced. Note that the number of buffer stages in each of the paths M_A and S_A may be slightly different as long as the delay times of the main timing signal and the sub-timing signal are approximately the same. The same applies to the routes M_B and S_B.

このように副クロック分配回路450の根と分岐点とにPLLを設けることにより、集積回路100は、複数の経路を選択的に不活性化ないし活性化することができる。具体的には、根の部分のPLL451が無効になると、全ての経路が不活性化される。PLL451および453が有効になると、経路S_Aが活性化され、副クロック信号CLK_S_Aが出力される。PLL451および455が有効になると、経路S_Bが活性化され、副クロック信号CLK_S_Bが出力される。   Thus, by providing PLL at the root and branch point of the sub clock distribution circuit 450, the integrated circuit 100 can selectively inactivate or activate a plurality of paths. Specifically, when the PLL 451 in the root portion is invalidated, all paths are inactivated. When the PLLs 451 and 453 are enabled, the path S_A is activated and the sub clock signal CLK_S_A is output. When the PLLs 451 and 455 are enabled, the path S_B is activated and the sub clock signal CLK_S_B is output.

[エラー測定部の構成例]
図16は、第2の実施の形態におけるエラー測定部600の一構成例を示す回路図である。エラー測定部600は、エラー検出回路610および620と、エラー数カウンタ630および640とを備える。
[Configuration example of error measurement unit]
FIG. 16 is a circuit diagram illustrating a configuration example of the error measurement unit 600 according to the second embodiment. The error measurement unit 600 includes error detection circuits 610 and 620 and error number counters 630 and 640.

エラー検出回路610は、フリップフロップ510に生じたタイミングエラーを検出するものである。エラー検出回路610は、タイミングエラーの検出結果を示すエラー検出信号ERR_Aを、エラー数カウンタ630へ出力する。エラー検出回路620は、フリップフロップ520に生じたタイミングエラーを検出するものである。エラー検出回路620は、タイミングエラーの検出結果を示すエラー検出信号ERR_Bを、エラー数カウンタ640へ出力する。エラー検出信号ERR_AおよびERR_Bには、例えば、タイミングエラーが検出されたときに「1」の値が設定され、検出されていない場合に「0」の値が設定される。   The error detection circuit 610 detects a timing error that has occurred in the flip-flop 510. The error detection circuit 610 outputs an error detection signal ERR_A indicating the detection result of the timing error to the error number counter 630. The error detection circuit 620 detects a timing error that has occurred in the flip-flop 520. The error detection circuit 620 outputs an error detection signal ERR_B indicating the detection result of the timing error to the error number counter 640. For example, a value “1” is set in the error detection signals ERR_A and ERR_B when a timing error is detected, and a value “0” is set when no timing error is detected.

エラー数カウンタ630は、最小遅延クロック信号mCLK_Aに同期してフリップフロップ510について検出されたタイミングエラーの数を計数するものである。エラー数カウンタ630は、クロック分配回路制御部700から信号線609を介してイネーブル信号En_CNT_Aを受け取る。イネーブル信号En_CNT_Aがオン状態になったとき、エラー数カウンタ630は、計数値を初期化し、最小遅延クロック信号mCLK_Aに同期してタイミングエラーの計数を開始する。エラー数カウンタ630は、計数値ERR_CNT_Aをクロック分配回路制御部700へ信号線609を介して出力し、所定の計測周期が経過したときに計数値を初期化する。   The error number counter 630 counts the number of timing errors detected for the flip-flop 510 in synchronization with the minimum delay clock signal mCLK_A. The error number counter 630 receives the enable signal En_CNT_A from the clock distribution circuit control unit 700 via the signal line 609. When the enable signal En_CNT_A is turned on, the error number counter 630 initializes a count value and starts counting timing errors in synchronization with the minimum delay clock signal mCLK_A. The error number counter 630 outputs the count value ERR_CNT_A to the clock distribution circuit control unit 700 via the signal line 609, and initializes the count value when a predetermined measurement period has elapsed.

エラー数カウンタ640は、最小遅延クロック信号mCLK_Bに同期してフリップフロップ520について検出されたタイミングエラーの数を計数するものである。エラー数カウンタ640は、クロック分配回路制御部700から信号線609を介してイネーブル信号En_CNT_Bを受け取る。イネーブル信号En_CNT_Bがオン状態になったとき、エラー数カウンタ640は、計数値を初期化し、最小遅延クロック信号mCLK_Bに同期してタイミングエラーの計数を開始する。エラー数カウンタ640は、計数値ERR_CNT_Bをクロック分配回路制御部700へ出力し、所定の計測周期が経過したときに計数値を初期化する。   The error number counter 640 counts the number of timing errors detected for the flip-flop 520 in synchronization with the minimum delay clock signal mCLK_B. The error number counter 640 receives the enable signal En_CNT_B from the clock distribution circuit control unit 700 via the signal line 609. When the enable signal En_CNT_B is turned on, the error number counter 640 initializes a count value and starts counting timing errors in synchronization with the minimum delay clock signal mCLK_B. The error number counter 640 outputs the count value ERR_CNT_B to the clock distribution circuit control unit 700, and initializes the count value when a predetermined measurement period has elapsed.

図17は、第2の実施の形態における第2の実施の形態におけるエラー検出回路610および620の一構成例を示す回路図である。エラー検出回路610は、インバータ611、遅延部612、ラッチ614、XOR(排他的論理和)ゲート615およびラッチ616を備える。   FIG. 17 is a circuit diagram showing a configuration example of the error detection circuits 610 and 620 in the second embodiment in the second embodiment. The error detection circuit 610 includes an inverter 611, a delay unit 612, a latch 614, an XOR (exclusive OR) gate 615 and a latch 616.

インバータ611は、最小遅延クロック信号mCLK_Aを反転するものである。インバータ611は、反転した最小遅延クロック信号mCLK_Aをイネーブル信号mCK2_Aとして遅延部612およびラッチ616に出力する。   The inverter 611 inverts the minimum delay clock signal mCLK_A. The inverter 611 outputs the inverted minimum delay clock signal mCLK_A to the delay unit 612 and the latch 616 as the enable signal mCK2_A.

遅延部612は、奇数段のインバータ613を備え、それらのインバータ613により最小遅延クロック信号mCLK_Aを遅延させるものである。ここで、インバータ613の個数は、例えば、遅延部612における遅延時間がフリップフロップ510のホールド時間と同程度になるように定められる。遅延部612は、最小遅延クロック信号mCLK_Aを遅延した信号をイネーブル信号mCLK_EX_Aとしてラッチ614に出力する。なお、インバータ611および遅延部612は、エラー検出回路610でなく、クロック分配部400に設ける構成とすることもできる。   The delay unit 612 includes odd-numbered stages of inverters 613, and those inverters 613 delay the minimum delay clock signal mCLK_A. Here, the number of inverters 613 is determined such that, for example, the delay time in the delay unit 612 is approximately the same as the hold time of the flip-flop 510. The delay unit 612 outputs a signal obtained by delaying the minimum delay clock signal mCLK_A to the latch 614 as the enable signal mCLK_EX_A. Note that the inverter 611 and the delay unit 612 may be provided in the clock distribution unit 400 instead of the error detection circuit 610.

ラッチ614および616は、イネーブル信号に従ってデータを透過または保持するものである。ラッチ614および616は、それぞれ入力端子D、出力端子Qおよびゲートイネーブル端子Gを備える。ゲートイネーブル端子Gには、イネーブル信号が入力される。ラッチ614および616は、イネーブル信号がオン状態である場合に、入力端子Dに入力された信号を出力端子Qにスルー出力する。一方、イネーブル信号がオフ状態である場合に、ラッチ614および616は、イネーブル信号がオン状態のときに入力端子Dに入力されていた信号の値を保持して出力する。   The latches 614 and 616 transmit or hold data according to the enable signal. The latches 614 and 616 include an input terminal D, an output terminal Q, and a gate enable terminal G, respectively. An enable signal is input to the gate enable terminal G. The latches 614 and 616 pass through the signal input to the input terminal D to the output terminal Q when the enable signal is on. On the other hand, when the enable signal is in the off state, the latches 614 and 616 hold and output the value of the signal input to the input terminal D when the enable signal is in the on state.

ラッチ614の入力端子Dには、同期動作回路500からの入力信号D_Aが入力される。ラッチ614の出力端子Qは、XORゲート615の入力端子に接続される。ラッチ614のゲートイネーブル端子Gには、イネーブル信号mCK_EX_Aが入力される。   An input signal D_A from the synchronous operation circuit 500 is input to the input terminal D of the latch 614. The output terminal Q of the latch 614 is connected to the input terminal of the XOR gate 615. An enable signal mCK_EX_A is input to the gate enable terminal G of the latch 614.

XORゲート615は、ラッチ614が出力した信号と同期動作回路500からのラッチ出力信号L_Aとの排他的論理和をラッチ616へ出力するものである。   The XOR gate 615 outputs an exclusive OR of the signal output from the latch 614 and the latch output signal L_A from the synchronous operation circuit 500 to the latch 616.

ラッチ616の入力端子Dには、XORゲート615の出力端子が接続される。ラッチ616の出力端子Qは、エラー数カウンタ630に接続される。ラッチ616のゲートイネーブル端子Gには、イネーブル信号mCK2_Aが入力される。   The output terminal of the XOR gate 615 is connected to the input terminal D of the latch 616. The output terminal Q of the latch 616 is connected to the error number counter 630. An enable signal mCK2_A is input to the gate enable terminal G of the latch 616.

エラー検出回路620は、インバータ621、遅延部622、ラッチ624、XORゲート625およびラッチ626を備える。   The error detection circuit 620 includes an inverter 621, a delay unit 622, a latch 624, an XOR gate 625, and a latch 626.

インバータ621は、最小遅延クロック信号mCLK_Bを反転するものである。インバータ621は、反転した最小遅延クロック信号mCLK_Bをイネーブル信号mCK2_Bとして遅延部622およびラッチ626に出力する。   The inverter 621 inverts the minimum delay clock signal mCLK_B. The inverter 621 outputs the inverted minimum delay clock signal mCLK_B to the delay unit 622 and the latch 626 as the enable signal mCK2_B.

遅延部622は、奇数段のインバータ623を備え、それらのインバータ623により最小遅延クロック信号mCLK_Bを遅延させるものである。遅延部622は、最小遅延クロック信号mCLK_Bを遅延した信号をイネーブル信号mCLK_EX_Bとしてラッチ624に出力する。   The delay unit 622 includes an odd number of stages of inverters 623 and delays the minimum delay clock signal mCLK_B by the inverters 623. The delay unit 622 outputs a signal obtained by delaying the minimum delay clock signal mCLK_B to the latch 624 as the enable signal mCLK_EX_B.

ラッチ624および626の構成は、ラッチ614と同様である。ラッチ624の入力端子Dには、同期動作回路500からの入力信号D_Bが入力される。ラッチ624の出力端子Qは、XORゲート625の入力端子に接続される。ラッチ624のゲートイネーブル端子Gには、イネーブル信号mCLK_EX_Bが入力される。   The configuration of the latches 624 and 626 is the same as that of the latch 614. An input signal D_B from the synchronous operation circuit 500 is input to the input terminal D of the latch 624. The output terminal Q of the latch 624 is connected to the input terminal of the XOR gate 625. An enable signal mCLK_EX_B is input to the gate enable terminal G of the latch 624.

XORゲート625は、ラッチ624が出力した信号と同期動作回路500からのラッチ出力信号L_Bとの排他的論理和をラッチ626へ出力するものである。   The XOR gate 625 outputs an exclusive OR of the signal output from the latch 624 and the latch output signal L_B from the synchronous operation circuit 500 to the latch 626.

ラッチ626の入力端子Dには、XORゲート625の出力端子が接続される。ラッチ626の出力端子Qは、エラー数カウンタ640に接続される。ラッチ626のゲートイネーブル端子Gには、イネーブル信号mCK2_Bが入力される。   The output terminal of the XOR gate 625 is connected to the input terminal D of the latch 626. The output terminal Q of the latch 626 is connected to the error number counter 640. An enable signal mCK2_B is input to the gate enable terminal G of the latch 626.

この構成において、ラッチ出力信号L_Aは、最小遅延クロック信号mCLK_Aの立下りエッジにおける入力信号D_Aが図13におけるラッチ511により保持された値である。一方、図17におけるラッチ614は、最小遅延クロック信号mCLK_Aの立下りエッジからホールド時間、遅延したタイミングにおける入力信号D0を保持する。そして、XORゲート615は、これらの信号の値が一致しなければタイミングエラーを出力する。このため、最小遅延クロック信号mCLK_Aの立下りエッジからホールド時間が経過するまでの間に、入力信号D_Aが変化した場合(すなわち、ホールド違反エラーが発生した場合)に、エラーが検出される。   In this configuration, the latch output signal L_A is a value in which the input signal D_A at the falling edge of the minimum delay clock signal mCLK_A is held by the latch 511 in FIG. On the other hand, the latch 614 in FIG. 17 holds the input signal D0 at a timing delayed by the hold time from the falling edge of the minimum delay clock signal mCLK_A. The XOR gate 615 outputs a timing error if the values of these signals do not match. Therefore, an error is detected when the input signal D_A changes between the falling edge of the minimum delay clock signal mCLK_A and the hold time elapses (that is, when a hold violation error occurs).

ここで、最小遅延クロック信号mCLK_Aの立下りエッジから、ラッチ511のセットアップ時間を遡った期間内に入力信号D_Aが変化した場合(すなわち、セットアップ違反エラーが発生した場合)を考える。この場合、ラッチ511に変化後の値が保持されない。この結果、セットアップ違反エラー発生時にもタイミングエラーが検出される。   Here, consider a case where the input signal D_A changes within a period that goes back the setup time of the latch 511 from the falling edge of the minimum delay clock signal mCLK_A (that is, a setup violation error occurs). In this case, the changed value is not held in the latch 511. As a result, a timing error is detected even when a setup violation error occurs.

つまり、最小遅延クロック信号mCLK_Aの立下りエッジを境にセットアップ時間およびホールド時間を含む期間において入力信号D_Aが変化した場合にエラー検出回路610においてタイミングエラーが検出される。エラー検出回路620においても、最小遅延クロック信号mCLK_Bの立下りエッジを境にセットアップ時間およびホールド時間を含む期間において入力信号D_Bが変化した場合にタイミングエラーが検出される。   That is, the timing error is detected in the error detection circuit 610 when the input signal D_A changes in the period including the setup time and the hold time at the falling edge of the minimum delay clock signal mCLK_A. The error detection circuit 620 also detects a timing error when the input signal D_B changes in a period including the setup time and the hold time with the falling edge of the minimum delay clock signal mCLK_B as a boundary.

そして、フリップフロップにタイミングを指示する主クロック信号の遅延のばらつきが大きいほど、そのフリップフロップにおいてタイミングエラーが生じ易くなる。このため、エラー測定部600は、測定周期内のエラー数(すなわち、エラーの発生頻度)を計数することにより、主クロック信号の遅延のばらつきを測定することができる。   As the variation in the delay of the main clock signal instructing the timing to the flip-flop is larger, a timing error is more likely to occur in the flip-flop. Therefore, the error measurement unit 600 can measure the variation in the delay of the main clock signal by counting the number of errors in the measurement period (that is, the frequency of occurrence of errors).

[クロック分配回路制御部の構成例]
図18は、第2の実施の形態におけるクロック分配回路制御部700の一構成例を示すブロック図である。クロック分配回路制御部700は、主クロック分配回路制御部710および副クロック分配回路制御部720を備える。
[Configuration example of clock distribution circuit controller]
FIG. 18 is a block diagram illustrating a configuration example of the clock distribution circuit control unit 700 according to the second embodiment. The clock distribution circuit control unit 700 includes a main clock distribution circuit control unit 710 and a sub clock distribution circuit control unit 720.

主クロック分配回路制御部710は、主クロック分配回路440を制御するものである。主クロック分配回路制御部710は、同期動作回路500を動作させる場合にオン状態のイネーブル信号En_M_Root、En_M_AおよびEn_M_Bを生成して出力する。   The main clock distribution circuit control unit 710 controls the main clock distribution circuit 440. The main clock distribution circuit control unit 710 generates and outputs ON enable signals En_M_Root, En_M_A, and En_M_B when the synchronous operation circuit 500 is operated.

副クロック分配回路制御部720は、副クロック分配回路450を制御するものである。詳細には、副クロック分配回路制御部720は、電源供給部200からの電源電圧VDDを参照し、電源電圧VDDが所定電圧より大きい場合、オフ状態のイネーブル信号En_S_Root、En_S_AおよびEn_S_Bを生成して出力する。一方、供給電圧VDDが所定電圧以下である場合を考える。この場合、副クロック分配回路制御部720は、イネーブル信号En_S_Root、En_S_AおよびEn_S_Bをオフ状態にしたままで、イネーブル信号En_CNT_AおよびEn_CNT_Bをオン状態にする。この結果、タイミングエラーの計数が開始される。   The sub clock distribution circuit control unit 720 controls the sub clock distribution circuit 450. Specifically, the sub clock distribution circuit control unit 720 refers to the power supply voltage VDD from the power supply unit 200 and generates the enable signals En_S_Root, En_S_A, and En_S_B in the off state when the power supply voltage VDD is greater than a predetermined voltage. Output. On the other hand, consider a case where the supply voltage VDD is equal to or lower than a predetermined voltage. In this case, the sub clock distribution circuit control unit 720 turns on the enable signals En_CNT_A and En_CNT_B while keeping the enable signals En_S_Root, En_S_A, and En_S_B in the off state. As a result, timing error counting is started.

そして、副クロック分配回路制御部720は、エラー測定部600から計数値ERR_CNT_AおよびERR_CNT_Bを受け取り、それらの計数値に基づいて副クロック分配回路450を制御する。詳細には、計数値が所定値以上になっている経路に接続されたORゲート(461または462)に対して副タイミング信号を分配するように副クロック分配回路450に指示する。指示は、イネーブル信号En_S_Root、En_S_AおよびEn_S_Bのうち、必要な信号をオン状態にすることにより行われる。具体的には、計数値ERR_CNT_Aが所定値以上となったとき、副クロック分配回路制御部720は、イネーブル信号En_S_RootおよびEn_S_Aをオン状態にする。これにより、経路S_Aが活性化されてORゲート461に副クロック信号が分配される。また、計数値ERR_CNT_Bが所定値以上となったとき、副クロック分配回路制御部720は、イネーブル信号En_S_RootおよびEn_S_Bをオン状態にする。これにより、経路S_Bが活性化されてORゲート462に副クロック信号が分配される。   Then, the sub clock distribution circuit control unit 720 receives the count values ERR_CNT_A and ERR_CNT_B from the error measurement unit 600, and controls the sub clock distribution circuit 450 based on the count values. Specifically, the sub clock distribution circuit 450 is instructed to distribute the sub timing signal to the OR gate (461 or 462) connected to the path whose count value is equal to or greater than the predetermined value. The instruction is performed by turning on necessary signals among the enable signals En_S_Root, En_S_A, and En_S_B. Specifically, when the count value ERR_CNT_A becomes equal to or greater than a predetermined value, the sub clock distribution circuit control unit 720 turns on the enable signals En_S_Root and En_S_A. As a result, the path S_A is activated and the sub clock signal is distributed to the OR gate 461. Further, when the count value ERR_CNT_B becomes equal to or greater than a predetermined value, the sub clock distribution circuit control unit 720 turns on the enable signals En_S_Root and En_S_B. As a result, the path S_B is activated and the sub clock signal is distributed to the OR gate 462.

[クロック分配回路制御部の動作例]
図19は、第2の実施の形態におけるクロック分配回路制御部700の動作の一例を示すフローチャートである。この動作は、同期動作回路500を動作させるときに開始する。
[Operation example of clock distribution circuit controller]
FIG. 19 is a flowchart illustrating an example of the operation of the clock distribution circuit control unit 700 according to the second embodiment. This operation starts when the synchronous operation circuit 500 is operated.

クロック分配回路制御部700は、イネーブル信号En_Mをオン状態にして主クロック分配回路440を活性化し、イネーブル信号En_Sをオフ状態にして副クロック分配回路450を不活性化する(ステップS901)。クロック分配回路制御部700は、供給電圧VDDが所定電圧以下であるか否かを判断する(ステップS902)。   The clock distribution circuit controller 700 activates the main clock distribution circuit 440 by turning on the enable signal En_M, and deactivates the sub clock distribution circuit 450 by turning off the enable signal En_S (step S901). The clock distribution circuit control unit 700 determines whether or not the supply voltage VDD is equal to or lower than a predetermined voltage (step S902).

供給電圧VDDが所定電圧以下でない場合(ステップS902:No)、クロック分配回路制御部700は、ステップS901に戻る。供給電圧VDDが所定電圧以下である場合(ステップS902:Yes)、クロック分配回路制御部700は、エラー測定部600に経路M_A、M_Bのそれぞれにおけるタイミングエラーの計数を開始させる(ステップS903)。   When the supply voltage VDD is not less than or equal to the predetermined voltage (step S902: No), the clock distribution circuit control unit 700 returns to step S901. When the supply voltage VDD is equal to or lower than the predetermined voltage (step S902: Yes), the clock distribution circuit control unit 700 causes the error measurement unit 600 to start counting timing errors in each of the paths M_A and M_B (step S903).

クロック分配回路制御部700は、いずれかの計数値が所定値以上であるか否かを判断する(ステップS904)。いずれの計数値も所定値未満である場合(ステップS904:No)、クロック分配回路制御部700はステップS902に戻る。いずれかの計数値が所定値以上である場合(ステップS904:Yes)、クロック分配回路制御部700は、計数値が所定値以上の副クロック分配回路450の経路(S_AまたはS_B)を活性化する(ステップS905)。ステップS905の後、クロック分配回路制御部700は、クロック分配部400を制御するための動作を終了する。   The clock distribution circuit control unit 700 determines whether any of the count values is greater than or equal to a predetermined value (step S904). If any of the count values is less than the predetermined value (step S904: No), the clock distribution circuit control unit 700 returns to step S902. When any one of the count values is equal to or greater than the predetermined value (step S904: Yes), the clock distribution circuit control unit 700 activates the path (S_A or S_B) of the sub clock distribution circuit 450 whose count value is equal to or greater than the predetermined value. (Step S905). After step S905, the clock distribution circuit control unit 700 ends the operation for controlling the clock distribution unit 400.

このように第2の実施の形態によれば、主クロック分配回路440がクロック信号を複数の主タイミング信号に分岐させて分配する。一方で、副クロック分配回路450はイネーブル信号に従ってクロック信号を複数の副タイミング信号に分岐させて分配する。ORゲート461および462は、それぞれ主タイミング信号および副タイミング信号のうち先に分配された信号を最小遅延タイミング信号mCLKとして出力する。同期動作回路500は、その最小遅延タイミング信号mCLKに同期して動作する。エラー測定部600がタイミングエラーの検出頻度を測定する一方で、クロック分配回路制御部700は、タイミングエラーの検出頻度が所定値以上である場合に、イネーブル信号により副クロック分配回路450にクロック信号の分配を指示する。これにより、タイミングエラーの検出頻度が所定値以上になった場合に、副クロック分配回路450により副クロック信号が分配される。副クロック信号が分配されると、ORゲート461および462がそれぞれ先に分配された信号を出力するため、クロックスキューのばらつきが軽減される。また、副クロック分配回路450は、タイミングエラーの検出頻度が高い場合に限り活性化されるため、バッファサイズを増大する構成と比較して電力消費量の増大が抑制される。さらに、それぞれのクロック信号CLKの値が異なる場合でも、メッシュ配線のように短絡電流が生じないため、メッシュ配線と比較して電力消費量の増大が抑制される。   As described above, according to the second embodiment, the main clock distribution circuit 440 branches the clock signal into a plurality of main timing signals and distributes them. On the other hand, the sub clock distribution circuit 450 divides the clock signal into a plurality of sub timing signals and distributes them according to the enable signal. OR gates 461 and 462 output the previously distributed signal of the main timing signal and the sub-timing signal as minimum delay timing signal mCLK, respectively. The synchronous operation circuit 500 operates in synchronization with the minimum delay timing signal mCLK. While the error measurement unit 600 measures the detection frequency of the timing error, the clock distribution circuit control unit 700 sends the clock signal to the sub clock distribution circuit 450 by the enable signal when the detection frequency of the timing error is a predetermined value or more. Direct distribution. As a result, the sub clock signal is distributed by the sub clock distribution circuit 450 when the detection frequency of the timing error exceeds a predetermined value. When the sub clock signal is distributed, the OR gates 461 and 462 each output the signal distributed first, so that the clock skew variation is reduced. Further, since the sub clock distribution circuit 450 is activated only when the detection frequency of timing errors is high, an increase in power consumption is suppressed as compared with a configuration in which the buffer size is increased. Furthermore, even when the values of the clock signals CLK are different, no short-circuit current is generated unlike the mesh wiring, so that an increase in power consumption is suppressed as compared with the mesh wiring.

なお、主クロック分配回路440および副クロック分配回路450は、経路を2つ備える構成としているが、経路を1つのみとしてもよい。また、3つ以上の経路を設けてもよい。   The main clock distribution circuit 440 and the sub clock distribution circuit 450 are configured to have two paths, but may have only one path. Three or more routes may be provided.

また、集積回路100は、タイミングエラーの検出頻度を測定しているが、クロック信号の遅延のばらつきを示す値であればタイミングエラーの検出頻度以外の値を測定してもよい。例えば、集積回路100は、クロック信号の遅延のばらつき自体を測定するように構成されてもよい。   Further, the integrated circuit 100 measures the timing error detection frequency. However, the integrated circuit 100 may measure a value other than the timing error detection frequency as long as the value indicates a variation in the delay of the clock signal. For example, the integrated circuit 100 may be configured to measure the delay variation of the clock signal itself.

また、同期動作回路500は、経路A_Mについて1個のフリップフロップを備えるが、同期動作回路500の回路構成はこの構成に限定されない。例えば、経路A_Mについて2個以上の個数のフリップフロップを備えてもよい。経路B_Mについても同様である。   The synchronous operation circuit 500 includes one flip-flop for the path A_M, but the circuit configuration of the synchronous operation circuit 500 is not limited to this configuration. For example, two or more flip-flops may be provided for the path A_M. The same applies to the route B_M.

また、集積回路100は、ORゲート461および462を使用して最小遅延タイミング信号mCLKを生成する構成としているが、ORゲート以外の論理ゲートを使用して最小遅延タイミング信号mCLKを生成してもよい。例えば、同期動作回路500が立下りエッジに同期して動作する場合、集積回路100は、ORゲートに代えてANDゲートによって最小遅延タイミング信号mCLKを生成してもよい。   Further, although the integrated circuit 100 is configured to generate the minimum delay timing signal mCLK using the OR gates 461 and 462, the minimum delay timing signal mCLK may be generated using a logic gate other than the OR gate. . For example, when the synchronous operation circuit 500 operates in synchronization with the falling edge, the integrated circuit 100 may generate the minimum delay timing signal mCLK by an AND gate instead of the OR gate.

[第1の変形例]
図20は、第2の実施の形態における第1の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。この第1の変形例におけるクロック分配部400の構成は、ORゲート461および462に代えてNORゲート463および464を備える点において、第1の実施の形態と異なる。第1の変形例における同期動作回路500の構成は、インバータ530および540をさらに備える点において、第2の実施の形態と異なる。
[First Modification]
FIG. 20 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the first modification example of the second embodiment. The configuration of the clock distribution unit 400 in the first modification is different from that of the first embodiment in that NOR gates 463 and 464 are provided instead of the OR gates 461 and 462. The configuration of the synchronous operation circuit 500 in the first modified example is different from that of the second embodiment in that inverters 530 and 540 are further provided.

NORゲート463は、主クロック信号CLK_M_Aおよび副クロック信号CLK_S_Aの否定論理和を最小遅延クロック信号mCLK_Aとしてインバータ530に出力するものである。NORゲート464は、主クロック信号CLK_M_Bおよび副クロック信号CLK_S_Bの否定論理和を最小遅延クロック信号mCLK_Bとしてインバータ540に出力するものである。インバータ530は、最小遅延クロック信号mCLK_Aを反転してフリップフロップ510に出力するものである。インバータ540は、最小遅延クロック信号mCLK_Bを反転してフリップフロップ520に出力するものである。   The NOR gate 463 outputs a negative logical sum of the main clock signal CLK_M_A and the sub clock signal CLK_S_A to the inverter 530 as the minimum delay clock signal mCLK_A. The NOR gate 464 outputs a negative logical sum of the main clock signal CLK_M_B and the sub clock signal CLK_S_B to the inverter 540 as the minimum delay clock signal mCLK_B. The inverter 530 inverts the minimum delay clock signal mCLK_A and outputs the inverted signal to the flip-flop 510. The inverter 540 inverts the minimum delay clock signal mCLK_B and outputs it to the flip-flop 520.

このように第1の変形例によれば、フリップフロップ510および520のクロック入力端子にインバータが設けられた構成において、クロックスキューのばらつきを低減することができる。   As described above, according to the first modification, the clock skew variation can be reduced in the configuration in which the inverter is provided at the clock input terminals of the flip-flops 510 and 520.

[第2の変形例]
図21は、第2の実施の形態における第2の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。この第2の変形例におけるクロック分配部400の構成は、ORゲート461および462に代えてNORゲート463および464を備える点において、第2の実施の形態と異なる。第2の変形例における同期動作回路500の構成は、インバータ530および540とメッシュ配線550をさらに備える点において、第2の実施の形態と異なる。
[Second Modification]
FIG. 21 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the second modification example of the second embodiment. The configuration of the clock distribution unit 400 in the second modified example is different from that of the second embodiment in that NOR gates 463 and 464 are provided instead of the OR gates 461 and 462. The configuration of the synchronous operation circuit 500 in the second modified example is different from that in the second embodiment in that inverters 530 and 540 and a mesh wiring 550 are further provided.

NORゲート463および464の構成は、第6の変形例と同様である。インバータ530および540は、最小遅延クロック信号mCLK_AおよびmCLK_Bを反転してメッシュ配線550に出力するものである。メッシュ配線550は、格子状に配置された複数の領域に最小遅延クロック信号mCLKを分配するものである。これらの領域にフリップフロップ510および520などが配置される。   The configurations of the NOR gates 463 and 464 are the same as in the sixth modification. Inverters 530 and 540 invert minimum delay clock signals mCLK_A and mCLK_B and output them to mesh wiring 550. The mesh wiring 550 distributes the minimum delay clock signal mCLK to a plurality of regions arranged in a lattice shape. In these regions, flip-flops 510 and 520 are arranged.

このように第2の変形例によれば、メッシュ配線550によりフリップフロップ510および520のクロック入力端子に接続する構成においてクロックスキューのばらつきを低減することができる。   As described above, according to the second modification, it is possible to reduce variations in clock skew in the configuration in which the mesh wiring 550 is connected to the clock input terminals of the flip-flops 510 and 520.

[第3の変形例]
図22は、第1の実施の形態における第3の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。上述の第2の実施の形態では同期動作回路500はクロック信号の立上りエッジにより動作することを想定していたが、この第3の変形例では、同期動作回路500は立下りエッジにより動作することを想定する。具体的には、第3の変形例におけるクロック分配部400の構成は、ORゲート461および462に代えてAND(論理積)ゲート465および466を備える点において、第2の実施の形態と異なる。第3の変形例における同期動作回路500の構成は、フリップフロップ510および520に代えてフリップフロップ560および570を備える点において、第2の実施の形態と異なる。
[Third Modification]
FIG. 22 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the third modification example of the first embodiment. In the second embodiment described above, it is assumed that the synchronous operation circuit 500 operates on the rising edge of the clock signal. However, in the third modification, the synchronous operation circuit 500 operates on the falling edge. Is assumed. Specifically, the configuration of the clock distribution unit 400 in the third modified example is different from that of the second embodiment in that it includes AND (logical product) gates 465 and 466 instead of the OR gates 461 and 462. The configuration of the synchronous operation circuit 500 in the third modified example is different from that of the second embodiment in that flip-flops 560 and 570 are provided instead of the flip-flops 510 and 520.

ANDゲート465は、主クロック信号CLK_M_Aおよび副クロック信号CLK_S_Aの論理積を最小遅延クロック信号mCLK_Aとしてフリップフロップ560に出力するものである。ANDゲート466は、主クロック信号CLK_M_Bおよび副クロック信号CLK_S_Bの論理積を最小遅延クロック信号mCLK_Bとしてフリップフロップ570に出力するものである。フリップフロップ560および570は、最小遅延クロック信号mCLK_AおよびmCLK_Bの立下りエッジに同期してデータを取り込み、保持するものである。   The AND gate 465 outputs a logical product of the main clock signal CLK_M_A and the sub clock signal CLK_S_A to the flip-flop 560 as the minimum delay clock signal mCLK_A. The AND gate 466 outputs a logical product of the main clock signal CLK_M_B and the sub clock signal CLK_S_B to the flip-flop 570 as the minimum delay clock signal mCLK_B. The flip-flops 560 and 570 capture and hold data in synchronization with the falling edges of the minimum delay clock signals mCLK_A and mCLK_B.

このように第3の変形例によれば、同期動作回路500がクロック信号の立下りエッジに同期して動作する構成において、クロックスキューのばらつきを低減することができる。   As described above, according to the third modification, the clock skew variation can be reduced in the configuration in which the synchronous operation circuit 500 operates in synchronization with the falling edge of the clock signal.

[第4の変形例]
図23は、第2の実施の形態における第4の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。この第4の変形例においても第3の変形例と同様に同期動作回路500が立下りエッジにより動作することを想定する。第4の変形例におけるクロック分配部400の構成は、ORゲート461および462に代えてNAND(否定論理積)ゲート467および468を備える点において、第2の実施の形態と異なる。第4の変形例における同期動作回路500の構成は、フリップフロップ510および520に代えてフリップフロップ560および570を備え、インバータ530および540をさらに備える点において、第2の実施の形態と異なる。
[Fourth Modification]
FIG. 23 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the fourth modification example of the second embodiment. In the fourth modified example, it is assumed that the synchronous operation circuit 500 operates on the falling edge as in the third modified example. The configuration of the clock distribution unit 400 in the fourth modified example is different from that of the second embodiment in that NAND (negative AND) gates 467 and 468 are provided instead of the OR gates 461 and 462. The configuration of the synchronous operation circuit 500 in the fourth modified example is different from that of the second embodiment in that flip-flops 560 and 570 are provided instead of the flip-flops 510 and 520 and inverters 530 and 540 are further provided.

NANDゲート467は、主クロック信号CLK_M_Aおよび副クロック信号CLK_S_Aの否定論理積を最小遅延クロック信号mCLK_Aとしてインバータ530に出力するものである。NANDゲート468は、主クロック信号CLK_M_Bおよび副クロック信号CLK_S_Bの否定論理積を最小遅延クロック信号mCLK_Bとしてインバータ540に出力するものである。インバータ530は、最小遅延クロック信号mCLK_Aを反転してフリップフロップ560に出力するものである。インバータ540は、最小遅延クロック信号mCLK_Bを反転してフリップフロップ570に出力するものである。フリップフロップ560および570は、最小遅延クロック信号mCLK_AおよびmCLK_Bの立下りエッジに同期してデータを取り込み、保持するものである。   The NAND gate 467 outputs a negative logical product of the main clock signal CLK_M_A and the sub clock signal CLK_S_A to the inverter 530 as the minimum delay clock signal mCLK_A. The NAND gate 468 outputs a negative logical product of the main clock signal CLK_M_B and the sub clock signal CLK_S_B to the inverter 540 as the minimum delay clock signal mCLK_B. The inverter 530 inverts the minimum delay clock signal mCLK_A and outputs it to the flip-flop 560. The inverter 540 inverts the minimum delay clock signal mCLK_B and outputs it to the flip-flop 570. The flip-flops 560 and 570 capture and hold data in synchronization with the falling edges of the minimum delay clock signals mCLK_A and mCLK_B.

このように第4の変形例によれば、フリップフロップ510および520のクロック入力端子にインバータが設けられ、同期動作回路500がクロック信号の立下りエッジに同期して動作する構成において、クロックスキューのばらつきを低減することができる。   As described above, according to the fourth modification example, in the configuration in which the clock input terminals of the flip-flops 510 and 520 are provided with the inverter and the synchronous operation circuit 500 operates in synchronization with the falling edge of the clock signal, Variations can be reduced.

[第5の変形例]
図24は、第2の実施の形態における第5の変形例におけるクロック分配部400および同期動作回路500の一構成例を示す回路図である。この第5の変形例においても第3の変形例と同様に同期動作回路500が立下りエッジにより動作することを想定する。第5の変形例におけるクロック分配部400の構成は、ORゲート461および462に代えてNANDゲート467および468を備える点において、第2の実施の形態と異なる。第5の変形例における同期動作回路500の構成は、フリップフロップ510および520に代えてフリップフロップ560および570を備える点において、第2の実施の形態と異なる。また、第5の変形例における同期動作回路500の構成は、インバータ530および540とメッシュ配線550をさらに備える点において、第2の実施の形態と異なる。
[Fifth Modification]
FIG. 24 is a circuit diagram showing a configuration example of the clock distribution unit 400 and the synchronous operation circuit 500 in the fifth modification example of the second embodiment. Also in the fifth modification example, it is assumed that the synchronous operation circuit 500 operates on the falling edge as in the third modification example. The configuration of the clock distribution unit 400 in the fifth modification example is different from that of the second embodiment in that NAND gates 467 and 468 are provided instead of the OR gates 461 and 462. The configuration of the synchronous operation circuit 500 in the fifth modified example is different from that of the second embodiment in that flip-flops 560 and 570 are provided instead of the flip-flops 510 and 520. The configuration of the synchronous operation circuit 500 in the fifth modification example is different from that of the second embodiment in that inverters 530 and 540 and a mesh wiring 550 are further provided.

NANDゲート467および468の構成は、第2の実施の形態における第4の変形例と同様である。インバータ530および540とメッシュ配線550との構成は、第2の実施の形態における第2の変形例と同様である。フリップフロップ560および570の構成は、第2の実施の形態における第4の変形例と同様である。   The configurations of NAND gates 467 and 468 are the same as in the fourth modification example of the second embodiment. The configurations of inverters 530 and 540 and mesh wiring 550 are the same as those of the second modification example of the second embodiment. The configuration of flip-flops 560 and 570 is the same as that of the fourth modification example of the second embodiment.

このように第5の変形例によれば、メッシュ配線にフリップフロップ510および520のクロック入力端子が接続され、同期動作回路500がクロック信号の立下りエッジに同期して動作する構成において、クロックスキューのばらつきを低減することができる。   As described above, according to the fifth modification, in the configuration in which the clock input terminals of the flip-flops 510 and 520 are connected to the mesh wiring, and the synchronous operation circuit 500 operates in synchronization with the falling edge of the clock signal, Can be reduced.

<3.第3の実施の形態>
[集積回路の構成例]
図25は、第3の実施の形態における集積回路100の一構成例を示すブロック図である。この第3の実施の形態における集積回路100は、電源供給部200、クロック生成部300、クロック分配回路410、同期動作回路500、組合せ論理回路580およびエラー測定部600を備える。
<3. Third Embodiment>
[Configuration example of integrated circuit]
FIG. 25 is a block diagram illustrating a configuration example of the integrated circuit 100 according to the third embodiment. The integrated circuit 100 according to the third embodiment includes a power supply unit 200, a clock generation unit 300, a clock distribution circuit 410, a synchronous operation circuit 500, a combinational logic circuit 580, and an error measurement unit 600.

電源供給部200は、クロック分配回路410、同期動作回路500および組合せ論理回路580に電源を供給するものである。具体的には、電源供給部200は、電源電圧VDDを降圧する。降圧された電圧は、クロック分配回路410にクロック分配回路駆動電圧vCKとして信号線207を介して供給される。また、電源供給部200は、クロック分配回路駆動電圧vCKより低い電圧を、組合せ論理回路580および同期動作回路500に論理回路駆動電圧vDPとして信号線208を介して供給する。   The power supply unit 200 supplies power to the clock distribution circuit 410, the synchronous operation circuit 500, and the combinational logic circuit 580. Specifically, the power supply unit 200 steps down the power supply voltage VDD. The stepped down voltage is supplied to the clock distribution circuit 410 via the signal line 207 as the clock distribution circuit drive voltage vCK. The power supply unit 200 supplies a voltage lower than the clock distribution circuit drive voltage vCK to the combinational logic circuit 580 and the synchronous operation circuit 500 as the logic circuit drive voltage vDP via the signal line 208.

クロック生成部300は、PLLなどを用いて所定の周波数のクロック信号CLKを生成するものである。クロック信号CLKは、同期動作回路500およびエラー測定部600に所定のタイミングを指示するための信号として生成される。クロック生成部300は、生成したクロック信号CLKをクロック分配回路410に信号線309を介して出力する。   The clock generator 300 generates a clock signal CLK having a predetermined frequency using a PLL or the like. The clock signal CLK is generated as a signal for instructing the synchronous operation circuit 500 and the error measurement unit 600 at a predetermined timing. The clock generation unit 300 outputs the generated clock signal CLK to the clock distribution circuit 410 via the signal line 309.

クロック分配回路410は、同期動作回路500を含む集積回路100内の回路のそれぞれにクロック信号CLKを分配するものである。クロック分配回路410は、クロック信号CLKを同期動作回路500に信号線409を介して分配し、エラー測定部600に信号線408を介して分配する。エラー測定部600に対しては、クロック信号CLKは、エラー数の計数のタイミングを指示するために分配される。なお、クロック分配回路410は、特許請求の範囲に記載のタイミング信号分配回路の一例である。   The clock distribution circuit 410 distributes the clock signal CLK to each of the circuits in the integrated circuit 100 including the synchronous operation circuit 500. The clock distribution circuit 410 distributes the clock signal CLK to the synchronous operation circuit 500 via the signal line 409 and distributes it to the error measurement unit 600 via the signal line 408. For the error measurement unit 600, the clock signal CLK is distributed to indicate the timing of counting the number of errors. The clock distribution circuit 410 is an example of a timing signal distribution circuit described in the claims.

同期動作回路500は、クロック信号CLKに同期して動作する回路である。組合せ論理回路580は、同期動作回路500の動作結果に基づいて所定の論理演算を実行するものである。なお、組合せ論理回路580は、特許請求の範囲に記載の論理回路の一例である。   The synchronous operation circuit 500 is a circuit that operates in synchronization with the clock signal CLK. The combinational logic circuit 580 executes a predetermined logical operation based on the operation result of the synchronous operation circuit 500. The combinational logic circuit 580 is an example of a logic circuit described in the claims.

エラー測定部600は、同期動作回路500に生じたタイミングエラーを検出し、その検出頻度を測定するものである。タイミングエラーの検出頻度は、例えば、一定の計測周期内のエラー数を計数することにより測定される。エラー測定部600は、タイミングエラーの計数値ERR_CNTを電源供給部200に信号線609を介して出力する。   The error measurement unit 600 detects a timing error occurring in the synchronous operation circuit 500 and measures the detection frequency. The detection frequency of timing errors is measured, for example, by counting the number of errors within a certain measurement period. The error measuring unit 600 outputs the timing error count value ERR_CNT to the power supply unit 200 via the signal line 609.

図26は、第3の実施の形態におけるクロック分配回路410および同期動作回路500の一構成例を示す回路図である。クロック分配回路410は、所定の段数のバッファ411を備え、それらのバッファ411を介してクロック信号CLKを同期動作回路500に分配する。同期動作回路500は、フリップフロップ510および520を備える。フリップフロップ510および520は、分配されたクロック信号CLKに同期してデータを取り込んで保持するものである。フリップフロップ510に入力される入力信号D0と、フリップフロップ510からのラッチ出力信号L0とは、エラー測定部600に信号線509を介して出力される。   FIG. 26 is a circuit diagram showing a configuration example of the clock distribution circuit 410 and the synchronous operation circuit 500 according to the third embodiment. The clock distribution circuit 410 includes buffers 411 having a predetermined number of stages, and distributes the clock signal CLK to the synchronous operation circuit 500 through the buffers 411. The synchronous operation circuit 500 includes flip-flops 510 and 520. The flip-flops 510 and 520 capture and hold data in synchronization with the distributed clock signal CLK. The input signal D0 input to the flip-flop 510 and the latch output signal L0 from the flip-flop 510 are output to the error measurement unit 600 via the signal line 509.

また、同期動作回路500は、組合せ論理回路580において必要なデータを出力し、または組合せ論理回路580において生成されたデータを受け取る。例えば、フリップフロップ510は、保持している信号を出力信号Q0として組合せ論理回路580に出力する。また、フリップフロップ520は、組合せ論理回路580から入力信号D1を受け取って保持し、保持した信号を出力信号Q1として組合せ論理回路580に出力する。   The synchronous operation circuit 500 outputs necessary data in the combinational logic circuit 580 or receives data generated in the combinational logic circuit 580. For example, the flip-flop 510 outputs the held signal to the combinational logic circuit 580 as the output signal Q0. The flip-flop 520 receives and holds the input signal D1 from the combinational logic circuit 580, and outputs the held signal to the combinational logic circuit 580 as the output signal Q1.

図27は、第3の実施の形態におけるエラー測定部600の一構成例を示すブロック図である。エラー測定部600は、エラー検出回路610およびエラー数カウンタ631を備える。エラー検出回路610の構成は、第2の実施の形態におけるエラー検出回路610の構成と同様である。エラー数カウンタ631は、エラー検出回路610において所定の測定周期内に検出されたエラー数をクロック信号CLKに同期して計数するものである。エラー数カウンタ631は、計数値ERR_CNTを電源供給部200に出力する。   FIG. 27 is a block diagram illustrating a configuration example of the error measurement unit 600 according to the third embodiment. The error measurement unit 600 includes an error detection circuit 610 and an error number counter 631. The configuration of the error detection circuit 610 is the same as the configuration of the error detection circuit 610 in the second embodiment. The error number counter 631 counts the number of errors detected in the error detection circuit 610 within a predetermined measurement period in synchronization with the clock signal CLK. The error number counter 631 outputs the count value ERR_CNT to the power supply unit 200.

図28は、第3の実施の形態におけるクロック分配回路410、同期動作回路500および組合せ論理回路580の実装例を示す図である。同図における点線は、クロック信号CLKを分配するための配線である。集積回路100には、信号線207および208を含む複数の信号線が配線され、それらの信号線に回路が接続される。ただし、クロック分配回路410と、同期動作回路500および組合せ論理回路580とには、それぞれ異なる電圧が供給されるように回路が配置される。具体的には、信号線207にはクロック分配回路410が接続される。この信号線207には、フリップフロップ510および520と組合せ論理回路580内の論理ゲート581とが接続されないように回路が配置される。一方、信号線208には、フリップフロップ510および520と論理ゲート581とが接続される。この信号線208には、クロック分配回路410が接続されないように回路が配置される。このように回路を配置することにより、クロック分配回路410には信号線207を介してクロック分配回路駆動電圧vCKが供給され、同期動作回路500および組合せ論理回路580には信号線208を介して論理回路駆動電圧vDPが供給される。   FIG. 28 is a diagram illustrating an implementation example of the clock distribution circuit 410, the synchronous operation circuit 500, and the combinational logic circuit 580 according to the third embodiment. The dotted line in the figure is a wiring for distributing the clock signal CLK. A plurality of signal lines including signal lines 207 and 208 are wired in the integrated circuit 100, and a circuit is connected to these signal lines. However, the clock distribution circuit 410, the synchronous operation circuit 500, and the combinational logic circuit 580 are arranged so that different voltages are supplied thereto. Specifically, the clock distribution circuit 410 is connected to the signal line 207. A circuit is arranged on this signal line 207 so that flip-flops 510 and 520 and logic gate 581 in combinational logic circuit 580 are not connected. On the other hand, flip-flops 510 and 520 and a logic gate 581 are connected to the signal line 208. A circuit is arranged on the signal line 208 so that the clock distribution circuit 410 is not connected thereto. By arranging the circuits in this way, the clock distribution circuit 410 is supplied with the clock distribution circuit drive voltage vCK via the signal line 207, and the synchronous operation circuit 500 and the combinational logic circuit 580 are logically connected via the signal line 208. A circuit drive voltage vDP is supplied.

[電源供給部の構成例]
図29は、第3の実施の形態における電源供給部200の一構成例を示すブロック図である。電源供給部200は、クロック分配回路駆動電圧制御部210および論理回路駆動電圧制御部220を備える。クロック分配回路駆動電圧制御部210は、電源電圧VDDを降圧してクロック分配回路410にクロック分配回路駆動電圧vCKとして供給するものである。論理回路駆動電圧制御部220は、クロック分配回路駆動電圧vCKを降圧して同期動作回路500および組合せ論理回路580に論理回路駆動電圧vDPとして供給するものである。なお、クロック分配回路駆動電圧制御部210は、特許請求の範囲に記載のタイミング信号分配回路駆動電圧制御部の一例である。
[Configuration example of power supply unit]
FIG. 29 is a block diagram illustrating a configuration example of the power supply unit 200 according to the third embodiment. The power supply unit 200 includes a clock distribution circuit drive voltage control unit 210 and a logic circuit drive voltage control unit 220. The clock distribution circuit drive voltage controller 210 steps down the power supply voltage VDD and supplies it to the clock distribution circuit 410 as the clock distribution circuit drive voltage vCK. The logic circuit drive voltage controller 220 steps down the clock distribution circuit drive voltage vCK and supplies it to the synchronous operation circuit 500 and the combinational logic circuit 580 as the logic circuit drive voltage vDP. The clock distribution circuit drive voltage control unit 210 is an example of a timing signal distribution circuit drive voltage control unit described in the claims.

図30は、第3の実施の形態におけるクロック分配回路駆動電圧制御部210の一構成例を示すブロック図である。クロック分配回路駆動電圧制御部210は、クロック分配回路駆動電圧制御回路211、電圧制御レジスタ212および可変抵抗器214を備える。可変抵抗器214の一方の端子は電源電圧VDDを供給する電源に接続され、他方の端子は電源線207に接続される。クロック分配回路駆動電圧制御回路211は、電圧制御レジスタ212の値を更新することにより電源電圧VDDを降圧してクロック分配回路駆動電圧vCKとして供給するものである。エラーの計数値ERR_CNTが閾値Th未満である場合にクロック分配回路駆動電圧制御回路211は、クロック分配回路駆動電圧vCKを設定値Vscに降圧する。一方、エラーの計数値ERR_CNTが閾値Th以上である場合にクロック分配回路駆動電圧制御回路211は、クロック分配回路駆動電圧vCKを設定値Vecに昇圧する。なお、VecはVscより高い値に設定される。   FIG. 30 is a block diagram illustrating a configuration example of the clock distribution circuit drive voltage control unit 210 according to the third embodiment. The clock distribution circuit drive voltage control unit 210 includes a clock distribution circuit drive voltage control circuit 211, a voltage control register 212, and a variable resistor 214. One terminal of the variable resistor 214 is connected to a power supply that supplies a power supply voltage VDD, and the other terminal is connected to the power supply line 207. The clock distribution circuit drive voltage control circuit 211 steps down the power supply voltage VDD by updating the value of the voltage control register 212 and supplies it as the clock distribution circuit drive voltage vCK. When the error count value ERR_CNT is less than the threshold Th, the clock distribution circuit drive voltage control circuit 211 steps down the clock distribution circuit drive voltage vCK to the set value Vsc. On the other hand, when the error count value ERR_CNT is greater than or equal to the threshold Th, the clock distribution circuit drive voltage control circuit 211 boosts the clock distribution circuit drive voltage vCK to the set value Vec. Note that Vec is set to a value higher than Vsc.

電圧制御レジスタ212は、可変抵抗器214の抵抗率を制御するための値を保持するものである。可変抵抗器214は、電圧制御レジスタ212に保持された値の変更に応じて抵抗値が変わる抵抗である。可変抵抗器214の抵抗値の変化により、供給されるクロック分配回路駆動電圧vCKが変化する。   The voltage control register 212 holds a value for controlling the resistivity of the variable resistor 214. The variable resistor 214 is a resistor whose resistance value changes in accordance with a change in the value held in the voltage control register 212. The clock distribution circuit drive voltage vCK supplied changes due to the change in the resistance value of the variable resistor 214.

図31は、第3の実施の形態におけるクロック分配回路駆動電圧制御回路211の動作の一例を示す図である。エラーの計数値ERR_CNTが閾値Th未満である場合、クロック分配回路駆動電圧制御回路211は、電圧制御レジスタ212の値を参照して現在のクロック分配回路駆動電圧vCKの値を取得する。そして、クロック分配回路駆動電圧制御回路211は、そのクロック分配回路駆動電圧vCKが設定値Vscより大きいか否かを判断する。そのクロック分配回路駆動電圧vCKが設定値Vscより大きければ、クロック分配回路駆動電圧制御回路211は、クロック分配回路駆動電圧vCKを設定値Vscに降圧する。一方、エラーの計数値ERR_CNTが閾値Th以上である場合、クロック分配回路駆動電圧制御回路211は、クロック分配回路駆動電圧vCKを設定値Vecに緊急昇圧する。   FIG. 31 is a diagram illustrating an example of the operation of the clock distribution circuit drive voltage control circuit 211 in the third embodiment. When the error count value ERR_CNT is less than the threshold Th, the clock distribution circuit drive voltage control circuit 211 refers to the value of the voltage control register 212 and acquires the current value of the clock distribution circuit drive voltage vCK. Then, the clock distribution circuit drive voltage control circuit 211 determines whether or not the clock distribution circuit drive voltage vCK is larger than the set value Vsc. If the clock distribution circuit drive voltage vCK is larger than the set value Vsc, the clock distribution circuit drive voltage control circuit 211 steps down the clock distribution circuit drive voltage vCK to the set value Vsc. On the other hand, when the error count value ERR_CNT is equal to or greater than the threshold Th, the clock distribution circuit drive voltage control circuit 211 urgently boosts the clock distribution circuit drive voltage vCK to the set value Vec.

図32は、第3の実施の形態における電圧制御レジスタ212および可変抵抗器214の一構成例を示す回路図である。電圧制御レジスタ212は、n(nは1以上の整数)個のフリップフロップ213を備える。可変抵抗器214は、並列に接続されたn個のpMOSトランジスタ215を備える。フリップフロップ213は、1ビットのデータを保持するものである。それぞれのフリップフロップ213が保持するデータの初期値は例えば「0」であり、データの値はクロック分配回路駆動電圧制御回路211により更新される。フリップフロップ213の出力端子と、pMOSトランジスタ215のゲート端子とは1対1に接続されている。   FIG. 32 is a circuit diagram showing a configuration example of the voltage control register 212 and the variable resistor 214 in the third embodiment. The voltage control register 212 includes n (n is an integer of 1 or more) flip-flops 213. The variable resistor 214 includes n pMOS transistors 215 connected in parallel. The flip-flop 213 holds 1-bit data. The initial value of the data held by each flip-flop 213 is “0”, for example, and the data value is updated by the clock distribution circuit drive voltage control circuit 211. The output terminal of the flip-flop 213 and the gate terminal of the pMOS transistor 215 are connected on a one-to-one basis.

pMOSトランジスタ215は、ゲート端子に入力された信号の値に応じてソース−ドレイン間に電流を流すものである。pMOSトランジスタ215は、ゲート端子、ソース端子およびドレイン端子を備える。ゲート端子はフリップフロップ213の出力端子に接続され、ソース端子は電源電圧VDDを供給する電源に接続され、ドレイン端子は信号線207に接続される。pMOSトランジスタ215は、ゲート端子に入力されたフリップフロップ213の保持値が「0」の場合にオン状態となってソース端子とドレイン端子との間に電流を流し、保持値が「1」の場合にオフ状態となる。ここで、1つのpMOSトランジスタのオン状態におけるゲート端子とドレイン端子との間の抵抗をRとする。オン状態のpMOSトランジスタ215の個数をm(mは1以上の整数)個とすると、可変抵抗器214の合成抵抗Rは、R/mとなる。つまり、電圧制御レジスタ212において「0」の値が多いほど、オン状態のpMOSトランジスタ215の個数が多くなって合成抵抗Rが小さくなり、クロック分配回路駆動電圧vCKが高くなる。なお、可変抵抗器214は、抵抗値を制御できる構成であればよく、pMOSトランジスタ215を並列接続した構成に限定されない。 The pMOS transistor 215 allows a current to flow between the source and the drain in accordance with the value of the signal input to the gate terminal. The pMOS transistor 215 includes a gate terminal, a source terminal, and a drain terminal. The gate terminal is connected to the output terminal of the flip-flop 213, the source terminal is connected to the power supply that supplies the power supply voltage VDD, and the drain terminal is connected to the signal line 207. The pMOS transistor 215 is turned on when the holding value of the flip-flop 213 input to the gate terminal is “0”, and a current flows between the source terminal and the drain terminal, and the holding value is “1”. Will be off. Here, the resistance between the gate terminal and the drain terminal in the on state of one pMOS transistor is R 0 . When the number of pMOS transistors 215 in the on state is m (m is an integer of 1 or more), the combined resistance R of the variable resistor 214 is R 0 / m. That is, as the value of “0” in the voltage control register 212 increases, the number of pMOS transistors 215 in the on state increases, the combined resistance R decreases, and the clock distribution circuit drive voltage vCK increases. The variable resistor 214 only needs to have a configuration that can control the resistance value, and is not limited to a configuration in which the pMOS transistors 215 are connected in parallel.

図33は、第3の実施の形態における論理回路駆動電圧制御部220の一構成例を示すブロック図である。論理回路駆動電圧制御部220は、論理回路駆動電圧制御回路221、電圧制御レジスタ222および可変抵抗器224を備える。可変抵抗器224の一方の端子は信号線207に接続され、他方の端子は信号線208に接続される。クロック分配回路駆動電圧制御回路211は、電圧制御レジスタ222の値を更新することによりクロック分配回路駆動電圧vCKを降圧して論理回路駆動電圧vDPとして供給するものである。エラーの計数値ERR_CNTが閾値Th未満である場合に論理回路駆動電圧制御回路221は、論理回路駆動電圧vDPを設定値Vsdに降圧する。一方、エラーの計数値ERR_CNTが閾値Th以上である場合に論理回路駆動電圧制御回路221は、論理回路駆動電圧vDPを設定値Vedに昇圧する。なお、VedはVsdより高い値に設定される。   FIG. 33 is a block diagram illustrating a configuration example of the logic circuit drive voltage control unit 220 according to the third embodiment. The logic circuit drive voltage control unit 220 includes a logic circuit drive voltage control circuit 221, a voltage control register 222, and a variable resistor 224. One terminal of the variable resistor 224 is connected to the signal line 207, and the other terminal is connected to the signal line 208. The clock distribution circuit drive voltage control circuit 211 updates the value of the voltage control register 222 to step down the clock distribution circuit drive voltage vCK and supply it as the logic circuit drive voltage vDP. When the error count value ERR_CNT is less than the threshold Th, the logic circuit drive voltage control circuit 221 steps down the logic circuit drive voltage vDP to the set value Vsd. On the other hand, when the error count value ERR_CNT is equal to or greater than the threshold Th, the logic circuit drive voltage control circuit 221 boosts the logic circuit drive voltage vDP to the set value Ved. Ved is set to a value higher than Vsd.

図34は、第3の実施の形態における論理回路駆動電圧制御回路221の動作の一例を示す図である。エラーの計数値ERR_CNTが閾値Th未満である場合、論理回路駆動電圧制御回路221は、電圧制御レジスタ222の値を参照して現在の論理回路駆動電圧vDPの値を取得する。そして、論理回路駆動電圧制御回路221は、その論理回路駆動電圧vDPが設定値Vsdより大きいか否かを判断する。論理回路駆動電圧vDPが設定値Vsdより大きければ、論理回路駆動電圧制御回路221は、論理回路駆動電圧vDPを設定値Vsdに降圧する。一方、エラーの計数値ERR_CNTが閾値Th以上である場合、論理回路駆動電圧制御回路221は、論理回路駆動電圧vDPを設定値Vedに緊急昇圧する。   FIG. 34 is a diagram illustrating an example of the operation of the logic circuit drive voltage control circuit 221 according to the third embodiment. When the error count value ERR_CNT is less than the threshold Th, the logic circuit drive voltage control circuit 221 refers to the value of the voltage control register 222 and acquires the current value of the logic circuit drive voltage vDP. Then, the logic circuit drive voltage control circuit 221 determines whether or not the logic circuit drive voltage vDP is larger than the set value Vsd. If the logic circuit drive voltage vDP is larger than the set value Vsd, the logic circuit drive voltage control circuit 221 steps down the logic circuit drive voltage vDP to the set value Vsd. On the other hand, when the error count value ERR_CNT is greater than or equal to the threshold Th, the logic circuit drive voltage control circuit 221 urgently boosts the logic circuit drive voltage vDP to the set value Ved.

[電源供給部の動作例]
図35は、第3の実施の形態におけるクロック分配回路駆動電圧制御回路211の動作の一例を示すフローチャートである。クロック分配回路駆動電圧制御回路211は、エラーの計数値ERR_CNTが閾値Th以上であるか否かを判断する(ステップS911)。計数値ERR_CNTが閾値Th以上である場合(ステップS911:Yes)、クロック分配回路駆動電圧制御回路211は、クロック分配回路駆動電圧vCKを設定値Vecに緊急昇圧する(ステップS912)。ステップS912の後、クロック分配回路駆動電圧制御回路211は、ステップS911に戻る。
[Operation example of power supply unit]
FIG. 35 is a flowchart illustrating an example of the operation of the clock distribution circuit drive voltage control circuit 211 in the third embodiment. The clock distribution circuit drive voltage control circuit 211 determines whether or not the error count value ERR_CNT is greater than or equal to the threshold value Th (step S911). When the count value ERR_CNT is greater than or equal to the threshold Th (step S911: Yes), the clock distribution circuit drive voltage control circuit 211 urgently boosts the clock distribution circuit drive voltage vCK to the set value Vec (step S912). After step S912, the clock distribution circuit drive voltage control circuit 211 returns to step S911.

計数値ERR_CNTが閾値Th未満である場合(ステップS911:No)、クロック分配回路駆動電圧制御回路211は、クロック分配回路駆動電圧vCKが設定値Vscより大きいか否かを判断する(ステップS913)。クロック分配回路駆動電圧vCKが設定値Vscより大きい場合(ステップS913:Yes)、クロック分配回路駆動電圧制御回路211は、クロック分配回路駆動電圧vCKを設定値Vscに降圧する(ステップS914)。クロック分配回路駆動電圧vCKが設定値Vsc以下である場合(ステップS913:No)、またはステップS914の後、クロック分配回路駆動電圧制御回路211は、ステップS911に戻る。   When the count value ERR_CNT is less than the threshold Th (step S911: No), the clock distribution circuit drive voltage control circuit 211 determines whether or not the clock distribution circuit drive voltage vCK is larger than the set value Vsc (step S913). When the clock distribution circuit drive voltage vCK is larger than the set value Vsc (step S913: Yes), the clock distribution circuit drive voltage control circuit 211 steps down the clock distribution circuit drive voltage vCK to the set value Vsc (step S914). When the clock distribution circuit drive voltage vCK is equal to or lower than the set value Vsc (step S913: No), or after step S914, the clock distribution circuit drive voltage control circuit 211 returns to step S911.

図36は、第3の実施の形態における論理回路駆動電圧制御回路221の動作の一例を示すフローチャートである。論理回路駆動電圧制御回路221は、エラーの計数値ERR_CNTが閾値Th以上であるか否かを判断する(ステップS921)。計数値ERR_CNTが閾値Th以上である場合(ステップS921:Yes)、論理回路駆動電圧制御回路221は、論理回路駆動電圧vDPを設定値Vedに緊急昇圧する(ステップS922)。ステップS912の後、論理回路駆動電圧制御回路221は、ステップS921に戻る。   FIG. 36 is a flowchart illustrating an example of the operation of the logic circuit drive voltage control circuit 221 according to the third embodiment. The logic circuit drive voltage control circuit 221 determines whether or not the error count value ERR_CNT is equal to or greater than the threshold value Th (step S921). When the count value ERR_CNT is greater than or equal to the threshold Th (step S921: Yes), the logic circuit drive voltage control circuit 221 urgently boosts the logic circuit drive voltage vDP to the set value Ved (step S922). After step S912, the logic circuit drive voltage control circuit 221 returns to step S921.

計数値ERR_CNTが閾値Th未満である場合(ステップS921:No)、論理回路駆動電圧制御回路221は、論理回路駆動電圧vDPが設定値Vsdより大きいか否かを判断する(ステップS923)。論理回路駆動電圧vDPが設定値Vsdより大きい場合
(ステップS923:Yes)、論理回路駆動電圧制御回路221は、論理回路駆動電圧vDPを設定値Vsdに降圧する(ステップS924)。論理回路駆動電圧vDPが設定値Vsd以下である場合(ステップS923:No)、またはステップS924の後、論理回路駆動電圧制御回路221は、ステップS921に戻る。
When the count value ERR_CNT is less than the threshold Th (step S921: No), the logic circuit drive voltage control circuit 221 determines whether or not the logic circuit drive voltage vDP is greater than the set value Vsd (step S923). When the logic circuit drive voltage vDP is larger than the set value Vsd (step S923: Yes), the logic circuit drive voltage control circuit 221 reduces the logic circuit drive voltage vDP to the set value Vsd (step S924). When the logic circuit drive voltage vDP is equal to or lower than the set value Vsd (step S923: No), or after step S924, the logic circuit drive voltage control circuit 221 returns to step S921.

図37は、第3の実施の形態におけるクロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPの第1の設定例を示すグラフである。グラフの縦軸は、クロック分配回路駆動電圧vCKの設定値であり、横軸は論理回路駆動電圧vDPの設定値である。この第1の設定例では、論理回路駆動電圧vDPがVc(例えば、0.7V)より低い場合に、論理回路駆動電圧vDPより高い電圧がクロック分配回路駆動電圧vCKに設定される。そして、このVcより低い区間では、論理回路駆動電圧vDPとクロック分配回路駆動電圧vCKとの電圧値の差分が一定となるように設定される。Vc以上の区間においては、クロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPの電圧値は、同一に設定される。   FIG. 37 is a graph illustrating a first setting example of the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP in the third embodiment. The vertical axis of the graph is the set value of the clock distribution circuit drive voltage vCK, and the horizontal axis is the set value of the logic circuit drive voltage vDP. In the first setting example, when the logic circuit drive voltage vDP is lower than Vc (for example, 0.7 V), a voltage higher than the logic circuit drive voltage vDP is set as the clock distribution circuit drive voltage vCK. In the interval lower than Vc, the voltage value difference between the logic circuit drive voltage vDP and the clock distribution circuit drive voltage vCK is set to be constant. In the interval equal to or higher than Vc, the voltage values of the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP are set to be the same.

なお、図37に例示した設定値以外の電圧を電圧供給部200に設定してもよい。例えば、図38は、クロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPの第2の設定例を示すグラフである。この第2の設定例では、論理回路駆動電圧vDPがVc1(例えば、0.7V)より低い場合に、第1の設定例と同様に、論理回路駆動電圧vDPより高い電圧がクロック分配回路駆動電圧vCKに設定される。論理回路駆動電圧vDPがVc1以上であり、かつ、Vc2(>Vc1)以下の区間においては、クロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPの電圧値は同一に設定される。そして、論理回路駆動電圧vDPがVc2より高い区間においては、論理回路駆動電圧vDPより低い電圧がクロック分配回路駆動電圧vCKに設定される。この第2の設定例によれば、電圧が十分に高い場合においても電力消費量を低減することができる。   Note that a voltage other than the set value illustrated in FIG. 37 may be set in the voltage supply unit 200. For example, FIG. 38 is a graph showing a second setting example of the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP. In the second setting example, when the logic circuit driving voltage vDP is lower than Vc1 (for example, 0.7 V), the voltage higher than the logic circuit driving voltage vDP is the clock distribution circuit driving voltage, as in the first setting example. Set to vCK. In a section where the logic circuit drive voltage vDP is equal to or higher than Vc1 and equal to or less than Vc2 (> Vc1), the voltage values of the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP are set to be the same. In a section where the logic circuit drive voltage vDP is higher than Vc2, a voltage lower than the logic circuit drive voltage vDP is set as the clock distribution circuit drive voltage vCK. According to this second setting example, the power consumption can be reduced even when the voltage is sufficiently high.

また、例えば、図39は、クロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPの第3の設定例を示すグラフである。この第3の設定例では、論理回路駆動電圧vDPがVcより低い区間において一定の電圧値(例えば、Vc)がクロック分配回路駆動電圧vCKに設定される。この第3の設定例によれば、集積回路100は、クロック分配回路駆動電圧vCKが最低動作電圧未満とならないように制御しつつ、電力消費量を低減することができる。   For example, FIG. 39 is a graph illustrating a third setting example of the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP. In the third setting example, a constant voltage value (for example, Vc) is set as the clock distribution circuit drive voltage vCK in a section where the logic circuit drive voltage vDP is lower than Vc. According to the third setting example, the integrated circuit 100 can reduce the power consumption while controlling the clock distribution circuit drive voltage vCK so as not to be less than the minimum operating voltage.

このように、第3の実施の形態によれば、電源供給部200によって、低電圧領域においてはクロック分配回路駆動電圧vCKより低い論理回路駆動電圧vDPが組合せ論理回路580に供給される。これにより、同一の値の電圧をクロック分配回路410および組合せ論理回路580に供給する構成と比較して、電力消費量の低減が容易になる。前述したように電圧の低下に伴って、クロック分配回路410におけるスキューが指数関数的に増大するが、組合せ論理回路580は、クロック分配回路410と比較してスキューの影響が少ない。このため、組合せ論理回路580の最低動作電圧は、クロック分配回路410より低く設定しても構わない。したがって、クロック分配回路駆動電圧vCKより論理回路駆動電圧vDPを低くすることにより、集積回路100全体の電力消費量を容易に低減することができる。   As described above, according to the third embodiment, the power supply unit 200 supplies the logic circuit drive voltage vDP lower than the clock distribution circuit drive voltage vCK to the combinational logic circuit 580 in the low voltage region. As a result, power consumption can be easily reduced as compared with a configuration in which a voltage having the same value is supplied to the clock distribution circuit 410 and the combinational logic circuit 580. As described above, the skew in the clock distribution circuit 410 increases exponentially as the voltage decreases, but the combinational logic circuit 580 has less influence of the skew than the clock distribution circuit 410. For this reason, the minimum operating voltage of the combinational logic circuit 580 may be set lower than that of the clock distribution circuit 410. Therefore, by making the logic circuit drive voltage vDP lower than the clock distribution circuit drive voltage vCK, the power consumption of the entire integrated circuit 100 can be easily reduced.

なお、第3の実施の形態の集積回路100は、クロック分配回路410に代えて第1の実施の形態のクロック分配部400を備え、最小遅延クロック信号mCLKを同期動作回路500に分配してもよい。これにより、クロックスキューがさらに減少する。同様に、第3の実施の形態の集積回路100は、クロック分配回路410に代えて第2の実施の形態のクロック分配回路制御部700およびクロック分配部400を備え、最小遅延クロック信号mCLKを同期動作回路500に分配してもよい。   Note that the integrated circuit 100 of the third embodiment includes the clock distribution unit 400 of the first embodiment instead of the clock distribution circuit 410 and distributes the minimum delay clock signal mCLK to the synchronous operation circuit 500. Good. This further reduces clock skew. Similarly, the integrated circuit 100 of the third embodiment includes the clock distribution circuit control unit 700 and the clock distribution unit 400 of the second embodiment instead of the clock distribution circuit 410, and synchronizes the minimum delay clock signal mCLK. It may be distributed to the operation circuit 500.

[第1の変形例]
図40は、第3の実施の形態における第1の変形例における集積回路100の一構成例を示すブロック図である。上述の第3の実施の形態において電圧供給部200は同期動作回路200に論理回路駆動電圧vDPを供給していたが、これ以外の電圧を同期動作回路200に供給してもよい。例えば、電圧供給部200は、クロック分配回路駆動電圧vCKを同期動作回路500に供給してもよい。第1の変形例の電源供給部200は、クロック分配回路駆動電圧vCKを同期動作回路500に信号線207を介して供給する点において、第3の実施の形態と異なる。
[First Modification]
FIG. 40 is a block diagram illustrating a configuration example of the integrated circuit 100 according to the first modification example of the third embodiment. In the above-described third embodiment, the voltage supply unit 200 supplies the logic circuit drive voltage vDP to the synchronous operation circuit 200. However, other voltages may be supplied to the synchronous operation circuit 200. For example, the voltage supply unit 200 may supply the clock distribution circuit drive voltage vCK to the synchronous operation circuit 500. The power supply unit 200 of the first modification is different from the third embodiment in that the clock distribution circuit drive voltage vCK is supplied to the synchronous operation circuit 500 via the signal line 207.

第1の変形例によれば、クロック分配回路駆動電圧vCKを同期動作回路500に供給する構成において電力消費量を低減することができる。   According to the first modification, power consumption can be reduced in the configuration in which the clock distribution circuit drive voltage vCK is supplied to the synchronous operation circuit 500.

[第2の変形例]
図41は、第3の実施の形態における第2の変形例における電源供給部200の一構成例を示すブロック図である。上述の第3の実施の形態においては、クロック分配回路駆動電圧制御部210および論理回路駆動電圧制御部220が電源に直列に接続される構成としてたが、これらを並列に接続する構成としてもよい。第2の変形例の電源供給部200は、クロック分配回路駆動電圧制御部210および論理回路駆動電圧制御部220が電源に並列に接続されている点において第3の実施の形態と異なる。第2の変形例において、論理回路駆動電圧vDPの設定値Vsdは、クロック分配回路駆動電圧vCKの設定値Vscより小さい値に設定される。
[Second Modification]
FIG. 41 is a block diagram illustrating a configuration example of the power supply unit 200 in the second modification example of the third embodiment. In the above-described third embodiment, the clock distribution circuit drive voltage control unit 210 and the logic circuit drive voltage control unit 220 are connected in series to the power supply. However, they may be connected in parallel. . The power supply unit 200 of the second modification is different from the third embodiment in that the clock distribution circuit drive voltage control unit 210 and the logic circuit drive voltage control unit 220 are connected in parallel to the power supply. In the second modification, the set value Vsd of the logic circuit drive voltage vDP is set to a value smaller than the set value Vsc of the clock distribution circuit drive voltage vCK.

第2の変形例によれば、クロック分配回路駆動電圧制御部210および論理回路駆動電圧制御部220が並列に接続される構成において電力消費量を低減することができる。   According to the second modification, power consumption can be reduced in the configuration in which the clock distribution circuit drive voltage control unit 210 and the logic circuit drive voltage control unit 220 are connected in parallel.

[第3の変形例]
図42は、第3の実施の形態における第3の変形例における集積回路100の一構成例を示すブロック図である。電源供給部200は同期動作回路500にクロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPのいずれとも異なる電圧を供給してもよい。第3の変形例の電源供給部200は、同期動作回路駆動電圧vFFを同期動作回路500に信号線206を介して供給する点において第3の実施の形態と異なる。
[Third Modification]
FIG. 42 is a block diagram illustrating a configuration example of the integrated circuit 100 according to the third modification example of the third embodiment. The power supply unit 200 may supply the synchronous operation circuit 500 with a voltage different from both the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP. The power supply unit 200 of the third modified example is different from the third embodiment in that the synchronous operation circuit drive voltage vFF is supplied to the synchronous operation circuit 500 via the signal line 206.

第3の変形例によれば、vDPおよびvCKのいずれとも異なる同期動作回路駆動電圧vFFを同期動作回路500に供給する構成において電力消費量を低減することができる。   According to the third modification, power consumption can be reduced in the configuration in which the synchronous operation circuit drive voltage vFF different from both vDP and vCK is supplied to the synchronous operation circuit 500.

[第4の変形例]
図43は、第3の実施の形態における第4の変形例における電源供給部200の一構成例を示すブロック図である。この第4の変形例の電源供給部200は、クロック分配回路駆動電圧制御部210のみが緊急昇圧を行う点において第3の実施の形態と異なる。第4の変形例においては、エラーの計数値ERR_CNTは、クロック分配回路駆動電圧制御部210のみに入力される。計数値ERR_CNTが閾値Th以上である場合にクロック分配回路駆動電圧制御部210は緊急昇圧を行う一方、論理回路駆動電圧制御部220は緊急昇圧を行わない。
[Fourth Modification]
FIG. 43 is a block diagram illustrating a configuration example of the power supply unit 200 in the fourth modification example of the third embodiment. The power supply unit 200 of the fourth modified example is different from the third embodiment in that only the clock distribution circuit drive voltage control unit 210 performs emergency boosting. In the fourth modification, the error count value ERR_CNT is input only to the clock distribution circuit drive voltage control unit 210. When the count value ERR_CNT is equal to or greater than the threshold Th, the clock distribution circuit drive voltage control unit 210 performs emergency boosting, while the logic circuit drive voltage control unit 220 does not perform emergency boosting.

第4の変形例によれば、論理回路駆動電圧vDPが緊急昇圧されないため、緊急昇圧時の電力消費量が低減する。   According to the fourth modification, since the logic circuit drive voltage vDP is not urgently boosted, the power consumption during the urgent boost is reduced.

<4.第4の実施の形態>
[集積回路の構成例]
図44は、第4の実施の形態における集積回路100の一構成例を示すブロック図である。この第4の実施の形態における集積回路100は、電源供給部200、クロック生成部300、クロック分配回路410、同期動作回路500、組合せ論理回路580、エラー測定部600およびエラー補償制御部800を備える。
<4. Fourth Embodiment>
[Configuration example of integrated circuit]
FIG. 44 is a block diagram illustrating a configuration example of the integrated circuit 100 according to the fourth embodiment. The integrated circuit 100 according to the fourth embodiment includes a power supply unit 200, a clock generation unit 300, a clock distribution circuit 410, a synchronous operation circuit 500, a combinational logic circuit 580, an error measurement unit 600, and an error compensation control unit 800. .

電源供給部200は、クロック分配回路410、同期動作回路500および組合せ論理回路580に電源を供給するものである。具体的には、電源供給部200は、所定の電圧値を有するクロック分配回路駆動電圧vCKをクロック分配回路410に信号線207を介して供給する。また、電源供給部200は、所定の電圧値を有する論理回路駆動電圧vDPを同期動作回路500および組合せ論理回路580に信号線208を介して供給する。   The power supply unit 200 supplies power to the clock distribution circuit 410, the synchronous operation circuit 500, and the combinational logic circuit 580. Specifically, the power supply unit 200 supplies a clock distribution circuit drive voltage vCK having a predetermined voltage value to the clock distribution circuit 410 via the signal line 207. The power supply unit 200 supplies the logic circuit drive voltage vDP having a predetermined voltage value to the synchronous operation circuit 500 and the combinational logic circuit 580 via the signal line 208.

また、電源供給部200は、エラー補償制御部800の解析結果に応じてクロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPを制御する。解析結果は、例えば、セットアップ違反エラー、ホールド違反エラーおよびホールド違反エラーの警告を含む。電源供給部200は、セットアップ違反エラーが発生した場合にクロック分配回路駆動電圧vCKを緊急昇圧し、ホールド違反エラーが発生した場合にクロック分配回路駆動電圧vCKおよび論理回路駆動電圧vDPを緊急昇圧する。また、電源供給部200は、ホールド違反エラーが発生する前にその警告を受けた場合には、論理回路駆動電圧vDPを緊急昇圧時の電圧値より低い電圧値に昇圧する。   The power supply unit 200 controls the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP according to the analysis result of the error compensation control unit 800. The analysis result includes, for example, a setup violation error, a hold violation error, and a warning of the hold violation error. The power supply unit 200 urgently boosts the clock distribution circuit drive voltage vCK when a setup violation error occurs, and urgently boosts the clock distribution circuit drive voltage vCK and the logic circuit drive voltage vDP when a hold violation error occurs. When the power supply unit 200 receives the warning before the hold violation error occurs, the power supply unit 200 boosts the logic circuit drive voltage vDP to a voltage value lower than the voltage value at the time of emergency boosting.

クロック生成部300は、PLLなどを用いて所定の周波数のクロック信号CLKを生成するものである。クロック信号CLKは、同期動作回路500およびエラー測定部600に所定のタイミングを指示するための信号として生成される。クロック生成部300は、生成したクロック信号CLKをクロック分配回路410に信号線309を介して出力する。   The clock generator 300 generates a clock signal CLK having a predetermined frequency using a PLL or the like. The clock signal CLK is generated as a signal for instructing the synchronous operation circuit 500 and the error measurement unit 600 at a predetermined timing. The clock generation unit 300 outputs the generated clock signal CLK to the clock distribution circuit 410 via the signal line 309.

クロック分配回路410は、同期動作回路500を含む集積回路100内の回路のそれぞれにクロック信号CLKを分配するものである。クロック分配回路410は、クロック信号CLKを同期動作回路500に信号線409を介して分配し、エラー測定部600に信号線408を介して分配する。エラー測定部600に対しては、クロック信号CLKは、エラー数の計数のタイミングを指示するために分配される。なお、クロック分配回路410は、特許請求の範囲に記載のタイミング信号分配回路の一例である。   The clock distribution circuit 410 distributes the clock signal CLK to each of the circuits in the integrated circuit 100 including the synchronous operation circuit 500. The clock distribution circuit 410 distributes the clock signal CLK to the synchronous operation circuit 500 via the signal line 409 and distributes it to the error measurement unit 600 via the signal line 408. For the error measurement unit 600, the clock signal CLK is distributed to indicate the timing of counting the number of errors. The clock distribution circuit 410 is an example of a timing signal distribution circuit described in the claims.

同期動作回路500は、クロック信号CLKに同期して動作する回路である。組合せ論理回路580は、同期動作回路500の動作結果に基づいて所定の論理演算を実行するものである。   The synchronous operation circuit 500 is a circuit that operates in synchronization with the clock signal CLK. The combinational logic circuit 580 executes a predetermined logical operation based on the operation result of the synchronous operation circuit 500.

エラー測定部600は、同期動作回路500に生じたタイミングエラーに基づいてエラーフラグERR1およびERR2を生成するものである。エラーフラグERR1およびERR2の相違や、それらの生成方法の詳細については後述する。エラー測定部600は、エラーフラグERR1およびERR2をエラー補償制御部800に信号線609を介して出力する。   The error measurement unit 600 generates the error flags ERR1 and ERR2 based on the timing error generated in the synchronous operation circuit 500. The difference between the error flags ERR1 and ERR2 and details of their generation method will be described later. The error measurement unit 600 outputs the error flags ERR1 and ERR2 to the error compensation control unit 800 via the signal line 609.

エラー補償制御部800は、エラーフラグERR1およびERR2の履歴に基づいてタイミングエラーを解析するものである。エラー補償制御部800は、例えば、タイミングエラーの種類を解析する。タイミングエラーの種類としては、セットアップ違反エラー、ホールド違反エラーおよびホールド違反エラーの警告などがある。タイミングエラーの解析方法については後述する。エラー補償制御部800は、解析結果を電源供給部200に信号線809を介して出力し、電源供給部200にエラーを補償させる。   The error compensation control unit 800 analyzes timing errors based on the history of the error flags ERR1 and ERR2. The error compensation control unit 800 analyzes, for example, the type of timing error. Types of timing errors include setup violation errors, hold violation errors, and hold violation error warnings. A timing error analysis method will be described later. The error compensation control unit 800 outputs the analysis result to the power supply unit 200 via the signal line 809, and causes the power supply unit 200 to compensate for the error.

図45は、第4の実施の形態におけるエラー測定部600、同期動作回路500およびクロック分配回路410の一構成例を示す回路図である。エラー測定部600は、エラー検出回路650を備え、同期動作回路500は、フリップフロップ510を備える。クロック分配回路410は、インバータ471および474と、遅延部475および477とを備える。   FIG. 45 is a circuit diagram showing a configuration example of the error measurement unit 600, the synchronous operation circuit 500, and the clock distribution circuit 410 in the fourth embodiment. The error measurement unit 600 includes an error detection circuit 650, and the synchronous operation circuit 500 includes a flip-flop 510. Clock distribution circuit 410 includes inverters 471 and 474 and delay units 475 and 477.

インバータ471および474は、入力されたクロック信号を反転して出力するものである。インバータ471は、クロック生成部300からのクロック信号CLKを反転して反転クロック信号CKBとして同期動作回路500に信号線409を介して出力する。インバータ474は、その反転クロック信号CKBをさらに反転してクロック信号CK2として同期動作回路500に信号線409を介して出力する。また、インバータ474は、クロック信号CK2をエラー検出回路650に信号線408を介して出力する。   The inverters 471 and 474 invert the input clock signal and output it. The inverter 471 inverts the clock signal CLK from the clock generator 300 and outputs the inverted clock signal CKB to the synchronous operation circuit 500 via the signal line 409. The inverter 474 further inverts the inverted clock signal CKB and outputs it as the clock signal CK2 to the synchronous operation circuit 500 via the signal line 409. The inverter 474 outputs the clock signal CK2 to the error detection circuit 650 via the signal line 408.

遅延部475および477はクロック信号を遅延させるものである。遅延部475は、奇数個のインバータ476を備える。遅延部475は、それらのインバータ476でクロック信号CK2を所定時間、遅延させて遅延クロック信号CKB_EX1としてエラー検出回路650に信号線408を介して出力する。ここで、インバータ476の個数は、例えば、遅延部475における遅延時間がフリップフロップ510のホールド時間と同程度になるように定められる。遅延部477は、偶数個のインバータ478を備える。遅延部477は、それらのインバータ478で遅延クロック信号CKB_EX1をさらに遅延させて遅延クロック信号CKB_EX2としてエラー検出回路650に信号線408を介して出力する。   The delay units 475 and 477 are for delaying the clock signal. The delay unit 475 includes an odd number of inverters 476. The delay unit 475 delays the clock signal CK2 by the inverter 476 for a predetermined time, and outputs the delayed clock signal CKB_EX1 to the error detection circuit 650 via the signal line 408. Here, the number of inverters 476 is determined such that, for example, the delay time in the delay unit 475 is approximately equal to the hold time of the flip-flop 510. The delay unit 477 includes an even number of inverters 478. The delay unit 477 further delays the delayed clock signal CKB_EX1 by the inverters 478 and outputs the delayed clock signal CKB_EX2 to the error detection circuit 650 via the signal line 408.

フリップフロップ510は、反転クロック信号CKBに同期して1ビットのデータを保持するものである。フリップフロップ510は、ラッチ511および512を備える。   The flip-flop 510 holds 1-bit data in synchronization with the inverted clock signal CKB. The flip-flop 510 includes latches 511 and 512.

ラッチ511は、反転クロック信号CKBに同期して入力信号を保持するものである。ラッチ511は、入力端子Q、出力端子Dおよびゲートイネーブル端子Gを備える。入力端子には、入力信号D0が入力され、ゲートイネーブル端子Gには、反転クロック信号CKBが入力され、出力端子Dは、ラッチ512の入力端子に接続されている。ラッチ511は、反転クロック信号CKBがオン状態の場合には入力信号D0をラッチ出力信号L0としてエラー検出回路650およびラッチ512にスルー出力する。一方、反転クロック信号CKBがオフ状態になった場合にはラッチ511は、立下りエッジにおける入力信号D0を保持して、保持している信号をラッチ出力信号L0としてエラー検出回路650およびラッチ512に出力する。   The latch 511 holds an input signal in synchronization with the inverted clock signal CKB. The latch 511 includes an input terminal Q, an output terminal D, and a gate enable terminal G. The input signal D 0 is input to the input terminal, the inverted clock signal CKB is input to the gate enable terminal G, and the output terminal D is connected to the input terminal of the latch 512. When the inverted clock signal CKB is in the ON state, the latch 511 outputs the input signal D0 as a latch output signal L0 to the error detection circuit 650 and the latch 512. On the other hand, when the inverted clock signal CKB is turned off, the latch 511 holds the input signal D0 at the falling edge, and uses the held signal as the latch output signal L0 to the error detection circuit 650 and the latch 512. Output.

ラッチ512、651、653、654および656の構成はラッチ511と同様である。ただし、ラッチ512は、クロック信号CK2がオフ状態になった場合にラッチ出力信号L0を保持して出力信号Q0として出力する。ラッチ651は、遅延クロック信号CKB_EX1がオフ状態になった場合に入力信号D0を保持してラッチ出力信号L1としてXORゲート652の入力端子に出力する。ラッチ653は、クロック信号CK2がオフ状態になった場合にXORゲート652からのエラー信号E1を保持してエラーフラグERR1としてエラー補償制御部800に出力する。また、ラッチ654は、遅延クロック信号CKB_EX2がオフ状態になった場合に入力信号D0を保持してラッチ出力信号L2としてXORゲート655の入力端子に出力する。ラッチ656は、クロック信号CK2がオフ状態になった場合にXORゲート655からのエラー信号E2を保持してエラーフラグERR2としてエラー補償制御部800に出力する。   The configuration of the latches 512, 651, 653, 654 and 656 is the same as that of the latch 511. However, the latch 512 holds the latch output signal L0 and outputs it as the output signal Q0 when the clock signal CK2 is turned off. The latch 651 holds the input signal D0 and outputs it to the input terminal of the XOR gate 652 as the latch output signal L1 when the delayed clock signal CKB_EX1 is turned off. The latch 653 holds the error signal E1 from the XOR gate 652 and outputs it to the error compensation controller 800 as an error flag ERR1 when the clock signal CK2 is turned off. The latch 654 holds the input signal D0 and outputs it to the input terminal of the XOR gate 655 as the latch output signal L2 when the delayed clock signal CKB_EX2 is turned off. The latch 656 holds the error signal E2 from the XOR gate 655 and outputs the error signal ERR2 to the error compensation controller 800 when the clock signal CK2 is turned off.

XORゲート652および655は、入力信号の排他的論理和を生成するものである。XORゲート652は、ラッチ651および511からのラッチ出力信号L1およびL0の排他的論理和をエラー信号E1としてラッチ653に出力する。XORゲート655は、ラッチ654および511からのラッチ出力信号L2およびL0の排他的論理和をエラー信号E2としてラッチ653に出力する。   XOR gates 652 and 655 generate an exclusive OR of input signals. The XOR gate 652 outputs the exclusive OR of the latch output signals L1 and L0 from the latches 651 and 511 to the latch 653 as the error signal E1. XOR gate 655 outputs the exclusive OR of latch output signals L2 and L0 from latches 654 and 511 to latch 653 as error signal E2.

なお、ラッチ511は、特許請求の範囲に記載のマスタラッチの一例である。ラッチ651およびXORゲート652は、特許請求の範囲に記載の第1エラー検出部の一例である。ラッチ654およびXORゲート655は、特許請求の範囲に記載の第2エラー検出部の一例である。また、ラッチ651は、特許請求の範囲に記載の第1のラッチの一例である。XORゲート652は、特許請求の範囲に記載の第1の論理ゲートの一例である。ラッチ654は、特許請求の範囲に記載の第2のラッチの一例である。XORゲート655は、特許請求の範囲に記載の第2の論理ゲートの一例である。   The latch 511 is an example of a master latch described in the claims. The latch 651 and the XOR gate 652 are an example of a first error detection unit described in the claims. The latch 654 and the XOR gate 655 are an example of a second error detection unit described in the claims. The latch 651 is an example of a first latch described in the claims. The XOR gate 652 is an example of a first logic gate described in the claims. The latch 654 is an example of a second latch described in the claims. The XOR gate 655 is an example of a second logic gate described in the claims.

図45に例示した構成において、第2の実施の形態と同様に、監視開始タイミングからセットアップ時間およびホールド時間が経過するまでの期間において入力信号D0が変化した場合にエラー信号E1が出力される。   In the configuration illustrated in FIG. 45, as in the second embodiment, the error signal E1 is output when the input signal D0 changes during the period from the monitoring start timing until the setup time and hold time elapse.

次に、ラッチ511が反転クロック信号CKBの立下りエッジにおける入力信号D0を保持する一方、ラッチ651は、クロック信号CKN_EX1をさらに遅延させた遅延クロック信号CKB_EX2の立下りエッジにおける入力信号D0を保持する。そして、XORゲート655は、これらの信号が一致しなければタイミングエラーを検出する。   Next, the latch 511 holds the input signal D0 at the falling edge of the inverted clock signal CKB, while the latch 651 holds the input signal D0 at the falling edge of the delayed clock signal CKB_EX2 obtained by further delaying the clock signal CKN_EX1. . Then, the XOR gate 655 detects a timing error if these signals do not match.

ここで、遅延クロック信号CKB_EX1の立下りエッジから遅延クロック信号CKB_EX2の立下りエッジまでの期間を以下では「エラー警告期間」と称する。前述のように、XORゲート655は、反転クロック信号CKBの立下りエッジにおける入力信号D0の値と、遅延クロック信号CKB_EX2の立下りエッジ(すなわち、エラー警告期間の終点)における入力信号D0とを比較した結果を出力する。このため、XORゲート655からは、反転クロック信号CKBの立下りエッジからホールド時間およびエラー警告期間が経過するまでの間に入力信号D0の値が変化した場合にエラー信号E2が出力される。また、監視開始タイミングから反転クロック信号CKBの立下りエッジまでの間に入力信号D0の値が変化した場合にも、ラッチ511に、変化後の値が保持されずにエラー信号E2が出力される。   Here, a period from the falling edge of the delayed clock signal CKB_EX1 to the falling edge of the delayed clock signal CKB_EX2 is hereinafter referred to as an “error warning period”. As described above, the XOR gate 655 compares the value of the input signal D0 at the falling edge of the inverted clock signal CKB with the input signal D0 at the falling edge of the delayed clock signal CKB_EX2 (that is, the end point of the error warning period). The result is output. For this reason, XOR gate 655 outputs error signal E2 when the value of input signal D0 changes between the falling edge of inverted clock signal CKB and the elapse of the hold time and error warning period. Even when the value of the input signal D0 changes between the monitoring start timing and the falling edge of the inverted clock signal CKB, the error signal E2 is output to the latch 511 without holding the changed value. .

つまり、監視開始タイミングからセットアップ時間、ホールド時間およびエラー警告期間が経過するまでの期間において入力信号D0が変化した場合にエラー信号E2が出力される。   That is, the error signal E2 is output when the input signal D0 changes during the period from the monitoring start timing to the setup time, hold time, and error warning period.

ここで、反転クロック信号CKBが立下ってエラー信号E1およびE2が出力された後、反転クロック信号CKBが立ち上がると、ラッチ511のホールドが解除されて入力信号D0およびラッチ出力信号L0が同一値となってしまう。しかし、後段のラッチ653および656が反転クロック信号CKBの立上り前に、エラー信号E1およびE2の値を保持するため、反転クロック信号CKBが立ち上った後も、立下り前のエラー信号E1およびE2の値が維持される。   When the inverted clock signal CKB rises after the inverted clock signal CKB falls and the error signals E1 and E2 are output, the latch 511 is released and the input signal D0 and the latch output signal L0 have the same value. turn into. However, since the latches 653 and 656 in the subsequent stage hold the values of the error signals E1 and E2 before the rising of the inverted clock signal CKB, the error signals E1 and E2 before the falling also rise after the inverted clock signal CKB rises. The value is maintained.

図46は、第4の実施の形態におけるエラー補償制御部800の一構成例を示すブロック図である。エラー補償制御部800は、エラー解析部810およびエラーフラグ前回値保持部820を備える。   FIG. 46 is a block diagram illustrating a configuration example of the error compensation control unit 800 according to the fourth embodiment. The error compensation control unit 800 includes an error analysis unit 810 and an error flag previous value holding unit 820.

エラー解析部810は、タイミングエラーERR1およびERR2の前回値および今回値に基づいてタイミングエラーを解析するものである。詳細には、エラー解析部810は、エラーフラグRRR2のみが前回に検出されてエラーフラグERR1およびERR2が今回ともに検出された場合、タイミングエラーがホールド違反エラーであると判断する。そして、エラー解析部810は、オン状態のホールド違反エラーフラグERR_HOLDを電源供給部200に出力してエラーフラグ前回値保持部820の保持値を更新する。   The error analysis unit 810 analyzes the timing error based on the previous value and the current value of the timing errors ERR1 and ERR2. Specifically, the error analysis unit 810 determines that the timing error is a hold violation error when only the error flag RRR2 is detected last time and the error flags ERR1 and ERR2 are both detected this time. Then, the error analysis unit 810 outputs the hold violation error flag ERR_HOLD in the on state to the power supply unit 200 and updates the held value of the error flag previous value holding unit 820.

一方、エラーフラグERR1およびERR2が前回いずれも検出されずにエラーフラグERR1およびERR2が今回ともに検出された場合、エラー解析部810は、タイミングエラーがセットアップ違反エラーであると判断する。そして、エラー解析部810は、オン状態のセットアップ違反エラーフラグERR_SETを電源供給部200に出力してエラーフラグ前回値保持部820の保持値を更新する。   On the other hand, if neither of the error flags ERR1 and ERR2 is detected last time and the error flags ERR1 and ERR2 are detected both this time, the error analysis unit 810 determines that the timing error is a setup violation error. Then, the error analysis unit 810 outputs the setup violation error flag ERR_SET in the on state to the power supply unit 200 and updates the held value of the error flag previous value holding unit 820.

また、エラーフラグERR1およびERR2が前回いずれも検出されずにエラーフラグERR2のみが今回に検出された場合、エラー解析部810は、エラー警告期間において入力信号D0が変化したと判断する。そして、エラー解析部810は、オン状態のホールド違反警告フラグAL_HOLDを電源供給部200に出力してエラーフラグ前回値保持部820の保持値を更新する。   Further, when neither the error flag ERR1 nor ERR2 is detected last time and only the error flag ERR2 is detected this time, the error analysis unit 810 determines that the input signal D0 has changed during the error warning period. Then, the error analysis unit 810 outputs the hold violation warning flag AL_HOLD in the on state to the power supply unit 200 and updates the held value of the error flag previous value holding unit 820.

エラーフラグ前回値保持部820は、エラーフラグERR1およびERR2の前回値ERR_PREを保持するものである。なお、エラーフラグ前回値保持部820は、特許請求の範囲に記載の履歴保持部の一例である。   The error flag previous value holding unit 820 holds the previous value ERR_PRE of the error flags ERR1 and ERR2. The error flag previous value holding unit 820 is an example of a history holding unit described in the claims.

図47は、第4の実施の形態におけるエラー解析部810の動作の一例を示す図である。エラーフラグERR1およびERR2がともに「0」である場合を考える。この場合、エラー解析部810は、ホールド違反警告フラグAL_HOLD、ホールド違反エラーフラグERR_HOLDおよびセットアップ違反エラーフラグERR_SETの値を全て「0」にする。また、エラー解析部810は、エラーフラグ前回値PRE_ERRを「00」に更新する。   FIG. 47 is a diagram illustrating an example of the operation of the error analysis unit 810 according to the fourth embodiment. Consider a case where both error flags ERR1 and ERR2 are “0”. In this case, the error analysis unit 810 sets all values of the hold violation warning flag AL_HOLD, the hold violation error flag ERR_HOLD, and the setup violation error flag ERR_SET to “0”. Further, the error analysis unit 810 updates the error flag previous value PRE_ERR to “00”.

エラーフラグERR1が「0」でエラーフラグERR2が「1」であり、エラーフラグ前回値が「00」である場合、エラー解析部810は、ホールド違反警告フラグAL_HOLDを「1」にする。また、エラー解析部810は、ホールド違反エラーフラグERR_HOLDおよびセットアップ違反エラーフラグERR_SETの値をともに「0」にする。そして、エラー解析部810は、エラーフラグ前回値PRE_ERRを「01」に更新する。   When the error flag ERR1 is “0”, the error flag ERR2 is “1”, and the previous value of the error flag is “00”, the error analysis unit 810 sets the hold violation warning flag AL_HOLD to “1”. Further, the error analysis unit 810 sets both the hold violation error flag ERR_HOLD and the setup violation error flag ERR_SET to “0”. Then, the error analysis unit 810 updates the error flag previous value PRE_ERR to “01”.

エラーフラグERR1が「0」でエラーフラグERR2が「1」であり、エラーフラグ前回値が「01」または「11」である場合、エラー解析部810は、AL_HOLD、ERR_HOLDおよびERR_SETの値を全て「0」にする。そして、エラー解析部810は、エラーフラグ前回値PRE_ERRを「01」に更新する。   When the error flag ERR1 is “0”, the error flag ERR2 is “1”, and the previous value of the error flag is “01” or “11”, the error analysis unit 810 sets all the values of AL_HOLD, ERR_HOLD, and ERR_SET to “ 0 ”. Then, the error analysis unit 810 updates the error flag previous value PRE_ERR to “01”.

エラーフラグERR1が検出される期間はエラーフラグERR2が検出される期間に含まれるため、エラーフラグERR1のみが「1」となることはない。   Since the period during which the error flag ERR1 is detected is included in the period during which the error flag ERR2 is detected, only the error flag ERR1 does not become “1”.

エラーフラグERR1およびERR2がともに「1」であり、エラーフラグ前回値が「00」である場合、エラー解析部810はセットアップ違反エラーフラグERR_SETの値を「1」にする。また、エラー解析部810は、ホールド違反警告フラグAL_HOLDおよびホールド違反エラーフラグERR_HOLDの値をともに「0」にする。そして、エラー解析部810は、エラーフラグ前回値PRE_ERRを「11」に更新する。   When the error flags ERR1 and ERR2 are both “1” and the previous value of the error flag is “00”, the error analysis unit 810 sets the value of the setup violation error flag ERR_SET to “1”. Further, the error analysis unit 810 sets both the values of the hold violation warning flag AL_HOLD and the hold violation error flag ERR_HOLD to “0”. Then, the error analysis unit 810 updates the error flag previous value PRE_ERR to “11”.

エラーフラグERR1およびERR2がともに「1」であり、エラーフラグ前回値が「01」である場合、エラー解析部810はホールド違反エラーフラグERR_HOLDの値を「1」にする。また、エラー解析部810は、ホールド違反警告フラグAL_HOLDおよびセットアップ違反エラーフラグERR_SETの値をともに「0」にする。そして、エラー解析部810は、エラーフラグ前回値PRE_ERRを「11」に更新する。   When the error flags ERR1 and ERR2 are both “1” and the previous value of the error flag is “01”, the error analysis unit 810 sets the value of the hold violation error flag ERR_HOLD to “1”. Also, the error analysis unit 810 sets both the hold violation warning flag AL_HOLD and the setup violation error flag ERR_SET to “0”. Then, the error analysis unit 810 updates the error flag previous value PRE_ERR to “11”.

図47に例示した動作においてエラーフラグの前回値が「01」で今回値「11」であった場合を考える。この場合、入力信号D0の更新タイミングが、前回はエラー警告期間内であったが、今回は、そのエラー警告期間からずれて、エラーフラグERR1が検出される期間内となった可能性が高い。前回と今回とのずれの大きさが急激に変わっていないのであれば、エラー警告期間に近い期間、つまり、反転クロック信号CKBの立下りの後の期間内に入力信号D0が更新された可能性が高い。したがって、この場合にエラー解析部810は、ホールド違反エラーと判断している。   Consider the case where the previous value of the error flag is “01” and the current value is “11” in the operation illustrated in FIG. In this case, the update timing of the input signal D0 was within the error warning period last time, but this time there is a high possibility that the error flag ERR1 is detected and deviated from the error warning period. If the difference between the previous time and the current time does not change abruptly, there is a possibility that the input signal D0 has been updated within the period close to the error warning period, that is, the period after the fall of the inverted clock signal CKB. Is expensive. Therefore, in this case, the error analysis unit 810 determines that a hold violation error has occurred.

一方、エラーフラグの前回値が「00」で今回値「11」であった場合、エラー警告期間から遠い期間、つまり、反転クロック信号CKBの立下りエッジの前の期間内に入力信号D0が更新された可能性が高い。したがって、この場合にエラー解析部810は、セットアップ違反エラーと判断している。   On the other hand, when the previous value of the error flag is “00” and the current value is “11”, the input signal D0 is updated within a period far from the error warning period, that is, a period before the falling edge of the inverted clock signal CKB. It is likely that Therefore, in this case, the error analysis unit 810 determines that a setup violation error has occurred.

図48は、第3の実施の形態における電源供給部200の動作の一例を示す図である。ホールド違反警告フラグAL_HOLD、ホールド違反エラーフラグERR_HOLDおよびセットアップ違反エラーフラグERR_SETの値が全て「0」である場合を考える。この場合、電源供給部200は、クロック分配回路駆動電圧vCKを設定値Vscに制御し、論理回路駆動電圧vDPを設定値Vsdに制御する。なお、電源供給部200は、第3の実施の形態と同様に、論理回路駆動電圧vDPの設定値Vsdをクロック分配回路駆動電圧vCKの設定値Vscより低く設定してもよい。   FIG. 48 is a diagram illustrating an example of the operation of the power supply unit 200 according to the third embodiment. Consider a case where the values of the hold violation warning flag AL_HOLD, the hold violation error flag ERR_HOLD, and the setup violation error flag ERR_SET are all “0”. In this case, the power supply unit 200 controls the clock distribution circuit drive voltage vCK to the set value Vsc, and controls the logic circuit drive voltage vDP to the set value Vsd. Note that, similarly to the third embodiment, the power supply unit 200 may set the set value Vsd of the logic circuit drive voltage vDP lower than the set value Vsc of the clock distribution circuit drive voltage vCK.

セットアップ違反エラーフラグERR_SETのみが「1」であった場合、電源供給部200は、クロック分配回路駆動電圧vCKを設定値Vecに緊急昇圧し、論理回路駆動電圧vDPを設定値Vedに緊急昇圧する。   When only the setup violation error flag ERR_SET is “1”, the power supply unit 200 urgently boosts the clock distribution circuit drive voltage vCK to the set value Vec and urgently boosts the logic circuit drive voltage vDP to the set value Ved.

ホールド違反エラーフラグERR_HOLDのみが「1」であった場合、電源供給部200は、クロック分配回路駆動電圧vCKのみを設定値Vecに緊急昇圧する。   When only the hold violation error flag ERR_HOLD is “1”, the power supply unit 200 urgently boosts only the clock distribution circuit drive voltage vCK to the set value Vec.

ホールド違反警告フラグAL_HOLDのみが「1」であった場合、電源供給部200は、クロック分配回路駆動電圧vCKをVecより低い設定値Vacに昇圧する。   When only the hold violation warning flag AL_HOLD is “1”, the power supply unit 200 boosts the clock distribution circuit drive voltage vCK to a set value Vac lower than Vec.

図49は、第4の実施の形態におけるエラーフラグERR1およびERR2がともに「0」となる場合のエラー検出回路650の動作の一例を示すタイミングチャートである。この例において、入力信号D0は、監視開始タイミングからセットアップ時間、ホールド時間およびエラー警告期間が経過するまでの間、値が変化しないものとする。   FIG. 49 is a timing chart showing an example of the operation of the error detection circuit 650 when the error flags ERR1 and ERR2 are both “0” in the fourth embodiment. In this example, it is assumed that the value of the input signal D0 does not change until the setup time, the hold time, and the error warning period elapse from the monitoring start timing.

クロック信号CLKの立上りに応じて反転クロック信号CKBに立下りエッジが生じると、前段のラッチ511は、その時点で「d1」の値の入力信号D0を保持してラッチ出力信号L0として出力する。   When a falling edge occurs in the inverted clock signal CKB in response to the rising of the clock signal CLK, the latch 511 in the previous stage holds the input signal D0 having a value of “d1” at that time and outputs it as the latch output signal L0.

反転クロック信号CKBの立下りに応じてクロック信号CK2に立上りエッジが生じると、後段のラッチ512は、前段からのラッチ出力信号L0を出力信号Q0としてスルー出力する。   When a rising edge occurs in the clock signal CK2 in response to the falling of the inverted clock signal CKB, the latch 512 in the subsequent stage outputs the latch output signal L0 from the previous stage as the output signal Q0.

そして、反転クロック信号CKBの立下りに遅延して遅延クロック信号CKB_EX1に立下りエッジが生じると、ラッチ651は、その時点で「d1」の値の入力信号D0を保持してラッチ出力信号L1として出力する。XORゲート652は、ラッチ出力信号L0およびM1の値がともに「d1」であるから、「0」の値のエラー信号E1を出力する。ラッチ653は、エラー信号E1を保持してエラーフラグERR1として出力する。   When the falling edge of the delayed clock signal CKB_EX1 occurs after the falling edge of the inverted clock signal CKB, the latch 651 holds the input signal D0 having a value of “d1” at that time as the latch output signal L1. Output. Since the values of the latch output signals L0 and M1 are both “d1”, the XOR gate 652 outputs the error signal E1 having a value of “0”. The latch 653 holds the error signal E1 and outputs it as an error flag ERR1.

遅延クロック信号CKB_EX1の立下りに対して、さらに遅延して遅延クロック信号CKB_EX2に立下りエッジが生じると、ラッチ654は、その時点で「d1」の値の入力信号D0を保持してラッチ出力信号L2として出力する。XORゲート655は、ラッチ出力信号L0およびL2の値がともに「d1」であるから、「0」の値のエラー信号E2を出力する。ラッチ656は、エラー信号E2を保持してエラーフラグERR2として出力する。   When the falling edge of the delayed clock signal CKB_EX2 is further delayed with respect to the falling edge of the delayed clock signal CKB_EX1, the latch 654 holds the input signal D0 having the value of “d1” at that time, and the latch output signal Output as L2. Since the values of the latch output signals L0 and L2 are both “d1”, the XOR gate 655 outputs the error signal E2 having a value of “0”. The latch 656 holds the error signal E2 and outputs it as an error flag ERR2.

このように、監視開始タイミングからセットアップ時間、ホールド時間およびエラー警告期間が経過するまでの間、入力信号D0の値が変化しなかった場合、エラーフラグERR1およびERR2はともに「0」となる。   Thus, if the value of the input signal D0 does not change from the monitoring start timing until the setup time, hold time, and error warning period elapse, both the error flags ERR1 and ERR2 become “0”.

図50は、第4の実施の形態におけるエラーフラグERR2のみが「0」となる場合のエラー検出回路650の動作の一例を示すタイミングチャートである。この例において、入力信号D0は、エラー警告期間内に値が「d1」から「d2」に変化したものとする。エラー警告期間は、遅延クロック信号CKB_EX1の立下りエッジから遅延クロック信号CKB_EX2の立下りエッジまでの期間である。   FIG. 50 is a timing chart showing an example of the operation of the error detection circuit 650 when only the error flag ERR2 is “0” in the fourth embodiment. In this example, it is assumed that the value of the input signal D0 changes from “d1” to “d2” within the error warning period. The error warning period is a period from the falling edge of the delayed clock signal CKB_EX1 to the falling edge of the delayed clock signal CKB_EX2.

クロック信号CLKの立上りに応じて反転クロック信号CKBに立下りエッジが生じると、前段のラッチ511は、その時点で「d1」の値の入力信号D0を保持してラッチ出力信号L0として出力する。   When a falling edge occurs in the inverted clock signal CKB in response to the rising of the clock signal CLK, the latch 511 in the previous stage holds the input signal D0 having a value of “d1” at that time and outputs it as the latch output signal L0.

そして、反転クロック信号CKBに立下りに遅延して遅延クロック信号CKB_EX1に立下りエッジが生じると、ラッチ651は、その時点で「d1」の値の入力信号D0を保持してラッチ出力信号L1として出力する。XORゲート652は、ラッチ出力信号L0およびM1の値がともに「d1」であるから、「0」の値のエラー信号E1を出力する。ラッチ653は、エラー信号E1を保持してエラーフラグERR1として出力する。   When the falling edge of the delayed clock signal CKB_EX1 is delayed after the falling edge of the inverted clock signal CKB, the latch 651 holds the input signal D0 having the value “d1” at that time as the latch output signal L1. Output. Since the values of the latch output signals L0 and M1 are both “d1”, the XOR gate 652 outputs the error signal E1 having a value of “0”. The latch 653 holds the error signal E1 and outputs it as an error flag ERR1.

遅延クロック信号CKB_EX1に対して、さらに遅延して遅延クロック信号CKB_EX2に立下りエッジが生じると、ラッチ654は、その時点で「d2」の値の入力信号D0を保持してラッチ出力信号L2を出力する。XORゲート655は、ラッチ出力信号L0の値が「d1」でラッチ出力信号L2の値が「d2」であるから、「1」の値のエラー信号E2を出力する。ラッチ656は、エラー信号E2を保持してエラーフラグERR2として出力する。   When the delayed clock signal CKB_EX1 is further delayed and a falling edge occurs in the delayed clock signal CKB_EX2, the latch 654 holds the input signal D0 having a value of “d2” at that time and outputs the latch output signal L2 To do. Since the value of the latch output signal L0 is “d1” and the value of the latch output signal L2 is “d2”, the XOR gate 655 outputs the error signal E2 having a value of “1”. The latch 656 holds the error signal E2 and outputs it as an error flag ERR2.

このように、エラー警告期間内に入力信号D0の値が変化した場合、エラーフラグERR2のみが「1」となる。   Thus, when the value of the input signal D0 changes within the error warning period, only the error flag ERR2 becomes “1”.

図51は、第4の実施の形態におけるエラーフラグERR1およびERR1がともに「1」となる場合のエラー検出回路650の動作の一例を示すタイミングチャートである。この例において、入力信号D0は、監視開始タイミングからセットアップ時間およびホールド期間が経過するまでの間に値が「d1」から「d2」に変化したものとする。遅延クロック信号CKB_EX1に立下りエッジが生じたときが、ホールド時間の経過したときである。   FIG. 51 is a timing chart showing an example of the operation of the error detection circuit 650 when the error flags ERR1 and ERR1 are both “1” in the fourth embodiment. In this example, it is assumed that the value of the input signal D0 changes from “d1” to “d2” between the monitoring start timing and the elapse of the setup time and the hold period. The falling edge occurs in the delayed clock signal CKB_EX1 when the hold time has elapsed.

クロック信号CLKの立上りに応じて反転クロック信号CKBに立下りエッジが生じると、前段のラッチ511は、その時点で「d1」の値の入力信号D0を保持してラッチ出力信号L0として出力する。   When a falling edge occurs in the inverted clock signal CKB in response to the rising of the clock signal CLK, the latch 511 in the previous stage holds the input signal D0 having a value of “d1” at that time and outputs it as the latch output signal L0.

そして、反転クロック信号CKBに立下りに遅延して遅延クロック信号CKB_EX1に立下りエッジが生じると、ラッチ651は、その時点で「d2」の値の入力信号D0を保持してラッチ出力信号L1として出力する。XORゲート652は、ラッチ出力信号L0が「d1」でラッチ出力信号L1の値が「d2」であるから、「1」の値のエラー信号E1を出力する。ラッチ653は、エラー信号E1を保持してエラーフラグERR1として出力する。   When the falling edge of the delayed clock signal CKB_EX1 occurs after the falling edge of the inverted clock signal CKB, the latch 651 holds the input signal D0 having a value of “d2” at that time as the latch output signal L1. Output. Since the latch output signal L0 is “d1” and the value of the latch output signal L1 is “d2”, the XOR gate 652 outputs the error signal E1 having the value “1”. The latch 653 holds the error signal E1 and outputs it as an error flag ERR1.

遅延クロック信号CKB_EX1に対して、さらに遅延して遅延クロック信号CKB_EX2に立下りエッジが生じると、ラッチ654は、その時点で「d2」の値の入力信号D0を保持してラッチ出力信号L2として出力する。XORゲート655は、ラッチ出力信号L0の値が「d1」でラッチ出力信号L2の値が「d2」であるから、「1」の値のエラー信号E2を出力する。ラッチ656は、エラー信号E2を保持してエラーフラグERR2として出力する。   When the delayed clock signal CKB_EX1 is further delayed and a falling edge occurs in the delayed clock signal CKB_EX2, the latch 654 holds the input signal D0 having a value of “d2” at that time and outputs it as a latch output signal L2. To do. Since the value of the latch output signal L0 is “d1” and the value of the latch output signal L2 is “d2”, the XOR gate 655 outputs the error signal E2 having a value of “1”. The latch 656 holds the error signal E2 and outputs it as an error flag ERR2.

このように、監視開始タイミングからセットアップ時間およびホールド期間が経過するまでの間に入力信号D0の値が変化した場合、エラーフラグERR1およびERR1がともに「1」となる   Thus, when the value of the input signal D0 changes between the monitoring start timing and the setup time and hold period, both the error flags ERR1 and ERR1 are “1”.

図52は、第4の実施の形態におけるエラー検出回路650のトラップウィンドウおよびデータの更新タイミングの一例を示す図である。ここで、トラップウィンドウは、エラー検出回路650がタイミングエラーを検出する期間のことである。   FIG. 52 is a diagram illustrating an example of the trap window and data update timing of the error detection circuit 650 according to the fourth embodiment. Here, the trap window is a period during which the error detection circuit 650 detects a timing error.

第1トラップウィンドウは、ラッチ653がエラーフラグERR1を検出する期間である。この期間は、クロック信号CLKの立上りエッジを境にセットアップ時間およびホールド時間を含む期間である。   The first trap window is a period during which the latch 653 detects the error flag ERR1. This period is a period including a setup time and a hold time at the rising edge of the clock signal CLK.

第2トラップウィンドウは、ラッチ656がエラーフラグERR2を検出する期間である。この期間は、クロック信号CLKの立上りエッジを境にセットアップ時間およびホールド違反警告マージンを含む期間である。ホールド違反警告マージンは、ホールド時間にエラー警告期間を加えた期間である。   The second trap window is a period during which the latch 656 detects the error flag ERR2. This period is a period including a setup time and a hold violation warning margin at the rising edge of the clock signal CLK. The hold violation warning margin is a period obtained by adding an error warning period to the hold time.

この第2トラップウィンドウの範囲外において入力信号D0が更新された場合、エラーフラグERR1およびERR2がともに「0」となる。エラー警告期間において入力信号D0が更新された場合、その更新タイミングは第2トラップウィンドウ内であるが第1トラップウィンドウ内に含まれない。このため、エラーフラグERR2のみが「1」となる。第1トラップウィンドウ内において入力信号D0が更新された場合、エラーフラグERR1およびERR2がともに「1」となる。   When the input signal D0 is updated outside the range of the second trap window, the error flags ERR1 and ERR2 are both “0”. When the input signal D0 is updated during the error warning period, the update timing is within the second trap window but is not included in the first trap window. Therefore, only the error flag ERR2 is “1”. When the input signal D0 is updated in the first trap window, the error flags ERR1 and ERR2 are both “1”.

このように、第4の実施の形態によれば、入力信号D0が第1トラップウィンドウ内において変化した場合にはエラー検出回路650によりタイミングエラー(ERR1)が検出される。また、入力信号D0が第2トラップウィンドウ内において変化した場合にはエラー検出回路650によりタイミングエラー(ERR2)が検出される。そして、エラー解析部810は、これらのタイミングエラーの履歴に基づいて反転クロック信号CKBの立下りエッジの前後のいずれにおいて入力信号D0が変化したかを判断する。これにより、集積回路100は、タイミングエラーの種類を判別することができる。   As described above, according to the fourth embodiment, when the input signal D0 changes in the first trap window, the error detection circuit 650 detects the timing error (ERR1). When the input signal D0 changes within the second trap window, the error detection circuit 650 detects a timing error (ERR2). Then, the error analysis unit 810 determines whether the input signal D0 has changed before or after the falling edge of the inverted clock signal CKB based on the history of these timing errors. As a result, the integrated circuit 100 can determine the type of timing error.

なお、セットアップ違反エラーを検出した場合に集積回路100は電圧を昇圧しているが、周波数制御をさらに行ってもよい。例えば、エラー検出回路650は、セットアップ違反エラーフラグERR_SETを、電源供給部200でなくクロック生成部300に出力する。クロック生成部300は、セットアップ違反エラーフラグERR_SETが「1」である場合に「0」の場合よりもクロック信号CLKの周波数を低下させる。一方、ホールド違反エラーの検出時において、クロック生成部300は周波数を制御せず、電源供給部200が電圧を昇圧する。ホールド違反エラーの発生率は、周波数を低下させても低減しないためである。この場合、クロック生成部300は、特許請求の範囲の周波数制御部の一例である。電圧と比較して周波数は早期に変更することができるため、集積回路100は、周波数制御により迅速にエラーを補償することができる。   Note that the integrated circuit 100 boosts the voltage when a setup violation error is detected, but frequency control may be further performed. For example, the error detection circuit 650 outputs the setup violation error flag ERR_SET to the clock generation unit 300 instead of the power supply unit 200. The clock generation unit 300 lowers the frequency of the clock signal CLK when the setup violation error flag ERR_SET is “1” than when it is “0”. On the other hand, when a hold violation error is detected, the clock generation unit 300 does not control the frequency, and the power supply unit 200 boosts the voltage. This is because the occurrence rate of the hold violation error is not reduced even if the frequency is lowered. In this case, the clock generation unit 300 is an example of a frequency control unit in the claims. Since the frequency can be changed early compared to the voltage, the integrated circuit 100 can quickly compensate for the error by frequency control.

また、前述の周波数制御を行う場合、集積回路100は、ホールド違反エラー検出時にクロック分配回路駆動電圧vCKに加えて論理回路駆動電圧vDPを昇圧してもよい。   When performing the above-described frequency control, the integrated circuit 100 may boost the logic circuit drive voltage vDP in addition to the clock distribution circuit drive voltage vCK when a hold violation error is detected.

また、集積回路100は、クロック分配回路410に代えて第1の実施の形態のクロック分配部400を備え、最小遅延クロック信号mCLKを同期動作回路500に分配してもよい。これにより、クロックスキューがさらに減少する。同様に、集積回路100は、クロック分配回路410に代えて第2の実施の形態のクロック分配回路制御部700およびクロック分配部400を備え、最小遅延クロック信号mCLKを同期動作回路500に分配してもよい。   Further, the integrated circuit 100 may include the clock distribution unit 400 of the first embodiment instead of the clock distribution circuit 410 and distribute the minimum delay clock signal mCLK to the synchronous operation circuit 500. This further reduces clock skew. Similarly, the integrated circuit 100 includes the clock distribution circuit control unit 700 and the clock distribution unit 400 of the second embodiment instead of the clock distribution circuit 410, and distributes the minimum delay clock signal mCLK to the synchronous operation circuit 500. Also good.

[第1の変形例]
図53は、第4の実施の形態における第1の変形例における集積回路100の一構成例を示すブロック図である。この第1の変形例のクロック分配回路410は、クロック信号CLKをさらにエラー補償制御部800に信号線407を介して分配する点において第4の実施の形態と異なる。エラー補償制御部800に対しては、クロック信号CLKは、エラー数を計数するタイミングを指示するために分配される。
[First Modification]
FIG. 53 is a block diagram illustrating a configuration example of the integrated circuit 100 according to the first modification example of the fourth embodiment. The clock distribution circuit 410 according to the first modified example is different from the fourth embodiment in that the clock signal CLK is further distributed to the error compensation control unit 800 via the signal line 407. For the error compensation controller 800, the clock signal CLK is distributed to indicate the timing for counting the number of errors.

図54は、第4の実施の形態における第1の変形例におけるエラー補償制御部800の一例を示すブロック図である。第15の変形例のエラー補償制御部800は、エラー解析部811およびエラーフラグ計数部830を備える。   FIG. 54 is a block diagram showing an example of the error compensation control unit 800 in the first modification example of the fourth embodiment. The error compensation control unit 800 of the fifteenth modification includes an error analysis unit 811 and an error flag counting unit 830.

エラーフラグ計数部830は、ERR01_CNTおよびERR11_CNTを算出するものである。ERR01_CNTは、所定の計測周期内においてエラーフラグERR2のみが「1」となった回数である。ERR11_CNTは、計測周期内においてエラーフラグERR1およびERR2がともに「1」となった回数である。エラーフラグ計数部830は、これらの計数値をエラー解析部811に信号線839を介して出力する。なお、エラーフラグ計数部830は、特許請求の範囲に記載の履歴保持部の一例である。   The error flag counter 830 calculates ERR01_CNT and ERR11_CNT. ERR01_CNT is the number of times that only the error flag ERR2 becomes “1” within a predetermined measurement cycle. ERR11_CNT is the number of times that the error flags ERR1 and ERR2 are both “1” within the measurement cycle. The error flag counter 830 outputs these count values to the error analyzer 811 via the signal line 839. The error flag counting unit 830 is an example of a history holding unit described in the claims.

エラー解析部811は、計数値ERR01_CNTおよびERR11_CNTに基づいてエラーを解析するものである。詳細には、ERR11_CNTが閾値(例えば、「1」)未満であり、ERR01_CNTがERR11_CNTよりも大きい場合にエラー解析部811は、ホールド違反警告フラグAL_HOLDをオン状態にする。   The error analysis unit 811 analyzes an error based on the count values ERR01_CNT and ERR11_CNT. Specifically, when ERR11_CNT is less than a threshold value (for example, “1”) and ERR01_CNT is larger than ERR11_CNT, the error analysis unit 811 turns on the hold violation warning flag AL_HOLD.

また、ERR01_CNTが閾値以上であり、ERR01_CNTがERR11_CNTよりも大きい場合にエラー解析部811は、ホールド違反エラーフラグERR_HOLDをオン状態にする。ERR01_CNTがERR11_CNT以下である場合にエラー解析部811は、セットアップ違反エラーフラグERR_SETをオン状態にする。   Further, when ERR01_CNT is equal to or greater than the threshold value and ERR01_CNT is larger than ERR11_CNT, the error analysis unit 811 turns on the hold violation error flag ERR_HOLD. When ERR01_CNT is equal to or less than ERR11_CNT, the error analysis unit 811 turns on the setup violation error flag ERR_SET.

図55は、第4の実施の形態における第1の変形例におけるエラーフラグ計数部830の一構成例を示すブロック図である。エラーフラグ計数部830は、ANDゲート831および832と、エラーフラグカウンタ833および834とを備える。   FIG. 55 is a block diagram illustrating a configuration example of the error flag counting unit 830 in the first modification example of the fourth embodiment. The error flag counter 830 includes AND gates 831 and 832 and error flag counters 833 and 834.

ANDゲート831および832は、入力値の論理積を生成するものである。ANDゲート831は、エラーフラグERR1を反転した値とエラーフラグERR2との論理積をエラーフラグカウンタ833に出力する。ANDゲート832は、エラーフラグERR1およびエラーフラグERR2の論理積をエラーフラグカウンタ834に出力する。   The AND gates 831 and 832 generate a logical product of the input values. The AND gate 831 outputs a logical product of a value obtained by inverting the error flag ERR1 and the error flag ERR2 to the error flag counter 833. The AND gate 832 outputs the logical product of the error flag ERR1 and the error flag ERR2 to the error flag counter 834.

エラーフラグカウンタ833は、所定の計測期間内においてエラーフラグERR2の値のみが「1」となった回数を計数するものである。具体的には、エラーフラグカウンタ833は、クロック信号CLKの示すタイミング(例えば、立上りエッジ)においてANDゲート831の出力値が「1」であれば、計数値を増分する。エラーフラグカウンタ833は、計数値をERR01_CNTとしてエラー解析部811に出力する。そして、一定のクロックサイクルが経過したときに計数値を「0」に初期化する。   The error flag counter 833 counts the number of times that only the value of the error flag ERR2 becomes “1” within a predetermined measurement period. Specifically, the error flag counter 833 increments the count value if the output value of the AND gate 831 is “1” at the timing (for example, rising edge) indicated by the clock signal CLK. The error flag counter 833 outputs the count value to the error analysis unit 811 as ERR01_CNT. Then, the count value is initialized to “0” when a certain clock cycle has elapsed.

エラーフラグカウンタ834は、所定の計測期間内においてエラーフラグERR1およびエラーフラグERR2の値がともに「1」となった回数を計数するものである。エラーフラグカウンタ824の構成は、ANDゲート832の出力値を監視する点以外は、エラーフラグカウンタ833の構成と同様である。エラーフラグカウンタ834は、計数値をERR11_CNTとしてエラー解析部811に出力する。   The error flag counter 834 counts the number of times that the values of the error flag ERR1 and the error flag ERR2 are both “1” within a predetermined measurement period. The configuration of the error flag counter 824 is the same as the configuration of the error flag counter 833 except that the output value of the AND gate 832 is monitored. The error flag counter 834 outputs the count value to the error analysis unit 811 as ERR11_CNT.

図56は、第4の実施の形態における第1の変形例におけるエラー解析部811の動作の一例を示す図である。ERR01_CNT=0かつERR_CNT=0である場合を考える。この場合、エラー解析部811は、ホールド違反警告フラグAL_HOLD、ホールド違反エラーフラグERR_HOLDおよびセットアップ違反エラーフラグERR_SETの値を全て「0」にする。   FIG. 56 is a diagram illustrating an example of the operation of the error analysis unit 811 in the first modification example of the fourth embodiment. Consider the case where ERR01_CNT = 0 and ERR_CNT = 0. In this case, the error analysis unit 811 sets all values of the hold violation warning flag AL_HOLD, the hold violation error flag ERR_HOLD, and the setup violation error flag ERR_SET to “0”.

ERR01_CNT>0かつERR11_CNT=0である場合にエラー解析部811は、ホールド違反警告フラグAL_HOLDの値を「1」にする。また、エラー解析部811は、ホールド違反エラーフラグERR_HOLDおよびセットアップ違反エラーフラグERR_SETの値をともに「0」にする。   When ERR01_CNT> 0 and ERR11_CNT = 0, the error analysis unit 811 sets the value of the hold violation warning flag AL_HOLD to “1”. Further, the error analysis unit 811 sets both the hold violation error flag ERR_HOLD and the setup violation error flag ERR_SET to “0”.

ERR01_CNT>ERR11_CNTかつERR11_CNT>0である場合にエラー解析部811は、ホールド違反エラーフラグERR_HOLDの値を「1」にする。また、エラー解析部811は、ホールド違反警告フラグAL_HOLDおよびセットアップ違反エラーフラグERR_SETの値をともに「0」にする。   When ERR01_CNT> ERR11_CNT and ERR11_CNT> 0, the error analysis unit 811 sets the value of the hold violation error flag ERR_HOLD to “1”. The error analysis unit 811 sets both the hold violation warning flag AL_HOLD and the setup violation error flag ERR_SET to “0”.

ERR11_CNT≧ERR01_CNTかつERR01_CNT>0である場合、または、ERR11_CNT>0かつERR01_CNT=0である場合を考える。この場合、エラー解析部811は、セットアップ違反エラーフラグERR_SETの値を「1」にする。また、エラー解析部811は、ホールド違反警告フラグAL_HOLDおよびホールド違反エラーフラグERR_HOLDの値をともに「0」にする。   Consider a case where ERR11_CNT ≧ ERR01_CNT and ERR01_CNT> 0, or a case where ERR11_CNT> 0 and ERR01_CNT = 0. In this case, the error analysis unit 811 sets the value of the setup violation error flag ERR_SET to “1”. Further, the error analysis unit 811 sets both the hold violation warning flag AL_HOLD and the hold violation error flag ERR_HOLD to “0”.

なお、エラー解析部811は、ERR01_CNT≧ERR11_CNTかつERR11_CNT>0である場合にホールド違反を検出してもよい。この場合、ERR11_CNT>ERR01_CNTかつERR11_CNT>0であるときにエラー解析部811はセットアップ違反エラーを検出する。   Note that the error analysis unit 811 may detect a hold violation when ERR01_CNT ≧ ERR11_CNT and ERR11_CNT> 0. In this case, the error analysis unit 811 detects a setup violation error when ERR11_CNT> ERR01_CNT and ERR11_CNT> 0.

図57は、第4の実施の形態における第1の実施の形態におけるエラー検出回路650のトラップウィンドウおよびデータの更新タイミングの一例を示す図である。分布Ds1乃至Ds4は、入力信号D0の更新タイミングの分布の一例である。   FIG. 57 is a diagram showing an example of the trap window and data update timing of the error detection circuit 650 in the first embodiment in the fourth embodiment. Distributions Ds1 to Ds4 are an example of a distribution of update timings of the input signal D0.

分布Ds1は、第1トラップウィンドウ内に全体が含まれないが、一部がエラー警告期間内に含まれる分布である。この分布Ds1においては、ERR01_CNT>0かつERR11_CNT=0となり、ホールド違反警告フラグAL_HOLDが「1」とされる。   The distribution Ds1 is a distribution that is not entirely included in the first trap window but partially included in the error warning period. In this distribution Ds1, ERR01_CNT> 0 and ERR11_CNT = 0, and the hold violation warning flag AL_HOLD is set to “1”.

分布Ds2は、ピークがエラー警告期間内に含まれ、一部が第1トラップウィンドウ内に含まれる分布である。この分布Ds2においては、ERR01_CNT>ERR11_CNTかつERR11_CNT>0となり、ホールド違反エラーフラグERR_HOLDが「1」とされる。   The distribution Ds2 is a distribution in which a peak is included in the error warning period and a part is included in the first trap window. In this distribution Ds2, ERR01_CNT> ERR11_CNT and ERR11_CNT> 0, and the hold violation error flag ERR_HOLD is set to “1”.

分布Ds3は、第1トラップウィンドウにおけるセットアップ時間内にピークが含まれる分布である。この分布Ds3においては、ERR11_CNT≧ERR01_CNTかつERR01_CNT>0となり、セットアップ違反エラーフラグERR_SETが「1」とされる。   The distribution Ds3 is a distribution in which a peak is included within the setup time in the first trap window. In this distribution Ds3, ERR11_CNT ≧ ERR01_CNT and ERR01_CNT> 0, and the setup violation error flag ERR_SET is set to “1”.

分布Ds4は、第1トラップウィンドウおよび第2トラップウィンドウ外にピークが位置し、一部が第1トラップウィンドウに含まれる分布である。この分布Ds4においては、ERR11_CNT>0かつERR01_CNT=0となり、セットアップ違反エラーフラグERR_SETが「1」とされる。   The distribution Ds4 is a distribution in which a peak is located outside the first trap window and the second trap window and a part thereof is included in the first trap window. In this distribution Ds4, ERR11_CNT> 0 and ERR01_CNT = 0, and the setup violation error flag ERR_SET is set to “1”.

このように第1の変形例によれば、エラー解析部811は、ERR01_CNTおよびERR11_CNTに基づいてタイミングエラーの種類を判別する。エラーフラグの統計からエラーを解析するため、エラー解析部811は、エラーフラグの前回値および今回値から解析する第4の実施の形態よりも正確にエラーを解析することができる。   Thus, according to the first modification, the error analysis unit 811 determines the type of timing error based on ERR01_CNT and ERR11_CNT. In order to analyze the error from the error flag statistics, the error analysis unit 811 can analyze the error more accurately than the fourth embodiment that analyzes from the previous value and the current value of the error flag.

[第2の変形例]
図58は、第4の実施の形態における第2の変形例のエラー検出回路650、フリップフロップ510およびクロック分配回路410の一構成例を示す回路図である。この第2の変形例のクロック分配回路410は、遅延部472および479をさらに備える点において第4の実施の形態と異なる。また、第16の変形例においてインバータ471からはクロック信号CKB_PEXがエラー検出回路650および遅延部472に出力される。
[Second Modification]
FIG. 58 is a circuit diagram showing a configuration example of the error detection circuit 650, the flip-flop 510, and the clock distribution circuit 410 according to the second modification example of the fourth embodiment. The clock distribution circuit 410 according to the second modified example is different from the fourth embodiment in that delay units 472 and 479 are further provided. In the sixteenth modification, the inverter 471 outputs the clock signal CKB_PEX to the error detection circuit 650 and the delay unit 472.

遅延部472は、クロック信号CKB_PEXを遅延させるものである。遅延部472は、偶数個のインバータ473を備え、これらのインバータ473でクロック信号CKB_PEXを遅延させてクロック信号CKBとしてフリップフロップ510およびインバータ474に出力する。ここで、インバータ473の個数は、例えば、遅延部472における遅延時間がフリップフロップ510のセットアップ時間より長くなるように定められる。この結果、クロック信号CKB_PEXにおいて、クロック信号CKBの立下りエッジから遅延部472の遅延時間を遡ったタイミングで立下りエッジが生じることになる。   The delay unit 472 delays the clock signal CKB_PEX. The delay unit 472 includes an even number of inverters 473, delays the clock signal CKB_PEX by these inverters 473, and outputs the delayed clock signal CKB to the flip-flop 510 and the inverter 474. Here, the number of inverters 473 is determined such that, for example, the delay time in the delay unit 472 is longer than the setup time of the flip-flop 510. As a result, in the clock signal CKB_PEX, a falling edge occurs at a timing that goes back the delay time of the delay unit 472 from the falling edge of the clock signal CKB.

遅延部479は、遅延クロック信号CKB_EX2をさらに遅延させるものである。遅延部479は、偶数個のインバータ480を備える。遅延部479は、これらのインバータ480で遅延クロック信号CKB_EX2を遅延させて遅延クロック信号CKB_EX3としてエラー検出回路650に出力する。   The delay unit 479 further delays the delayed clock signal CKB_EX2. The delay unit 479 includes an even number of inverters 480. The delay unit 479 delays the delayed clock signal CKB_EX2 by these inverters 480 and outputs the delayed clock signal CKB_EX3 to the error detection circuit 650.

第2の変形例のエラー検出回路650は、ラッチ657、659、670および672とXORゲート658および671とをさらに備える点において第4の実施の形態と異なる。   The error detection circuit 650 of the second modification is different from the fourth embodiment in that it further includes latches 657, 659, 670, and 672 and XOR gates 658 and 671.

ラッチ657、659、670および672の構成はラッチ511と同様である。ただし、ラッチ657は、遅延クロック信号CKB_EX3がオフ状態になった場合に入力信号D0を保持してラッチ出力信号L3として出力する。ラッチ659は、クロック信号CK2がオフ状態になった場合にXORゲート658からのエラー信号を保持してエラーフラグERR3としてエラー補償制御部800に出力する。ラッチ670は、クロック信号CKB_PEXがオフ状態になった場合に入力信号D0を保持してラッチ出力信号L4として出力する。ラッチ672は、クロック信号CK2がオフ状態になった場合にXORゲート671からのエラー信号を保持してエラーフラグERR4としてエラー補償制御部800に出力する。   The configuration of the latches 657, 659, 670 and 672 is the same as that of the latch 511. However, the latch 657 holds the input signal D0 and outputs it as the latch output signal L3 when the delayed clock signal CKB_EX3 is turned off. The latch 659 holds the error signal from the XOR gate 658 and outputs it to the error compensation controller 800 as an error flag ERR3 when the clock signal CK2 is turned off. The latch 670 holds the input signal D0 and outputs it as the latch output signal L4 when the clock signal CKB_PEX is turned off. The latch 672 holds the error signal from the XOR gate 671 and outputs it to the error compensation controller 800 as an error flag ERR4 when the clock signal CK2 is turned off.

XORゲート658および671は、入力信号の排他的論理和を出力するものである。XORゲート658は、ラッチ657および511からのラッチ出力信号L3およびL0の排他的論理和をエラー信号E3としてラッチ659に出力する。XORゲート671は、ラッチ651および670からのラッチ出力信号L1およびL4の排他的論理和をエラー信号E4としてラッチ672に出力する。   The XOR gates 658 and 671 output an exclusive OR of the input signals. XOR gate 658 outputs the exclusive OR of latch output signals L3 and L0 from latches 657 and 511 to latch 659 as error signal E3. XOR gate 671 outputs the exclusive OR of latch output signals L1 and L4 from latches 651 and 670 to latch 672 as error signal E4.

上述の構成により、第2トラップウィンドウの後に遅延部479の遅延時間を加えた期間内に入力信号D0が変化すると、エラー信号E3が検出される。   With the above-described configuration, when the input signal D0 changes within a period obtained by adding the delay time of the delay unit 479 after the second trap window, the error signal E3 is detected.

また、監視開始タイミングから遅延部472の遅延時間を遡ったタイミングを起点として、その起点から第1トラップウィンドウが経過するまでの期間内に力信号D0が変化すると、エラー信号E4が検出される。   Further, when the force signal D0 changes within a period from the start point to the time when the delay time of the delay unit 472 is traced back from the start point, the error signal E4 is detected.

図59は、第4の実施の形態における第2の変形例のエラー検出回路650におけるトラップウィンドウの一例を示す図である。第16の変形例のエラー検出回路650においては、第3トラップウィンドウおよび第4トラップウィンドウが追加される。   FIG. 59 is a diagram illustrating an example of a trap window in the error detection circuit 650 according to the second modification example of the fourth embodiment. In the error detection circuit 650 of the sixteenth modification, a third trap window and a fourth trap window are added.

第3トラップウィンドウは、ラッチ659がエラーフラグERR3を検出する期間である。この期間は、第2のトラップウィンドウの後に遅延部479の遅延時間を加えた期間である。   The third trap window is a period during which the latch 659 detects the error flag ERR3. This period is a period in which the delay time of the delay unit 479 is added after the second trap window.

第4トラップウィンドウは、ラッチ672がエラーフラグERR4を検出する期間である。この期間は、クロック信号CLKの立上りエッジから遅延部472の遅延時間を遡ったタイミングを起点として、その起点から第1トラップウィンドウの終点までの期間である。   The fourth trap window is a period during which the latch 672 detects the error flag ERR4. This period is a period from the start point to the end point of the first trap window, starting from the timing when the delay time of the delay unit 472 is traced back from the rising edge of the clock signal CLK.

これらのエラーフラグを使用してエラー補償制御部800および電源供給部200は、より正確にエラーを解析してエラー補償を行うことができる。   Using these error flags, the error compensation controller 800 and the power supply unit 200 can perform error compensation by analyzing errors more accurately.

例えば、前回にいずれのエラーフラグも「0」であり、今回にエラーフラグERR3のみが「1」であった場合に電源供給部200は、Vacより低い設定値にクロック分配回路駆動電圧vCKを昇圧する。   For example, if any error flag is “0” last time and only the error flag ERR3 is “1” this time, the power supply unit 200 boosts the clock distribution circuit drive voltage vCK to a set value lower than Vac. To do.

また、前回にいずれのエラーフラグも「0」であり、今回にエラーフラグERR4のみが「1」であった場合にエラー補償制御部800は、セットアップ違反の警告を行う。前回にエラーフラグERR4のみが「1」であり、今回にエラーフラグの全てが「1」である場合にエラー補償制御部800は、セットアップ違反エラーを検出する。   Also, if any error flag is “0” last time and only the error flag ERR4 is “1” this time, the error compensation control unit 800 issues a warning of setup violation. When only the error flag ERR4 is “1” last time and all the error flags are “1” this time, the error compensation control unit 800 detects a setup violation error.

なお、エラー検出回路650に、ラッチおよびインバータを追加してトラップウィンドウをさらに追加してもよい。また、第1トラップウィンドウに追加するトラップウィンドウは任意である。例えば、集積回路100は、第1トラップウィンドウに第4トラップウィンドウのみを追加してもよいし、第1トラップウィンドウに第2トラップウィンドウおよび第3トラップウィンドウのみを追加してもよい。   Note that a trap window may be further added to the error detection circuit 650 by adding a latch and an inverter. The trap window added to the first trap window is arbitrary. For example, the integrated circuit 100 may add only the fourth trap window to the first trap window, or may add only the second trap window and the third trap window to the first trap window.

このように第2の変形例によれば、エラー検出回路650がトラップウィンドウを3つ以上備えるため、より正確なエラー解析を行うことができる。   As described above, according to the second modification, the error detection circuit 650 includes three or more trap windows, so that more accurate error analysis can be performed.

なお、上述の第4の実施の形態の集積回路100は、クロック分配回路410に代えて第1の実施の形態のクロック分配部400を備え、最小遅延クロック信号mCLKを同期動作回路500に分配してもよい。これにより、クロックスキューがさらに減少する。同様に、第4の実施の形態の集積回路100は、クロック分配回路410に代えて第2の実施の形態のクロック分配回路制御部700およびクロック分配部400を備え、最小遅延クロック信号mCLKを同期動作回路500に分配してもよい。   The integrated circuit 100 of the fourth embodiment described above includes the clock distribution unit 400 of the first embodiment instead of the clock distribution circuit 410, and distributes the minimum delay clock signal mCLK to the synchronous operation circuit 500. May be. This further reduces clock skew. Similarly, the integrated circuit 100 of the fourth embodiment includes the clock distribution circuit control unit 700 and the clock distribution unit 400 of the second embodiment instead of the clock distribution circuit 410, and synchronizes the minimum delay clock signal mCLK. It may be distributed to the operation circuit 500.

なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。   The above-described embodiment shows an example for embodying the present technology, and the matters in the embodiment and the invention-specific matters in the claims have a corresponding relationship. Similarly, the invention specific matter in the claims and the matter in the embodiment of the present technology having the same name as this have a corresponding relationship. However, the present technology is not limited to the embodiment, and can be embodied by making various modifications to the embodiment without departing from the gist thereof.

また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。   Further, the processing procedure described in the above embodiment may be regarded as a method having a series of these procedures, and a program for causing a computer to execute these series of procedures or a recording medium storing the program. You may catch it. As this recording medium, for example, a CD (Compact Disc), an MD (MiniDisc), a DVD (Digital Versatile Disk), a memory card, a Blu-ray Disc (registered trademark), or the like can be used.

なお、本技術は以下のような構成もとることができる。
(1)所定のタイミングを指示するタイミング信号を複数の主タイミング信号に分岐して分配する主タイミング信号分配回路と、
前記タイミング信号の分配が指示された場合には前記タイミング信号を複数の副タイミング信号に分岐して分配する副タイミング信号分配回路と、
前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとのうち先に分配された信号を最小遅延タイミング信号として出力する最小遅延タイミング信号出力部と、
前記最小遅延タイミング信号に同期して動作する同期動作回路と、
前記複数の主タイミング信号のいずれかの遅延のばらつきを示す値を測定する測定部と、
前記測定された値の示す前記ばらつきが前記所定値以上であるときに前記副タイミング信号分配回路に前記タイミング信号の分配を指示するタイミング信号分配回路制御部と
を具備する集積回路。
(2)前記最小遅延タイミング信号出力部は、複数のタイミング信号生成部を備え、
前記複数のタイミング信号生成部のそれぞれは、主入力端子および副入力端子を備え、前記主入力端子および前記副入力端子に入力された信号から前記最小遅延タイミング信号を生成して出力し、
前記主タイミング信号分配回路は、前記複数のタイミング信号生成部のそれぞれの前記主入力端子に互いに異なる前記複数の主タイミング信号を分配し、
前記副タイミング信号分配回路は、前記タイミング信号の分配の指示に従って前記複数のタイミング信号生成部のそれぞれの前記副入力端子に互いに異なる前記複数の副タイミング信号を分配し、
前記測定部は、前記複数の主タイミング信号のそれぞれについて前記ばらつきを示す値を測定し、
前記タイミング信号分配回路制御部は、前記ばらつきが前記所定値以上になっている前記主タイミング信号が分配されている前記タイミング信号生成部の前記副入力端子に対して前記副タイミング信号の分配を指示する
前記(1)記載の集積回路。
(3)前記主タイミング信号分配回路および前記副タイミング信号分配回路は、前記複数のタイミング信号生成部のいずれかに対して同一の段数のバッファを介して前記主タイミング信号および前記副タイミング信号を分配する
前記(2)記載の集積回路。
(4)前記測定部は、前記主タイミング信号分配回路に供給される電圧が所定電圧以下になった場合には前記ばらつきを示す値の測定を行う
前記(1)乃至(3)のいずれかに記載の集積回路。
(5)前記測定部は、
前記同期動作回路におけるタイミングエラーを検出するエラー検出部と、
前記ばらつきを示す値として前記タイミングエラーの検出頻度を測定するエラー検出頻度測定部と
を備える前記(1)乃至(4)のいずれか記載の集積回路。
(6)前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理和を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、前記最小遅延タイミング信号の立上りエッジに同期して動作する
前記(1)乃至(5)のいずれかに記載の集積回路。
(7)前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理和を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、
前記最小遅延タイミング信号を反転して出力するインバータと、
前記反転された最小遅延タイミング信号の立上りエッジに同期して動作するフリップフロップと
を備える前記(1)乃至(5)のいずれかに記載の集積回路。
(8)前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理積を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、前記最小遅延タイミング信号の立下りエッジに同期して動作する
前記(1)乃至(5)のいずれかに記載の集積回路。
(9)前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理積を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、
前記最小遅延タイミング信号を反転して出力するインバータと、
前記反転された最小遅延タイミング信号の立下りエッジに同期して動作するフリップフロップと
を備える前記(1)乃至(5)のいずれかに記載の集積回路。
(10)前記同期動作回路は、
前記最小遅延タイミング信号を格子状に配置された複数の領域に分配するメッシュ配線と、
前記複数の領域のいずれかに分配された前記最小遅延タイミング信号に同期して動作するフリップフロップと
を備える前記(1)乃至(9)のいずれかに記載の集積回路。
(11)前記タイミング信号はクロック信号であり、
前記主タイミング信号分配回路は、所定の段数の第1のバッファを介して前記タイミング信号を前記複数の主タイミング信号に分岐するクロック木であり、
前記副タイミング信号分配回路は、所定の段数の第2のバッファを介して前記タイミング信号を前記複数の副タイミング信号に分岐するクロック木である
前記(1)乃至(10)のいずれかに記載の集積回路。
In addition, this technique can also take the following structures.
(1) a main timing signal distribution circuit for branching and distributing a timing signal instructing a predetermined timing into a plurality of main timing signals;
A sub-timing signal distribution circuit for branching and distributing the timing signal into a plurality of sub-timing signals when distribution of the timing signal is instructed;
A minimum delay timing signal output unit that outputs a signal previously distributed as one of the plurality of main timing signals and one of the plurality of sub timing signals as a minimum delay timing signal;
A synchronous operation circuit that operates in synchronization with the minimum delay timing signal;
A measurement unit that measures a value indicating variation in delay of any of the plurality of main timing signals;
An integrated circuit comprising: a timing signal distribution circuit controller that instructs the sub-timing signal distribution circuit to distribute the timing signal when the variation indicated by the measured value is equal to or greater than the predetermined value.
(2) The minimum delay timing signal output unit includes a plurality of timing signal generation units,
Each of the plurality of timing signal generation units includes a main input terminal and a sub input terminal, generates and outputs the minimum delay timing signal from signals input to the main input terminal and the sub input terminal,
The main timing signal distribution circuit distributes the plurality of main timing signals different from each other to the main input terminals of the plurality of timing signal generation units,
The sub-timing signal distribution circuit distributes the plurality of sub-timing signals different from each other to the sub-input terminals of the plurality of timing signal generators according to the timing signal distribution instruction,
The measurement unit measures a value indicating the variation for each of the plurality of main timing signals;
The timing signal distribution circuit control unit instructs distribution of the sub-timing signal to the sub-input terminal of the timing signal generation unit to which the main timing signal whose variation is equal to or greater than the predetermined value is distributed. The integrated circuit according to (1).
(3) The main timing signal distribution circuit and the sub timing signal distribution circuit distribute the main timing signal and the sub timing signal to any one of the plurality of timing signal generation units via a buffer having the same number of stages. The integrated circuit according to (2).
(4) In any one of (1) to (3), the measurement unit measures a value indicating the variation when a voltage supplied to the main timing signal distribution circuit is equal to or lower than a predetermined voltage. An integrated circuit as described.
(5) The measurement unit includes:
An error detector for detecting a timing error in the synchronous operation circuit;
The integrated circuit according to any one of (1) to (4), further including an error detection frequency measurement unit that measures the detection frequency of the timing error as a value indicating the variation.
(6) The minimum delay timing signal output unit outputs a logical sum of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The integrated circuit according to any one of (1) to (5), wherein the synchronous operation circuit operates in synchronization with a rising edge of the minimum delay timing signal.
(7) The minimum delay timing signal output unit outputs a logical sum of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The synchronous operation circuit includes:
An inverter that inverts and outputs the minimum delay timing signal;
The integrated circuit according to any one of (1) to (5), further comprising a flip-flop that operates in synchronization with a rising edge of the inverted minimum delay timing signal.
(8) The minimum delay timing signal output unit outputs a logical product of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The integrated circuit according to any one of (1) to (5), wherein the synchronous operation circuit operates in synchronization with a falling edge of the minimum delay timing signal.
(9) The minimum delay timing signal output unit outputs a logical product of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The synchronous operation circuit includes:
An inverter that inverts and outputs the minimum delay timing signal;
The integrated circuit according to any one of (1) to (5), further including a flip-flop that operates in synchronization with a falling edge of the inverted minimum delay timing signal.
(10) The synchronous operation circuit includes:
Mesh wiring for distributing the minimum delay timing signal to a plurality of regions arranged in a grid pattern; and
The integrated circuit according to any one of (1) to (9), further comprising a flip-flop that operates in synchronization with the minimum delay timing signal distributed to any of the plurality of regions.
(11) The timing signal is a clock signal;
The main timing signal distribution circuit is a clock tree that branches the timing signal into the plurality of main timing signals via a predetermined number of first buffers.
The sub timing signal distribution circuit according to any one of (1) to (10), wherein the sub timing signal distribution circuit is a clock tree that branches the timing signal into the plurality of sub timing signals via a predetermined number of second buffers. Integrated circuit.

100 集積回路
200 電源供給部
210 クロック分配回路駆動電圧制御部
211 クロック分配回路駆動電圧制御回路
212、222 電圧制御レジスタ
213、510、520、560、570 フリップフロップ
214、224 可変抵抗器
215 pMOSトランジスタ
220 論理回路駆動電圧制御部
221 論理回路駆動電圧制御回路
300 クロック生成部
400 クロック分配部
410、420 クロック分配回路
411、421、442、444、446、452、454、456 バッファ
430、461、462 OR(論理和)ゲート
431、463、464 NOR(否定論理和)ゲート
432、465、466、831、832 AND(論理積)ゲート
433、467、468 NAND(否定論理積)ゲート
440 主クロック分配回路
441、443、445、451、453、455 PLL
450 副クロック分配回路
472、475、477、612、622 遅延部
500 同期動作回路
511、512、614、616、624、626、651、653、654、656、657、659、670、672 ラッチ
471、473、474、476、478、530、540、611、613、621、623 インバータ
550 メッシュ配線
580 組合せ論理回路
600 エラー測定部
610、620、650 エラー検出回路
615、625、652、655、658、671 XOR(排他的論理和)ゲート
630、631、640 エラー数カウンタ
700 クロック分配回路制御部
710 主クロック分配回路制御部
720 副クロック分配回路制御部
800 エラー補償制御部
810、811 エラー解析部
820 エラーフラグ前回値保持部
830 エラーフラグ計数部
833、834 エラーフラグカウンタ
DESCRIPTION OF SYMBOLS 100 Integrated circuit 200 Power supply part 210 Clock distribution circuit drive voltage control part 211 Clock distribution circuit drive voltage control circuit 212, 222 Voltage control register 213, 510, 520, 560, 570 Flip-flop 214, 224 Variable resistor 215 pMOS transistor 220 Logic circuit drive voltage control unit 221 Logic circuit drive voltage control circuit 300 Clock generation unit 400 Clock distribution unit 410, 420 Clock distribution circuit 411, 421, 442, 444, 446, 452, 454, 456 Buffers 430, 461, 462 OR ( OR gate) 431, 463, 464 NOR (negative OR) gate 432, 465, 466, 831, 832 AND (logical product) gate 433, 467, 468 NAND (negative logical product) gate 440 Main clock distribution circuit 441, 443, 445, 451, 453, 455 PLL
450 Sub clock distribution circuit 472, 475, 477, 612, 622 Delay unit 500 Synchronous operation circuit 511, 512, 614, 616, 624, 626, 651, 653, 654, 656, 657, 659, 670, 672 Latch 471, 473, 474, 476, 478, 530, 540, 611, 613, 621, 623 Inverter 550 Mesh wiring 580 Combinational logic circuit 600 Error measurement unit 610, 620, 650 Error detection circuit 615, 625, 652, 655, 658, 671 XOR (exclusive OR) gate 630, 631, 640 Error number counter 700 Clock distribution circuit control unit 710 Main clock distribution circuit control unit 720 Sub clock distribution circuit control unit 800 Error compensation control unit 810, 811 Error analysis unit 820 Error flag previous value holding unit 830 the error flag counting section 833, 834 the error flag counter

Claims (11)

所定のタイミングを指示するタイミング信号を複数の主タイミング信号に分岐して分配する主タイミング信号分配回路と、
前記タイミング信号の分配が指示された場合には前記タイミング信号を複数の副タイミング信号に分岐して分配する副タイミング信号分配回路と、
前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとのうち先に分配された信号を最小遅延タイミング信号として出力する最小遅延タイミング信号出力部と、
前記最小遅延タイミング信号に同期して動作する同期動作回路と、
前記複数の主タイミング信号のいずれかの遅延のばらつきを示す値を測定する測定部と、
前記測定された値の示す前記ばらつきが前記所定値以上であるときに前記副タイミング信号分配回路に前記タイミング信号の分配を指示するタイミング信号分配回路制御部と
を具備する集積回路。
A main timing signal distribution circuit that divides and distributes a timing signal indicating a predetermined timing into a plurality of main timing signals;
A sub-timing signal distribution circuit for branching and distributing the timing signal into a plurality of sub-timing signals when distribution of the timing signal is instructed;
A minimum delay timing signal output unit that outputs a signal previously distributed as one of the plurality of main timing signals and one of the plurality of sub timing signals as a minimum delay timing signal;
A synchronous operation circuit that operates in synchronization with the minimum delay timing signal;
A measurement unit that measures a value indicating variation in delay of any of the plurality of main timing signals;
An integrated circuit comprising: a timing signal distribution circuit controller that instructs the sub-timing signal distribution circuit to distribute the timing signal when the variation indicated by the measured value is equal to or greater than the predetermined value.
前記最小遅延タイミング信号出力部は、複数のタイミング信号生成部を備え、
前記複数のタイミング信号生成部のそれぞれは、主入力端子および副入力端子を備え、前記主入力端子および前記副入力端子に入力された信号から前記最小遅延タイミング信号を生成して出力し、
前記主タイミング信号分配回路は、前記複数のタイミング信号生成部のそれぞれの前記主入力端子に互いに異なる前記複数の主タイミング信号を分配し、
前記副タイミング信号分配回路は、前記タイミング信号の分配の指示に従って前記複数のタイミング信号生成部のそれぞれの前記副入力端子に互いに異なる前記複数の副タイミング信号を分配し、
前記測定部は、前記複数の主タイミング信号のそれぞれについて前記ばらつきを示す値を測定し、
前記タイミング信号分配回路制御部は、前記ばらつきが前記所定値以上になっている前記主タイミング信号が分配されている前記タイミング信号生成部の前記副入力端子に対して前記副タイミング信号の分配を指示する
請求項1記載の集積回路。
The minimum delay timing signal output unit includes a plurality of timing signal generation units,
Each of the plurality of timing signal generation units includes a main input terminal and a sub input terminal, generates and outputs the minimum delay timing signal from signals input to the main input terminal and the sub input terminal,
The main timing signal distribution circuit distributes the plurality of main timing signals different from each other to the main input terminals of the plurality of timing signal generation units,
The sub-timing signal distribution circuit distributes the plurality of sub-timing signals different from each other to the sub-input terminals of the plurality of timing signal generators according to the timing signal distribution instruction,
The measurement unit measures a value indicating the variation for each of the plurality of main timing signals;
The timing signal distribution circuit control unit instructs distribution of the sub-timing signal to the sub-input terminal of the timing signal generation unit to which the main timing signal whose variation is equal to or greater than the predetermined value is distributed. The integrated circuit according to claim 1.
前記主タイミング信号分配回路および前記副タイミング信号分配回路は、前記複数のタイミング信号生成部のいずれかに対して同一の段数のバッファを介して前記主タイミング信号および前記副タイミング信号を分配する
請求項2記載の集積回路。
The main timing signal distribution circuit and the sub timing signal distribution circuit distribute the main timing signal and the sub timing signal to any one of the plurality of timing signal generation units via buffers having the same number of stages. 2. The integrated circuit according to 2.
前記測定部は、前記主タイミング信号分配回路に供給される電圧が所定電圧以下になった場合には前記ばらつきを示す値の測定を行う
請求項1記載の集積回路。
The integrated circuit according to claim 1, wherein the measurement unit measures a value indicating the variation when a voltage supplied to the main timing signal distribution circuit becomes a predetermined voltage or less.
前記測定部は、
前記同期動作回路におけるタイミングエラーを検出するエラー検出部と、
前記ばらつきを示す値として前記タイミングエラーの検出頻度を測定するエラー検出頻度測定部と
を備える請求項1記載の集積回路。
The measuring unit is
An error detector for detecting a timing error in the synchronous operation circuit;
The integrated circuit according to claim 1, further comprising: an error detection frequency measuring unit that measures the detection frequency of the timing error as a value indicating the variation.
前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理和を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、前記最小遅延タイミング信号の立上りエッジに同期して動作する
請求項1記載の集積回路。
The minimum delay timing signal output unit outputs a logical sum of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The integrated circuit according to claim 1, wherein the synchronous operation circuit operates in synchronization with a rising edge of the minimum delay timing signal.
前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理和を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、
前記最小遅延タイミング信号を反転して出力するインバータと、
前記反転された最小遅延タイミング信号の立上りエッジに同期して動作するフリップフロップと
を備える請求項1記載の集積回路。
The minimum delay timing signal output unit outputs a logical sum of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The synchronous operation circuit includes:
An inverter that inverts and outputs the minimum delay timing signal;
The integrated circuit according to claim 1, further comprising a flip-flop that operates in synchronization with a rising edge of the inverted minimum delay timing signal.
前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理積を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、前記最小遅延タイミング信号の立下りエッジに同期して動作する
請求項1記載の集積回路。
The minimum delay timing signal output unit outputs a logical product of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The integrated circuit according to claim 1, wherein the synchronous operation circuit operates in synchronization with a falling edge of the minimum delay timing signal.
前記最小遅延タイミング信号出力部は、前記複数の主タイミング信号のいずれかと前記複数の副タイミング信号のいずれかとの論理積を前記最小遅延タイミング信号として出力し、
前記同期動作回路は、
前記最小遅延タイミング信号を反転して出力するインバータと、
前記反転された最小遅延タイミング信号の立下りエッジに同期して動作するフリップフロップと
を備える請求項1記載の集積回路。
The minimum delay timing signal output unit outputs a logical product of any of the plurality of main timing signals and any of the plurality of sub timing signals as the minimum delay timing signal,
The synchronous operation circuit includes:
An inverter that inverts and outputs the minimum delay timing signal;
The integrated circuit according to claim 1, further comprising a flip-flop that operates in synchronization with a falling edge of the inverted minimum delay timing signal.
前記同期動作回路は、
前記最小遅延タイミング信号を格子状に配置された複数の領域に分配するメッシュ配線と、
前記複数の領域のいずれかに分配された前記最小遅延タイミング信号に同期して動作するフリップフロップと
を備える請求項1記載の集積回路。
The synchronous operation circuit includes:
Mesh wiring for distributing the minimum delay timing signal to a plurality of regions arranged in a grid pattern; and
The integrated circuit according to claim 1, further comprising a flip-flop that operates in synchronization with the minimum delay timing signal distributed to any of the plurality of regions.
前記タイミング信号はクロック信号であり、
前記主タイミング信号分配回路は、所定の段数の第1のバッファを介して前記タイミング信号を前記複数の主タイミング信号に分岐するクロック木であり、
前記副タイミング信号分配回路は、所定の段数の第2のバッファを介して前記タイミング信号を前記複数の副タイミング信号に分岐するクロック木である
請求項1記載の集積回路。
The timing signal is a clock signal;
The main timing signal distribution circuit is a clock tree that branches the timing signal into the plurality of main timing signals via a predetermined number of first buffers.
2. The integrated circuit according to claim 1, wherein the sub-timing signal distribution circuit is a clock tree that branches the timing signal into the plurality of sub-timing signals via a predetermined number of second buffers.
JP2011197940A 2011-09-12 2011-09-12 Integrated circuit Abandoned JP2013062568A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011197940A JP2013062568A (en) 2011-09-12 2011-09-12 Integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011197940A JP2013062568A (en) 2011-09-12 2011-09-12 Integrated circuit

Publications (1)

Publication Number Publication Date
JP2013062568A true JP2013062568A (en) 2013-04-04

Family

ID=48186902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011197940A Abandoned JP2013062568A (en) 2011-09-12 2011-09-12 Integrated circuit

Country Status (1)

Country Link
JP (1) JP2013062568A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017112402A (en) * 2015-12-14 2017-06-22 日本電信電話株式会社 Digital circuit for controlling analog circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017112402A (en) * 2015-12-14 2017-06-22 日本電信電話株式会社 Digital circuit for controlling analog circuit

Similar Documents

Publication Publication Date Title
US7617409B2 (en) System for checking clock-signal correspondence
US8255748B2 (en) Soft error and transient error detection device and methods therefor
US9864824B2 (en) System and method for efficient statistical timing analysis of cycle time independent tests
JP5724775B2 (en) Integrated circuit
US9417655B2 (en) Frequency division clock alignment
TW201937856A (en) Method and arrangement for protecting a digital circuit against time errors
KR20090016090A (en) Apparatus and method for adaptive time borrowing technique in pipeline system
JP2008042367A (en) Semiconductor device
US9203415B2 (en) Modulated clock synchronizer
US9568548B1 (en) Measurement of signal delays in microprocessor integrated circuits with sub-picosecond accuracy using frequency stepping
KR20160104614A (en) Preventing timing violations
JP2013062572A (en) Integrated circuit and method of controlling integrated circuit
Low et al. Variation tolerant AFPGA architecture
JP2013062568A (en) Integrated circuit
JP2013062567A (en) Integrated circuit
Tadros et al. A low-power low-area error-detecting latch for resilient architectures in 28-nm FDSOI
EP3361637A1 (en) A method, and a synchronous digital circuit, for preventing propagation of set-up timing data errors
US9960771B2 (en) Hum generation using representative circuitry
Belohoubek et al. Novel c-element based error detection and correction method combining time and area redundancy
Shan et al. A low-overhead timing monitoring technique for variation-tolerant near-threshold digital integrated circuits
US8552765B2 (en) Adaptive multi-stage slack borrowing for high performance error resilient computing
Chong Product Level MTBF Calculation
JP6342168B2 (en) Master-slave type flip-flop device
CN108512533A (en) Semiconductor devices
Nemati et al. Asynchronous test hardware for null convention logic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140826

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20150401