(57)【要約】【課題】設計の効率を阻害することなく、電源スイッチセルとこれにより電源が遮断される回路セルとを明確に把握することが可能な回路データを生成することができる集積回路設計装置とその方法およびプログラムを提供する。【解決手段】ＲＴＬデータ生成部１１０において生成されるＲＴＬデータの記述中には、制御信号に応じて電源を遮断すべき回路に対応する階層ブロックと、この制御信号が入力される所定の仮想電源スイッチセルとによって下位階層が構成された、上位階層の階層ブロックが作成される。そのため、ＲＴＬデータの記述における仮想電源スイッチセルと同一階層の階層ブロックとの関係を把握することにより、実際の回路における電源スイッチセルとその電源遮断対象の回路との関係を明確に把握することができる。【選択図】図４
2008299862.tif 000002
【特許請求の範囲】
【請求項１】
上位の階層ブロックに下位の階層ブロックが含まれる階層構造によって論理回路が記述された回路データに基づいて集積回路の設計を行う集積回路設計装置であって、
制御信号に応じて電源を遮断すべき回路が第１の階層ブロックとして記述された回路データを取得し、該取得した回路データに基づいて、上記第１の階層ブロックと、上記制御信号が入力される所定の電源スイッチセルとによって下位階層が構成される第２の階層ブロックが記述された回路データを生成する回路データ生成手段を有する、
集積回路設計装置。
【請求項２】
上記回路データ生成手段は、動作によって論理回路が記述された動作記述データに動作合成処理を行うことにより、上記階層構造によって論理回路が記述された回路データを生成し、該生成の際に、制御信号に応じて電源を遮断すべき回路を指定する予め与えられた情報に従って、該回路を上記第１の階層ブロックとする記述、ならびに、上記第１の階層ブロックと上記電源スイッチセルとによって下位階層が構成される上記第２の階層ブロックの記述を作成する、
請求項１に記載の集積回路設計装置。
【請求項３】
上位の階層ブロックに下位の階層ブロックが含まれる階層構造によって論理回路が記述された回路データに基づく集積回路の設計をコンピュータに実行させる集積回路設計プログラムであって、
制御信号に応じて電源を遮断すべき回路が第１の階層ブロックとして記述された回路データを取得する第１のステップと、
上記第１のステップにおいて取得した回路データに基づいて、上記第１の階層ブロックと、上記制御信号が入力される所定の電源スイッチセルとによって下位階層が構成される第２の階層ブロックが記述された回路データを生成する第２のステップと、
を有する集積回路設計プログラム。
【請求項４】
上位の階層ブロックに下位の階層ブロックが含まれる階層構造によって論理回路が記述された回路データに基づいて集積回路を設計する集積回路設計方法であって、
制御信号に応じて電源を遮断すべき回路が第１の階層ブロックとして記述された回路データを取得する第１の工程と、
上記第１の工程で取得された回路データに基づいて、上記第１の階層ブロックと、上記制御信号が入力される所定の電源スイッチセルとによって下位階層が構成される第２の階層ブロックが記述された回路データを生成する第２の工程と、
を有する集積回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路設計装置、集積回路設計プログラムおよび集積回路設計方法に関するものである。
【背景技術】
【０００２】
低消費電力化や加工寸法の微細化に対応するため、半導体集積回路の電源電圧は年々低下している。電源電圧の低下により信号振幅が小さくなると、トランジスタのしきい電圧が信号振幅に対して相対的に高くなるため、トランジスタのオン電流が減少し、遅延が増大する。そのため、トランジスタのしきい電圧も電源電圧に応じて低下させる必要がある。しかしながら、トランジスタのしきい電圧を低下させると、オフ状態におけるリーク電流が増えるため、低消費電力化が阻害されるという不利益が生じる。
【０００３】
このようなリーク電流の増大を防止する技術として、ＭＴＣＭＯＳ（multi-threshold complementary metal oxide semiconductor）と称される回路技術が知られている。ＭＴＣＭＯＳでは、特定の機能を果たす回路ブロックごとに、その電源線に高しきい電圧のトランジスタが挿入される。そして、回路ブロックが未使用状態になったとき、トランジスタスイッチがオフに設定されて、回路ブロック中のトランジスタに流れるリーク電流が遮断される。これにより、未使用の回路ブロックに流れる無駄なリーク電流を大幅に減らすことができる。
【０００４】
図１０は、ＭＴＣＭＯＳを適用した回路の一例を示す図である。
回路セル１，２は、電源線ＶＤＤとグランド線ＶＳＳとの間に接続されており、常に電源が供給される。これに対し、回路セル３，４は、電源線ＶＤＤと仮想グランド線ＶＳＳＡとの間に接続されており、これらに電源が供給されるのは、仮想グランド線ＶＳＳＡとグランド線ＶＳＳとが高しきい電圧トランジスタ５によって接続される場合に限られる。
【０００５】
高しきい電圧トランジスタ５は、図示しない回路ブロックからの制御信号Ｓｃに応じてオンとオフを制御される。回路セル３，４が未使用状態になると、この制御信号Ｓｃがローレベルに設定され、高しきい電圧トランジスタ５がオフになる。これにより、仮想グランド線ＶＳＳＡとグランド線ＶＳＳとが切り離され、回路セル３，４のリーク電流が遮断される。
【０００６】
ところで、高しきい電圧トランジスタにより電源が遮断される回路（以降、ＭＴＣＭＯＳ回路と表記する）は、電源遮断時に内部の配線の信号レベルが不定になる。そのため、この不定状態の信号が他の動作中の回路ブロックに誤動作等の悪影響を及ぼさないようにするため、例えば不定状態の信号を固定値に変換するなどの処置が施されている。したがって、ＭＴＣＭＯＳを適用した半導体集積回路の設計においては、電源のオンとオフが仕様通りに行われており、不定状態の信号による誤動作が発生していないかどうかを正しく検証する必要がある。
【０００７】
ところが、従来の一般的な集積回路設計装置では、論理設計の段階において回路の電源を常にオンの状態として扱っており、電源が遮断される状況は想定していない。そのため、ＭＴＣＭＯＳ回路のように動作中に電源のオンオフを行う回路を、論理設計の段階でシミュレーションすることができない。
【０００８】
下記の特許文献１には、ＭＴＣＭＯＳ回路を含むデジタル回路のハードウェア記述言語による論理モデル作成方法が記載されている。この特許文献１の方法は、電源遮断を行う回路の上位階層に、待機状態の入力ピンの値を不定値にする記述を追加することによって、ＭＴＣＭＯＳ回路を含んでいる場合でもデジタル回路のシミュレーションを可能にするものである。
【特許文献１】特開２００３−２３３６３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の方法で作成される回路の記述には、電源スイッチ用の高しきい電圧トランジスタを含んだ回路セル（電源スイッチセル）を明示する記述が含まれておらず、また、どの回路セルがどの電源スイッチセルによって電源遮断されるのかを示す明確な記述もない。そのため、論理設計の結果として得られるゲートレベルのネットリストを使って、次の段階の設計、すなわち回路セルの配線や配置等のレイアウト設計を行う際には、上述した電源スイッチセルに関わる情報を新たに人手によって付加しなくてはならない。したがって、設計作業の負担が大きくなり、人為的な設計ミスが生じ易くなるなど、設計の効率を阻害する不利益がある。
【００１０】
また、特許文献１の方法で追加される記述は回路の検証のみに使用される記述であり、レイアウト設計では不要なため、削除する必要がある。したがって、こうした作業の手間も発生し、設計の効率を阻害する原因となる。
【００１１】
本発明はこのような事情に鑑みてなされたものであり、その目的は、設計の効率を阻害することなく、電源スイッチセルとこれにより電源が遮断される回路セルとを明確に把握することが可能な回路データを生成することができる集積回路設計装置、集積回路設計プログラム、集積回路設計方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の発明は、上位の階層ブロックに下位の階層ブロックが含まれる階層構造によって論理回路が記述された回路データに基づいて集積回路の設計を行う集積回路設計装置であって、制御信号に応じて電源を遮断すべき回路が第１の階層ブロックとして記述された回路データに基づいて、上記第１の階層ブロックと、上記制御信号が入力される所定の電源スイッチセルとによって下位階層が構成される第２の階層ブロックが記述された回路データを生成する回路データ生成手段を有する。
【００１３】
上記第１の発明によると、上記回路データ生成手段において生成される回路データの記述中には、上記制御信号に応じて電源を遮断すべき回路に対応する上記第１の階層ブロックと、上記制御信号が入力される所定の電源スイッチセルとによって下位階層が構成された、第２の階層ブロックが作成される。
そのため、上記回路データ生成手段で生成される回路データの記述における所定の電源スイッチセルと同一階層の階層ブロックとの関係から、実際の回路における電源スイッチセルとその電源遮断対象の回路との関係が明確に把握される。また、回路データの記述における電源スイッチセルが、実際の回路における電源スイッチセルと対応するため、上記電源セルスイッチの記述をレイアウト段階の設計で削除する必要がない。
【００１４】
好適には、上記第１の発明は、上記回路データ生成手段において生成される回路データの記述に従って、回路の動作をシミュレーションするシミュレーション手段であって、該回路データに上記電源スイッチセルの記述が含まれていると、上記シミュレーションを開始する際、上記電源スイッチセルと同一階層の階層ブロックに含まれる信号配線のリストを取得し、上記シミュレーションの過程において電源の遮断を指示する制御信号が上記電源スイッチセルに入力された場合、上記取得したリストに含まれる信号配線の論理値を不定値に固定してシミュレーションを続行し、上記シミュレーションの過程において電源の供給を指示する制御信号が上記電源スイッチセルに入力された場合、上記取得したリストに含まれる信号配線の論理値の不定値への固定を解除してシミュレーションを続行する、シミュレーション手段を有する。
【００１５】
上記の構成によれば、上記回路データ生成手段において生成される回路データの記述に上記電源スイッチセルの記述が含まれていると、上記シミュレーション手段において、上記シミュレーションを開始する際、上記電源スイッチセルと同一階層の階層ブロックに含まれる信号配線のリストが取得される。また、上記シミュレーションの過程において電源の遮断を指示する制御信号が上記電源スイッチセルに入力された場合、上記取得したリストに含まれる信号配線の論理値が不定値に固定されてシミュレーションが続行される。更に、上記シミュレーションの過程において電源の供給を指示する制御信号が上記電源スイッチセルに入力された場合、上記取得したリストに含まれる信号配線の論理値の不定値への固定が解除されて、シミュレーションが続行される。
【００１６】
また、上記回路データ生成手段は、上記第１の階層ブロックが記述された回路データに基づいて、上記第２の階層ブロックが記述された回路データを生成する第１の回路データ生成手段と、上記第１の回路データ生成手段において生成された回路データに論理合成処理を行うことにより、所定の回路セルを組み合わせて構成された論理回路の回路データを生成する第２の回路データ生成手段であって、上記第１の回路データ生成手段において生成された回路データの各階層ブロックについて、同一階層または上位階層に上記電源スイッチセルが存在するか否かを調査し、該調査の結果、同一階層または上位階層に上記電源スイッチセルが存在する階層ブロックについては、電源を遮断される回路のために予め用意された回路セルの情報を用いて上記論理合成処理を行い、同一階層または上位階層に上記電源スイッチセルが存在しない階層ブロックについては、電源を遮断されない回路のために予め用意された回路セルの情報を用いて上記論理合成処理を行う第２の回路データ生成手段と、を含んでも良い。
【００１７】
上記の構成によれば、上記第２の回路データ生成手段において、上記第１の回路データ生成手段で生成された回路データの各階層ブロックについて、同一階層または上位階層に上記電源スイッチセルが存在するか否かの調査が行われる。この調査の結果、同一階層または上位階層に上記電源スイッチセルが存在する階層ブロックについては、電源を遮断される回路のために予め用意された回路セルの情報を用いて上記論理合成処理が行われ、同一階層または上位階層に上記電源スイッチセルが存在しない階層ブロックについては、電源を遮断されない回路のために予め用意された回路セルの情報を用いて上記論理合成処理が行われる。
これにより、電源スイッチセルによって電源が遮断される階層ブロックとそうでない階層ブロックが、それぞれ予め用意された回路セルを用いて論理合成される。
【００１８】
また、上記回路データ生成手段は、上記第１の階層ブロックが記述された回路データに基づいて、上記第２の階層ブロックが記述された回路データを生成する第１の回路データ生成手段と、上記第１の回路データ生成手段において生成された回路データに論理合成処理を行うことにより、所定の回路セルを組み合わせて構成された論理回路が上記階層構造によって記述された回路データを生成する第２の回路データ生成手段とを含んで良く、上記第１の発明は、上記第２の回路データ生成手段において生成される回路データから上記電源スイッチセルを検索し、該検索によって見つけた電源スイッチセルを指示する情報と、該電源スイッチセルと同一階層に属する階層ブロック内の全ての回路セルを個々に指示する情報とを対応付けたテーブルを作成するテーブル作成手段を更に有しても良い。
【００１９】
上記の構成によれば、上記第２の回路データ生成手段において、上記第１の回路データ生成手段で生成された回路データに論理合成処理が行われ、これにより、所定の回路セルを組み合わされて構成された論理回路が上記階層構造によって記述された回路データが生成される。そして、上記テーブル作成手段において、上記第２の回路データ生成手段で生成された回路データから上記電源スイッチセルを検索する処理が行われ、該検索によって見つけられた電源スイッチセルを指示する情報と、該電源スイッチセルと同一階層に属する階層ブロック内の全ての回路セルを個々に指示する情報とを対応付けたテーブルが作成される。
これにより、電源スイッチセルとその電源遮断対象の回路セルとの対応関係を表したテーブルが得られる。
【００２０】
また、上記回路データ生成手段は、動作によって論理回路が記述された動作記述データに動作合成処理を行うことにより、上記階層構造によって論理回路が記述された回路データを生成し、該生成の際に、制御信号に応じて電源を遮断すべき回路を指定する予め与えられた情報に従って、該回路を上記第１の階層ブロックとする記述、ならびに、上記第１の階層ブロックと上記電源スイッチセルとによって下位階層が構成される上記第２の階層ブロックの記述を作成しても良い。
【００２１】
上記の構成によれば、上記回路データ生成手段において、動作によって論理回路が記述された動作記述データに動作合成処理が行われ、これにより、上記階層構造によって論理回路が記述された回路データが生成される。そして、この生成の際に、制御信号に応じて電源を遮断すべき回路を指定する予め与えられた情報に従って、該回路を上記第１の階層ブロックとする記述、ならびに、上記第１の階層ブロックと上記電源スイッチセルとによって下位階層が構成される上記第２の階層ブロックの記述が作成される。
【００２２】
本発明の第２の発明は、上位の階層ブロックに下位の階層ブロックが含まれる階層構造によって論理回路が記述された回路データに基づいて集積回路の設計をコンピュータに実行させる集積回路設計プログラムであって、制御信号に応じて電源を遮断すべき回路が第１の階層ブロックとして記述された回路データを取得する第１のステップと、上記第１のステップにおいて取得した回路データに基づいて、上記第１の階層ブロックと、上記制御信号が入力される所定の電源スイッチセルとによって下位階層が構成される第２の階層ブロックが記述された回路データを生成する第２のステップとを有する。
【００２３】
本発明の第３の発明は、上位の階層ブロックに下位の階層ブロックが含まれる階層構造によって論理回路が記述された回路データに基づいて集積回路を設計する集積回路設計方法であって、制御信号に応じて電源を遮断すべき回路が第１の階層ブロックとして記述された回路データを取得する第１の工程と、上記第１の工程で取得された回路データに基づいて、上記第１の階層ブロックと、上記制御信号が入力される所定の電源スイッチセルとによって下位階層が構成される第２の階層ブロックが記述された回路データを生成する第２の工程とを有する。
【発明の効果】
【００２４】
本発明によれば、レイアウト設計段階において記述を削除するなど、設計の効率を阻害する作業を発生させることなく、電源スイッチセルとこれにより電源が遮断される回路セルとを明確に把握することが可能な回路データを生成することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態として、ＭＴＣＭＯＳが適用された半導体集積回路の設計装置について、図面を参照して説明する。
【００２６】
図１は、本発明の実施形態に係る集積回路設計装置のハードウェア構成の一例を示す図である。
図１に示す集積回路設計装置は、コンピュータ１０と、プログラム記憶部２０と、データ記憶部３０と、表示装置４０と、インターフェース部５０とを有する。
【００２７】
コンピュータ１０は、プログラム記憶部２０に記憶される集積回路設計プログラムを読み出してこれを実行し、集積回路の設計に関わる後述の処理を実行する。
【００２８】
プログラム記憶部２０は、コンピュータ１０に実行させる集積回路設計プログラムを記憶する。
【００２９】
データ記憶部３０は、コンピュータ１０における処理の実行過程で用いられるデータや、実行結果のデータを記憶する。例えば、動作レベルの回路データや、ＲＴＬ（register transfer level）データ、ゲートレベルのネットリストなど、集積回路設計プログラムによって処理される回路データを記憶する。
【００３０】
表示部４０は、コンピュータ１０の制御に従って画像を表示する。例えば、集積回路設計プログラムの実行に伴なって、ユーザに命令の入力を促す画像や、シミュレーションの実行結果の画像などを表示する。
【００３１】
インターフェース部５０は、例えばキーボードやマウスなど、コンピュータ１０にユーザからの情報を入力するための装置を含む。また、光ディスク装置やネットワークインターフェース装置など、集積回路設計装置において処理する回路データを入出力するための装置を含む。
【００３２】
図２は、本発明の実施形態に係る集積回路設計装置の機能的な構成の一例を示す図であり、集積回路設計プログラムによって実現される機能的な構成を図解したものである。
図２に示す集積回路設計装置は、ＲＴＬデータ生成部１１０と、シミュレーション部１２０および１４０と、ネットリスト生成部１３０と、テーブル作成部１５０と、ＲＴＬデータ記憶部２１０と、ＭＴＣＭＯＳ用セルライブラリ２２０と、通常用セルライブラリ２３０と、ネットリスト記憶部２４０と、テーブル記憶部２５０とを有する。
【００３３】
なお、ＲＴＬデータ生成部１１０は、本発明の第１の回路データ生成手段の一実施形態である。
ネットリスト生成部１３０は、本発明の第２の回路データ生成手段の一実施形態である。
シミュレーション部１２０，１４０は、本発明のシミュレーション手段の一実施形態である。
テーブル作成部１５０は、本発明のテーブル作成手段の一実施形態である。
【００３４】
ＲＴＬデータ生成部１１０は、電源セルスイッチに対応する記述を含んだＲＴＬデータを生成する。ＲＴＬデータは、例えばＶＨＤＬやｖｅｒｉｌｏｇ−ＨＤＬなどのハードウェア記述言語を用いて、論理回路を階層構造により記述した回路データである。
なお、ここで階層構造とは、ある一まとまりの回路を第１の階層ブロック、この回路の内部に含まれる更に小さいまとまりの回路を第２の階層ブロックとして表現した場合に、第２の階層ブロックを第１の階層ブロックに対して下位の階層に属するものとして階層ブロックの間の関係を規定する構造を意味する。言い換えると、上位の階層ブロックに下位の階層ブロックが含まれるものとして階層ブロック間の関係を規定する構造を意味する。
【００３５】
ＲＴＬデータ生成部１１０は、例えばＣ言語などの高級言語により動作レベルで記述された回路データ（動作記述データ）ＤＩを入力し、これに動作合成処理を行うことにより、ＲＴＬデータを生成する。
ＲＴＬデータ生成部１１０は、このＲＴＬデータ生成の際に、制御信号に応じて電源を遮断すべきＭＴＣＭＯＳ回路を、１つまたは複数の独立した階層ブロックとして記述する。どの回路ブロックがＭＴＣＭＯＳ回路であるかについては、例えば、動作記述データの中に記述される情報や、動作記述データとは別のファイルに保存される情報によって指定される。
【００３６】
更に、ＲＴＬデータ生成部１１０は、電源遮断されるＭＴＣＭＯＳ回路の階層ブロックと、ＲＴＬデータの記述中で定義した仮想の電源スイッチセル（以降、仮想電源スイッチセルと表記する）とによって下位階層が構成される、上位の階層ブロックの記述を作成する。仮想電源スイッチセルには、ＭＴＣＭＯＳ回路の電源遮断に用いられる制御信号が入力される。
このような記述を作成することにより、仮想電源スイッチセルと同一階層に含まれる階層ブロックは、電源遮断される階層ブロックとして明確に表現される。
【００３７】
図３は、ＲＴＬデータ生成部１１０において生成されるＲＴＬデータの記述例を示す図であり、図４はその階層構造を図解した図である。
図３，図４において、ＴＯＰブロック３０１、ＰＧＣＴＬブロック３０２、ＰＧＢＬＫブロック３０３、ＢＬＫブロック３０４はそれぞれ階層ブロックを表し、ＰＧＳＷセル３０５は電源スイッチセルを表す。
ＴＯＰブロック３０１の下位階層には、ＰＧＣＴＬブロック３０２とＰＧＢＬＫブロック３０３が含まれている。ＰＧＢＬＫブロック３０３の下位階層には、ＢＬＫブロック３０４とＰＧＳＷセル３０５が含まれている。
これらの階層ブロックのうち、実質的な動作が記述されているのはＰＧＣＴＬブロック３０２とＢＬＫブロック３０４である。
【００３８】
図３，図４の例において、ＰＧＳＷセル３０５と同一階層の階層ブロックは、ＢＬＫブロック３０４である。したがって、ＢＬＫブロック３０４は、電源スイッチセルによって電源遮断されるＭＴＣＭＯＳ回路の階層ブロックであると認識される。他方、ＰＧＣＴＬブロック３０４は、同一階層および上位階層に仮想電源スイッチセルを含んでいないため、電源遮断されない通常回路の階層ブロックであると認識される。
【００３９】
ＲＴＬデータ記憶部２１０は、データ記憶部３０に割り当てられた記憶領域の１つであり、ＲＴＬデータ生成部１１０において生成されたＲＴＬデータを記憶する。
【００４０】
ＭＴＣＭＯＳ用セルライブラリ２２０は、データ記憶部３０に割り当てられた記憶領域の１つであり、ＭＴＣＭＯＳ回路のネットリストを生成する場合に用いられる回路セルの情報を記憶する。
【００４１】
通常用セルライブラリ２３０は、データ記憶部３０に割り当てられた記憶領域の１つであり、ＭＴＣＭＯＳ回路でない通常回路のネットリストを生成する場合に用いられる回路セルの情報を記憶する。
【００４２】
ネットリスト生成部１３０は、ＲＴＬデータ生成部１１０において生成されたＲＴＬデータに論理合成処理を行うことにより、ＮＡＮＤゲートやＮＯＴゲートなどの基本回路セルを組み合わせて構成されたゲートレベルのネットリストを生成する。ゲートレベルのネットリストは、ＲＴＬデータと同様に、階層構造によって記述された回路データである。
【００４３】
また、ネットリスト生成部１３０は、合成の対象の階層ブロックがＭＴＣＭＯＳ回路であるか否かに応じて、論理合成処理に用いる回路セルのライブラリを決める。
すなわち、ネットリスト生成部１３０は、ＲＴＬデータ生成部１１０において生成されたＲＴＬデータの各階層ブロックについて、同一階層または上位階層に仮想電源スイッチセルが存在するか否かを調査する。そして、この調査の結果、同一階層または上位階層に仮想電源スイッチセルが存在する階層ブロックについては、ＭＴＣＭＯＳ用セルライブラリ２２０の回路セルの情報を用いて論理合成処理を行い、同一階層または上位階層に電源スイッチセルが存在しない階層ブロックについては、通常用セルライブラリ２３０の回路セルの情報を用いて論理合成処理を行う。
【００４４】
ネットリスト記憶部２４０は、データ記憶部３０に割り当てられた記憶領域の１つであり、ネットリスト生成部１３０において生成されたネットリストを記憶する。
【００４５】
シミュレーション部１２０は、ＲＴＬデータ記憶部２１０からＲＴＬデータを読み出し、その記述に従って、回路の動作をシミュレーションする。
【００４６】
例えば、シミュレーション部１２０は、ＲＴＬデータの記述に対応するシミュレーション用の動作モデルを図示しない専用のライブラリから読み出して、これに応じた動作を実行する。
このライブラリには、上述した仮想電源スイッチセルの記述に対応するシミュレーション用の動作モデルも含まれている。シミュレーション部１２０は、ＲＴＬデータに仮想電源スイッチセルの記述が含まれていると、この動作モデルに従って、次に述べるような動作を実行する。
【００４７】
図５は、仮想電源スイッチセルのシミュレーション用動作モデルの記述例を示す図である。
この動作モデル記述には、シミュレーションを開始する際、仮想電源スイッチセルと同一階層の階層ブロックに含まれる信号配線のリストを取得する指示が含まれる。
また、シミュレーションの過程において電源の遮断を指示する制御信号が仮想電源スイッチセルに入力された場合、上記のリストに含まれる信号配線の論理値を不定値に固定し、シミュレーションを続行する指示が含まれる。
更には、シミュレーションの過程において電源の供給を指示する制御信号が仮想電源スイッチセルに入力された場合、上記のリストに含まれる信号配線の論理値の不定値への固定を解除して、シミュレーションを続行する指示が含まれる。
シミュレーション部１２０は、このような動作モデルの記述に従ってシミュレーションを実行する。
【００４８】
シミュレーション部１４０は、ネットリスト記憶部２４０からネットリストを読み出し、その記述に従って、回路の動作をシミュレーションする。
シミュレーション部１４０も、シミュレーション部１２０と同様に、ネットリストの記述に対応するシミュレーション用動作モデルを不図示のライブラリから読み出して、これに応じた動作を実行する。仮想電源スイッチセルのシミュレーション用動作モデルには、図５と同様な指示が記述されているため、ネットリスト中に仮想電源スイッチセルの記述が含まれている場合、シミュレーション部１４０は、シミュレーション部１２０と同様な動作を実行する。
【００４９】
テーブル作成部１５０は、ネットリスト記憶部２４０に記憶されるネットリストから仮想電源スイッチセルを検索し、検索によって見つけた仮想電源スイッチセルのインスタンス名と、この仮想電源スイッチセルと同一階層に属する階層ブロック内の全ての回路セルのインスタンス名とを対応付けたテーブルを作成する。ここで、回路セルのインスタンス名は、個々の回路セルを指示する情報を意味する。仮想電源スイッチセルのインスタンス名についても同様である。
【００５０】
テーブル記憶部２５０は、データ記憶部３０に割り当てられた記憶領域の１つであり、テーブル作成部１５０において作成されたテーブルを記憶する。
【００５１】
次に、上述した構成を有する集積回路設計装置の動作を説明する。
【００５２】
始めに、全体の動作の流れを述べる。
まず、Ｃ言語等により記述された回路の動作記述データＤＩに対し、ＲＴＬデータ生成部１１０において動作合成処理が行われて、ＭＴＣＭＯＳ回路を表現する記述を含んだＲＴＬデータが生成される。このＲＴＬデータに対し、ネットリスト生成部１３０において論理合成処理が行われて、ゲートレベルのネットリストＤＯ１が生成される。更に、この生成されたネットリストＤＯ１に基づき、テーブル作成部１５０において、仮想電源スイッチセルと回路セルとの対応関係を示すテーブルが作成される。
このような回路データの生成フローにおいて、回路動作の検証のために、ＲＴＬデータのシミュレーションがシミュレーション部１２０、ネットリストのシミュレーションがシミュレーション部１４０でそれぞれ行われる。
【００５３】
以下では、ＲＴＬデータ生成部１１０、シミュレーション部１２０，１４０、ネットリスト生成部１３０、テーブル作成部１５０の順に、それぞれの動作を詳しく述べる。
【００５４】
図６は、ＲＴＬデータ生成部１１０における処理の流れの一例を示すフローチャートである。
【００５５】
ＲＴＬデータ生成部１１０は、動作記述データＤＩを受け取ると、階層ブロックごとに動作合成処理を行って、ＲＴＬ記述を生成する（ステップＳＴ１０１）。
【００５６】
次いで、ＲＴＬデータ生成部１１０は、ＲＴＬ記述を生成した階層ブロックがＭＴＣＭＯＳ回路であるか否かを、動作記述データＤＩに含まれる情報や、動作記述データＤＩとは別のファイルに記憶される情報等に基づいて判定する（ステップＳＴ１０２）。
【００５７】
階層ブロックがＭＴＣＭＯＳ回路である場合、ＲＴＬデータ生成部１１０は、この階層ブロックと仮想電源スイッチセルとによって下位階層が構成される、上位の階層ブロックのＲＴＬ記述を作成する（ステップＳＴ１０３）。
階層ブロックがＭＴＣＭＯＳ回路である場合、ＲＴＬデータ生成部１１０は、ステップＳＴ１０３の処理をスキップする。
【００５８】
ステップＳＴ１０２，ＳＴ１０３の処理の後、ＲＴＬデータ生成部１１０は、動作記述データＤＩにおける全ての階層ブロックの動作合成が終了したか否か判定し、まだ合成していない階層ブロックがある場合には、ステップＳＴ１０１に戻って上述の処理を繰り返す。全階層ブロックの動作合成が終了したならば、ＲＴＬ生成処理を終了する。
【００５９】
図７は、ＲＴＬデータに仮想電源スイッチセルの記述が存在する場合の、シミュレーション部１２０における処理の流れの一例を示すフローチャートである。
【００６０】
まず、シミュレーション部１２０は、ＲＴＬデータ記憶部２１０に記憶されるＲＴＬデータを読み出して、電源スイッチセルと同一階層の階層ブロックに含まれる信号配線のリストを取得する（ステップＳＴ２０１）。リストには、例えば、電源スイッチセルと同一階層の階層ブロックに含まれる全ての信号配線のインスタンス名が含まれる。
リストの取得後、シミュレーション部１２０はシミュレーションを開始する。
【００６１】
シミュレーション部１２０は、シミュレーションの過程で電源の遮断を指示する制御信号の値に変化が生じたか否かを監視する（ステップＳＴ２０３）。
この監視の結果、電源遮断の指示する値の制御信号が仮想電源スイッチセルに入力された場合、シミュレーション部１２０は、ステップＳＴ２０１で取得したリストに含まれる信号配線の論理値を不定値に固定する（ステップＳＴ２０４）。逆に、電源の供給の指示する値の制御信号が仮想電源スイッチセルに入力された場合は、ステップＳＴ２０４で行った信号配線値の不定値への固定を解除する（ステップＳＴ２０５）。
【００６２】
ステップＳＴ２０１，ＳＴ２０４の処理の後、シミュレーション部１２０は、回路内の信号配線の値を再計算する（ステップＳＴＳＴ２０６）。そして、シミュレーションの終了条件に至っていなければ、再びステップＳＴ２０３に戻って、仮想電源スイッチセルの制御信号の変化を監視し、シミュレーションの終了条件に至った場合には、シミュレーションの実行を終了する（ステップＳＴ２０７）。
【００６３】
既に述べたように、上述したシミュレーション部１２０の動作は、仮想電源スイッチセルのシミュレーション用動作モデルに記述されており、不図示のライブラリに予め登録されている。ＲＴＬデータに仮想電源スイッチセルの記述が存在すると、上述した動作がシミュレーションの際に自動的に実行される。
【００６４】
ネットリストに仮想電源スイッチセルの記述が存在する場合のシミュレーション部１４０の動作は、上述した図７のフローチャートに示す動作と同様である。
【００６５】
図８は、ネットリスト生成部１３０における処理の流れの一例を示すフローチャートである。
【００６６】
まず、ネットリスト生成部１３０は、ＲＴＬデータ記憶部２１０に記憶されるＲＴＬデータを読み出し、その各階層ブロックについて、同一階層または上位階層に仮想電源スイッチセルが存在するか否かを調査する（ステップＳＴ３０１）。
【００６７】
ネットリスト生成部１３０は、ステップＳＴ３０１の調査結果に基づき、同一階層または上位階層に仮想電源スイッチセルが存在する階層ブロックをＭＴＣＭＯＳ回路、そうでない階層ブロックを通常回路と判定する（ステップＳＴ３０２）。
そして、ＭＴＣＭＯＳ回路と判定した階層ブロックについては、ＭＴＣＭＯＳ用セルライブラリ２２０を用いて論理合成処理を行い（ステップＳＴ３０３）、通常回路と判定した階層ブロックについては、通常用セルライブラリ２３０を用いて論理合成処理を行う（ステップＳＴ３０４）。
【００６８】
図９は、テーブル作成部１５０における処理の流れの一例を示すフローチャートである。
【００６９】
まず、テーブル作成部２５０は、ネットリスト記憶部２４０に記憶されるネットリストを読み出し、その記述の中から仮想電源スイッチセルを検索する（ステップＳＴ４０１）。仮想電源スイッチが見つかると、その仮想電源スイッチセルと同一階層の階層ブロックに含まれる全ての回路セルのインスタンス名を調べ上げる（ステップＳＴ４０２）。
そして、テーブル作成部２５０は、ステップＳＴ４０１で見つけた仮想電源スイッチセルのインスタンス名と、ステップＳＴ４０２で取得した回路セルのインスタンス名とを対応付けたテーブルを作成する。仮想電源スイッチセルが複数存在する場合は、それぞれの仮想電源スイッチセルのインスタンス名と、その電源遮断対象の回路セルのインスタンス名とを対応付けたテーブルを作成する。
【００７０】
以上説明したように、本実施形態によれば、ＲＴＬデータ生成部１１０において生成されるＲＴＬデータの記述中には、制御信号に応じて電源を遮断すべき回路に対応する階層ブロックと、この制御信号が入力される所定の仮想電源スイッチセルとによって下位階層が構成された、上位階層の階層ブロックが作成される。
そのため、ＲＴＬデータの記述中における仮想電源スイッチセルと同一階層の階層ブロックとの関係を把握することにより、実際の回路における電源スイッチセルとその電源遮断対象の回路との関係を明確に把握することができる。言い換えれば、仮想電源スイッチセルと同一階層に属する階層ブロックを調べることにより、共通の仮想電源線に接続され、共通に電源のオンオフが行われるＭＴＣＭＯＳ回路を明確に把握することができる。
【００７１】
また、回路データの記述における仮想電源スイッチセルは、実際の回路における電源スイッチセルの少なくとも１つに対応するため、仮想電源セルスイッチの記述をレイアウト段階の設計で削除する必要がない。
そのため、従来技術のように不要な記述を削除する作業を無くすことができ、設計効率を向上させることができる。
【００７２】
更に、仮想電源スイッチセルの記述には、電源が遮断されるＭＴＣＭＯＳ回路の信号配線値を不定値に固定するシミュレーション用の機能が組み込まれている。例えば、この機能を記述したシミュレーション用の動作モデルが予めライブラリに登録されており、回路データ中に仮想電源スイッチセルの記述が存在する場合、このライブラリから読み出される仮想電源スイッチセル用の動作モデルに従って、信号配線を不定値に固定する上述した動作が実行される。
そのため、特許文献１に示すような、シミュレーションにのみ用いられる特殊な記述を回路データに付加する必要がなく、レイアウト設計段階でこうした不要な記述を削除する手間が生じない。この点でも、設計効率の向上を図ることができる。
【００７３】
また、一般に、常時通電される通常回路と電源が遮断されるＭＴＣＭＯＳ回路とでは、グランドの電位や電源電圧降下などの条件が異なるため、それぞれに適した回路セルを用いる必要がある。
本実施形態によれば、仮想電源スイッチセルによって電源が遮断される階層ブロックとそうでない階層ブロックとを、ＲＴＬデータの階層構造を利用して的確に判別し、それぞれについて予め用意されたセルライブラリを用いて論理合成することが可能である。そのため、こうした作業を人手で行う場合に比べて、設計効率の向上を図ることができる。
【００７４】
また、ＭＴＣＭＯＳ回路を含んだ半導体集積回路のレイアウト設計を行なうには、信号の入出力関係の情報に加えて、どの回路セルがどのグランド線、電源線に接続されているかを示す電源の情報も必要である。
本実施形態によれば、ネットリストに含まれる仮想電源スイッチセルと、これにより電源が遮断される回路セルとの対応テーブルを、ネットリストの階層構造を利用して自動的に作成することが可能になる。そのため、こうした作業を人手で行う場合に比べて、設計効率の向上を図ることができる。
【００７５】
なお、本発明は上述した実施形態にのみ限定されるものではなく、種々のバリエーションを含む。
【００７６】
上述した実施形態では、ＲＴＬデータ生成部１１０において、動作記述データからＲＴＬデータを動作合成処理により生成する例を示しているが、本発明はこれに限定されない。
例えば、電源遮断対象の回路が独立の階層ブロックとして記述されたＲＴＬデータを取得し、このＲＴＬデータにＭＴＣＭＯＳ回路を表現する記述の追加、変更を施すことによって、動作構成処理の場合と同様なＲＴＬデータを生成しても良い。
この場合、例えば始めに、入力したＲＴＬデータの中から、電源遮断対象回路の階層ブロックを検索する。この検索は、例えば動作合成処理の場合と同様に、電源遮断対象回路の階層ブロックを指定する情報に従って行う。そして、検索により見つかった階層ブロックと、仮想電源スイッチセルとにより下位階層が構成される上位の階層ブロックを、ＲＴＬデータ中に新たに記述する。
このようなＲＴＬデータの生成方法でも、上述した実施形態と同様な効果が得られる。
【００７７】
上述した実施形態では、集積回路の設計に用いる回路データとして、ＲＴＬデータ等が挙げられているが、これは一例であり、階層構造によって論理回路を記述する他の形式の回路データも本発明に適用可能である。
【００７８】
上述した実施形態ではコンピュータとプログラムによって集積回路設計装置の処理が実現されているが、これに限らず、その少なくとも一部をハードウェアによって実現することも可能である。
【００７９】
本発明において設計可能な集積回路はＣＭＯＳの半導体集積回路に限定されるものではなく、他のタイプの集積回路にも適用可能である。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施形態に係る集積回路設計装置のハードウェア構成の一例を示す図である。
【図２】本発明の実施形態に係る集積回路設計装置の機能的な構成の一例を示す図である。
【図３】ＲＴＬデータ生成部において生成されるＲＴＬデータの記述例を示す図である。
【図４】図３に示すＲＴＬデータの階層構造を図解した図である。
【図５】仮想電源スイッチセルのシミュレーション用動作モデルの記述例を示す図である。
【図６】ＲＴＬデータ生成部における処理の流れの一例を示すフローチャートである。
【図７】ＲＴＬデータに仮想電源スイッチセルの記述が存在する場合の、シミュレーション部における処理の流れの一例を示すフローチャートである。
【図８】ネットリスト生成部における処理の流れの一例を示すフローチャートである。
【図９】テーブル作成部における処理の流れの一例を示すフローチャートである。
【図１０】ＭＴＣＭＯＳを適用した回路の一例を示す図である。
【符号の説明】
【００８１】
１０…コンピュータ、２０…プログラム記憶部、３０…データ記憶部、４０…表示装置、５０…インターフェース部、１１０…ＲＴＬデータ生成部、１２０，１４０…シミュレーション部、１３０…ネットリスト生成部、１５０…テーブル作成部、２１０…ＲＴＬデータ記憶部、２２０…ＭＴＣＭＯＳ用セルライブラリ、２３０…通常用セルライブラリ、２４０…ネットリスト記憶部、２５０…テーブル記憶部。
【図１】
2008299862.tif 000003
【図２】
2008299862.tif 000004
【図３】
2008299862.tif 000005
【図４】
2008299862.tif 000006
【図５】
2008299862.tif 000007
【図６】
2008299862.tif 000008
【図７】
2008299862.tif 000009
【図８】
2008299862.tif 000010
【図９】
2008299862.tif 000011
【図１０】
2008299862.tif 000012