(57)【要約】【課題】  特にシステムＬＳＩなどにおいて、高速化を実現することが可能な半導体装置の設計方法および半導体装置を提供する。【解決手段】  各機能ブロック１０ａ，１０ｂのそれぞれにクロックパルス発生器１１ａ，１１ｂより複数のクロック信号が供給され、機能ブロック１０ａ，１０ｂ単位で階層化された半導体チップのネットリストに対し、機能ブロック１０ａ，１０ｂ単位の階層を展開し、同一クロック信号が供給される回路を抽出および階層化することで、クロックドメイン単位の回路ブロック１２ａ，１２ｂを含むネットリストを構築し、回路ブロック１２ａ，１２ｂの単位で半導体チップ内の配置配線を行う。これによって、１１ａ，１１ｂよりのクロックレイテンシが小さくなり、高速化が可能になる。【選択図】  図１
2006049638.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の機能ブロック単位の階層を含む半導体チップの回路記述データに対し、同一クロック信号に接続される順序回路と前記順序回路に接続される組み合わせ回路とを抽出するステップと、
前記抽出した順序回路と前記抽出した組み合わせ回路を一つの回路ブロックとして階層化し、前記階層化された回路ブロックを含む回路記述データを構築するステップと、
前記階層化された回路ブロックを単位として前記半導体チップ内の概略配置及び、配置配線を行うステップとを実行させることを特徴とする半導体装置の設計方法。
【請求項２】
コンピュータに、
複数の機能ブロック単位の階層を含む半導体チップの回路記述データに対し、前記機能ブロック単位の階層を展開し、前記展開した階層を含まない回路記述データを生成するステップと、
前記展開した階層を含まない回路記述データを検索し、同一クロック信号に接続される順序回路と前記順序回路に接続される組み合わせ回路とを抽出するステップと、
前記抽出した順序回路と前記抽出した組み合わせ回路を一つの回路ブロックとして階層化し、前記階層化された回路ブロックを含む回路記述データを構築するステップと、
前記階層化された回路ブロックを単位として前記半導体チップ内の概略配置及び、配置配線を行うステップとを実行させることを特徴とする半導体装置の設計方法。
【請求項３】
請求項１記載の半導体装置の設計方法において、
コンピュータに、さらに、
前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック毎にゲーティッドクロックを使用している回路を抽出し、前記抽出した回路に属性を付加するステップと、
前記属性が付加された回路が近接配置となるように、前記階層化された回路ブロック内の配置配線を行わせるステップとを実行させることを特徴とする半導体装置の設計方法。
【請求項４】
請求項１または２記載の半導体装置の設計方法において、
コンピュータに、さらに、
前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック間で、相互に異なるクロック周波数を用いてデータ転送を行なっているデータパスを抽出するステップと、
前記抽出したデータパスに対して、異なるクロック周波数間のデータ転送を確実に行う機能を備えたブリッジ回路を付加するステップと、
前記ブリッジ回路が付加された回路記述データを構築するステップとを実行させることを特徴とする半導体装置の設計方法。
【請求項５】
請求項１〜４のいずれか１項に記載の半導体装置の設計方法において、
前記回路記述データは、ネットリストであることを特徴とする半導体装置の設計方法。
【請求項６】
コンピュータに、予め設定した手順に基づいて半導体チップの回路記述データのカスタマイズを実行させ、前記カスタマイズした回路記述データを用いて配置配線を行うことを特徴とする半導体装置の設計方法。
【請求項７】
請求項６記載の半導体装置の設計方法において、
前記回路記述データは、ネットリストであることを特徴とする半導体装置の設計方法。
【請求項８】
請求項６または７記載の半導体装置の設計方法において、
前記予め設定した手順は、前記回路記述データより同一クロック信号で動作する順序回路および前記順序回路に接続された組み合わせ回路を抽出し、前記抽出した回路を回路ブロックとして階層化し、前記階層化した回路ブロックを含む回路記述データを生成することであることを特徴とする半導体装置の設計方法。
【請求項９】
請求項６または７記載の半導体装置の設計方法において、
前記予め設定した手順は、前記回路記述データよりメモリブロックの前段の回路を抽出し、前記抽出した回路が所望の数よりも多いメモリブロックに分配されている場合に、それぞれの前記メモリブロックの前段に前記抽出した回路を複製し、前記複製した回路を含む回路記述データを生成することであることを特徴とする半導体装置の設計方法。
【請求項１０】
請求項６または７記載の半導体装置の設計方法において、
前記予め設定した手順は、前記回路記述データよりテストモードのイネーブル信号を抽出し、前記抽出したイネーブル信号が所望の数よりも多く分配している場合に、前記イネーブル信号に対してパイプライン回路によるステージ分割を付加し、前記パイプライン回路を含む回路記述データを生成することであることを特徴とする半導体装置の設計方法。
【請求項１１】
互いに集まって配置された回路からなる回路ブロックを複数含む半導体装置であって、
前記複数の回路ブロック毎に、異なるクロック信号が供給され、
前記複数の回路ブロックのそれぞれは、同一のクロック信号で動作する回路によって構成されることを特徴とする半導体装置。
【請求項１２】
請求項１１記載の半導体装置において、
前記半導体装置は、システムＬＳＩであることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計方法および半導体装置に関し、特に、システムＬＳＩなどのように複数の機能ブロックおよび周波数が異なる複数のクロック信号を有する半導体装置の設計方法および半導体装置に適用して有効な技術に関するものである。
【背景技術】
【０００２】
本発明者が検討したところによれば、半導体装置のクロック信号の技術に関しては、以下のようなものが考えられる。
【０００３】
例えば、特許文献１には、複数の異なる周波数が入力されるクロックドメイン間の位相管理を容易かつ高精度に行える半導体集積回路が示されている。この半導体集積回路は、ＰＬＬ回路の分周クロックの出力によって形成された複数のクロックドメインに対し、位相比較回路やこの位相比較回路の比較結果に応じて設定される可変遅延回路などが適所に付加された構成となっている。これによって、クロックドメイン間の位相管理を、回路シミュレーション等で行わずとも実回路によって行うことが可能になり、位相管理が容易かつ高精度にできるようになる。
【０００４】
また、特許文献２には、クロストークノイズや電源ノイズ等の影響を受けにくく、またインターフェース回路への短いクロック分配配線長によってクロックスキューを抑圧可能とした集積回路装置が示されている。つまり、この集積回路装置は、電源ノイズなどの影響を受け難いチップ最外周部にクロック分配配線およびクロックドライバを配置したり、チップコーナ部にクロック入力バッファおよびＰＬＬ回路を配置するというものである。
【０００５】
また、特許文献３には、クロック信号の入力点から分配先までの中継バッファに起因したスキューを緩和させることを可能にする半導体集積回路が示されている。この半導体集積回路は、末端の回路ブロックに供給するクロック信号よりも低い周波数のクロック信号を外部より受ける第２ＰＬＬ回路と、この第２ＰＬＬ回路の出力を受けて末端の回路ブロックへクロック信号を供給する第１ＰＬＬ回路とを備えている。すなわち、外部から低い周波数のクロック信号を半導体集積回路に入力するため、クロック信号の入力点から分配先までの中継バッファの段数が軽減でき、スキューを緩和することが可能になる。
【０００６】
また、特許文献４には、クロック伝達経路がそれぞれ異なる複数のモジュール間のクロックスキューを抑制することが可能な半導体装置が示されている。この半導体装置は、各モジュール毎にＰＬＬ回路を設けることで、クロックスキューを抑制し、高速化を図るというものである。
【特許文献１】特開２００４−０７２６８０号公報
【特許文献２】特開２００４−０１５０３２号公報
【特許文献３】特開平１１−２２４１３７号公報
【特許文献４】特開平１０−１６１７６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、前記のような半導体装置のクロック信号の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００８】
例えば、システムＬＳＩおよびＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  ａ  Ｃｈｉｐ）などといった半導体装置は、機能の多様化および複雑化に伴い内部に多数の機能ブロックを含んでいる。そして、個々の機能ブロックに着目すると、各機能ブロック毎にそれぞれ動作周波数が異なる場合や、１つの機能ブロック内で複数の動作周波数を用いる場合などが多く存在する。
【０００９】
このようなシステムＬＳＩ等を設計する際には、通常、機能ブロックを単位として設計が行われる。すなわち、機能ブロック単位で、各機能ブロックの配置（フロアプラン）や、各機能ブロック内の配線や、各機能ブロック間の接続配線などといった配置配線（レイアウト）が行われる。さらに、レイアウトの階層化設計手法を用いる場合は、通常、下位階層として機能ブロックが規定される。そして、上位階層となる半導体チップ全体のタイミング制約から下位階層となる各機能ブロック毎の詳細タイミング制約を生成した上で、この詳細タイミング制約を満たすように各機能ブロックの配置配線が行われる。
【００１０】
しかしながら、このような機能ブロック単位の設計を用いると、機能ブロックの論理規模やフロアプランなどに依存して、同一クロックドメインで密なデータ転送パスを繋ぐフリップフロップ（以下、Ｆ／Ｆと略す）が、それぞれ遠距離に配置されてしまうような事態が起こり得る。この場合、一般的なレイアウトツールは、同一クロックドメイン内のＦ／Ｆに対するクロックスキューをなくすため、遠距離のクロック配線の配線遅延に合せるように、そのクロックドメイン内の他のクロック配線の配線遅延を調整してしまう。つまり、クロックレイテンシが大きくなる。そうすると、プロセスばらつきやノイズ等の影響が大きくなり、高速データ転送が困難となることが懸念される。
【００１１】
こうした中、特許文献１〜４で示したように、回路やレイアウトの工夫によってクロック信号の精度等を向上させる各種技術が存在している。ただし、これらは本質的に機能ブロック単位の設計に基づいているため、前述したようなクロックレイテンシが大きくなるという問題を解決することはできない。
【００１２】
また、システムＬＳＩ等においては、多様化する製品仕様に応じて、設計効率の向上などが強く要求されている。ところが、通常の階層化設計手法を用いる場合、１つの機能ブロック内に複数の動作周波数が存在すると、その機能ブロックにおけるタイミング制約が複雑化し、設計効率が低下する可能性が考えられる。
【００１３】
そこで、本発明の目的は、特にシステムＬＳＩなどにおいて、高速化を実現することが可能な半導体装置の設計方法および半導体装置を提供することにある。
【００１４】
また、本発明の他の目的は、特にシステムＬＳＩなどにおいて、設計の効率化を図ることができ、その中でも特にタイミング設計の容易化を実現することが可能な半導体装置の設計方法を提供することにある。
【００１５】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１６】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１７】
本発明による半導体装置の設計方法は、コンピュータを用いて実現されるものとなっている。
【００１８】
そして、本発明による半導体装置の設計方法は、複数の機能ブロック単位の階層を含む半導体チップの回路記述データに対し、回路記述データを検索し、同一クロック信号に接続される順序回路とこの順序回路に接続される組み合わせ回路とを抽出するステップと、抽出した順序回路と組み合わせ回路を一つの回路ブロックとして階層化し、この階層化された回路ブロックを含む回路記述データを構築するステップと、階層化された回路ブロックを単位として半導体チップ全体の配置配線を行うステップとを有するものである。
【００１９】
これによって、半導体チップを、クロックドメイン単位で纏められた回路ブロックを用いて配置配線することができるため、各クロックドメイン内のクロックレイテンシが小さくなり、半導体チップの高速化を実現することが可能になる。また、クロックドメイン単位の回路ブロックを用いることで、配置配線時のタイミング制約が簡素化されるため、タイミング設計が容易になる。
【００２０】
また、本発明による半導体装置の設計方法は、前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック毎にゲーティッドクロックを使用している回路を抽出し、当該回路に属性を付加するステップと、この属性が付加された回路が近接配置となるように、前記階層化された回路ブロック内の配置配線を行うステップとを有するものである。
【００２１】
これによって、クロックドメイン単位で纏められた回路ブロックの中で、更にゲーティッドクロックを使用している回路を近接して配置することができるため、ゲーティッドセルの削減や、ゲーティッドクロックのタイミング設計を容易化することが可能になる。
【００２２】
また、本発明による半導体装置の設計方法は、前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック間で、相互に異なるクロック周波数を用いてデータ転送を行なっているデータパスを抽出するステップと、抽出したデータパスに対して、異なるクロック周波数間のデータ転送を確実に行う機能を備えたブリッジ回路を付加するステップと、ブリッジ回路が付加された回路記述データを構築するステップとを有するものである。
【００２３】
これによって、いわゆるマルチクロックのデータ転送に伴うタイミング制約を、ネットリスト等を用いた回路設計の段階で緩和することが可能になり、以降のレイアウト設計を容易に行うことが可能になる。
【００２４】
また、本発明による半導体装置の設計方法は、半導体チップの回路記述データを予め設定した手順に基づいて自動でカスタマイズし、このカスタマイズされた回路記述データを用いて配置配線を行うものである。
【００２５】
すなわち、多様な設計要求に応じて、様々な観点で回路記述データをカスタマイズすることで、配置配線を容易に行うことが可能になる。
【００２６】
ここで、前記予め設定した手順は、例えば、回路記述データより同一クロック信号で動作する順序回路およびそれに付随する組み合わせ回路を抽出し、これらの抽出した回路を回路ブロックとして階層化し、この階層化した回路ブロックを含む回路記述データを生成するというものである。
【００２７】
また、前記予め設定した手順は、回路記述データよりメモリブロックの前段の回路を抽出し、この抽出した回路が所望の数よりも多いメモリブロックに分配されている場合に、それぞれのメモリブロックの前段に抽出した回路を複製し、この複製した回路を含む回路記述データを生成するというものである。これによって、メモリブロックに対する入力タイミングの制約を、ネットリスト等を用いた回路設計の段階で緩和することが可能になり、以降の配置配線といったレイアウト設計を容易に行うことが可能になる。
【００２８】
また、前記予め設定した手順は、回路記述データよりテストモードのイネーブル信号を抽出し、抽出したイネーブル信号が所望の数よりも多く分配している場合に、イネーブル信号に対してパイプライン回路によるステージ分割を付加し、このパイプライン回路を含む回路記述データを生成するというものである。これによって、テストモードのイネーブル信号に対するタイミング制約を、ネットリスト等を用いた回路設計の段階で緩和することが可能になり、以降のレイアウト設計を容易に行うことが可能になる。
【００２９】
本発明による半導体装置は、互いに集まって配置された回路からなる回路ブロックを複数含み、複数の回路ブロック毎に、異なるクロック信号が供給され、複数の回路ブロックのそれぞれは、同一のクロック信号で動作する回路によって構成されるものである。そして、このような構成は、特にシステムＬＳＩにおいて有益なものとなる。
【発明の効果】
【００３０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００３１】
半導体チップ内を、クロックドメイン単位で纏められた回路ブロックを用いて配置配線することで、各クロックドメイン内のクロックレイテンシが小さくなり、半導体チップの高速化を実現することが可能になる。また、クロックドメイン単位の回路ブロックを用いることで、タイミング制約が簡素化され、タイミング設計の容易化を実現できる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、本実施の形態の説明においては、本発明の特徴を判り易くするため、主に、従来技術と本発明を対比しながら説明を行う。
【００３３】
図１は、本発明の一実施の形態による半導体装置において、その論理レベルの構成概念の一例を従来技術と対比して説明するための図であり、（ａ）は、従来技術による構成概念図、（ｂ）は、本発明による構成概念図である。
【００３４】
まず、従来技術においては、機能ブロックを単位として半導体チップが構成される。したがって、半導体チップは、図１（ａ）に示すように、例えば２つの機能ブロックＡ（１０ａ），Ｂ（１０ｂ）を有し、この２つの機能ブロックＡ（１０ａ），Ｂ（１０ｂ）のそれぞれに、クロックパルス発生器Ａ（１１ａ）とクロックパルス発生器Ｂ（１１ｂ）からクロック信号が供給されるような構成となる。そして、各機能ブロック内においては、例えばクロックパルス発生器Ａ（１１ａ）が供給されるＦ／Ｆ（１３ａ）からクロックパルス発生器Ｂ（１１ｂ）が供給されるＦ／Ｆ（１３ｂ）に向けたデータ転送などが行われる。
【００３５】
一方、本発明においては、同一クロック信号で動作する回路によって回路ブロックを形成し、この回路ブロックを単位として半導体チップが構成される。すなわち、各回路ブロックは、クロックドメイン単位となる。したがって、半導体チップは、図１（ｂ）に示すように、クロックパルス発生器Ａ（１１ａ）によって動作する回路ブロック１２ａと、クロックパルス発生器Ｂ（１１ｂ）によって動作する回路ブロック１２ｂとを備えた構成となる。これによって、前述した機能ブロックＡ（１０ａ），Ｂ（１０ｂ）内の回路は、動作するクロック信号に基づいて分離されることになる。そして、各回路ブロック１２ａ，１２ｂ内では、クロックパルス発生器Ａ（１１ａ），Ｂ（１１ｂ）を起点にそれぞれクロックツリー１４ａ，１４ｂが形成される。
【００３６】
このようなクロックドメイン単位の回路ブロックに基づいて配置配線が行われると、例えば図２に示すようなチップレイアウトとなる。図２は、本発明の一実施の形態による半導体装置において、そのチップレイアウトの概要を従来技術と対比して説明するための図であり、（ａ）は、従来技術による配置配線例、（ｂ）は、本発明による配置配線例である。
【００３７】
まず、従来技術においては、図２（ａ）に示すように、機能ブロック単位で配置配線が行われるため、クロックレイテンシが大きくなる事態が起こり得る。つまり、仮に半導体チップが、図２（ａ）のように、３つの機能ブロックＡ（２０ａ），Ｂ（２０ｂ），Ｃ（２０ｃ）を含むものとする。そして、機能ブロックＡ（２０ａ）が、クロックαで動作する回路２１ａとクロックβで動作する回路２２ａとクロックγで動作する回路２３ａを備え、機能ブロックＢ（２０ｂ）が、クロックαで動作する回路２１ｂとクロックβで動作する回路２２ｂとクロックγで動作する回路２３ｂを備え、機能ブロックＣ（２０ｃ）が、クロックαで動作する回路２１ｃとクロックβで動作する回路２２ｃを備えているものとする。
【００３８】
そうすると、例えばクロックαで動作する回路２１ａ〜２１ｃは、３つの機能ブロックＡ（２０ａ），Ｂ（２０ｂ），Ｃ（２０ｃ）にまたがって存在するため、クロックαの配線経路に、図２（ａ）に示す円の半径分の配線遅延およびクロックバッファ２４による遅延が生じ、クロックレイテンシが大きくなってしまう。
【００３９】
一方、本発明においては、図２（ｂ）に示すように、クロックドメイン単位の回路ブロックで配置配線が行われる。そうすると、前述した機能ブロックＡ（２０ａ）〜Ｃ（２０ｃ）に含まれるクロックαで動作する回路２１ａ〜２１ｃとクロックβで動作する回路２２ａ〜２２ｃとクロックγで動作する回路２３ａ，２３ｂが、それぞれ纏まって配置され、３つのクロックドメイン単位の回路ブロック２５ａ，２５ｂ，２５ｃを形成することになる。これによって、例えばクロックαのクロックレイテンシは、回路ブロック２５ａの距離内に収まることになり、図２（ｂ）に示す円の半径の大きさから判るようにクロックレイテンシの低減が可能になる。
【００４０】
また、特に階層化設計手法を用いるような場合、通常は図２（ａ）に示すような機能ブロック単位の階層化が行われるため、動作するクロックの数と共に機能ブロックに対するタイミング制約が複雑化する。そこで、図２（ｂ）ようにクロックドメイン単位でブロック化（階層化）を行うことで、各回路ブロックに対するタイミング制約を簡素化することができる。さらに、各回路ブロック間のデータ転送は、比較的密な転送でないことが多いため、この部分のタイミング制約はさほど問題にならないと考えられる。これらによって、タイミング設計が容易化され、設計効率の向上および設計期間の短縮が可能となる。
【００４１】
ところで、このようなクロックドメイン単位の配置配線は、例えば図１５に示すような設計装置を用い、ネットリスト等に対して以下に説明するような編集および再構築等（カスタマイズ）を行うことで形成される。図１５は、本発明の一実施の形態による半導体装置の設計方法において、それに使用する設計装置の構成例であり、（ａ）は、コンピュータを含む全体の構成例、（ｂ）はコンピュータ内部の構成例である。
【００４２】
なお、この説明に際しては、システムＬＳＩの設計を例に、図３〜図６を参照しながら説明を行う。図３は、本発明の一実施の形態による半導体装置の設計方法において、その手順の一例を説明するための図であり、（ａ）は、カスタマイズ前のシステムＬＳＩにおける論理レベルの構成概念図、（ｂ）は、そのレイアウトレベルの構成概念図である。図４は、図３に対してフラット化処理を行った後の論理レベルの構成概念図である。図５は、図４に対して同一クロック信号の回路に対する抽出処理を行った後の論理レベルの構成概念図である。図６は、図５に対して階層化処理およびフロアプランを行い、カスタマイズが完了した状態を示すものであり、（ａ）は、カスタマイズ後のシステムＬＳＩにおける論理レベルの構成概念図、（ｂ）は、そのレイアウトレベルの構成概念図である。
【００４３】
図１５（ａ）に示す設計装置は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５０ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５０ｂおよびＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１５０ｃ等を含むコンピュータ１５０と、コンピュータに命令を入力するキーボード１５２と、コンピュータ１５０による処理結果を表示するディスプレイ１５３などを含み、これらが互いに通信ケーブル１５１で接続されている。
【００４４】
コンピュータ１５０は、例えば、図１５（ｂ）に示すように、回路記述データ（１）の格納部１５４と、回路記述データ（１）に対してカスタマイズを行うカスタマイズ処理部１５５と、カスタマイズ後の回路記述データ（２）が格納される格納部１５６と、回路記述データ（２）を用いて配置配線を行う配置配線処理部１５７などから構成される。この内、格納部１５４，１５６は、主にＨＤＤ１５０ｃによって実現され、カスタマイズ処理部１５５および配置配線処理部１５７は、プログラムに基づくＣＰＵ１５０ａやＲＡＭ１５０ｂなどの処理によって実現される。
【００４５】
カスタマイズ処理部１５５は、回路記述データ（１）に対して回路の展開を行う回路展開処理部１５５ａと、キーボード１５２等からの抽出条件を受け、展開した回路の中からこの抽出条件に該当する回路を抽出し、この抽出した回路に属性を付加する回路抽出／属性付加部１５５ｂと、この付加した属性に基づいて階層化を行い、この階層化に伴う回路ブロックを含んだ回路記述データ（２）を生成する回路ブロック生成部１５５ｃなどを含んでいる。
【００４６】
そして、このような設計装置を用いて、例えば下記（１）〜（５）に示すような設計手順によって、クロックドメイン単位の配置配線を実現する。
【００４７】
（１）格納部１５４に記憶され、複数の機能ブロックによって階層化された半導体チップのネットリストに対し、回路展開処理部１５５ａが、この機能ブロックの階層を展開し、半導体チップ全体のフラットなネットリストを生成する。ここで、ネットリストとは、いわば回路図のテキスト記述であり、回路素子（セル）やそのセル間の接続状況などが記された回路記述データである。
【００４８】
すなわち、図３（ａ）のように半導体チップが複数の機能ブロック３０ａ〜３０ｃを含むと、その半導体チップを記述したネットリストも、機能ブロック３０ａ〜３０ｃ単位で階層化された構造となる。そこで、この階層を展開し、図４のようにブロック（階層）がないフラットな論理構成のネットリストを生成する。
【００４９】
なお、図３（ａ）に示す半導体チップは、機能ブロック３０ａ〜３０ｃのそれぞれに対して、複数のクロックパルス発生器３４ａ〜３４ｃから複数のクロック信号が供給されている。そして、図３（ａ），（ｂ）に示すように、機能ブロック３０ａ内には、複数のクロック信号のそれぞれに対応した回路３１ａ，３２ａ，３３ａが含まれ、同様に、機能ブロック３０ｂ内には、回路３１ｂ，３２ｂ，３３ｂが含まれ、機能ブロック３０ｃ内には、回路３１ｃ，３２ｃが含まれている。
【００５０】
（２）回路抽出／属性付加部１５５ｂに対して、抽出条件として同一クロックドメインを指定すると、回路抽出／属性付加部１５５ｂが、半導体チップ全体のフラットなネットリストを検索し、クロックドメイン単位にＦ／Ｆを抽出する。この際に、クロックのドメインの起点は、キーボード１５２等による指定・指示によって与えるか、またはＦ／Ｆのクロックをトレースした収束点とする。そして、クロックのドメインの起点からトレースしていき、Ｆ／Ｆを抽出し、抽出したＦ／Ｆに対して属性を付加する。
【００５１】
すなわち、図４に示すような論理構成に対して、同一クロック信号に接続されるＦ／Ｆを抽出し、図５に示す論理構成ように、クロック信号とＦ／Ｆの接続関係を整理する。図４においては、例えば、３つの回路３２ａ〜３２ｃ内のＦ／Ｆをクロックパルス発生器３４ａで動作する回路として抽出および属性付加し、図５に示すように、クロックパルス発生器３４ａの下に３つの回路３２ａ〜３２ｃ内のＦ／Ｆが整理された論理構成にする。
【００５２】
（３）回路抽出／属性付加部１５５ｂが、半導体チップ全体のフラットなネットリストを検索し、前記抽出したＦ／Ｆ間の組み合わせ論理を抽出する。そして、この抽出した組み合わせ論理に対して属性を付加する。すなわち、図５において、例えば回路３２ａ〜３２ｃにおける各Ｆ／Ｆ間に接続された組み合わせ回路（図５では記載省略）を、クロックパルス発生器３４ａで動作する回路として抽出し、このクロックパルス発生器３４ａでの動作を意味する属性を付加する。つまり、クロックドメインが異なれば属性も異なる。
【００５３】
（４）回路ブロック生成部１５５ｃが、付加された属性毎にネットリストの階層化を行い、回路ブロックを構築する。そして、この階層化されたネットリストを格納部１５６に記憶する。すなわち、図６（ａ）に示すように、クロックパルス発生器３４ａ，３４ｂ，３４ｃ毎に分類された３つの回路３２ａ〜３２ｃ，３１ａ〜３１ｃ，３３ａ〜３３ｂをそれぞれ階層化し、３つの回路ブロック６０ａ，６０ｂ，６０ｃを構築する。つまり、クロックドメイン単位の回路ブロックを構築する。なお、このブロック間に組み合わせ論理が存在するような場合は、この組み合わせ論理をソース側（Ｆ／Ｆの出力側）の回路ブロックに含ませる。
【００５４】
（５）配置配線処理部１５７が、クロックドメイン単位で階層化されたネットリストに基づいて、配置配線（フロアプランおよびレイアウト）を行う。これによって、図６（ｂ）に示すように、半導体チップ内に、クロックドメイン単位の回路ブロック６０ａ〜６０ｃが形成され、各回路ブロック６０ａ〜６０ｃ内では同一クロック信号で動作する回路が近接配置された状態となる。
【００５５】
なお、ここでは、ネットリストを元にして同一クロックドメインのＦ／Ｆ等を抽出したが、ネットリストに限らず、レジスタ転送レベルの回路記述となるＲＴＬ記述やもしくはネットリストに類する論理合成後の中間レベルの記述といったような回路記述データから抽出することも可能である。
【００５６】
また、図４で述べた機能ブロック単位の階層を展開する処理は、必ずしも最初に行う必要性はなく、また場合によっては行わなくてもよい場合もある。つまり、例えば、各回路毎に、機能ブロックの属性と、クロックドメインの属性とを備えさせ、この状態でクロックドメインが同一属性の回路を抽出し、階層化すればよい。
【００５７】
以上のようにして形成された半導体チップにおいては、図２等で述べたようにクロックレイテンシの低減などが可能になるが、このクロックレイテンシの低減により更に図７に示すような効果を得ることができる。図７は、本発明の一実施の形態による半導体装置において、その効果の一例を従来技術と対比して説明するための図であり、（ａ）は、従来技術による動作、（ｂ）は、本発明による動作を示すものである。ここでは、図７（ａ），（ｂ）に示すように、２つのＦ／Ｆ（７１ａ，７１ｂ）に対してクロックパルス発生器７０からクロックツリーを介して同一クロックを供給し、この２つのＦ／Ｆ（７１ａ，７１ｂ）間でデータ転送を行う場合を想定する。
【００５８】
まず、従来技術においては、図７（ａ）に示すように、複数の分岐配線およびクロックバッファからなるクロックツリー７２のレイテンシが大きいため、プロセスばらつき等による２つのＦ／Ｆ（７１ａ，７１ｂ）間のクロックスキューを考慮し、比較的大きいセットアップマージン７４が必要となる。そうすると、クロックサイクル時間は、２つのＦ／Ｆ（７１ａ，７１ｂ）間のデータ転送時間にこのセットアップマージン７４を加えた分を最低でも確保する必要がある。
【００５９】
一方、本発明においては、図７（ｂ）に示すように、クロックツリー７３のレイテンシが小さいため、プロセスばらつき等の影響が少なくなり、比較的小さいセットアップマージン７５を確保すればよい。したがって、図７（ｂ）に示すように、従来技術と比べてＦ／Ｆ（７１ａ，７１ｂ）間のデータ転送時間にマージンを持たせることが可能になる。つまり、タイミング設計を容易化することが可能になる。また、従来技術と同じデータ転送時間に基づくならば、セットアップマージンを減らした分だけクロックサイクル時間を縮めることができる。これによって、高速化を図ることが可能になる。
【００６０】
ところで、上記においては、ネットリスト等からクロックドメイン単位にＦ／Ｆ等を抽出し、これに属性を付加してブロック化していくというカスタマイズ方法を述べた。このように、ネットリスト等に対してカスタマイズを行う設計手法を用いることで、各種設計の効率化を図ることが可能になる。これらの一例を、図８〜図１４を用いて説明する。
【００６１】
図８は、本発明の一実施の形態による半導体装置の設計方法において、ゲーティッドクロックが含まれる場合の処理の一例を説明するための図であり、（ａ）は、ゲーティッドクロックの抽出を行わないの場合の説明図、（ｂ）は、ゲーティッドクロックの抽出を行う場合の説明図である。
【００６２】
ここでは、例えば、図８（ａ）に示すように、クロックパルス発生器８０より同一クロックが供給される４つの機能ブロックＡ（８１ａ），Ｂ（８１ｂ），Ｃ（８１ｃ），Ｄ（８１ｄ）の中から、２つの機能ブロックＣ（８１ｃ），Ｄ（８１ｄ）の回路８２ｃ，８２ｄに対してゲーティッドクロックを適用する場合を想定する。まず、機能ブロック単位の設計に基づいてゲーティッドクロックの抽出を行わない場合は、機能ブロックＣ（８１ｃ），Ｄ（８１ｄ）間にレイアウト上の距離が生じるため、図８（ａ）のように、各回路８２ｃ，８２ｄに対してそれぞれゲーティッドセル８３，８４が挿入される。
【００６３】
一方、クロックドメイン単位のブロック化（階層化）に加え、更にゲーティッドクロックを使用している回路の抽出および属性付加を行った場合は、ネットリスト上で、この属性に基づいて階層化した回路ブロック等を更に構築することが可能になる。そうすると、図８（ｂ）に示すように、クロックドメイン単位の回路ブロック８６の中で、更にゲーティッドクロックを用いない回路８２ａ，８２ｂの回路ブロック８７ａとゲーティッドクロックを用いる回路８２ｃ，８２ｄの回路ブロック８７ｂとを、それぞれ分類して配置することができる。
【００６４】
すなわち、前述した図８（ａ）の機能ブロックＣ（８１ｃ），Ｄ（８１ｄ）の回路８２ｃ，８２ｄを近接して配置することが可能になる。これによって、例えば１つのゲーティッドセル８５を用いて、前述した回路８２ｃ，８２ｄをドライブすることなどが可能になり、ゲーティッドセルの削減やゲーティッドクロックのタイミング設計の容易化を実現できる。なお、ここでは、ゲーティッドクロックを使用している回路をネットリスト上で階層化することで近接配置を可能にしたが、配置配線ツール（図１５（ｂ）の配置配線処理部１５７）に対して、属性に基づく配置変更等が行える機能を設ければ階層化を行わずとも同様なことが実現できる。
【００６５】
図９は、本発明の一実施の形態による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行う場合の一例を説明するための図であり、（ａ）は、抽出処理後のクロック比ドメイン間の構成概略図、（ｂ）は、（ａ）の動作説明図である。また、図１０は、本発明の前提として検討した従来技術による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行わない場合の一例を説明するための図であり、（ａ）は、クロック比ドメイン間の構成概略図、（ｂ）は、（ａ）の動作説明図である。
【００６６】
まず、クロック比ドメイン間の抽出処理を行わない場合、図１０（ａ）に示すように、クロックＡで動作する回路ブロックＡ（１００ａ）とクロックＢで動作する回路ブロックＢ（１００ｂ）が直接接続される。ここで、クロックＢは、クロックＡの１／２の周波数とする。そうすると、回路ブロックＡ（１００ａ）から回路ブロックＢ（１００ｂ）へのデータ転送は、図１０（ｂ）に示すように理想的には「ｉｄ１」となるが、実際上は、クロックレイテンシのばらつき等によりクロックスキュー「Δｃｗ」が発生する。これによって、ホールドの規定「ｍｉｎ＿ｈｏｌｄ１」とセットアップの規定「ｍａｘ＿ｓｅｔｕｐ１」が生じ、実際上のデータ転送時間の設計可能幅は「Δｄｗ１」となる。
【００６７】
また、回路ブロックＢ（１００ｂ）から回路ブロックＡ（１００ａ）へのデータ転送は、図１０（ｂ）に示すように、理想的には「ｉｄ２」となるが、実際上は、クロックスキュー「Δｃｗ」によって、ホールドの規定「ｍｉｎ＿ｈｏｌｄ２」とセットアップの規定「ｍａｘ＿ｓｅｔｕｐ２」が生じる。しかしながら、この場合は、ホールドの規定「ｍｉｎ＿ｈｏｌｄ２」とセットアップの規定「ｍａｘ＿ｓｅｔｕｐ２」を両方満たすデータ転送時間が存在せず設計が不可能となる。
【００６８】
一方、クロック比ドメイン間の抽出処理を行う場合、図９（ａ）に示すように、ネットリスト上でクロックＡにより動作する回路ブロックＡ（９０ａ）とクロックＢにより動作する回路ブロックＢ（９０ｂ）との間のデータパスを抽出し、この部分にブリッジ回路９１が挿入されたネットリストを生成する。ここで、クロックＢは、クロックＡの１／２の周波数とする。そして、ブリッジ回路９１は、例えば、回路ブロックＡ（９０ａ）に接続されクロックＡで動作するＦ／Ｆ（９２ａ）と、回路ブロックＢ（９０ｂ）に接続されクロックＢ’で動作するＦ／Ｆ（９２ｂ）と、クロックＡを基に１／２周期のクロックＢ’を生成する分周回路とを備え、この２つのＦ／Ｆ（９２ａ，９２ｂ）間でデータ転送を行うような構成となっている。なお、このブリッジ回路９１は、シンクロナイザとも呼ばれる。
【００６９】
このような構成により、回路ブロックＡ（９０ａ）から回路ブロックＢ（９０ｂ）へのデータ転送は、Ｆ／Ｆ（９２ａ）とＦ／Ｆ（９２ｂ）を介して行われることになる。この際に、Ｆ／Ｆ（９２ａ）からＦ／Ｆ（９２ｂ）へのデータ転送では、クロックスキューの影響が殆ど生じない。したがって、回路ブロックＡ（９０ａ）から回路ブロックＢ（９０ｂ）へのデータ転送時間の制約は、実質的にＦ／Ｆ（９２ｂ）と回路ブロックＢ（９０ｂ）の間のクロックスキュー「Δｃｗ」によって生じる。すなわち、実質的な制約は、図９（ｂ）に示すようなホールドの規定「ｍｉｎ＿ｈｏｌｄ４」とセットアップの規定「ｍａｘ＿ｓｅｔｕｐ４」となり、これによって、Ｆ／Ｆ（９２ｂ）から回路ブロックＢ（９０ｂ）へのデータ転送時間の設計可能幅は「Δｄｗ３」のようになる。
【００７０】
また、回路ブロックＢ（９０ｂ）から回路ブロックＡ（９０ａ）へのデータ転送は、Ｆ／Ｆ（９２ｂ）とＦ／Ｆ（９２ａ）を介して行われることになる。この際に、Ｆ／Ｆ（９２ｂ）からＦ／Ｆ（９２ａ）へのデータ転送では、クロックスキューの影響が殆ど生じず、また、Ｆ／Ｆ（９２ａ）から回路ブロックＡ（９０ａ）への転送も、同一クロック信号の転送であるため特に問題は生じない。したがって、回路ブロックＢ（９０ｂ）から回路ブロックＡ（９０ａ）へのデータ転送時間の制約は、実質的に回路ブロックＢ（９０ｂ）とＦ／Ｆ（９２ｂ）との間のクロックスキュー「Δｃｗ」によって生じる。すなわち、実質的な制約は、図９（ｂ）に示すようなホールドの規定「ｍｉｎ＿ｈｏｌｄ５」とセットアップの規定「ｍａｘ＿ｓｅｔｕｐ５」となり、これによって、回路ブロックＢ（９０ｂ）からＦ／Ｆ（９２ｂ）へのデータ転送時間の設計可能幅は「Δｄｗ４」のようになる。したがって、いずれの場合においても、データ転送時間の設計可能幅が存在する。
【００７１】
そこで、ネットリスト等から、回路ブロック間で相互に異なるクロック周波数を用いてデータ転送を行っているデータパスを抽出し、これに属性を付加し、属性に基づいてブリッジ回路９１を挿入し、ブリッジ回路９１を含んだネットリストを生成する。なお、この挿入するブリッジ回路９１自体のネットリストは、属性に対応する形で予めＨＤＤ１５０ｃ等に格納しておく。これによって、異なるクロック周波数で動作する回路ブロック間において、そのデータ転送のタイミングマージンを増加させることが可能になるため、その後の配置配置等によるタイミング設計を容易化することが可能になる。
【００７２】
図１１は、本発明の一実施の形態による半導体装置の設計方法において、クロック選択を備えた回路が含まれる場合の処理の一例を説明するための図であり、（ａ）は、クロック選択を備えた回路を抽出しなかった場合の説明図、（ｂ）は、クロック選択を備えた回路を抽出した場合の説明図である。
【００７３】
まず、図１１（ａ）に示すように、クロック選択を備えた回路１１０は、２つのクロックドメイン単位の回路ブロック１１１ａ，１１１ｂに含まれることになるが、この際にクロック選択を備えた回路１１０を抽出しなかった場合、この回路１１０が、一方の回路ブロックの適当な位置に配置され、その結果他方の回路ブロックからは遠距離の配置となってしまう可能性が考えられる。
【００７４】
そこで、図１１（ｂ）に示すように、このクロック選択を備えた回路１１０を主となる一方のクロックドメインの回路ブロック１１２ａに含ませ、この回路ブロック１１２ａに対するタイミング制約を満たす。この際に、この回路１１０に対して抽出および属性付加を行い差別化しておくことで、この回路１１０から他方のクロックドメインの回路ブロック１１２ｂに対するクロックパスの長さおよびそのタイミング制約を考慮し、他方の回路ブロック１１２ｂになるべく近い位置にこの回路１１０を配置することなどが可能となる。これによって、タイミング設計を効率化することができる。
【００７５】
図１２は、本発明の一実施の形態による半導体装置の設計方法において、テストモードのイネーブル信号が含まれる場合の処理の一例を説明するための図であり、（ａ），（ｂ）は、テストモードのイネーブル信号を抽出しなかった場合の説明図、（ｃ）は、テストモードのイネーブル信号を抽出した場合の説明図である。図１３は、図１２のテストモードについてその概要を説明するための図である。
【００７６】
まず、テストモードとは、いわゆるスキャンチェーン方式でＦ／Ｆ間のデータ転送をテストするためのモードであり、図１３に示すように、Ｆ／Ｆのデータ入力やクロック入力に対してセレクタ回路などを付加し、入力データや入力クロックを切り換えられるようにすることで実現される。テスト動作の概要は、スキャンイン段階において、低速クロックによるシフト動作で各Ｆ／Ｆのデータをセットし、その後、モード切換え信号によるキャプチャ段階において、２つの高速クロックパルスを発生してＦ／Ｆ間のデータ転送を行い、続いてモード切換え信号によるスキャンアウト段階において、データ転送後のＦ／Ｆのデータを読み出すというものである。
【００７７】
そして、このキャプチャ段階では、Ｆ／Ｆにおけるユーザデータのデータパスをテストする必要があるため、２つの高速クロックパルス間の時間でテストモードのイネーブル信号（テストイネーブル）を用いて、スキャン用のデータパスとユーザデータのデータパスを切り換える必要がある。これによって、テストモードのイネーブル信号には、タイミング精度が要求される。
【００７８】
このような中、テストモードのイネーブル信号を抽出しなかった場合、図１２（ａ），（ｂ）に示すように、テストモードのイネーブル信号のタイミングスキューによって、イネーブル信号を２つの高速クロックパルス間で切り換えることが困難な状況が発生する。すなわち、テストモードのイネーブル信号は、半導体チップ内の全Ｆ／Ｆに付加されるため、レイテンシが非常に大きくなると共にばらつきが発生する。
【００７９】
図１２（ａ）は、イネーブル信号が外部入力であるため、そのばらつき幅が非常に大きい。図１２（ｂ）は、Ｆ／Ｆの入力クロックを基準としてイネーブル信号を生成しているが、この生成したイネーブル信号は、実際にテストするＦ／Ｆに達するまでに複数分配される場合がある。そうすると、タイミング精度を満たせない事態が起こり得る。
【００８０】
そこで、ネットリストよりテストモードのイネーブル信号を抽出し、この抽出したイネーブル信号が所望の数よりも多く分配している場合に、図１２（ｃ）に示すようなパイプライン回路１２０によるステージ分割を付加し、このパイプライン回路１２０を含めたネットリストを生成する。これによって、ネットリストの段階でテストモードのイネーブル信号のタイミング精度を向上させることができ、以降の配置配線によるタイミング調整が容易となる。
【００８１】
図１４は、本発明の一実施の形態による半導体装置の設計方法において、メモリブロックが含まれる場合の処理の一例を説明するための図であり、（ａ）は、メモリブロック前段のＦ／Ｆを抽出しなかった場合の説明図、（ｂ），（ｃ）は、メモリブロック前段のＦ／Ｆを抽出した場合の説明図である。
【００８２】
まず、メモリブロック前段のＦ／Ｆを抽出しなかった場合、図１４（ａ）に示すように、Ｆ／Ｆ（１４０）の出力信号が複数のメモリブロック（ＲＡＭ）に分配されるような場合があり、ＲＡＭの入力タイミングのマージンが少なくなることがある。そこで、ネットリストより、ＲＡＭの前段のＦ／Ｆ（１４０）を抽出し、この抽出したＦ／Ｆ（１４０）が所望の数よりも多いＲＡＭに分配されている場合に、図１４（ｂ）に示すように、それぞれのＲＡＭの前段にＦ／Ｆを複製し、この複製したＦ／Ｆ（１４０ａ，１４０ｂ，１４０ｃ）を含むネットリストを生成する。
【００８３】
または、ネットリストより、ＲＡＭの前段のＦ／Ｆ（１４０）を抽出し、この抽出したＦ／Ｆ（１４０）が所望の数よりも多いＲＡＭに分配されている場合に、更にこの前段のＦ／Ｆ（１４０）と前々段のＦ／Ｆ間の組み合わせ回路１４１を抽出し、図１４（ｃ）に示すように、それぞれのＲＡＭの前段にこの抽出した組み合わせ回路１４１とＦ／Ｆをセットとして複製してもよい。これらによって、ネットリストの段階で、メモリブロックへの入力タイミングのマージンを向上させることができ、以降の配置配線によるタイミング調整が容易化される。
【００８４】
なお、ネットリスト等から所望の条件に該当する部分を抽出して、それに属性を付加していく設計手法を用いると、以上で述べたようなことに限らず、多様な設計要求に柔軟に対応していくことが可能になる。例えば、同一電源グループという観点で近傍に配置することが望ましいような場合、配置配線の前に、ネットリスト等から同一電源の回路を抽出し、それらに属性を付加し、この属性に基づいてブロック化を行っておくとよい。これによって設計効率を向上させることができる。
【００８５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８６】
本発明の半導体装置の設計方法および半導体装置は、多数の機能ブロックを有するシステムＬＳＩやその設計ツールなどに適用して特に有益なものであり、さらに、これに限らず、異なる複数のクロック信号を含むロジック製品やその設計ツールなどを含めて広く適用可能である。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施の形態による半導体装置において、その論理レベルの構成概念の一例を従来技術と対比して説明するための図であり、（ａ）は、従来技術による構成概念図、（ｂ）は、本発明による構成概念図である。
【図２】本発明の一実施の形態による半導体装置において、そのチップレイアウトの概要を従来技術と対比して説明するための図であり、（ａ）は、従来技術による配置配線例、（ｂ）は、本発明による配置配線例である。
【図３】本発明の一実施の形態による半導体装置の設計方法において、その手順の一例を説明するための図であり、（ａ）は、カスタマイズ前のシステムＬＳＩにおける論理レベルの構成概念図、（ｂ）は、そのレイアウトレベルの構成概念図である。
【図４】図３に対してフラット化処理を行った後の論理レベルの構成概念図である。
【図５】図４に対して同一クロック信号の回路に対する抽出処理を行った後の論理レベルの構成概念図である。
【図６】図５に対して階層化処理およびフロアプランを行い、カスタマイズが完了した状態を示すものであり、（ａ）は、カスタマイズ後のシステムＬＳＩにおける論理レベルの構成概念図、（ｂ）は、そのレイアウトレベルの構成概念図である。
【図７】本発明の一実施の形態による半導体装置において、その効果の一例を従来技術と対比して説明するための図であり、（ａ）は、従来技術による動作、（ｂ）は、本発明による動作を示すものである。
【図８】本発明の一実施の形態による半導体装置の設計方法において、ゲーティッドクロックが含まれる場合の処理の一例を説明するための図であり、（ａ）は、ゲーティッドクロックの抽出を行わないの場合の説明図、（ｂ）は、ゲーティッドクロックの抽出を行う場合の説明図である。
【図９】本発明の一実施の形態による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行う場合の一例を説明するための図であり、（ａ）は、抽出処理後のクロック比ドメイン間の構成概略図、（ｂ）は、（ａ）の動作説明図である。
【図１０】本発明の前提として検討した従来技術による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行わない場合の一例を説明するための図であり、（ａ）は、クロック比ドメイン間の構成概略図、（ｂ）は、（ａ）の動作説明図である。
【図１１】本発明の一実施の形態による半導体装置の設計方法において、クロック選択を備えた回路が含まれる場合の処理の一例を説明するための図であり、（ａ）は、クロック選択を備えた回路を抽出しなかった場合の説明図、（ｂ）は、クロック選択を備えた回路を抽出した場合の説明図である。
【図１２】本発明の一実施の形態による半導体装置の設計方法において、テストモードのイネーブル信号が含まれる場合の処理の一例を説明するための図であり、（ａ），（ｂ）は、テストモードのイネーブル信号を抽出しなかった場合の説明図、（ｃ）は、テストモードのイネーブル信号を抽出した場合の説明図である。
【図１３】図１２のテストモードについてその概要を説明するための図である。
【図１４】本発明の一実施の形態による半導体装置の設計方法において、メモリブロックが含まれる場合の処理の一例を説明するための図であり、（ａ）は、メモリブロック前段のＦ／Ｆを抽出しなかった場合の説明図、（ｂ），（ｃ）は、メモリブロック前段のＦ／Ｆを抽出した場合の説明図である。
【図１５】本発明の一実施の形態による半導体装置の設計方法において、それに使用する設計装置の構成例であり、（ａ）は、コンピュータを含む全体の構成例、（ｂ）はコンピュータ内部の構成例である。
【符号の説明】
【００８８】
１０ａ，１０ｂ，２０ａ〜２０ｃ，３０ａ〜３０ｃ，８１ａ〜８１ｄ  機能ブロック
１１ａ，１１ｂ，３４ａ〜３４ｃ，７０，８０  クロックパルス発生器
１２ａ，１２ｂ，２５ａ〜２５ｃ，６０ａ〜６０ｃ，８６，８７ａ，８７ｂ，９０ａ，９０ｂ，１００ａ，１００ｂ，１１１ａ，１１１ｂ，１１２ａ，１１２ｂ  回路ブロック
１３ａ，１３ｂ，７１ａ，７１ｂ，９２ａ，９２ｂ，１４０，１４０ａ〜１４０ｃ  フリップフロップ（Ｆ／Ｆ）
１４ａ，１４ｂ，７２，７３  クロックツリー
２１ａ〜２１ｃ，２２ａ〜２２ｃ，２３ａ，２３ｂ，３１ａ〜３１ｃ，３２ａ〜３２ｃ，３３ａ，３３ｂ，８２ａ〜８２ｄ，１１０  回路
２４  クロックバッファ
７４，７５  セットアップマージン
８３，８４，８５  ゲーティッドセル
９１  ブリッジ回路
１２０  パイプライン回路
１４１，１４１ａ〜１４１ｃ  組み合わせ回路
１５０  コンピュータ
１５０ａ  ＣＰＵ
１５０ｂ  ＲＡＭ
１５０ｃ  ＨＤＤ
１５１  通信ケーブル
１５２  キーボード
１５３  ディスプレイ
１５４，１５６  格納部
１５５  カスタマイズ処理部
１５５ａ  回路展開処理部
１５５ｂ  回路抽出／属性付加部
１５５ｃ  回路ブロック生成部
１５７  配置配線処理部
【図１】
2006049638.tif 000003
【図２】
2006049638.tif 000004
【図３】
2006049638.tif 000005
【図４】
2006049638.tif 000006
【図５】
2006049638.tif 000007
【図６】
2006049638.tif 000008
【図７】
2006049638.tif 000009
【図８】
2006049638.tif 000010
【図９】
2006049638.tif 000011
【図１０】
2006049638.tif 000012
【図１１】
2006049638.tif 000013
【図１２】
2006049638.tif 000014
【図１３】
2006049638.tif 000015
【図１４】
2006049638.tif 000016
【図１５】
2006049638.tif 000017