(57)【要約】【課題】動作速度を向上出来る半導体集積回路装置及びデューティ制御方法を提供すること。【解決手段】第１クロックＣＬＫ１に同期して動作し、該第１クロックＣＬＫ１が“Ｈ”レベルでアクティブとなる第１クリティカルパス１２と、“Ｌ”レベルでアクティブとなる第２クリティカルパス１３とを含むプロセッサコア２と、第２クロックＣＬＫ２のデューティを制御して前記第１クロックＣＬＫ１を生成する第１クロック生成部３と、前記第１クロックＣＬＫ１と、前記第１クリティカルパス１２で生じる遅延時間Δｔｄ１だけ遅れた第３クロックＣＬＫ３との第１位相差ＵＰと、前記第１クロックＣＬＫ１と、前記第２クリティカルパス１３で生じる遅延時間Δｔｄ２だけ遅れた第４クロックＣＬＫ４との第２位相差ＤＮとが最小となるように前記デューティを制御するよう、前記第１クロック生成部３に命令する制御部４とを具備する。【選択図】図１
2008294657.tif 000002
【特許請求の範囲】
【請求項１】
第１クロックに同期して動作し、該第１クロックが“Ｈ”レベルとなる期間でアクティブとなる第１クリティカルパスと、“Ｌ”レベルとなる期間でアクティブとなる第２クリティカルパスとを含むプロセッサコアと、
外部から入力された第２クロックのデューティを制御して、前記第１クロックを生成する第１クロック生成部と、
前記第１クロックと、前記第１クロックが前記第１クリティカルパスで生じる遅延時間だけ遅れて得られる第３クロックとの第１位相差と、前記第１クロックと、前記第１クロックが前記第２クリティカルパスで生じる遅延時間だけ遅れて得られる第４クロックとの第２位相差とを検出し、前記第１位相差と前記第２位相差との差分が最小となるように前記デューティを制御するよう、前記第１クロック生成部に命令する制御部と
を具備することを特徴とする半導体集積回路装置。
【請求項２】
前記制御部は、前記第３クロックの立ち上がりタイミングから、前記第１クロックの反転信号の立ち上がりタイミングまでの期間に相当する第１パルスを発生する第１位相差検出部と、
前記第４クロックの立ち上がりタイミングから、前記第１クロックの立ち上がりタイミングまでの期間に相当する第２パルスを発生する第２位相差検出部と、
前記第１パルスのパルス幅と、前記第２パルスのパルス幅との差を電圧に変換する変換部と
を備え、前記制御部は、前記変換部によって得られた前記電圧に従って、前記デューティを制御する
ことを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
前記第１、第２クリティカルパスのレプリカ回路を更に備え、
前記制御部は、前記レプリカ回路で生成された前記第３、第４クロックを用いて、前記第１、第２位相差を検出する
ことを特徴とする請求項１記載の半導体集積回路装置。
【請求項４】
第１クロックに同期して動作し、該第１クロックが“Ｈ”レベルとなる期間でアクティブとなる第１クリティカルパスと、“Ｌ”レベルとなる期間でアクティブとなる第２クリティカルパスとを含むプロセッサコアと、
外部から入力された第２クロックのデューティを制御して、前記第１クロックを生成する第１クロック生成部と、
前記第１クロックの立ち上がりから、前記第１クリティカルパスで生じる遅延時間よりも大きな遅延時間だけ遅れたタイミングを示す第３クロックを生成する第３クロック生成部と、
前記第１クロックの立ち下がりから、前記第２クリティカルパスで生じる遅延時間よりも大きな遅延時間だけ遅れたタイミングを示す第４クロックを生成する第４クロック生成部と、
前記第１クロックと第３クロックとの位相差と、前記第１クロックと前記第４クロックとの位相差を検出し、いずれか一方の前記位相差が最小となるように前記デューティを制御するよう、前記第１クロック生成部に命令する制御部と
を具備することを特徴とする半導体集積回路装置。
【請求項５】
プロセッサコアを動作させる第１クロックのデューティ制御方法であって、
外部から入力された第２クロックに基づいて前記第１クロックを生成するステップと、
前記第１クロックを、前記プロセッサコアにおいて前記第１クロックが“Ｈ”レベルとなる期間でアクティブとなる第１クリティカルパスで生じる遅延時間だけ遅らせた第３クロックを生成するステップと、
前記第１クロックを、前記プロセッサコアにおいて前記第１クロックが“Ｌ”レベルとなる期間でアクティブとなる第２クリティカルパスで生じる遅延時間だけ遅らせた第４クロックを発生するステップと、
前記第１クロックと前記第３クロックとの第１位相差を検出するステップと、
前記第１クロックと前記第４クロックとの第２位相差を検出するステップと、
前記第１位相差と前記第２位相差との差分が最小となるように、前記第１クロックのデューティを制御するステップと
を具備することを特徴とするデューティ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路装置及びデューティ制御方法に関する。例えば、クロックが“Ｈ”レベルとなる期間にアクティブとなるクリティカルパスと、“Ｌ”となる期間にアクティブとなるクリティカルパスとを含むプロセッサコアにおける、クロックのデューティ制御方法に関する。
【背景技術】
【０００２】
近年の半導体集積回路（ＬＳＩ）の動作の高速化には目覚ましいものがある。この動作の高速化のために、クロックの立ち上がりエッジと立ち下がりエッジの両エッジに同期して動作するプロセッサが、広く用いられている。
【０００３】
上記のようなプロセッサを使用したＬＳＩにおいては、クロックのデューティが、ＬＳＩの動作、特性、歩留まり等に大きく影響を与える。従って、デューティを適切に調整することが重要であり、そのために種々の提案がなされている（例えば特許文献１、２参照）。
【０００４】
しかしながら、上記従来の手法は、デューティを適切に調整するという点において十分では無かった。そのため、高周波数で動作するＬＳＩの動作速度を更に向上させることが困難であった。
【特許文献１】特開２００５−１５９６１３号公報
【特許文献２】特開２００４−０８８４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明は、動作速度を向上出来る半導体集積回路装置及びデューティ制御方法を提供する。
【課題を解決するための手段】
【０００６】
この発明の一態様に係る半導体集積回路装置は、第１クロックに同期して動作し、該第１クロックが“Ｈ”レベルとなる期間でアクティブとなる第１クリティカルパスと、“Ｌ”レベルとなる期間でアクティブとなる第２クリティカルパスとを含むプロセッサコアと、外部から入力された第２クロックのデューティを制御して、前記第１クロックを生成する第１クロック生成部と、前記第１クロックと、前記第１クロックが前記第１クリティカルパスで生じる遅延時間だけ遅れて得られる第３クロックとの第１位相差と、前記第１クロックと、前記第１クロックが前記第２クリティカルパスで生じる遅延時間だけ遅れて得られる第４クロックとの第２位相差とを検出し、前記第１位相差と前記第２位相差との差分が最小となるように前記デューティを制御するよう、前記第１クロック生成部に命令する制御部とを具備する。
【０００７】
この発明の一態様に係るデューティ制御方法は、プロセッサコアを動作させる第１クロックのデューティ制御方法であって、外部から入力された第２クロックに基づいて前記第１クロックを生成するステップと、前記第１クロックを、前記プロセッサコアにおいて前記第１クロックが“Ｈ”レベルとなる期間でアクティブとなる第１クリティカルパスで生じる遅延時間だけ遅らせた第３クロックを生成するステップと、前記第１クロックを、前記プロセッサコアにおいて前記第１クロックが“Ｌ”レベルとなる期間でアクティブとなる第２クリティカルパスで生じる遅延時間だけ遅らせた第４クロックを発生するステップと、前記第１クロックと前記第３クロックとの第１位相差を検出するステップと、前記第１クロックと前記第４クロックとの第２位相差を検出するステップと、前記第１位相差と前記第２位相差との差分が最小となるように、前記第１クロックのデューティを制御するステップとを具備する。
【発明の効果】
【０００８】
本発明によれば、動作速度を向上出来る半導体集積回路装置及びデューティ制御方法を提供出来る。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１０】
［第１の実施形態］  
この発明の第１の実施形態に係る半導体集積回路装置及びデューティ制御方法について、図１を用いて説明する。図１は、本実施形態に係るＬＳＩのブロック図である。
【００１１】
図示するようにＬＳＩ１は、プロセッサコア２、デューティ調整器３、及び制御部４を備えている。
【００１２】
プロセッサコア２は、デューティ調整器３で発生される第１クロックＣＬＫ１に同期して動作する。プロセッサコア２は、フリップフロップ１０や組み合わせ回路１１を含む複数の論理回路を備えている。これらの論理回路には、第１クロックＣＬＫ１が“Ｈ”レベルである期間にアクティブとなるもの、すなわち第１クロックＣＬＫ１の立ち上がりタイミングに同期して動作するものと、第１クロックＣＬＫ１が“Ｌ”である期間にアクティブとなるもの、すなわち第１クロックＣＬＫ１の立ち下がりタイミングに同期して動作するものとが含まれる。そして、それぞれの動作を行う論理回路につき、クリティカルパスが存在する。クリティカルパスとは、信号の伝播に最も時間のかかるパス（経路）のことであり、クリティカルパスによってプロセッサコア２の動作速度が律速される。以下、第１クロックＣＬＫ１が“Ｈ”レベルとなる期間にアクティブとなるパスについてのクリティカルパスを第１クリティカルパス１２と呼ぶ。また、第１クロックＣＬＫ１が“Ｌ”レベルとなる期間にアクティブとなるパスについてのクリティカルパスを第２クリティカルパス１３と呼ぶ。
【００１３】
また、第１、第２クリティカルパス１２、１３は、それぞれ所定の遅延時間Δｔｄ１、Δｔｄ２を有する。すなわち、第１クロックＣＬＫ１は第１クリティカルパス１２を通過することでΔｔｄ１だけ遅延し、第２クリティカルパス１３を通過することでΔｔｄ２だけ遅延する。以下、第１、第２クリティカルパス１２、１３によって遅延された第１クロックＣＬＫ１を、それぞれ第３クロックＣＬＫ３及び第４クロックＣＬＫ４と呼ぶ。
【００１４】
デューティ調整器３は、外部から与えられる第２クロックＣＬＫ２のデューティ（duty）を調整し、これを第１クロックＣＬＫ１としてプロセッサコア２へ供給する。デューティとは、クロックの１サイクルにおける“Ｈ”レベルの期間の割合のことである。デューティ調整器３は、制御部４から与えられる制御信号ＣＮＴに応じて、第２クロックＣＬＫ２のデューティを制御する。なお、本実施形態におけるデューティ調整器３は、第２クロックＣＬＫ２の立ち下がりタイミングを調整することでデューティを制御する。
【００１５】
制御部４は、インバータ２０、第１位相比較部２１、第２位相比較部２２、チャージポンプ回路２３、及びローパスフィルタ２４を備えている。インバータ２０は、デューティ調整器２が発生する第１クロックＣＬＫ１を反転させる。以下、説明の簡単化のためにインバータ２０の出力を第１クロック／ＣＬＫ１と呼ぶ。
【００１６】
第１位相比較部２１は、第１クロック／ＣＬＫ１と、プロセッサコア２から出力される第３クロックＣＬＫ３との位相差を検出し、検出された位相差に応じて第１位相差信号ＵＰを出力する。より具体的には、第１位相比較部２１は、例えば第１クロック／ＣＬＫ１の立ち上がりタイミングと、第３クロックＣＬＫ３の立ち上がりタイミングとの位相差を検出する。
【００１７】
第２位相比較部２２は、第１クロックＣＬＫ１と、プロセッサコア２から出力される第４クロックＣＬＫ４との位相差を検出し、検出された位相差に応じて第２位相差信号ＤＮを出力する。より具体的には、第２位相比較部２２は、例えば第１クロックＣＬＫ１の立ち上がりタイミングと、第４クロックＣＬＫ４の立ち上がりタイミングとの位相差を検出する。
【００１８】
チャージポンプ回路２３は、第１、第２位相比較部２１、２２から出力される第１、第２位相差信号ＵＰ、ＤＮに応じた電圧を発生する。そしてこの電圧がローパスフィルタ２４を介して、制御信号ＣＮＴとしてデューティ調整器２へ与えられる。換言すれば、チャージポンプ回路２３及びローパスフィルタ２４は、第１クロックＣＬＫ１と、第３クロックＣＬＫ３及び第４クロックＣＬＫ４との位相差を電圧に変換する。そして、この電圧によってデューティ調整器２におけるデューティの調整具合が制御される。
【００１９】
次に、図２を用いて第１クロックＣＬＫ１、／ＣＬＫ１、第３クロックＣＬＫ３、第４クロックＣＬＫ４、第１位相差信号ＵＰ、及び第２位相差信号ＤＮの詳細と、デューティ調整器２におけるデューティの調整方法について説明する。図２は、上記各種信号のタイミングチャートである。
【００２０】
図示するように、第１クロックＣＬＫ１は時刻ｔ１で立ち上がり、時刻ｔ３で立ち下がり、時刻ｔ５で再び立ち上がるものとする。つまり１サイクルの期間は時刻ｔ１〜ｔ５の長さである。そして、第１クロックＣＬＫ１が“Ｈ”レベルとなる期間の長さΔｔ＿Ｈが、デューティ調整器２によって調整される。
【００２１】
第３クロックＣＬＫ３は、クロックＣＬＫ１の立ち上がりタイミング（時刻ｔ１）からΔｔｄ１だけ遅れて立ち上がる信号である。例えば第３クロックＣＬＫ３は、時刻ｔ２で立ち上がる。
【００２２】
第４クロックＣＬＫ４は、クロックＣＬＫ１の立ち下がりタイミング（時刻ｔ３）からΔｔ２だけ遅れて立ち上がる信号である。例えば第４クロックＣＬＫ４は、時刻ｔ４で立ち上がる。
【００２３】
第１位相差信号ＵＰは、第３クロックＣＬＫ３の立ち上がりタイミング（時刻ｔ２）から、第１クロックＣＬＫ１の立ち下がりタイミング、すなわち第１クロック／ＣＬＫ１の立ち上がりタイミング（時刻ｔ３）までの期間に“Ｈ”レベルとなる信号である。この期間を、以下Δｔ＿ＵＰと呼ぶ。
【００２４】
第２位相差信号ＤＮは、第４クロックＣＬＫ４の立ち上がりタイミング（時刻ｔ４）から、第１クロックＣＬＫ１の立ち上がりタイミング（時刻ｔ５）までの期間に“Ｈ”レベルとなる信号である。この期間を、以下Δｔ＿ＤＮと呼ぶ。
【００２５】
デューティ調整器２は、Δｔ＿ＵＰとΔｔ＿ＤＮとの差が最小値、好ましくは等しくなるように、クロックＣＬＫ１のΔｔ＿Ｈ、すなわちデューティを調整する。すなわち、Δｔ＿ＵＰ＜Δｔ＿ＤＮの場合には、Δｔ＿Ｈを大きくする（デューティを大きくする）。逆にΔｔ＿ＵＰ＞Δｔ＿ＤＮの場合には、Δｔ＿Ｈを小さくする（デューティを小さくする）。なお上記最小値とは、デューティ調整器２において設定可能な最小値である。
【００２６】
次に、上記構成のＬＳＩにおけるデューティ調整方法の詳細について、図３を用いて説明する。図３はデューティ調整方法のフローチャートである。
【００２７】
図示するように、まず外部から第２クロックＣＬＫ２が入力されると、それを元にしてデューティ調整器３が第１クロックＣＬＫ１を生成する（ステップＳ１０）。最初に生成される第１クロックＣＬＫ１のデューティは第２クロックＣＬＫ２と同じでも良いし、制御部４の制御に基づいて、予め定められた所定のデューティに調整されたものであっても良い。
【００２８】
デューティ調整器３から第１クロックＣＬＫ１がプロセッサコア２に与えられることにより、第１クリティカルパス１２から第３クロックＣＬＫ３が出力され、第２クリティカルパス１３から第４クロックＣＬＫ４が出力される（ステップＳ１１）。これらはそれぞれ第１、第２位相比較部２１、２２に与えられる。
【００２９】
すると、第１位相比較部２１は第１クロックＣＬＫ１（実際には／ＣＬＫ１）と第３クロックＣＬＫ３との位相差を検出して第１位相差信号ＵＰを出力し、第２位相比較部２２は第１クロックＣＬＫ１と第４クロックＣＬＫ４との位相差を検出して第２位相差信号ＤＮを出力する（ステップＳ１２）。
【００３０】
Δｔ＿ＵＰがΔｔ＿ＤＮより小さければ（ステップＳ１３、ＮＯ、ステップＳ１４、ＹＥＳ）、チャージポンプ回路２３及びローパスフィルタ２４は、所定の幅Δｔだけ“Ｈ”レベルとなる期間を長くさせる旨の制御信号ＣＮＴを発生し、デューティ調整器３へ出力する。この制御信号ＣＮＴに基づき、デューティ調整器３は第２クロックＣＬＫ２の“Ｈ”レベルとなる期間を長くする。すなわち、第１クロックＣＬＫ１のデューティが大きくされる（ステップＳ１５）。
【００３１】
逆にΔｔ＿ＵＰがΔｔ＿ＤＮより大きければ（ステップＳ１３、ＮＯ、ステップＳ１４、ＮＯ）、チャージポンプ回路２３及びローパスフィルタ２４は、所定の幅Δｔだけ“Ｈ”レベルとなる期間を短くさせる旨の制御信号ＣＮＴを発生し、デューティ調整器３へ出力する。この制御信号ＣＮＴに基づき、デューティ調整器３は第２クロックＣＬＫ２の“Ｈ”レベルとなる期間を短くする。すなわち、第１クロックＣＬＫ１のデューティが小さくされる（ステップＳ１６）。
【００３２】
そしてステップＳ１０に戻り、Δｔ＿ＵＰ＝Δｔ＿ＤＮとなるまで（ステップＳ１３、ＹＥＳ）、上記の処理を繰り返す。
【００３３】
なお、上記ステップＳ１５、Ｓ１６における所定の幅Δｔの大きさは、常時一定であっても良いし、繰り返す度に小さくされても良いし、またはΔｔ＿ＵＰとΔｔ＿ＤＮとの大小関係が反転した際に小さくされる値であっても良い。
【００３４】
上記調整方法の具体例について、図４を用いて説明する。図４は、デューティの調整時における第１クロックＣＬＫ１、第３クロックＣＬＫ３、第４クロックＣＬＫ４、第１位相差信号ＵＰ、及び第２位相差信号ＤＮのタイミングチャートであり、３回の調整によりデューティを最適化した場合について示している。また図４では、Δｔ＿ＵＰとΔｔ＿ＤＮとの大小関係が反転した際に、Δｔが小さくされる場合について示している。
【００３５】
図示するように、第２クロックＣＬＫ２に基づいて最初に生成された第１クロックＣＬＫ１においては、Δｔ＿ＵＰ＜Δｔ＿ＤＮである（ステップＳ１４、ＹＥＳ）。すなわち、この状態では第１クロックＣＬＫ１の“Ｈ”レベルとなる期間が短すぎる。これが図中の「初期状態」である。
【００３６】
そこで、次にデューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間をΔｔ１だけ大きくする。これが「１回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ３から時刻ｔ７に変化する。この補正の結果、初期状態とは逆にΔｔ＿ＵＰ＞Δｔ＿ＤＮとなる（ステップＳ１４、ＮＯ）。すなわち、第１クロックＣＬＫ１の“Ｌ”となる期間が短すぎる。
【００３７】
そこで次にデューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間をΔｔ２だけ短くする。これが「２回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ７から時刻ｔ１０に変化する。なお、初期状態から１回目の補正後の状態に移行する際に比して、Δｔ＿ＵＰとΔｔ＿ＤＮとの大小関係が反転したので、デューティ調整器３は、Δｔ２の値をΔｔ１より小さいものとする。この補正の結果、Δｔ＿ＵＰ＜Δｔ＿ＤＮとなる（ステップＳ１４、ＹＥＳ）。すなわち、第１クロックＣＬＫ１の“Ｈ”となる期間が短すぎる。
【００３８】
そこで次にデューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間をΔｔ３だけ長くする。これが「３回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ１０から時刻ｔ１３に変化する。なおΔｔ３＜Δｔ２である。この補正の結果、Δｔ＿ＵＰ＝Δｔ＿ＤＮとなる（ステップＳ１３、ＹＥＳ）。よって、デューティの調整は終了し、以後、デューティ調整器３は、時刻ｔ１から時刻ｔ１３の期間の長さだけ“Ｈ”レベルとなる第１クロックＣＬＫ１を生成する。
【００３９】
以上のように、この発明の第１の実施形態に係るデューティ調整方法であると、下記（１）の効果が得られる。  
（１）ＬＳＩの動作速度を向上出来る。  
本実施形態に係る構成によれば、制御部４が第１クロックＣＬＫ１と第３クロックＣＬＫ３との位相差を監視し、更に第１クロックＣＬＫ１と第４クロックＣＬＫ４との位相差を監視している。そして制御部４は、両位相差が等しくなるようにデューティを調整するよう、デューティ調整器３に命令している。その結果、ＬＳＩの動作速度を格段に向上出来る。本効果について、以下詳細に説明する。
【００４０】
図２で説明したように、Δｔ＿ＵＰは、第３クロックＣＬＫ３が立ち上がってから第１クロックＣＬＫ１が立ち下がるまでの期間である。そして、第３クロックＣＬＫ３が立ち上がるタイミングは、第１クロックＣＬＫ１が立ち上がってから第１クリティカルパス１２内の遅延時間経過の後である。つまり、第１クリティカルパス１２が正常に動作するためには、第１クロックＣＬＫ１のΔｔ＿Ｈが少なくともΔｔｄ１と等しいかそれ以上でなければならない。言い換えれば、第１クロックＣＬＫ１と第３クロックＣＬＫ３の位相差Δｔ＿ＵＰは、当該第１クロックＣＬＫ１に対する第１クリティカルパス１２の動作余裕を意味する。
【００４１】
そして当然ながら、プロセッサコア２において第１クロックＣＬＫ１が“Ｈ”レベルとなる期間にアクティブとなる論理回路は、少なくとも第１クリティカルパス１２が正常に動作する第１クロックＣＬＫ１でなければ正確に動作しない。なぜなら、これらの論理回路において最も遅延の大きい経路こそが第１クリティカルパス１２だからである。
【００４２】
Δｔ＿ＤＮについても同様である。すなわち、第２クリティカルパス１３が正常に動作するためには、第１クロックＣＬＫ１の１サイクルにおける“Ｌ”レベルの期間が少なくともΔｔｄ２と等しいかそれ以上でなければならない。つまり、第１クロックＣＬＫ１と第４クロックＣＬＫ４の位相差Δｔ＿ＤＮも、当該第１クロックＣＬＫ１に対する第２クリティカルパス１３の動作余裕を意味する。そして、プロセッサコア２において第１クロックＣＬＫ１が“Ｌ”レベルとなる期間にアクティブとなる論理回路は、少なくとも第２クリティカルパス１３が正常に動作する第１クロックＣＬＫ１でなければ正確に動作しない。
【００４３】
この点、本実施形態に係る構成であると、制御部４によってΔｔ＿ＵＰとΔｔ＿ＤＮは等しくされる（デューティ調整器３において可能な最小値とされる）。そのため、第１クロックＣＬＫ１の周波数を最大限に大きくすることが出来る。この様子を図５に示す。図５は、２つの場合（ＣＡＳＥ１、ＣＡＳＥ２）において、第１クロックＣＬＫ１の周波数を上昇させた際の様子を示すタイミングチャートである。ＣＡＳＥ１は、Δｔ＿ＵＰ＜＜Δｔ＿ＤＮの場合であり、ＣＡＳＥ２は、本実施形態に係る方法によりΔｔ＿ＵＰ＝Δｔ＿ＤＮとした場合である。
【００４４】
図示するように、第１クロックＣＬＫ１の１サイクルの期間がΔｔｃ１であったとする。ＣＡＳＥ１、ＣＡＳＥ２のいずれの場合であっても、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間はΔｔｄ１以上でなければならず、“Ｌ”レベルとなる期間はΔｔｄ２以上でなければならない。
【００４５】
すると、ＣＡＳＥ１の場合には“Ｌ”レベル期間には動作余裕（Δｔ＿ＤＮ）が十分にある一方で、“Ｈ”レベル期間には動作余裕（Δｔ＿ＵＰ）が殆ど無い。その結果、第１クロックＣＬＫ１の周波数はΔｔ＿ＵＰに制限され、殆ど上げることが出来ない。
【００４６】
これに対してＣＡＳＥ２の場合、Δｔ＿ＵＰ＝Δｔ＿ＤＮである。従って、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間をΔｔｄ１とし、“Ｌ”レベルとなる期間をΔｔｄ２とすることが可能となる。すなわち、第１クロックＣＬＫ１の周波数を最大限に大きく出来る（Δｔｃ３＜＜Δｔｃ２）。よって、ＬＳＩの動作速度を向上出来る。
【００４７】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る半導体集積回路装置及びデューティ制御方法について説明する。本実施形態は、上記第１の実施形態において第１、第２クリティカルパス１２、１３のレプリカ回路を設けたものである。図６は、本実施形態に係るＬＳＩのブロック図である。
【００４８】
図示するように、本実施形態に係るＬＳＩ１は、上記第１の実施形態で説明した図１の構成において、レプリカ回路５を設けた構成を有している。そして、プロセッサコア２の代わりに、レプリカ回路５が第３クロックＣＬＫ３及び第４クロックＣＬＫ４を出力するものである。
【００４９】
レプリカ回路５は、プロセッサコア２における第１クリティカルパス１２及び第２クリティカルパス１３と同様の回路、すなわちこれらのレプリカを保持している。図中において、レプリカ回路５内の第１ディレイ回路３０が第１クリティカルパス１２のレプリカであり、第２ディレイ回路３１が第２クリティカルパス１３のレプリカである。第１、第２ディレイ回路３０、３１には、デューティ調整器３によって第１クロックＣＬＫ１が入力される。そして、第１、第２ディレイ回路３０、３１は、第３、第４クロックＣＬＫ３、ＣＬＫ４をそれぞれ出力する。  
その他の構成は第１の実施形態と同様であるので、説明は省略する。
【００５０】
次に、本実施形態に係るＬＳＩにおけるデューティ調整方法について図７を用いて説明する。図７は、デューティ調整方法のフローチャートである。
【００５１】
図示するように、第１の実施形態で説明した図３と異なる点は、第３クロックＣＬＫ３及び第４クロックＣＬＫ４が、第１ディレイ回路３０及び第２ディレイ回路３１によって生成される点である（ステップＳ２０）。その他は図３と同様である。
【００５２】
以上のように、本実施形態に係るデューティ調整方法であると、第１の実施形態で説明した（１）の効果に加えて、下記（２）の効果を併せて得られる。  
（２）ＬＳＩの動作信頼性を維持しつつ、（１）の効果が得られる。  
本実施形態に係る構成であると、制御部４で使用するための第３、第４クロックＣＬＫ３、ＣＬＫ４を、レプリカ回路５で生成している。つまり、プロセッサコア２は制御部４の動作とは無関係である。従って、何らかの理由により制御部４に故障等が発生し、それがレプリカ回路５に悪影響を及ぼすような事態が発生したとしても、その影響はプロセッサコア２には及ばない。そのため、プロセッサコア２の動作に支障をきたすことを防止し、ＬＳＩの動作信頼性の低下を防止出来る。
【００５３】
なお、上記実施形態では第１、第２ディレイ回路３０、３１が、第１、第２クリティカルパス１２、１３のレプリカそのものである場合について説明した。しかし、このような場合に限られるものでは無い。つまり、レプリカ回路５内に、第１、第２クリティカルパス１２、１３のレプリカとは別に第１、第２ディレイ回路３０、３１を設けても良い。そして第１、第２ディレイ回路３０、３１を、第１、第２クリティカルパス１２、１３を用いて第３、第４クロックＣＬＫ４を生成するための専用回路としても良い。
【００５４】
［第３の実施形態］
次に、この発明の第３の実施形態に係る半導体集積回路装置及びデューティ制御方法について説明する。本実施形態は、上記第１の実施形態において、第１、第２クリティカルパス１２、１３のレプリカを設け、更にディジタル的にデューティの調整を行うものである。図８は、本実施形態に係るＬＳＩのブロック図である。
【００５５】
図示するように、本実施形態に係るＬＳＩ１は、プロセッサコア２、デューティ調整器３、制御部４、及びレプリカ回路５を備えている。プロセッサコア２の構成は、第１の実施形態で説明した通りである。但し、プロセッサコア２は第３クロックＣＬＫ３及び第４クロックＣＬＫ４を外部へ出力する必要は無い。デューティ調整器３の構成も、第１の実施形態で説明した通りであり、制御部４から与えられる制御信号ＣＮＴに従ってデューティを調整する。具体的なデューティ調整方法については後述する。
【００５６】
レプリカ回路５は、第２の実施形態の場合と同様に、第１クリティカルパス１２のレプリカと第２クリティカルパス１３のレプリカを含んでいる。更にレプリカ回路５は第３ディレイ回路３２及び第４ディレイ回路３３を備えている。第３ディレイ回路３２は、第１クロックＣＬＫ１に基づいて第５クロックＣＬＫ５を生成する。第５クロックＣＬＫ５は、第１クリティカルパス１２で生じる遅延時間Δｔｄ１より数％大きい時間だけ、第１クロックＣＬＫ１を遅らせた信号である。第４ディレイ回路３３は、第１クロックＣＬＫ１に基づいて第６クロックＣＬＫ６を生成する。第６クロックＣＬＫ６は、第２クリティカルパス１３で生じる遅延時間Δｔｄ２より数％大きい時間だけ、第１クロックＣＬＫ１を遅らせた信号である。
【００５７】
制御部４は、インバータ２０、第１、第２位相比較部２１、２２、及びカウンタ回路２５を備えている。インバータ２０は、第１の実施形態と同様に第１クロックＣＬＫ１を反転させる。  
第１位相比較部２１は、第１クロック／ＣＬＫ１と、レプリカ回路５から出力される第５クロックＣＬＫ５との位相差を検出し、検出された位相差に応じて第１位相差信号ＵＰを出力する。より具体的には、第１位相比較部２１は、例えば第１クロック／ＣＬＫ１の立ち上がりタイミングと、第５クロックＣＬＫ３の立ち上がりタイミングとの位相差を検出する。  
第２位相比較部２２は、第１クロックＣＬＫ１と、レプリカ回路５から出力される第６クロックＣＬＫ６との位相差を検出し、検出された位相差に応じて第２位相差信号ＤＮを出力する。より具体的には、第２位相比較部２２は、例えば第１クロックＣＬＫ１の立ち上がりタイミングと、第６クロックＣＬＫ６の立ち上がりタイミングとの位相差を検出する。  
カウンタ回路２５は、デューティ調整中の各ステップにおいて、第１位相比較部２１から出力された第１位相差信号ＵＰと、第２位相比較部２２から出力された第２位相差信号ＤＮをカウントする。そして、第１位相差信号ＵＰと第２位相差信号ＤＮとのいずれがカウントされたかに応じて、デューティ調整器３を制御する制御信号ＣＮＴを出力する。
【００５８】
次に、図９及び図１０を用いて第１クロックＣＬＫ１、／ＣＬＫ１、第５クロックＣＬＫ５、第６クロックＣＬＫ６、第１位相差信号ＵＰ、及び第２位相差信号ＤＮの詳細と、デューティ調整器２におけるデューティの調整方法について簡単に説明する。図９及び図１０は、上記各種信号のタイミングチャートである。
【００５９】
まず図９の場合について説明する。図示するように、第１クロックＣＬＫ１は時刻ｔ１で立ち上がり、時刻ｔ２で立ち下がり、時刻ｔ５で再び立ち上がるものとする。つまり１サイクルの期間は時刻ｔ１〜ｔ５の長さである。そして、デューティ調整器２によって第１クロックＣＬＫ１が“Ｈ”レベルとなる期間の長さΔｔ＿Ｈが調整される。
【００６０】
第５クロックＣＬＫ５は、第１クロックＣＬＫ１の立ち上がりタイミング（時刻ｔ１）から（Δｔｄ１＋Ｃ１・Δｔｄ１）だけ遅れて立ち上がる信号である。例えばＣ１＝０．０１〜０．０９程度であり、第５クロックＣＬＫ５は、時刻ｔ３で立ち上がるものとする。つまり、例えばＣ１＝０．０１であったとすれば、第５クロックＣＬＫ５は、第１クロックＣＬＫ１の立ち上がりから、Δｔｄ１よりもその１％だけ大きい遅延時間だけ遅れて立ち上がる信号である。
【００６１】
第６クロックＣＬＫ６は、第１クロックＣＬＫ１の立ち下がりタイミング（時刻ｔ２）から（Δｔｄ２＋Ｃ２・Δｔｄ２）だけ遅れて立ち上がる信号である。例えばＣ２＝０．０１〜０．０９程度であり、第６クロックＣＬＫ６は、時刻ｔ４で立ち下がるものとする。つまり、例えばＣ２＝０．０１であったとすれば、第６クロックＣＬＫ６は、第１クロックＣＬＫ１の立ち下がりから、Δｔｄ２よりもその１％だけ大きい遅延時間だけ遅れて立ち上がる信号である。
【００６２】
第１位相差信号ＵＰは、第１クロックの立ち下がりタイミング（すなわち第１クロック／ＣＬＫ１の立ち上がりタイミング）が第５クロックＣＬＫ５の立ち上がりタイミングよりも早い場合に、第１クロックの立ち下がりタイミングで“Ｈ”レベルとなる信号である。従って図９の場合、第１位相差信号ＵＰは時刻ｔ２で立ち上がる。そして第１位相差信号ＵＰは第１クロックの立ち上がりタイミング（すなわち第１クロック／ＣＬＫ１の立ち下がりタイミング）で、“Ｌ”レベルに立ち下がる。第１位相差信号ＵＰが“Ｈ”レベルとなる期間を、以下Δｔ＿ＵＰと呼ぶ。
【００６３】
第２位相差信号ＤＮは、第１クロックの立ち上がりタイミングが第６クロックＣＬＫ６の立ち上がりタイミングよりも早い場合に、第１クロックの立ち上がりタイミングで“Ｈ”レベルとなる信号である。従って図９の場合、第１位相差信号ＵＰは常時“Ｌ”レベルである。
【００６４】
次に図１０の場合について説明する。図１０は図９の場合と逆に、第２位相差信号ＤＮが“Ｈ”レベルとなる場合について示している。図示するように、第１クロックＣＬＫ１は時刻ｔ１で立ち上がり、時刻ｔ３で立ち下がり、時刻ｔ４で再び立ち上がる。
【００６５】
第５クロックＣＬＫ５は、第１クロックＣＬＫ１が立ち下がるよりも先に立ち上がる（時刻ｔ２）。また第６クロックＣＬＫ６は、第１クロックＣＬＫ１の立ち上がりタイミングよりも遅れて立ち上がる（時刻ｔ５）。その結果、第１位相差信号ＵＰは常時“Ｌ”レベルとなる。他方、第２位相差信号ＤＮは、第１クロックＣＬＫ１の立ち上がりタイミング（時刻ｔ４）で“Ｈ”レベルとなる。そして第２位相差信号ＤＮは、第１クロックの立ち下がりタイミングで“Ｌ”レベルに立ち下がる。第２位相差信号ＤＮが“Ｈ”レベルとなる期間を、以下Δｔ＿ＤＮと呼ぶ。
【００６６】
デューティ調整器２は、ＵＰ＝“Ｈ”の場合にクロックＣＬＫ１のΔｔ＿Ｈを長くし（デューティを大きくする）、ＤＮ＝“Ｈ”の場合にΔｔ＿Ｈを小さくする（デューティを小さくする）。
【００６７】
次に、本実施形態に係るＬＳＩの、デューティ調整方法の詳細について図１１を用いて説明する。図１１はデューティ調整方法のフローチャートである。
【００６８】
図示するように、まず第１クロックＣＬＫ１を生成する（ステップＳ１０）。デューティ調整器３から第１クロックＣＬＫ１がプロセッサコア２に与えられることにより、第３ディレイ回路３２から第５クロックＣＬＫ５が出力され、第４ディレイ回路３３から第６クロックＣＬＫ６が出力される（ステップＳ３０）。これらはそれぞれ第１、第２位相比較部２１、２２に与えられる。
【００６９】
すると、第１位相比較部２１は第１クロックＣＬＫ１（実際には／ＣＬＫ１）と第３クロックＣＬＫ３との位相差を検出する。そして、第１クロックＣＬＫ１の立ち下がりタイミングが第５クロックＣＬＫ５の立ち上がりタイミングよりも早ければ、第１位相差信号ＵＰを“Ｈ”レベルとする。また第２位相比較部２２は、第１クロックＣＬＫ１と第６クロックＣＬＫ６との位相差を検出する。そして、第１クロックＣＬＫ１の立ち上がりタイミングが第６クロックＣＬＫ６の立ち上がりタイミングよりも早ければ、第２位相差信号ＤＮを“Ｈ”レベルとする（ステップＳ３１）。
【００７０】
第１位相差信号ＵＰが“Ｈ”レベルであれば、すなわちＤＮ＝“Ｌ”であれば（ステップＳ３２、ＮＯ、ステップＳ３３、ＹＥＳ）、その旨がカウンタ回路２５でカウントされる。つまり、第１位相差信号ＵＰについてのカウント数がカウントアップされる。そしてカウンタ回路２５は、所定の幅Δｔだけ“Ｈ”レベルとなる期間を長くさせる旨の制御信号ＣＮＴを発生し、デューティ調整器３へ出力する。この制御信号ＣＮＴに基づき、デューティ調整器３は第２クロックＣＬＫ２の“Ｈ”レベルとなる期間を長くする。すなわち、第１クロックＣＬＫ１のデューティが大きくされる（ステップＳ１５）。
【００７１】
逆に第１位相差信号ＤＮが“Ｈ”レベルであれば、すなわちＵＰ＝“Ｌ”であれば（ステップＳ３２、ＮＯ、ステップＳ３３、ＮＯ）、その旨がカウンタ回路２５でカウントされる。つまり、第２位相差信号ＤＮについてのカウント数がカウントアップされる。そしてカウンタ回路２５は、所定の幅Δｔだけ“Ｈ”レベルとなる期間を短くさせる旨の制御信号ＣＮＴを発生し、デューティ調整器３へ出力する。この制御信号ＣＮＴに基づき、デューティ調整器３は第２クロックＣＬＫ２の“Ｈ”レベルとなる期間を短くする。すなわち、第１クロックＣＬＫ１のデューティが小さくされる（ステップＳ１６）。
【００７２】
そしてステップＳ１０に戻り、第１、第２位相差信号ＵＰ、ＤＮが共に“Ｌ”レベルとなるまで（ステップＳ３２、ＹＥＳ）、上記の処理を繰り返す。
【００７３】
なお、上記ステップＳ１５、Ｓ１６における所定の幅Δｔの大きさは、常時一定とされる。勿論、デューティの調整を繰り返す度にΔｔを変化させても構わない。
【００７４】
上記調整方法の具体例を、Δｔ＿Ｈを大きくすることでデューティを最適化する場合（ＣＡＳＥ１）と、Δｔ＿Ｈを小さくすることで最適化する場合（ＣＡＳＥ２）とに分けて、以下説明する。
【００７５】
（ＣＡＳＥ１）  
まずＣＡＳＥ１について、図１２を用いて説明する。図１２は、デューティの調整時における第１クロックＣＬＫ１、第５クロックＣＬＫ５、第６クロックＣＬＫ６、第１位相差信号ＵＰ、及び第２位相差信号ＤＮのタイミングチャートであり、３回の調整によりデューティを最適化した場合について示している。図１２では、ステップＳ１５、Ｓ１６におけるΔｔを、Δｔ４一定とした場合について示している。また、（Δｔｄ１＋Ｃ１・Δｔｄ１）をΔｔｄ３と表記し、（Δｔｄ２＋Ｃ２・Δｔｄ２）をΔｔｄ４と表記する。
【００７６】
図示するように、第２クロックＣＬＫ２に基づいて最初に生成された第１クロックＣＬＫ１は、第５クロックＣＬＫ５の立ち上がりタイミング（時刻ｔ３）よりも先に立ち下がる（時刻ｔ２）。従って、第１位相差信号ＵＰ＝“Ｈ”、第２位相差信号ＤＮ＝“Ｌ”である（ステップＳ３３、ＹＥＳ）。すなわち、この状態では第１クロックＣＬＫ１の“Ｈ”レベルとなる期間が短すぎる。これが図中の「初期状態」である。
【００７７】
そこで、次にデューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間をΔｔ４だけ大きくする。これが「１回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ２から時刻ｔ６に変化する。しかし、まだ第１クロックＣＬＫ１の立ち下がりタイミング（時刻ｔ６）は、第５クロックＣＬＫ５の立ち上がりタイミング（時刻ｔ３）よりも先である。従って、第１位相差信号ＵＰ＝“Ｈ”、第２位相差信号ＤＮ＝“Ｌ”である（ステップＳ３３、ＹＥＳ）。すなわち、この状態ではまだ第１クロックＣＬＫ１の“Ｈ”レベルとなる期間が短すぎる。
【００７８】
そこで、デューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間を更にΔｔ４だけ大きくする。これが「２回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ２から時刻ｔ８に変化する。しかし、まだ第１クロックＣＬＫ１の立ち下がりタイミング（時刻ｔ８）は、第５クロックＣＬＫ５の立ち上がりタイミング（時刻ｔ３）よりも先である。従って、第１位相差信号ＵＰ＝“Ｈ”、第２位相差信号ＤＮ＝“Ｌ”である（ステップＳ３３、ＹＥＳ）。すなわち、この状態ではまだ第１クロックＣＬＫ１の“Ｈ”レベルとなる期間が短すぎる。
【００７９】
よって、デューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間を更にΔｔ４だけ大きくする。これが「３回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ２から時刻ｔ３に変化する。その結果、第１クロックＣＬＫ１の立ち下がりタイミングは、第５クロックＣＬＫ５の立ち上がりタイミング（時刻ｔ３）と同時になる。従って、第１位相差信号ＵＰ＝“Ｌ”、第２位相差信号ＤＮ＝“Ｌ”である（ステップＳ３２、ＹＥＳ）。よって、デューティの調整は終了し、以後、デューティ調整器３は、時刻ｔ１から時刻ｔ３の期間の長さだけ“Ｈ”レベルとなる第１クロックＣＬＫ１を生成する。
【００８０】
なお、図１２の３回目の補正後の状態では、第１クロックＣＬＫ１の立ち下がりタイミングが第５クロックＣＬＫ５の立ち上がりタイミングと同時であるが、第５クロックＣＬＫ５の立ち上がりタイミングよりも遅くてもよいことは言うまでもない。
【００８１】
（ＣＡＳＥ２）  
次にＣＡＳＥ２について、図１３を用いて説明する。図１３は、デューティの調整時における第１クロックＣＬＫ１、第５クロックＣＬＫ５、第６クロックＣＬＫ６、第１位相差信号ＵＰ、及び第２位相差信号ＤＮのタイミングチャートであり、３回の調整によりデューティを最適化した場合について示している。図１３も図１２と同様に、ステップＳ１５、Ｓ１６におけるΔｔを、Δｔ４一定とした場合について示している。また、（Δｔｄ１＋Ｃ１・Δｔｄ１）をΔｔｄ３と表記し、（Δｔｄ２＋Ｃ２・Δｔｄ２）をΔｔｄ４と表記する。
【００８２】
図示するように、第２クロックＣＬＫ２に基づいて最初に生成された第１クロックＣＬＫ１は、第５クロックＣＬＫ５の立ち上がりタイミング（時刻ｔ３）よりも後に立ち下がり（時刻ｔ２）、第６クロックＣＬＫ６の立ち上がりタイミング（時刻ｔ５）よりも先に立ち上がる（時刻ｔ４）。従って、第１位相差信号ＵＰ＝“Ｌ”、第２位相差信号ＤＮ＝“Ｈ”である（ステップＳ３３、ＮＯ）。すなわち、この状態では第１クロックＣＬＫ１の“Ｈ”レベルとなる期間が長すぎる。これが図中の「初期状態」である。
【００８３】
そこで、デューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間をΔｔ４だけ短くする。これが「１回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ３から時刻ｔ６に変化する。しかし、まだ第１クロックＣＬＫ１の立ち上がりタイミング（時刻ｔ４）は、第６クロックＣＬＫ６の立ち上がりタイミング（時刻ｔ７）よりも先である。従って、第１位相差信号ＵＰ＝“Ｌ”、第２位相差信号ＤＮ＝“Ｈ”である（ステップＳ３３、ＮＯ）。すなわち、この状態ではまだ第１クロックＣＬＫ１の“Ｈ”レベルとなる期間が短すぎる。
【００８４】
そこで、次にデューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間を更にΔｔ４だけ小さくする。これが「２回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ６から時刻ｔ８に変化する。しかし、まだ第１クロックＣＬＫ１の立ち上がりタイミング（時刻ｔ４）は、第６クロックＣＬＫ６の立ち上がりタイミング（時刻ｔ９）よりも先である。従って、第１位相差信号ＵＰ＝“Ｌ”、第２位相差信号ＤＮ＝“Ｈ”である（ステップＳ３３、ＮＯ）。すなわち、この状態ではまだ第１クロックＣＬＫ１の“Ｈ”レベルとなる期間が長すぎる。
【００８５】
よって、デューティ調整器３は、第１クロックＣＬＫ１の“Ｈ”レベルとなる期間を更にΔｔ４だけ小さくする。これが「３回目の補正後の状態」である。つまり、第１クロックＣＬＫ１の立ち下がりタイミングは、時刻ｔ８から時刻ｔ１０に変化する。その結果、第１クロックＣＬＫ１の立ち上がりタイミングは、第６クロックＣＬＫ６の立ち上がりタイミング（時刻ｔ４）と同時になる。従って、第１位相差信号ＵＰ＝“Ｌ”、第２位相差信号ＤＮ＝“Ｌ”である（ステップＳ３２、ＹＥＳ）。よって、デューティの調整は終了し、以後、デューティ調整器３は、時刻ｔ１から時刻ｔ１０の期間の長さだけ“Ｈ”レベルとなる第１クロックＣＬＫ１を生成する。
【００８６】
以上のように、本実施形態に係るデューティ調整方法であると、第１、第２の実施形態で説明した（１）、（２）の効果を得られる。  
なお、本実施形態に係る方法であると、上記第１の実施形態とは異なり、第１クリティカルパス１２に関する動作余裕と第２クリティカルパス１３に関する動作余裕とは、必ずしも同じにならない。なぜなら、本実施形態では、第１クロックＣＬＫ１の“Ｈ”レベル期間がΔｔｄ３以上になるか、または“Ｌ”レベル期間がΔｔｄ４以上になった時点で、デューティの調整が終了するからである。
【００８７】
しかし、Δｔｄ３は第１クリティカルパス１２の遅延時間Δｔｄ１よりも一定程度大きな値であり、またΔｔｄ４は第２クリティカルパス１３の遅延時間Δｔｄ２よりも一定程度大きな値である。従って、第１クロックＣＬＫ１の周波数を上昇させる場合、第１クロックＣＬＫ１の１サイクルの期間を、最低でも上記一定程度の期間は短くすることが出来る。従って、ＬＳＩの動作速度を向上出来る。
【００８８】
また、本実施形態ではレプリカ回路５内に第３ディレイ回路３２及び第４ディレイ回路３３が設けられる場合について説明した。しかし、第１の実施形態と同様にレプリカ回路５を設けない構成であっても良い。この場合のＬＳＩ１の構成を図１４に示す。図示するように、第３ディレイ回路３２及び第４ディレイ回路３３はプロセッサコア２内に設けられる。そして、第５クロックＣＬＫ５及び第６クロックＣＬＫ６はプロセッサコア２から出力される。
【００８９】
上記のように、この発明の第１乃至第３の実施形態に係る半導体集積回路装置及びデューティ制御方法であると、プロセッサコア内のクリティカルパスから与えられる情報を用いて、プロセッサコアを動作させるためのクロックのデューティを最適化している。
【００９０】
より具体的には、クロックが“Ｈ”レベルである期間でアクティブとなる第１クリティカルパス１２の遅延時間Δｔｄ１と、“Ｌ”レベルである期間でアクティブとなる第２クリティカルパス１３の遅延時間Δｔｄ２とを用いている。そして、第１、第２の実施形態では、第１クリティカルパス１２についての動作余裕（Δｔ＿Ｈ−Δｔｄ１）と、第２クリティカルパス１３についての動作余裕（“Ｌ”レベル期間−Δｔｄ２）とが等しくなるようにデューティを調整している。また第３の実施形態では、第１クリティカルパス１２に対して与えられた動作余裕（Ｃ１・Δｔｄ１）と、第２クリティカルパス１３に対して与えられた動作余裕（Ｃ１・Δｔｄ２）とのいずれかを満足するように、デューティを調整している。従って、クロックの周波数を向上出来、プロセッサコアの動作を高速化出来る。
【００９１】
また、上記のデューティ制御を、制御部４によって行っている。従って、クロックのデューティを動的に行うことが出来る。すなわち、ＬＳＩ１の製造後であっても、適宜デューティの調整が可能である。その結果、ＬＳＩ１の製造プロセスの過程でバラツキが発生したとしても、そのバラツキを原因とするデューティの悪化を制御部４によって補正出来る。従来のように、デューティの調整を動的に行うことが出来ない場合には、プロセスバラツキによってデューティが最適とならない場合がある。そして全てのチップに対して最適補正をするには、チップ毎のクリティカルパスの評価結果をチップ設計にフィードバックしなければならず、テスト時間は非常に長くなる。これは、クロックの“Ｈ”レベル期間でアクティブとなる回路と“Ｌ”レベル期間でアクティブとなる回路との両方が含まれている場合に特に顕著である。しかし、本実施形態に係る構成であると、チップの製造後であってもデューティを最適化出来る。その結果、チップの歩留まりを向上出来ると共に、テスト時間も短縮化出来るため製造コストを削減することも可能である。また、ＬＳＩ１の動作中であってもデューティの調整が可能であるので、周囲温度や動作電圧等、動作条件の変動に応じてデューティを最適化することも出来る。その結果、動作条件にかかわらず、ＬＳＩ１のパフォーマンスを最適にすることが出来る。
【００９２】
特に上記実施形態は、例えばＤＤＲ（Double Data Rate）モードを使用した半導体メモリや、非常に高周波数のクロックを用いてタイミング設計のされたマイクロプロセッサ等に適用することで顕著な効果が得られる。
【００９３】
なお上記第１、第２の実施形態では、第１、第２位相比較部２１、２２は第１クロックＣＬＫ１、／ＣＬＫ１の立ち上がりタイミングと、第３、第４クロックＣＬＫ３、ＣＬＫ４の立ち上がりタイミングとを比較している。また第３の実施形態では、第１クロックＣＬＫ１、／ＣＬＫ１の立ち上がりタイミングと、第５、第６クロックＣＬＫ５、ＣＬＫ６の立ち上がりタイミングとを比較している。しかし、立ち上がりタイミングと立ち下がりタイミングとで比較しても良いし、または立ち下がりタイミング同士を比較しても良い。つまり、第３〜第６クロックＣＬＫ３〜ＣＬＫ６は、第１クロックＣＬＫ１にΔｔｄ１〜Δｔｄ４だけそれぞれ遅延して反転する信号であれば良い。更に言い換えれば、第３、第４クロックＣＬＫ３、ＣＬＫ４は、第１、第２クリティカルパス１２、１３における遅延の長さが分かる信号であれば良い。また第５、第６クロックＣＬＫ５、ＣＬＫ６は、第１、第２クリティカルパス１２、１３における遅延の長さと、それに動作余裕時間とを合わせた時間の長さが分かる信号でありさえすれば良い。勿論、デューティ調整器３も、クロックの立ち下がりタイミングを調整するものに限られず、立ち上がりタイミングを調整するもの、または立ち上がりタイミングと立ち下がりタイミングの両方を調整するものであっても良い。
【００９４】
また、上記実施形態で説明したデューティの調整は、必ずしもＬＳＩ１内部で行われる必要はない。すなわち、制御部４はＬＳＩ１の内部に無くても良い。このような構成について図１５に示す。図１５は、出荷前のＬＳＩ１のテスト工程の様子を示すブロック図である。図示するようにＬＳＩ１は、そのテスト工程において、デューティ制御用コントローラ６に接続される。デューティ制御用コントローラ６は、第１、第３の実施形態で説明した制御部４の構成を備えている。そして、ＬＳＩ１から出力される第３クロックＣＬＫ３と第４クロックＣＬＫ４、または第５クロックＣＬＫ５と第６クロックＣＬＫ６とを用いて制御信号ＣＮＴを発生し、ＬＳＩ１のデューティを制御する。
【００９５】
また、上記第３の実施形態では、第５クロックＣＬＫ５は第１クロックＣＬＫ１の立ち上がりからΔｔｄ３だけ遅れて立ち上がる。また第６クロックＣＬＫ６は第１クロックＣＬＫ１の立ち下がりからΔｔｄ４だけ遅れて立ち上がる。そして、Δｔｄ３は第１クリティカルパス１２における遅延時間ｔｄ１に、Ｃ１・Δｔｄ１を加えたものであり、Δｔｄ４は第２クリティカルパス１３における遅延時間ｔｄ２にＣ２・Δｔｄ２を加えたものである。Ｃ１、Ｃ２の値は適宜選択出来、Ｃ１とＣ２は共に同じ値であっても良いし、異なる値であっても良い。また、第１、第２クリティカルパス１２、１３でそれぞれ生じる遅延時間Δｔｄ１、Δｔｄ２は一定値では無く、電圧や温度等の動作環境によって動的に変動する。よって、ある条件（電圧、温度）下におけるΔｔｄ１、Δｔｄ２を用いてデューティ補正を行ったとしても、連続する異なる条件下においては、このΔｔｄ１、Δｔｄ２で行ったデューティ補正は十分でない可能性がある。従って、上記動作環境によって動的に変動する遅延時間のプラスアルファ分として、Ｃ１・Δｔｄ１及びＣ２・Δｔｄ２をそれぞれΔｔｄ１、Δｔｄ２に加えることで、十分なデューティ補正が可能となる。
【００９６】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【００９７】
【図１】この発明の第１の実施形態に係るＬＳＩのブロック図。
【図２】この発明の第１の実施形態に係るＬＳＩにおいて使用される各種信号のタイミングチャート。
【図３】この発明の第１の実施形態に係るデューティ制御方法のフローチャート。
【図４】この発明の第１の実施形態に係るデューティ制御方法実行時の各種信号のタイミングチャート。
【図５】この発明の第１の実施形態に係るデューティ制御方法を用いた場合と用いない場合における第１クロックのタイミングチャート。
【図６】この発明の第２の実施形態に係るＬＳＩのブロック図。
【図７】この発明の第２の実施形態に係るデューティ制御方法のフローチャート。
【図８】この発明の第３の実施形態に係るＬＳＩのブロック図。
【図９】この発明の第３の実施形態に係るＬＳＩにおいて使用される各種信号のタイミングチャート。
【図１０】この発明の第３の実施形態に係るＬＳＩにおいて使用される各種信号のタイミングチャート。
【図１１】この発明の第３の実施形態に係るデューティ制御方法のフローチャート。
【図１２】この発明の第３の実施形態に係るデューティ制御方法実行時の各種信号のタイミングチャート。
【図１３】この発明の第３の実施形態に係るデューティ制御方法実行時の各種信号のタイミングチャート。
【図１４】この発明の第３の実施形態の変形例に係るＬＳＩのブロック図。
【図１５】この発明の第１乃至第３の実施形態の変形例に係るＬＳＩのブロック図。
【符号の説明】
【００９８】
１…ＬＳＩ、２…プロセッサコア、３…デューティ調整器、４…制御部、５…レプリカ回路、６…デューティ制御用コントローラ、１０…フリップフロップ、１１…組み合わせ回路、１２、１３…クリティカルパス、２０…インバータ、２１、２２…位相比較部、２３…チャージポンプ回路、２４…ローパスフィルタ、２５…カウンタ回路、３０〜３３…ディレイ回路
【図１】
2008294657.tif 000003
【図２】
2008294657.tif 000004
【図３】
2008294657.tif 000005
【図４】
2008294657.tif 000006
【図５】
2008294657.tif 000007
【図６】
2008294657.tif 000008
【図７】
2008294657.tif 000009
【図８】
2008294657.tif 000010
【図９】
2008294657.tif 000011
【図１０】
2008294657.tif 000012
【図１１】
2008294657.tif 000013
【図１２】
2008294657.tif 000014
【図１３】
2008294657.tif 000015
【図１４】
2008294657.tif 000016
【図１５】
2008294657.tif 000017