(57)【要約】【課題】  クロック周波数及び電源電圧を変化させる半導体集積回路のクロックスキューを低減できるクロック配線装置及びクロック配線方法を提供する。【解決手段】  設計対象としての半導体集積回路上の信号伝搬経路の信号遅延時間を調整する遅延時間調整部１１と、信号伝搬経路の一部に対して回路変更を禁止する指定を行う禁止指定部１２と、指定に従って半導体集積回路のクロックツリー合成処理を行うクロックツリー合成部１３とを備える。【選択図】      図１
2006293856.tif 000002
【特許請求の範囲】
【請求項１】
設計対象としての半導体集積回路上の信号伝搬経路の信号遅延時間を調整する遅延時間調整部と、
前記信号伝搬経路の一部に対して回路変更を禁止する指定を行う禁止指定部と、
前記指定に従って前記半導体集積回路のクロックツリー合成処理を行うクロックツリー合成部
とを備えることを特徴とするクロック配線装置。
【請求項２】
前記遅延時間調整部は、
前記信号伝搬経路における信号遅延時間を算出する算出部と、
前記信号伝搬経路の回路変更を行う変更部  
とを備えることを特徴とする請求項１に記載のクロック配線装置。
【請求項３】
遅延時間調整部、禁止指定部及びクロックツリー合成部を備えるクロック配線装置において、
前記遅延時間調整部が、回路情報記憶領域から設計対象としての半導体集積回路の回路情報を読み出し、該回路情報に基づき前記半導体集積回路上の信号伝搬経路の信号遅延時間を調整するステップと、
前記禁止指定部が前記信号伝搬経路の一部に対して回路変更を禁止する指定を行い、該回路変更を禁止する指定がされた新たな回路情報を前記回路情報記憶領域に格納するステップと、
前記クロックツリー合成部が、前記回路情報記憶領域から前記新たな回路情報を読み出し、該新たな回路情報に基づき前記半導体集積回路のクロックツリー合成処理を行うステップ  
とを含むことを特徴とする半導体集積回路の自動クロック配線方法。  
【請求項４】
前記半導体集積回路に含まれる複数の論理ブロック間のクロックスキュー差を低減するように設定された許容値を、前記複数の論理ブロック内のクロックスキューがそれぞれ満足するか否かを、前記クロック配線装置が備える判定部が判定するステップを更に含むことを特徴とする請求項３に記載の半導体集積回路の自動クロック配線方法。
【請求項５】
前記クロック配線装置が備える固定遅延回路調整部が、前記半導体集積回路に含まれる複数の固定遅延回路における信号遅延時間をそれぞれ調整するステップを更に含むことを特徴とする請求項３又は４に記載の半導体集積回路の自動クロック配線方法。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック配線技術に係り、特にクロック周波数及び電源電圧を変化させる半導体集積回路のクロック配線を行うクロック配線装置及びクロック配線方法に関する。
【背景技術】
【０００２】
半導体集積回路の論理ブロックのクロック周波数及び電源電圧を負荷に応じて変化させることにより、半導体集積回路の低消費電力を実現する方法が使用されている。この方法は、論理ブロックが処理する負荷が軽いときに、通常の状態よりも論理ブロックのクロック周波数及び電源電圧を低くすることを特徴とする。クロック周波数及び電源電圧を低くするため、上記方法は論理ブロックの消費電力の削減に効果がある。特に、負荷容量の充放電で消費される電力は電源電圧の２乗に比例するため、電源電圧を低くすることによる消費電力削減効果は大きい。更に、電源電圧を低くすることによりサブスレッショルド電流が低減する。そのため、リーク電流による消費電力を削減することにも効果がある。
【０００３】
論理ブロックの電源電圧を変化させる低消費電力設計方法においては、遅延調節回路を使用することが有効である。遅延調節回路を使用することにより、電源電圧値が変化している期間も論理ブロック中の回路は動作可能となる。
【０００４】
一方、クロック信号の遅延値を参照してクロックスキューを低減する半導体集積回路やその設計方法が提案されている（例えば、特許文献１参照。）。しかし、特許文献１に開示された方法は製造上のばらつきに対処するためのものであり、電源電圧の変化によって生じるクロック信号の遅延に対応してクロックスキューを低減することはできない。つまり、特許文献１に開示された方法を、負荷に応じてクロック周波数及び電源電圧を変化させる論理ブロックを含む半導体集積回路のクロック配線方法に適用しても、クロックスキューを低減することができない。
【特許文献１】特開平７−９８６１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、クロック周波数及び電源電圧を変化させる半導体集積回路のクロックスキューを低減できるクロック配線装置及びクロック配線方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の第１の特徴は、（イ）設計対象としての半導体集積回路上の信号伝搬経路の信号遅延時間を調整する遅延時間調整部と、（ロ）信号伝搬経路の一部に対して回路変更を禁止する指定を行う禁止指定部と、（ハ）指定に従って半導体集積回路のクロックツリー合成処理を行うクロックツリー合成部とを備えるクロック配線装置であることを要旨とする。
【０００７】
本発明の第２の特徴は、遅延時間調整部、禁止指定部及びクロックツリー合成部を備えるクロック配線装置において、（イ）遅延時間調整部が、回路情報記憶領域から設計対象としての半導体集積回路の回路情報を読み出し、その回路情報に基づき半導体集積回路上の信号伝搬経路の信号遅延時間を調整するステップと、（ロ）禁止指定部が信号伝搬経路の一部に対して回路変更を禁止する指定を行い、その回路変更を禁止する指定がされた新たな回路情報を回路情報記憶領域に格納するステップと、（ハ）クロックツリー合成部が、回路情報記憶領域から新たな回路情報を読み出し、その新たな回路情報に基づき半導体集積回路のクロックツリー合成処理を行うステップとを含む半導体集積回路の自動クロック配線方法であることを要旨とする。  
【発明の効果】
【０００８】
本発明によれば、クロック周波数及び電源電圧を変化させる半導体集積回路のクロックスキューを低減できるクロック配線装置及びクロック配線方法を提供できる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の第１又は第２の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第１又は第２の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１０】
（第１の実施の形態）
本発明の第１の実施の形態に係るクロック配線装置は、図１に示すように、設計対象としての半導体集積回路上の信号伝搬経路の信号遅延時間を調整する遅延時間調整部１１と、信号伝搬経路の一部に対して回路変更を禁止する指定を行う禁止指定部１２と、指定に従って半導体集積回路のクロックツリー合成処理を行うクロックツリー合成部１３とを備える。クロックツリー合成処理を以下において「ＣＴＳ処理」という。
【００１１】
遅延時間調整部１１は、算出部１１１及び変更部１１２を備える。算出部１１１は、半導体集積回路の回路情報に基づき、信号伝搬経路における信号遅延時間を算出する。変更部１１２は、バッファ回路を信号伝搬経路に挿入する等の回路変更を行う。禁止指定部１２によって回路変更を禁止する指定がなされた信号伝搬経路では回路変更は行えない。
【００１２】
遅延時間調整部１１、禁止指定部１２及びクロックツリー合成部１３は、処理装置１に含まれる。又、処理装置１は、半導体集積回路の回路情報に基づき回路素子の配置を行う回路素子配置部１０を更に備える。
【００１３】
図１に示すクロック配線装置は、記憶装置２、入力装置３及び出力装置４を更に備える。記憶装置２は、回路情報記憶領域２１、素子配置記憶領域２２、遅延時間記憶領域２３、及びレイアウト情報記憶領域２４を備える。回路情報記憶領域２１に半導体集積回路の回路情報が格納される。回路情報は、チップ領域上に配置された回路素子の配置情報や回路素子間を接続するネットの情報等を含む。素子配置記憶領域２２に、回路素子配置部１０によって配置された回路素子の配置情報が格納される。遅延時間記憶領域２３に、算出部１１１によって算出される信号遅延時間が格納される。レイアウト情報記憶領域２４に、ＣＴＳ処理された半導体集積回路のレイアウト情報が格納される。
【００１４】
入力装置３はキーボード、マウス、ライトペン又はフレキシブルディスク装置等で構成される。入力装置３より、入出力データを指定できる。更に、入力装置３より出力データの形態等を設定することも可能で、又、クロック配線処理の設定や中止などの指示の入力も可能である。
【００１５】
又、出力装置４としては、クロック配線の配置結果を表示するディスプレイやプリンタ、或いはコンピュータ読み取り可能な記録媒体に保存する記録装置等が使用可能である。ここで、「コンピュータ読み取り可能な記録媒体」とは、例えばコンピュータの外部メモリ装置、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープ等の電子データを記録することができるような媒体等を意味する。具体的には、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯディスク、カセットテープ、オープンリールテープ等が「コンピュータ読み取り可能な記録媒体」に含まれる。
【００１６】
図１に示したクロック配線装置による半導体集積回路の自動クロック配線方法を、図２に示した半導体集積回路を用いて例示的に説明する。そのため、先ず図２に示した半導体集積回路について説明する。
【００１７】
図２に示した半導体集積回路は、クロック信号出力回路１１０、周波数設定回路１２０、遅延調節回路１３０、第１論理ブロック１４１、第２論理ブロック１４２、第１レベル調整回路１５１及び第２レベル調整回路１５２で構成される。第１論理ブロック１４１の動作クロックの周波数及び電源電圧は一定である。ここで、第１論理ブロック１４１の動作クロックの周波数を周波数ｆとする。一方、第２論理ブロック１４２の動作クロックの周波数及び電源電圧は可変であるとする。第２論理ブロック１４２の動作クロックの周波数は、周波数設定回路１２０によって設定される。
【００１８】
クロック信号出力回路１１０に第１論理ブロック１４１及び周波数設定回路１２０が接続される。そして、クロック信号出力回路１１０から出力された周波数ｆのクロック信号ＣＬ１が第１論理ブロック１４１及び周波数設定回路１２０に入力される。
【００１９】
周波数設定回路１２０は、分周器１２１及びセレクタ回路１２２を備える。周波数設定回路１２０に入力されたクロック信号ＣＬ１は、セレクタ回路１２２と分周器１２１に入力される。分周器１２１に入力されたクロック信号ＣＬ１は１／２分周される。そして、分周器１２１は周波数ｆ／２のクロック信号ＣＬ２をセレクタ回路１２２に出力する。セレクタ回路１２２は、第２論理ブロック１４２に設定する動作クロックの周波数に応じて、クロック信号ＣＬ１及びクロック信号ＣＬ２のいずれかを選択して遅延調節回路１３０に出力する。以下において、セレクタ回路１２２から出力される信号を「クロック信号ＣＬＳ」とする。以上に説明したように、周波数設定回路１２０は、周波数ｆのクロック信号ＣＬ１が伝搬する信号伝搬経路Ｐ１と、周波数ｆ／２のクロック信号ＣＬ２が伝搬する信号伝搬経路Ｐ２を有する。
【００２０】
遅延調節回路１３０に、周波数設定回路１２０、第２論理ブロック１４２、第１レベル調整回路１５１及び第２レベル調整回路１５２が接続される。そして、周波数設定回路１２０からクロック信号ＣＬＳ、第１レベル調整回路１５１からクロック信号ＣＬＫ１、第２レベル調整回路１５２からクロック信号ＣＬＫ２が、遅延調節回路１３０にそれぞれ入力される。遅延調節回路１３０において、クロック信号ＣＬＫ１及びクロック信号ＣＬＫ２が同期するように、クロック信号ＣＬＳの遅延時間が調節される。遅延調節回路１３０は、遅延時間を調節したクロック信号ＣＬＳ２を第２論理ブロック１４２に出力する。
【００２１】
第１レベル調整回路１５１及び第２レベル調整回路１５２は、第１論理ブロック１４１及び第２論理ブロック１４２から出力されるクロック信号のレベルが互いに同一になるようにそれぞれ調整する。そして、第１レベル調整回路１５１及び第２レベル調整回路１５２は、レベルを調整したクロック信号をクロック信号ＣＬＫ１及びクロック信号ＣＬＫ２として遅延調節回路１３０にそれぞれ出力する。
【００２２】
ここで、遅延調節回路１３０について説明する。図３に、遅延調節回路１３０の構成例を示す。図３に示した遅延調節回路１３０は、位相比較器１３１と遅延回路１３２を備える。クロック信号ＣＬＫ１の位相とクロック信号ＣＬＫ２の位相が位相比較器１３１によって比較される。クロック信号ＣＬＫ１の位相がクロック信号ＣＬＫ２の位相に比べて早い場合は、遅延回路１３２にクロック信号ＣＬＳが入力されてから出力されるまでの遅延時間を長く設定する。つまり、クロック信号ＣＬＫ１とクロック信号ＣＬＫ２の位相が合うように、クロック信号ＣＬＫ１の位相を遅らせる。一方、クロック信号ＣＬＫ１の位相がクロック信号ＣＬＫ２の位相に比べて遅い場合は、遅延回路１３２にクロック信号ＣＬＳが入力されてから出力されるまでの遅延時間を短く設定する。つまり、クロック信号ＣＬＫ１とクロック信号ＣＬＫ２の位相が合うように、クロック信号ＣＬＫ１の位相を進める。
【００２３】
図４に位相比較器１３１として遅延回路１３２と時間測定回路１３３を使用した例を示す。図５に例示した時間測定回路１３３は、複数の遅延抽出部１３１１〜１３１ｎ、複数のラッチ回路Ｌ１〜Ｌｎ、及び複数の出力部Ｔ１〜Ｔｎを備える（ｎ：２以上の整数）。
【００２４】
遅延抽出部１３１１〜１３１ｎは、ＮＡＮＤ回路Ｆ１〜Ｆｎ、ＮＡＮＤ回路Ｄ１〜Ｄｎ、インバータＥ１〜Ｅｎによってそれぞれ構成される。図５に示したように、遅延抽出部１３１１〜１３１ｎはカスケード接続され、例えば遅延抽出部１３１１の出力が遅延抽出部１３１２に入力される。ＮＡＮＤ回路Ｆ１〜Ｆｎの一方の入力端子に、インバータＩ１、Ｉ２を介してクロック信号ＣＬＫ１がそれぞれ入力される。ＮＡＮＤ回路Ｆ１の他方の入力端子はハイ（Ｈ）レベルに固定され、ＮＡＮＤ回路Ｆ２〜Ｆｎの他方の入力端子はロー（Ｌ）レベルに固定される。ＮＡＮＤ回路Ｆ１〜Ｆｎの出力はＮＡＮＤ回路Ｄ１〜Ｄｎの一方の入力端子にそれぞれ入力される。ＮＡＮＤ回路Ｄ１〜Ｄｎの出力は、インバータＥ１〜Ｅｎにそれぞれ入力される。インバータＥ１〜Ｅｎの出力は、ラッチ回路Ｌ１〜Ｌｎのデータ入力端子Ｄに入力される。又、インバータＥｎ以外の出力は、次段の遅延抽出部１３１２〜１３１ｎ内のＮＡＮＤ回路Ｄ２〜Ｄｎの他方の入力端子にそれぞれ入力される。ＮＡＮＤ回路Ｄ１の他方の入力端子はＨレベルに固定される。
【００２５】
ラッチ回路Ｌ１〜Ｌｎのクロック端子ＣＫにインバータＩ３、Ｉ４を介してクロック信号ＣＬＫ２がそれぞれ入力される。ラッチ回路Ｌ１〜Ｌｎの出力は、出力部Ｔ１〜Ｔｎにそれぞれ入力される。なお、ラッチ回路Ｌ１〜Ｌｎはクロック端子ＣＫの値がＨレベルの時に値をラッチして、Ｌレベルの時にはデータ入力端子Ｄの値を出力端子Ｑにスルーする。
【００２６】
出力部Ｔ１〜Ｔｎは、インバータＧ１〜Ｇｎ及びＯＲ回路Ｈ１〜Ｈｎをそれぞれ備える。ＯＲ回路Ｈ１〜Ｈｎの一方の入力端子にラッチ回路Ｌ１〜Ｌｎの出力がそれぞれ入力される。ＯＲ回路Ｈ１〜Ｈｎの他方の入力端子にインバータＧ１〜Ｇｎの出力がそれぞれ入力される。インバータＧ１〜Ｇｎ-1の入力端子に、ラッチ回路Ｌ２〜Ｌｎの出力がそれぞれ入力される。インバータＧｎの入力端子はＨレベルに固定される。
【００２７】
図５に示した時間測定回路にＨレベルのパルスとしてクロック信号ＣＬＫ１が入力されると、遅延抽出部１３１１のＮＡＮＤ回路Ｆ１の出力がＬレベルになる。そして、ＮＡＮＤ回路Ｄ１及びインバータＥ１をパルス信号が伝搬した後にインバータＥ１の出力がＨレベルからＬレベルに変化する。ここで、ＮＡＮＤ回路Ｄ１とインバータＥ１、ＮＡＮＤ回路Ｄ２とインバータＥ２、・・・・・、ＮＡＮＤ回路ＤｎとインバータＥｎの信号遅延時間の和がそれぞれ信号遅延時間ｔｄ１であるとする。つまり、ＮＡＮＤ回路Ｆ１の出力がＬレベルになってから信号遅延時間ｔｄ１後にインバータＥ１の出力がＬレベルになる。
【００２８】
更に、次段の遅延抽出部１３１２のＮＡＮＤ回路Ｄ２及びインバータＥ２をパルス信号が伝搬した後、つまり信号遅延時間ｔｄ１後にインバータＥ２の出力がＬレベルになる。同様にして、信号遅延時間ｔｄ１毎にインバータＥ１〜Ｅｎの出力が順次Ｌレベルに変化する。クロック信号ＣＬＫ２が入力されると、インバータＥ１〜Ｅｎの出力がラッチ回路Ｌ１〜Ｌｎにそれぞれラッチされる。つまり、ｉ番目の遅延抽出部１３１ｉまでパルスが通過したときにクロック信号ＣＬＫ２がＨレベルになると、インバータＥ１〜Ｅｉの出力がＬレベルになる（ｉ：２以上、ｎ以下の整数）。一方、インバータＥｉ+1〜Ｅｎの出力はＨレベルである。その結果、出力部Ｔ１〜Ｔｎの出力ＤＴ１〜ＤＴｎのうち、ｉ番目の出力部Ｔｉの出力ＤＴｉのみがＨレベルになる。即ち、図５に示した時間測定回路は、クロック信号ＣＬＫ１が入力されてからクロック信号ＣＬＫ２が入力されるまでの時間を信号遅延時間ｔｄ１を単位として測定する。
【００２９】
出力部Ｔ１〜Ｔｎの出力ＤＴ１〜ＤＴｎは、例えば図６に示した構成の遅延回路にそれぞれ入力される。図６に示した遅延回路は、遅延設定部１３２１〜１３２ｎを備える。図６に示したように遅延設定部１３２１〜１３２ｎはカスケード接続され、例えば遅延設定部１３２２の出力が遅延設定部１３２１に入力される。遅延設定部１３２１〜１３２ｎは、ＮＡＮＤ回路Ａ１〜Ａｎ、インバータＢ１〜Ｂｎ、及びＮＡＮＤ回路Ｃ２〜Ｃｎによってそれぞれ構成される。
【００３０】
ＮＡＮＤ回路Ｃ２〜Ｃｎの一方の入力端子に、インバータＩ５、Ｉ６を介してクロック信号ＣＬＳがそれぞれ入力される。ＮＡＮＤ回路Ｃ２〜Ｃｎの他方の入力端子に、図５に示した出力部Ｔ１〜Ｔｎの出力ＤＴ１〜ＤＴｎがそれぞれ入力される。ＮＡＮＤ回路Ｃ２〜Ｃｎの出力はＮＡＮＤ回路Ａ１〜Ａｎの一方の入力端子にそれぞれ入力される。ＮＡＮＤ回路Ａ１〜Ａｎの出力は、インバータＢ１〜Ｂｎにそれぞれ入力される。インバータＢ２〜Ｂｎの出力は、次段の遅延設定部１３２１〜１３２ｎ-1内のＮＡＮＤ回路Ａ２〜Ａｎ-1の他方の入力端子にそれぞれ入力される。インバータＢ１は、インバータＩ７を介してクロック信号ＣＬＳ２を出力する。
【００３１】
ｉ番目の出力部Ｔｉの出力ＤＴｉがＨレベルである場合、クロック信号ＣＬＳは遅延設定部１３２ｉ内のＮＡＮＤ回路Ｃｉ、ＮＡＮＤ回路Ａｉ及びインバータＢｉを伝搬して遅延設定部１３２ｉ-1に入力される。そして、クロック信号ＣＬＳは遅延設定部１３２ｉ-1〜１３２１を順次伝搬して、インバータＩ７から出力される。つまり、図６に示した遅延回路は、入力されたクロック信号ＣＬＳを、遅延設定部１３２１〜１３２ｎにおけるクロック信号ＣＬＳの遅延時間を単位とした遅延時間後に出力する。遅延設定部１３２ｉにおけるクロック信号ＣＬＳの遅延時間は、ＮＡＮＤ回路Ａｉ及びインバータＢｉの信号遅延時間によって決まる。ここで、ＮＡＮＤ回路ＡｉとインバータＢｉの信号遅延時間の和を信号遅延時間ｔｄ２とする。
【００３２】
したがって、信号遅延時間ｔｄ１と信号遅延時間ｔｄ２を互いに等しくすることによって、クロック信号ＣＬＫ１及びクロック信号ＣＬＫ２が同期するように、クロック信号ＣＬＳの遅延時間が調節できる。
【００３３】
以下に、図１に示したクロック配線装置による半導体集積回路の自動クロック配線方法の例を、図７に示すフローチャートを用いて説明する。
【００３４】
（イ）ステップＳ１１０において、図１に示す入力装置３を介して、半導体集積回路の回路情報が回路情報記憶領域２１に格納される。
【００３５】
（ロ）ステップＳ１２０において、回路素子配置部１０が、回路情報を回路情報記憶領域２１から読み出す。そして、回路素子配置部１０は、例えば図２に示した半導体集積回路の回路情報に基づき、回路素子の配置を行う。回路素子の配置情報は、素子配置記憶領域２２に格納される。
【００３６】
（ハ）ステップＳ１３０において、算出部１１１が、回路素子の配置情報を素子配置記憶領域２２から読み出す。そして、算出部１１１は、回路素子の配置情報に基づき、周波数設定回路１２０内の信号伝搬経路Ｐ１の信号遅延時間ｔｐ１及び信号伝搬経路Ｐ２の信号遅延時間ｔｐ２をそれぞれ算出する。ここで、信号伝搬経路Ｐ１の配線は、例えばクロック信号出力回路１１０とセレクタ回路１２２を接続する配線が最短になるように配線されると仮定する。同様に、信号伝搬経路Ｐ２の配線は、例えばクロック信号出力回路１１０、分周器１２１及びセレクタ回路１２２を接続する配線が最短になるように配線されると仮定する。尚、信号遅延時間ｔｐ１及び信号遅延時間ｔｐ２の算出には、入力ベクタを使用する回路シミュレーション、或いは入力ベクタを使用しない静的遅延時間解析を用いることが可能である。算出された信号遅延時間ｔｐ１及び信号遅延時間ｔｐ２は、遅延時間記憶領域２３に格納される。
【００３７】
（ニ）ステップＳ１４０において、変更部１１２が、回路素子の配置情報を素子配置記憶領域２２から、信号遅延時間ｔｐ１及び信号遅延時間ｔｐ２を遅延時間記憶領域２３からそれぞれ読み出す。そして、変更部１１２は、信号遅延時間ｔｐ１と信号遅延時間ｔｐ２を互いに等しくなるように、回路変更を行う。例えば、図８に示すように、信号伝搬経路Ｐ１の途中にバッファ回路１２５が挿入される。遅延時間調整部１１によって信号遅延時間を調整された新たな回路素子の配置情報は、信号遅延時間を調整される前の回路素子の配置情報と置き換えて素子配置記憶領域２２に格納される。
【００３８】
（ホ）ステップＳ１５０において、禁止指定部１２が、回路素子の配置情報を素子配置記憶領域２２から読み出す。そして禁止指定部１２は、信号伝搬経路Ｐ１、信号伝搬経路Ｐ２、セレクタ回路１２２から遅延調節回路１３０までの信号伝搬経路、セレクタ回路１２２及び遅延調節回路１３０における回路変更を禁止する指定を行う。回路変更を禁止する指定がされた新たな回路素子の配置情報は、禁止指定がされる前の回路素子の配置情報と置き換えて素子配置記憶領域２２に格納される。
【００３９】
（ヘ）ステップＳ１６０において、クロックツリー合成部１３が、回路素子の配置情報を素子配置記憶領域２２から読み出す。そしてクロックツリー合成部１３は、クロック信号出力回路１１０を始点に、第１論理ブロック１４１内及び第２論理ブロック１４２内のクロック同期型記憶素子を対象にＣＴＳ処理を行う。クロック同期型記憶素子は、フリップフロップ等である。ＣＴＳ処理では、クロック信号出力回路１１０から各クロック同期型記憶素子までの信号遅延時間が同一になるように回路変更され、例えばバッファ回路が追加される。ただし、回路変更を禁止する指定がされている信号伝搬経路及び回路にはバッファ回路は追加されない。したがって、バッファ回路の追加が可能なのは、図９に示した回路領域Ｒ１及び回路領域Ｒ２に含まれる信号伝搬経路である。図９は、第１論理ブロック１４１の前段にバッファ回路１６１が挿入され、第２論理ブロック１４２の前段にバッファ回路１６２が挿入された例を示す。尚、クロック信号出力回路１１０から第２論理ブロック１４２までの信号伝搬経路は、信号伝搬経路Ｐ１又は信号伝搬経路Ｐ２の２通りあるが、ＣＴＳ処理の際にはどちらの信号伝搬経路を選択してもよい。信号伝搬経路Ｐ１の信号遅延時間ｔｐ１と信号伝搬経路Ｐ２の信号遅延時間ｔｐ２は同一になるようにステップＳ１４０において調整済みだからである。ＣＴＳ処理された半導体集積回路のレイアウト情報は、レイアウト情報記憶領域２４に格納される。
【００４０】
（ト）ステップＳ１７０において、算出部１１１が、レイアウト情報をレイアウト情報記憶領域２４から読み出す。そして、算出部１１１は、レイアウト情報に基づき、以下の信号伝搬経路Ａにおける信号遅延時間ＴｄA及び信号伝搬経路Ｂにおける信号遅延時間ＴｄBをそれぞれ算出する。
【００４１】
信号伝搬経路Ａ：クロック信号出力回路１１０〜第１論理ブロック１４１〜第１レベル調整回路１５１〜遅延調節回路１３０
信号伝搬経路Ｂ：クロック信号出力回路１１０〜遅延調節回路１３０〜第２論理ブロック１４２〜第２レベル調整回路１５２〜遅延調節回路１３０
尚、信号遅延時間ｔｐ１と信号遅延時間ｔｐ２は同一になるように調整済みであるため、信号遅延時間ＴｄBを算出する場合に、信号伝搬経路Ｐ１又は信号伝搬経路Ｐ２のどちらを選択してもよい。算出された信号遅延時間ＴｄA及び信号遅延時間ＴｄBは、遅延時間記憶領域２３に格納される。
【００４２】
（チ）ステップＳ１８０において、変更部１１２が、レイアウト情報をレイアウト情報記憶領域２４から、信号遅延時間ＴｄA及び信号遅延時間ＴｄBを遅延時間記憶領域２３からそれぞれ読み出す。そして、変更部１１２は、信号遅延時間ＴｄAと信号遅延時間ＴｄBを互いに等しくなるように、回路変更を行う。このとき、第２論理ブロック１４２の電源電圧を初期値に設定し、遅延調節回路１３０を第２論理ブロック１４２の電源電圧に対応した遅延値に設定する。電源電圧の初期値とは、第２論理ブロック１４２の負荷に応じて変化させる前の、例えば第１論理ブロック１４１等の回路に設定される電源電圧である。図１０に、第１レベル調整回路１５１と遅延調節回路１３０の間にバッファ回路１７１が挿入された例を示す。遅延時間調整部１１によって信号遅延時間を調整された新たなレイアウト情報は、信号遅延時間を調整される前のレイアウト情報と置き換えてレイアウト情報記憶領域２４に格納される。
【００４３】
以上に説明したように、本発明の第１の実施の形態に係るクロック配線装置により、先ず、第２論理ブロック１４２の電源電圧の変化に起因するクロック信号の遅延時間を遅延調節回路１３０によって調整できない周波数設定回路１２０のクロック信号の遅延時間が調整される。その後、クロック調整済みの回路部分の回路変更を禁止して、遅延調節回路１３０によってクロック信号の遅延調整が可能な回路部分のクロック信号の遅延時間が調整される。その結果、負荷に応じてクロック周波数及び電源電圧を変化させる論理ブロックを含む半導体集積回路におけるクロックスキューを低減することができる。
【００４４】
なお、上記の説明においては、ステップＳ１６０においてクロック信号出力回路１１０から第１論理ブロック１４１及び第２論理ブロック１４２までのＣＴＳ処理を行い、ステップＳ１７０及びステップＳ１８０において信号伝搬経路Ａ及び信号伝搬経路Ｂの信号遅延時間を調整する例を示した。つまり、ステップＳ１７０及びステップＳ１８０においては、第１論理ブロック１４１及び第２論理ブロック１４２から遅延調節回路１３０までの信号遅延時間を調整している。しかし、ステップＳ１６０と、ステップＳ１７０及びステップＳ１８０とでそれぞれ行っている信号遅延時間の調整を１回のＣＴＳ処理で行ってもよい。即ち、クロックツリー合成部１３がクロック信号出力回路１１０から遅延調節回路１３０までの信号遅延時間を一度のＣＴＳ処理で調整してもよい。
【００４５】
信号遅延時間ｔｐ１、ｔｐ２或いは信号遅延時間ＴｄA、ＴｄBを調整するためにバッファ回路が追加される。そのため、クロック配線が配置されると予想される領域に、予めバッファ回路を用意しておいてもよい。その結果、後からバッファ回路を追加しようとした場合に、バッファ回路を配置するスペースがないという事態を避けることができる。又、すべての配線処理が終了した後に、実配線の信号遅延情報に基づき、バッファ回路を挿入してもよい。複数のバッファ回路を直列接続した回路を用意しておき、必要な段数分のバッファ回路を使用してもよい。
【００４６】
＜変形例＞
図１１に本発明の第１の実施の形態の変形例に係るクロック配線装置を示す。図１１に示すクロック配線装置は、判定部１４及び許容値記憶領域２５を更に備える点が図１と異なる。判定部１４は、論理ブロック内のクロックスキューが予め設定された許容値を満足するか否かを判定する。許容値記憶領域２５に、設定されたクロックスキューの許容値が格納される。許容値は、半導体集積回路に含まれる複数の論理ブロック間のクロックスキュー差を低減するように設定される。
【００４７】
例えば図２に示した第１論理ブロック１４１内のクロックスキューと第２論理ブロック内のクロックスキューの差が大きい場合、上記で説明した自動クロック配線方法で第１論理ブロック１４１と第２論理ブロック１４２間のクロックスキューを低減するための信号遅延時間の調整やＣＴＳ処理に要する時間が増大する場合がある。そのため、第１論理ブロック１４１内及び第２論理ブロック内のクロックスキューを予め設定された許容値以下にした後にクロック配線を行うことが、半導体集積回路全体のクロックスキューを低減するために効果的である。
【００４８】
以下に、図１１に示したクロック配線装置によって、論理ブロック内のクロックスキューが設定された許容値を満足するか否かを判定して、論理ブロック間のクロックスキューを低減する方法を、図１２に示すフローチャートを用いて説明する。
【００４９】
（イ）ステップＳ１００において、図１１に示す入力装置３を介して、論理ブロック内のクロックスキューの許容値が許容値記憶領域２５に格納される。更に、ステップＳ１１０において、例えば図２に示した半導体集積回路の回路情報が回路情報記憶領域２１に格納される。そして、ステップＳ１２０において、回路素子配置部１０が、回路情報を回路情報記憶領域２１から読み出す。そして、回路素子配置部１０は、半導体集積回路の回路情報に基づき、回路素子の配置を行う。回路素子の配置情報は、素子配置記憶領域２２に格納される。
【００５０】
（ロ）ステップＳ１２１において、クロックツリー合成部１３が、回路素子の配置情報を素子配置記憶領域２２から読み出す。そしてクロックツリー合成部１３は、図２に示した第１論理ブロック１４１内及び第２論理ブロック１４２内のクロック同期型記憶素子を対象にＣＴＳ処理を行う。ＣＴＳ処理された第１論理ブロック１４１及び第２論理ブロック１４２のレイアウト情報は、レイアウト情報記憶領域２４に格納される。
【００５１】
（ハ）ステップＳ１２２において、判定部１４が第１論理ブロック１４１のレイアウト情報及び第２論理ブロック１４２のレイアウト情報をレイアウト情報記憶領域２４から、クロックスキューの許容値を許容値記憶領域２５からそれぞれ読み出す。そして、判定部１４は、第１論理ブロック１４１内のクロックスキュー及び第２論理ブロック１４２内のクロックスキューが許容値を満足するか否かを判定する。第１論理ブロック１４１及び第２論理ブロック１４２のクロックスキューが共に許容値を満足する場合は、ステップＳ１３０に進み、図７で説明したのと同様の処理を行う。ただし、図１２に示したステップＳ１２１においてＣＴＳ処理が終了しているため、図７に示したステップＳ１６０におけるＣＴＳ処理は実行されない。一方、第１論理ブロック１４１及び第２論理ブロック１４２のクロックスキューのどちらか一方でも許容値を満足しない場合は、ステップＳ１２３に進む。
【００５２】
（ニ）ステップＳ１２３において、クロックツリー合成部１３がＣＴＳ処理の設定を変更する。変更する設定は、例えばＣＴＳ処理において信号伝搬経路に挿入されるバッファ回路の段数の設定、バッファ回路のファンアウト数の設定等である。その後、ステップＳ１２１に戻る。
【００５３】
図１１に示したクロック配線装置では、各論理ブロック内のクロックスキューを許容値以下にした後に半導体集積回路のクロック配線を行う。そのため、本発明の第1の実施の形態の変形例に係るクロック配線装置によれば、半導体集積回路の各論理ブロック内のクロックスキューの差が大きい場合であっても、効率的に短時間で半導体集積回路全体のクロックスキューを低減することができる。
【００５４】
（第２の実施の形態）
本発明の第２の実施の形態に係わるクロック配線装置は、図１３に示すように、固定遅延回路調整部１５を更に備える点が図１と異なる。その他の構成については、図１に示す第１の実施の形態と同様である。固定遅延回路調整部１５は、半導体集積回路に含まれる複数の固定遅延回路における信号遅延時間をそれぞれ調整する。
【００５５】
固定遅延回路調整部１５は、遅延算出部１５０１及び回路変更部１５０２を備える。遅延算出部１５０１は、固定遅延回路における信号遅延時間を算出する。回路変更部１５０２は、バッファ回路を挿入する等して固定遅延回路の変更を行う。
【００５６】
図１３に示したクロック配線装置による半導体集積回路の自動クロック配線方法を、図１４に示した半導体集積回路を用いて例示的に説明する。そのため、先ず図１４に示した半導体集積回路について説明する。
【００５７】
図２に示した周波数設定回路１２０において設定可能な周波数は周波数ｆ及び周波数ｆ／２の２通りであったが、図１４に示した半導体集積回路は、ｋ種類の動作クロックの周波数が設定できる周波数設定回路１２０Ａを備える（ｋ：自然数）。更に、図１４に示した半導体集積回路は、ｍ種類の信号遅延時間を設定できる遅延設定回路１８０を備える点が、図２の半導体集積回路と異なる（ｍ：自然数）。図１４に示すように、遅延調節回路１３０は遅延設定回路１８０に含まれる。
【００５８】
動作クロックの周波数及び電源電圧が可変である論理ブロックであっても、動作クロックの周波数及び電源電圧を固定して使用される場合がある。図１４に示した半導体集積回路は、第２論理ブロック１４２の動作クロックの周波数及び電源電圧を固定して使用する場合は、遅延調節回路１３０を使用する必要がない。遅延調節回路１３０を使用しないことより、遅延調節回路１３０で消費する電力を削減することができる。図１４に示した半導体集積回路では、第２論理ブロック１４２の動作クロックの周波数及び電源電圧に応じて、周波数設定回路１２０Ａ及び遅延設定回路１８０において動作クロックの周波数及び信号遅延時間がそれぞれ設定される。
【００５９】
クロック信号出力回路１１０に第１論理ブロック１４１及び周波数設定回路１２０Ａが接続される。そして、クロック信号出力回路１１０から出力された周波数ｆのクロック信号ＣＬ１が第１論理ブロック１４１及び周波数設定回路１２０Ａに入力される。
【００６０】
周波数設定回路１２０Ａは、分周器１２１２〜１２１ｋ、セレクタ回路１２２を備える。周波数設定回路１２０Ａに入力されたクロック信号ＣＬ１は、セレクタ回路１２２と分周器１２１２〜１２１ｋに入力される。分周器１２１２〜１２１ｋに入力されたクロック信号ＣＬ１は、１／２〜１／２k-1にそれぞれ分周される。そして分周器１２１２〜１２１ｋは、周波数ｆを１／２〜１／２k-1に分周したクロック信号ＣＬ２〜ＣＬｋをそれぞれ出力する。セレクタ回路１２２は、第２論理ブロック１４２に設定される動作クロックの周波数に応じて、クロック信号ＣＬ１〜ＣＬｋのいずれかを選択して、クロック信号ＣＬＳとして遅延設定回路１８０に出力する。以上に説明したように、周波数設定回路１２０Ａは、クロック信号ＣＬ１〜クロック信号ＣＬｋがそれぞれ伝搬する信号伝搬経路Ｐ１〜Ｐｋを有する。
【００６１】
遅延設定回路１８０は、固定遅延回路１８１〜１８ｍ及び遅延調節回路１３０を有する。固定遅延回路１８１〜１８ｍにクロック信号ＣＬＳがそれぞれ入力される。ここで、第２論理ブロック１４２の電源電圧は電圧Ｖ１〜Ｖｍのｍ通りに設定される場合があり、図１４に示した半導体集積回路が正常に動作するために固定遅延回路１８１〜１８ｍは以下のように設定されるとする。即ち、第２論理ブロック１４２が最も低い電圧Ｖ１に設定された場合に、固定遅延回路１８１を伝搬したクロック信号ＣＬＳが第２論理ブロック１４２に入力される。第２論理ブロック１４２が２番目に低い電圧Ｖ２に設定された場合に、固定遅延回路１８２を伝搬したクロック信号ＣＬＳが第２論理ブロック１４２に入力される。そして、第２論理ブロック１４２がｍ番目に低い電圧Ｖｍに設定された場合、つまり最も高い電圧Ｖｍに設定された場合に、固定遅延回路１８ｍを伝搬したクロック信号ＣＬＳが第２論理ブロック１４２に入力される。
【００６２】
固定遅延回路１８１の信号遅延時間は一定値、例えば第２論理ブロック１４２が最も低い電源電圧で動作する場合の遅延調節回路１３０の信号遅延時間に設定される。固定遅延回路１８１〜１８ｍの出力は、セレクタ回路１９０に入力される。セレクタ回路１９０は、第２論理ブロック１４２に設定される電源電圧に応じて、固定遅延回路１８１〜１８ｍのいずれかの出力を選択して、第２論理ブロック１４２に出力する。
【００６３】
遅延調節回路１３０に、周波数設定回路１２０Ａ、第１レベル調整回路１５１及び第２レベル調整回路１５２が接続される。そして、周波数設定回路１２０Ａからクロック信号ＣＬＳ、第１レベル調整回路１５１からクロック信号ＣＬＫ１、第２レベル調整回路１５２からクロック信号ＣＬＫ２が、遅延調節回路１３０にそれぞれ入力される。遅延調節回路１３０の出力はセレクタ回路１９０に入力される。そのため、遅延調節回路１３０においてクロック信号ＣＬＳの信号遅延時間を調節した後、クロック信号ＣＬＳ２を第２論理ブロック１４２に出力することも可能である。
【００６４】
第１レベル調整回路１５１及び第２レベル調整回路１５２は、第１論理ブロック１４１及び第２論理ブロック１４２から出力されるクロック信号のレベルが互いに同一になるようにそれぞれ調整する。そして、第１レベル調整回路１５１及び第２レベル調整回路１５２は、レベルを調整したクロック信号をクロック信号ＣＬＫ１及びクロック信号ＣＬＫ２として遅延調節回路１３０にそれぞれ出力する。
【００６５】
以下に、図１３に示したクロック配線装置による半導体集積回路の自動クロック配線方法の例を、図１５に示すフローチャートを用いて説明する。
【００６６】
（イ）ステップＳ１１０〜Ｓ１２０において、例えば図１４に示した半導体集積回路の回路情報が図１３に示す回路情報記憶領域２１に格納される。そして回路素子配置部１０が、半導体集積回路の回路情報に基づき、回路素子の配置を行う。回路素子の配置情報は、素子配置記憶領域２２に格納される。
【００６７】
（ロ）ステップＳ１３０において、算出部１１１が、回路素子の配置情報を素子配置記憶領域２２から読み出す。そして、算出部１１１は、回路素子の配置情報に基づき、周波数設定回路１２０Ａ内の信号伝搬経路Ｐ１〜Ｐｋの信号遅延時間ｔｐ１〜ｔｐｋをそれぞれ算出する。ここで、信号伝搬経路Ｐ１〜Ｐｋの配線は、クロック信号出力回路１１０、分周器１２１２〜１２１ｋ、及びセレクタ回路１２２に接続されている。算出された信号遅延時間ｔｐ１〜ｔｐｋは、遅延時間記憶領域２３に格納される。
【００６８】
（ハ）ステップＳ１４０において、変更部１１２が、回路素子の配置情報を素子配置記憶領域２２から、信号遅延時間ｔｐ１〜ｔｐｋを遅延時間記憶領域２３からそれぞれ読み出す。そして、変更部１１２は、信号遅延時間ｔｐ１〜ｔｐｋが互いに等しくなるように、バッファ回路を信号伝搬経路Ｐ１〜Ｐｋに挿入する等の回路変更を行う。遅延時間調整部１１によって信号遅延時間を調整された新たな回路素子の配置情報は、素子配置記憶領域２２に格納される。
【００６９】
（ニ）ステップＳ１５０において、禁止指定部１２が、回路素子の配置情報を素子配置記憶領域２２から読み出す。そして禁止指定部１２は、信号伝搬経路Ｐ１〜Ｐｋ、セレクタ回路１２２、遅延調節回路１３０及び遅延設定回路１８０における回路変更を禁止する指定を行う。回路変更を禁止する指定がされた新たな回路素子の配置情報は、素子配置記憶領域２２に格納される。
【００７０】
（ホ）ステップＳ１６０において、クロックツリー合成部１３が、回路素子の配置情報を素子配置記憶領域２２から読み出す。そしてクロックツリー合成部１３は、クロック信号出力回路１１０を始点に、第１論理ブロック１４１内及び第２論理ブロック１４２内のクロック同期型記憶素子を対象にＣＴＳ処理を行う。ここで、クロック信号出力回路１１０から第２論理ブロック１４２までの信号伝搬経路は、固定遅延回路１８１を通過するように設定する。ＣＴＳ処理では、クロック信号出力回路１１０から各クロック同期型記憶素子までの信号遅延時間が同一になるように回路変更され、例えばバッファ回路が追加される。ただし、回路変更を禁止する指定がされている信号伝搬経路及び回路にはバッファ回路は追加されない。したがって、バッファ回路の追加等が可能なのは、図１４に示したバッファ回路１２３Ａの出力から第１論理ブロック１４１内の各クロック同期型記憶素子までの信号伝搬経路、及びセレクタ回路１９０の出力から第２論理ブロック１４２内の各クロック同期型記憶素子までの信号伝搬経路である。尚、周波数設定回路１２０Ａ内には信号伝搬経路Ｐ１〜Ｐｋのｋ通りの信号伝搬経路があるが、信号伝搬経路Ｐ１〜Ｐｋの信号遅延時間ｔｐ１〜ｔｐｋは同一になるように調整済みである。そのため、ＣＴＳ処理の際には信号伝搬経路Ｐ１〜Ｐｋのうちのどの信号伝搬経路を選択してもよい。ＣＴＳ処理された半導体集積回路のレイアウト情報は、レイアウト情報記憶領域２４に格納される。
【００７１】
（ヘ）ステップＳ１６１において、算出部１１１が、レイアウト情報をレイアウト情報記憶領域２４から読み出す。そして、算出部１１１は、レイアウト情報に基づき、第２論理ブロック１４２の電源電圧が電圧Ｖ１〜Ｖｍにそれぞれ設定された場合のセレクタ回路１９０の出力から第２レベル調整回路１５２までの信号遅延時間ｔｖ１〜ｔｖｍをそれぞれ算出する。算出された信号遅延時間ｔｖ１〜ｔｖｍは、遅延時間記憶領域２３に格納される。
【００７２】
（ト）ステップＳ１６２において、変更部１１２が、レイアウト情報をレイアウト情報記憶領域２４から、信号遅延時間ｔｖ１〜ｔｖｍを遅延時間記憶領域２３からそれぞれ読み出す。そして、変更部１１２は、固定遅延回路１８１〜１８ｍにおける信号遅延時間ｔｘ１〜ｔｘｍが式（１）をそれぞれ満足するように、バッファ回路を固定遅延回路１８１〜１８ｍに挿入する等の回路変更を行う。
【００７３】
ｔｘｊ＝ｔｘ１＋（ｔｖｊ−ｔｖ１）      ・・・・・  （１）
ここで、ｊ＝１〜ｍである。ただし、既に述べたように、固定遅延回路１８１における信号遅延時間ｔｘ１は一定の時間、例えば第２論理ブロック１４２が最も低い電源電圧で動作する場合の遅延調節回路１３０の信号遅延時間に設定されている。信号遅延時間ｔｘ１〜ｔｘｍが式（１）を満足すれば、第２論理ブロック１４２に設定される電源電圧が電圧Ｖ１〜Ｖｍのいずれであっても、電圧Ｖ１〜Ｖｍに応じた固定遅延回路１８１〜１８ｍを選択することにより、固定遅延回路１８１〜１８ｍの入力から第２レベル調整回路１５２までの信号遅延時間を互いに等しくできる。信号遅延時間ｔｘ１〜ｔｘｍが調整された新たな半導体集積回路のレイアウト情報は、レイアウト情報記憶領域２４に格納される。
【００７４】
（チ）ステップＳ１７０において、算出部１１１が、レイアウト情報をレイアウト情報記憶領域２４から読み出す。そして、算出部１１１は、レイアウト情報に基づき、以下の信号伝搬経路Ａの信号遅延時間ＴｄA及び信号伝搬経路Ｂの信号遅延時間ＴｄBをそれぞれ算出する。
【００７５】
信号伝搬経路Ａ：クロック信号出力回路１１０〜第１論理ブロック１４１〜第１レベル調整回路１５１〜遅延調節回路１３０
信号伝搬経路Ｂ：クロック信号出力回路１１０〜周波数設定回路１２０Ａ〜遅延設定回路１８０〜第２論理ブロック１４２〜第２レベル調整回路１５２〜遅延調節回路１３０
尚、信号遅延時間ｔｐ１〜ｔｐｋは同一になるように調整済みであるため、信号伝搬経路Ｂを設定する際に、信号伝搬経路Ｐ１〜Ｐｋのどの信号伝搬経路を選択してもよい。又、第２論理ブロック１４２に設定される電源電圧に応じて固定遅延回路１８１〜１８ｍからひとつの固定遅延回路を選択する。ただし、信号伝搬経路Ｂが遅延調節回路１３０を含む場合は、第２論理ブロック１４２の電源電圧を初期値に設定し、遅延調節回路１３０を第２論理ブロック１４２の電源電圧に対応した遅延値に設定する。算出された信号遅延時間ＴｄA及び信号遅延時間ＴｄBは、遅延時間記憶領域２３に格納される。
【００７６】
（リ）ステップＳ１８０において、図１０を用いて説明したのと同様にして、変更部１１２が、信号遅延時間ＴｄAと信号遅延時間ＴｄBを互いに等しくなるように、回路変更を行う。信号遅延時間ＴｄA、ＴｄBを調整された新たなレイアウト情報は、レイアウト情報記憶領域２４に格納される。
【００７７】
上記の説明では、ステップＳ１６１においてセレクタ回路１９０の出力から第２レベル調整回路１５２までの信号遅延時間を算出する例を説明した。しかし、例えば、セレクタ回路１９０の出力から第２レベル調整回路１５２までの距離と、セレクタ回路１９０の出力から第２論理ブロック１４２内のクロック同期型記憶素子までの距離の差が大きい場合には、セレクタ回路１９０の出力から第２論理ブロック１４２内のすべてのクロック同期型記憶素子までの信号遅延時間の平均値を算出してもよい。
【００７８】
以上に説明したように、本発明の第２の実施の形態に係るクロック配線装置では、第２論理ブロック１４２に設定される電源電圧に応じて選択される固定遅延回路１８１〜１８ｍにおける信号遅延時間ｔｘ１〜ｔｘｍを、第２論理ブロックに設定される電源電圧に応じて調整する。その結果、固定遅延回路１８１〜１８ｍを含む半導体集積回路におけるクロックスキューを低減することができる。他は、第１の実施の形態と実質的に同様であり、重複した記載を省略する。
【００７９】
（その他の実施の形態）
上記のように、本発明は第１及び第２の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００８０】
既に述べた第１及び第２の実施の形態の説明においては、ステップＳ１３０において、算出部１１１が、回路素子の配置情報に基づき周波数設定回路１２０、１２０Ａ内の各信号伝搬経路の信号遅延時間を算出する例を示した。しかし、例えば周波数設定回路１２０、１２０Ａ内の概略配線又は詳細配線を行って各信号伝搬経路の信号遅延時間を算出してもよい。
【００８１】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００８２】
【図１】本発明の第１の実施の形態に係るクロック配線装置の構成を示す模式図である。
【図２】本発明の第１の実施の形態に係るクロック配線装置によってクロック配線が行われる半導体集積回路の例を示す模式図である。
【図３】図２に示した半導体集積回路が備える遅延調整回路の例を示す模式図である。
【図４】図３に示した遅延調整回路の位相比較器の例を示す模式図である。
【図５】図３に示した遅延調整回路の時間測定回路の例を示す模式図である。
【図６】図３に示した遅延調整回路の遅延回路の例を示す模式図である。
【図７】本発明の第１の実施の形態に係るクロック配線方法を説明するためのフローチャートである。
【図８】本発明の第１の実施の形態に係るクロック配線方法によってクロック配線が行われた半導体集積回路の模式図である（その１）。
【図９】本発明の第１の実施の形態に係るクロック配線方法によってクロック配線が行われた半導体集積回路の模式図である（その２）。
【図１０】本発明の第１の実施の形態に係るクロック配線方法によってクロック配線が行われた半導体集積回路の模式図である（その３）。
【図１１】本発明の第１の実施の形態の変形例に係るクロック配線装置の構成を示す模式図である。
【図１２】本発明の第１の実施の形態の変形例に係るクロック配線方法を説明するためのフローチャートである。
【図１３】本発明の第２の実施の形態に係るクロック配線装置の構成を示す模式図である。
【図１４】本発明の第２の実施の形態に係るクロック配線装置によってクロック配線が行われる半導体集積回路の例を示す模式図である。
【図１５】本発明の第２の実施の形態に係るクロック配線方法を説明するためのフローチャートである。
【符号の説明】
【００８３】
１０…回路素子配置部
１１…遅延時間調整部
１１１…算出部
１１２…変更部
１２…禁止指定部
１３…クロックツリー合成部
１４…判定部
１５…固定遅延回路調整部
２１…回路情報記憶領域
２２…素子配置記憶領域
２３…遅延時間記憶領域
２４…レイアウト情報記憶領域
２５…許容値記憶領域
【図１】
2006293856.tif 000003
【図２】
2006293856.tif 000004
【図３】
2006293856.tif 000005
【図４】
2006293856.tif 000006
【図５】
2006293856.tif 000007
【図６】
2006293856.tif 000008
【図７】
2006293856.tif 000009
【図８】
2006293856.tif 000010
【図９】
2006293856.tif 000011
【図１０】
2006293856.tif 000012
【図１１】
2006293856.tif 000013
【図１２】
2006293856.tif 000014
【図１３】
2006293856.tif 000015
【図１４】
2006293856.tif 000016
【図１５】
2006293856.tif 000017