(57)【要約】【課題】従来の設計資産を有効に活用しつつ、半導体装置に含まれる機能ブロックの電源供給を停止した状態の動作検証を行うこと。【解決手段】設計装置は、ステップ３５において、電源電圧を供給停止する電源端子を内部ノードとして定義した電源端子情報２３ａをライブラリ２３から読み出し、半導体装置の電源電圧情報２２を使用して機能ブロックの電源端子情報のマッピング処理を行う。そして、設計装置は、ステップ３６において、ライブラリ２３を参照し、半導体装置のネットリスト２１に基づいて、マッピング処理後の電源端子に電源をオフする信号を入力して論理シミュレーションを実行する。【選択図】図１
2009295006.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能ブロックから構成され、前記複数の機能ブロックのうちの少なくとも１つの機能ブロックは、該機能ブロックに含まれる素子に対する電源電圧の供給停止が制御可能に構成された半導体装置の動作を検証する動作検証装置にて実行される半導体装置の動作検証方法であって、
前記動作検証装置が実行する処理は、
記憶装置から、電源電圧を供給停止する電源端子を内部ノードとして定義した電源端子情報を読み出し、前記記憶装置から読み出した前記半導体装置の電源電圧情報を使用して機能ブロックの電源端子情報のマッピング処理を行う第１のステップと、
記憶装置に格納された半導体装置のネットリストを読み出し、記憶装置に格納されたライブラリを参照し、該ネットリストに基づいて、前記マッピング処理後の電源端子に電源をオフする信号を入力して論理シミュレーションを実行する第２のステップと、
を含む、ことを特徴とする半導体装置の動作検証方法。
【請求項２】
前記動作検証装置は、
前記マッピング処理の要否を判断する第３のステップと、
前記マッピング処理が不要と判断した場合に、全ての前記機能ブロックに電源電圧を供給した状態における論理シミュレーションを実行する第４のステップと、
を備え、
前記マッピング処理が必用と判断した場合に前記第１のステップを実行する、
ことを特徴とする請求項１に記載の半導体装置の動作検証方法。
【請求項３】
複数の機能ブロックから構成され、前記複数の機能ブロックのうちの少なくとも１つの機能ブロックは、該機能ブロックに含まれる素子に対する電源電圧の供給停止が制御可能に構成された半導体装置の動作を検証する動作検証装置であって、
前記動作検証装置は、
記憶装置から、電源電圧を供給停止する電源端子を内部ノードとして定義した電源端子情報を読み出し、前記記憶装置から読み出した前記半導体装置の電源電圧情報を使用して機能ブロックの電源端子情報のマッピング処理を行うステップと、
記憶装置に格納された半導体装置のネットリストを読み出し、記憶装置に格納されたライブラリを参照し、該ネットリストに基づいて、前記マッピング処理後の電源端子に電源をオフする信号を入力して論理シミュレーションを実行するステップと、
を含む処理を実行すること、を特徴とする動作検証装置。
【請求項４】
複数の機能ブロックから構成され、前記複数の機能ブロックのうちの少なくとも１つの機能ブロックは、該機能ブロックに含まれる素子に対する電源電圧の供給停止が制御可能に構成された半導体装置の動作を検証する動作検証装置にて実行される動作検証方法のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記動作検証装置は、
記憶装置から、電源電圧を供給停止する電源端子を内部ノードとして定義した電源端子情報を読み出し、前記記憶装置から読み出した前記半導体装置の電源電圧情報を使用して機能ブロックの電源端子情報のマッピング処理を行うステップと、
記憶装置に格納された半導体装置のネットリストを読み出し、記憶装置に格納されたライブラリを参照し、該ネットリストに基づいて、前記マッピング処理後の電源端子に電源をオフする信号を入力して論理シミュレーションを実行するステップと、
を含むプログラムを実行すること、を特徴とする記録媒体。
【請求項５】
半導体装置のネットリストに基づいて前記半導体装置を製造するためのマスクデータを生成する設計装置であって、
前記半導体装置は、複数の機能ブロックから構成され、前記複数の機能ブロックのうちの少なくとも１つの機能ブロックは、該機能ブロックに含まれる素子に対する電源電圧の供給停止が制御可能に構成され、
前記設計装置は、
記憶装置から、電源電圧を供給停止する電源端子を内部ノードとして定義した電源端子情報を読み出し、前記記憶装置から読み出した前記半導体装置の電源電圧情報を使用して機能ブロックの電源端子情報のマッピング処理を行う第１のステップと、
記憶装置に格納された半導体装置のネットリストを読み出し、記憶装置に格納されたライブラリを参照し、該ネットリストに基づいて、前記マッピング処理後の電源端子に電源をオフする信号を入力して論理シミュレーションを実行する第２のステップと、
前記ネットリストと前記電源電圧情報とに基づいて前記機能ブロックのインスタンスをレイアウトし、そのレイアウトに基づいてマスクデータを生成するステップと、
を実行する、ことを特徴とする設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
半導体装置の動作検証方法、動作検証装置、記録媒体及び設計装置に関するものである。
【背景技術】
【０００２】
近年、半導体装置は、大規模化・高集積化により、１つのチップ上に多数の機能ブロックが搭載されている。各機能ブロックは、１つ又は複数の機能を実行するように構成されている。また、半導体装置は、低消費電力化が図られている。消費電力を低減する手法の１つは、その時の動作に不要な機能の機能ブロックを停止させるものである。一例として、図８に示す半導体装置１００は、複数の機能ブロック１０１，１０２，１０３を含み、各機能ブロック１０１〜１０３には、動作電圧が図示しない配線により供給される。機能ブロック１０２は、該回路を構成する素子の電源端子と、電源電圧を供給する電源配線との間に接続されたスイッチを含み、パワーゲート信号によりスイッチをオン／オフすることにより機能ブロック１０２の素子に対する電源電圧の供給／停止を制御する。
【０００３】
半導体装置の設計段階において、設計者が意図するように動作するかを検証する論理シミュレーション（動作検証）が行われる。例えば、半導体装置の設計を支援する支援装置は、図７に示すように、設計者の要求に従って作成されたネットリスト１１１に基づいて、記憶装置に記憶したマクロ論理ライブラリ１１２とを参照して論理シミュレーションを実行し（ステップ１２１）シミュレーション結果を出力する（ステップ１２２）。このシミュレーション結果に基づき、半導体装置の動作に問題が無ければ電源電圧情報１１３を参照して半導体装置のレイアウトを行い（ステップ１２３）、半導体装置を製造するためのマスクデータ１１４を生成する。
【０００４】
しかし、上記の論理シミュレーションは、全ての機能ブロックに動作電圧を供給している、つまり全マクロに電源供給している状態しか検証することができない。これは、マクロ論理ライブラリ１１２が、常に電源が供給されているように定義されているからである。従って、図８に示す半導体装置１００では、機能ブロック１０２に動作電圧が供給されていない時の他の機能ブロック１０１，１０３の動作を確認することができなかった。
【０００５】
そこで、第１の従来例として、機能ブロック１０２の素子の電源端子に供給する電源電圧のネット情報を、クロック信号等の通常の信号を素子の端子供給するネット情報と同様にネットリストに記述することで、機能ブロック１０２の素子に電源電圧を供給しない状態の動作検証を行う方法がある（例えば、特許文献１，特許文献２参照）。電源ネットの論理値を０（ゼロ：グランドレベル）として機能ブロック１０２の素子が動作しない状態を擬似的に作り出すことで、電源電圧を供給しない状態の論理シミュレーションを行うことができる。
【０００６】
また、第２の樹来例として、パワーゲート信号により電源電圧の供給を停止する機能ブロック１０２の全ての入力端子をハイインピーダンス（論理値Ｚ）に固定するように、動作を記述した動作ファイルを生成し、その動作ファイルに従って論理シミュレーションを実行させる方法がある（例えば、特許文献３参照）。ライブラリは、論理素子が、入力端子がハイインピーダンスとなると、出力端子を論理値Ｘ（論理値１及び論理値０の何れかを決定できない状態）とするように、記述されている。従って、動作電圧の供給を停止する機能ブロック１０２（素子）の入力端子をハイインピーダンス状態とすると、動作電圧を供給する回路（素子）には論理値Ｘが伝播されるため、機能ブロック１０２に動作電圧を供給しない状態を擬似的に作り出すことができる。
【特許文献１】特開２０００−３０５９６１号公報
【特許文献２】特開２００５−１８１８７号公報
【特許文献３】特開２００６−３１２０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記第１の従来例では、ネットリストに電源ネットの情報を付加しなければならないため、従来の論理合成などのツール（プログラム）を使用することができない。半導体装置の設計装置は、ハードウェア記述言語等により記述した設計データからネットリストを作成している。従って、ネットリストに余分な情報を付加するためには、ツールを変更しなければならず、従来の設計資産を利用することができない。
【０００８】
また、上記第１の従来例では、ライブラリに格納されたマクロのセル情報を、素子が電源端子の状態に応答するように変更しなければならない。多くの半導体装置は、複数のマクロを含む。マクロは、自社で作成するもののみならず、他の企業から調達するものもある。このため、上記第１の従来例で論理シミュレーションを行うには、すべてのマクロの情報を変更しなければならないため、従来の設計資産を利用することができない。
【０００９】
また、上記第２の従来例では、論路シミュレータの制御情報を自動的に作成しているため、この制御情報を作成するためのツールが必用となる。また、制御情報を持たない（与えることができない）論理シミュレータには適用することができない、即ち従来の設計資産を使用することができない。制御情報を持たない論理シミュレータに適用しようとすると、入力端子をハイインピーダンス状態とする検証用ネットリストが別途必用となり、データ管理の混乱を招くおそれがある。
【００１０】
この半導体装置の動作検証方法、動作検証装置、記録媒体及び設計装置で、従来の設計資産を有効に活用しつつ、電源の供給停止が制御される機能ブロックを含む半導体装置において機能ブロックの電源供給を停止した状態の動作検証を行うことを目的とする。
【課題を解決するための手段】
【００１１】
この方法は、複数の機能ブロックから構成され、前記複数の機能ブロックのうちの少なくとも１つの機能ブロックは、該機能ブロックに含まれる素子に対する電源電圧の供給停止が制御可能に構成された半導体装置の動作を検証する動作検証装置にて実行される半導体装置の動作検証方法であって、前記動作検証装置が実行する処理は、記憶装置から、電源電圧を供給停止する電源端子を内部ノードとして定義した電源端子情報を読み出し、前記記憶装置から読み出した前記半導体装置の電源電圧情報を使用して機能ブロックの電源端子情報のマッピング処理を行う第１のステップと、記憶装置に格納された半導体装置のネットリストを読み出し、記憶装置に格納されたライブラリを参照し、該ネットリストに基づいて、前記マッピング処理後の電源端子に電源をオフする信号を入力して論理シミュレーションを実行する第２のステップと、を含むことを要件とする。
【００１２】
この方法によれば、電源端子を内部ノードとして定義することで、電源の供給停止が制御される機能ブロックを含む半導体装置の論理シミュレーションを行うことができる。そして、ライブラリやネットリストに変更を加える必用がないため、従来のライブラリに格納された情報を使用すること、ネットリストを作成するツールを使用すること、つまり従来の設計資産を有効に活用することができる。
【発明の効果】
【００１３】
開示の半導体装置の動作検証方法、動作検証装置、記録媒体及び設計装置は、従来の設計資産を有効に活用しつつ、電源の供給停止が制御される機能ブロックを含む半導体装置において機能ブロックの電源供給を停止した状態の動作検証を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下、一実施形態を図１〜図６に従って説明する。
図２に示すように、半導体装置の設計装置１１は一般的なＣＡＤ(Computer Aided Design) 装置からなり、中央処理装置（以下、ＣＰＵ）１２、メモリ１３、記憶装置１４、表示装置１５、入力装置１６、及びドライブ装置１７を備え、それらはバス１８を介して相互に接続されている。
【００１５】
ＣＰＵ１２は、メモリ１３を利用してプログラムを実行し、半導体装置の設計に必要な処理を実行する。従って、設計装置１１は、半導体装置の設計を支援する設計支援装置として機能する。また、設計装置１１は、ＣＰＵ１２がプログラムを実行することにより、半導体装置の論理シミュレーションを行う。即ち、設計装置１１は、半導体装置の動作を検証する動作検証装置として機能する。メモリ１３には、処理を行うために必要なプログラムとデータが格納され、メモリ１３としては、通常、キャッシュ・メモリ，システム・メモリ，及びディスプレイ・メモリ等（図示略）を含む。
【００１６】
表示装置１５は、レイアウト表示、パラメータ入力画面、処理結果等の情報を表示するために用いられ、これには通常、ＣＲＴ，ＬＣＤ，ＰＤＰ等（図示略）が用いられる。尚、表示装置１５は、設計装置１１が操作者に上記の情報を提示するものであり、紙などの媒体に情報を印刷するもの（例えばプリンタ）を含む。入力装置１６は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボード及びマウス装置等（図示略）が用いられる。
【００１７】
記憶装置１４は、通常、磁気ディスク装置，光ディスク装置，光磁気ディスク装置等（図示略）を含む。記憶装置１４には、図１に示す処理のためのプログラムデータ（以下、プログラム）及び各種のデータファイル（以下、ファイル）２１〜２４が格納される。ＣＰＵ１２は、入力装置１６による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ１３へ転送し、プログラムを逐次実行する。そして、ＣＰＵ１２は、プログラムの実行に必要なファイルやデータの読み込み、プログラムの実行によるファイルやデータの作成を、記憶装置１４に対して行う。この記憶装置１４は、データベースとしても使用される。
【００１８】
ＣＰＵ１２が実行するプログラムは、記録媒体１９にて提供される。ドライブ装置１７は、記録媒体１９を駆動し、その記憶内容にアクセスする。ＣＰＵ１２は、ドライブ装置１７を介して記録媒体１９からプログラムを読み出し、それを記憶装置１４にインストールする。尚、記録媒体１９に格納して提供するものは、プログラムに限らず、ライブラリ等の各種データを提供しても良い。
【００１９】
記録媒体１９としては、メモリカード，フレキシブルディスク，光ディスク(CD-ROM,DVD-ROM,… )，光磁気ディスク(MO,MD,…)等（図示略）、任意のコンピュータ読み取り可能な記録媒体を使用することができる。尚、半導体メモリや外部接続されるハードディスク装置等が用いられても良い。この記録媒体１９に、上述のプログラムを格納しておき、必要に応じて、メモリ１３にロードして使用することもできる。
【００２０】
尚、記録媒体１９には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置、通信媒体を介して設計装置１１（コンピュータ）が接続されるサーバ装置の記憶装置、等を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、自身又は他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
【００２１】
上記の設計装置１１が行う処理を、図１に従って説明する。
設計装置１１の記憶装置１４（図２参照）には、ネットリスト２１と電源電圧情報２２とマクロ論理ライブラリ２３がファイルとして格納されている。ネットリスト２１には、図８に示す半導体装置１００の回路接続情報（回路の接続関係を表した設計データ）が格納されている。ネットリスト２１は、例えば、ハードウェア記述言語や論理式等の設計データに基づいて、論理合成ツールにより作成されている。電源電圧情報２２には、図８に示す半導体装置１００が動作するための電源電圧の電源情報が格納されている。電源情報は、インスタンス毎に設定されている。尚、機能ブロック単位で電源情報を設定しても良い。
【００２２】
ライブラリ２３には、半導体装置に利用可能なインスタンス（回路図上で使用される論理素子（論理ゲート）や機能ブロック：セル，マクロセル等）の情報が格納されている。複数のセルにより構成されるインスタンス（マクロセル）の情報は、インスタンスに含まれるセル、セル間の接続情報、インスタンスの入出力信号、等を含む。インスタンスのデータは、自社にて作成されたものと、他社から調達されたものを含む。
【００２３】
また、ライブラリ２３には、電源端子情報２３ａと電源論理情報２３ｂとが格納されている。電源端子情報２３ａは、インスタンスの電源端子を示す電源端子名と、電源端子に対するオン・オフ論理とが関連付けたものである。電源端子名は内部ノードとして記述されている。内部ノードは、ネットリストに記述が不要なノード（端子）である。従って、ネットリスト２１に記載が不要である、つまり、従来の手法（論理合成など）により得られたネットリストをそのまま使用することができる。尚、電源端子名は、例えば、ハードウェア記述言語（Verilog,VHDL）のレジスタ宣言（ｒｅｇ宣言）にて定義されている。電源端子情報２３ａの一例を図３に示す。
【００２４】
レジスタ宣言は、データを保持する信号線を定義するものである。設計装置１１は、この宣言により定義された信号線を記憶素子として扱い、次のデータが入力されるまで、データを保持する。また、設計装置１１は、レジスタ宣言された端子名を変数として扱う。従って、設計装置１１は、シミュレーション時に、端子名に対する値の変更が可能である。このため、設計装置１１は、電源端子名をレジスタ宣言することにより、値の変更が可能な端子として扱うため、状態の変更（電源オン／オフ）が容易である。
【００２５】
電源論理情報２３ｂは、電源端子情報２３ａにて宣言した電源端子に対する論理情報である。この論理情報は、例えば、オン時を「０」、オフ時を「１」とし、オン時とオフ時のそれぞれにおいて、論理素子の入力信号の論理と出力信号の論理とを規定するものである。例えば、インバータ回路の場合、電源オン時「０」、入力信号が「１」の場合に出力信号を「Ｌ」とし、入力信号が「０」の場合に出力信号を「Ｈ」とする。一方、電源オフ時「１」、入力信号「１」の場合に出力信号を「Ｌ」とし、入力信号が「０」の場合に出力信号を「Ｌ」とする。電源論理情報２３ｂの一例を図６に示す。
【００２６】
半導体装置１００は、３つの機能ブロック１０１，１０２，１０３を含む。各機能ブロック１０１〜１０３は、図１に示すマクロ論理ライブラリ２３に登録されたマクロを使用して作成されている。各機能ブロック１０１〜１０３には、動作電圧が図示しない配線により供給される。この供給する動作電圧の情報が電源電圧情報２２に格納されている。機能ブロック１０１，１０３は、該回路を構成する素子の電源端子に、電源電圧を供給する電源配線が接続されている。機能ブロック１０２は、該回路を構成する素子の電源端子と、電源電圧を供給する電源配線との間に接続されたスイッチを含み、このスイッチはパワーゲート信号によりオン／オフする。パワーゲート信号は、他の機能ブロック１０１，１０３や半導体装置１００の外部から供給される。機能ブロック１０２内のスイッチをオン／オフすることにより機能ブロック１０２の素子に対する電源電圧の供給／停止を制御する。
【００２７】
設計装置１１は、ネットリスト２１，電源電圧情報２２，ライブラリ２３に格納されたデータに基づいて、図１に示すステップ３１〜３７の各処理を実行し、半導体装置１００を製造するためのマスクデータ２４を生成する。
【００２８】
ステップ３１において、設計装置１１は、電源電圧情報２２を使用し、半導体装置の設計データに対する電源マッピングの必用の有無を判断する。電源のオンオフを制御する機能ブロックが含まれる半導体装置の設計データに対して、電源オフ時の論理シミュレーション処理を行うために、本実施形態では電源マッピングが必用である。尚、電源のオンオフを制御する機能ブロックが含まれる半導体装置の設計データに対して、電源オフ時の論理シミュレーションが必要ない、即ち電源オン時の論理シミュレーションを行う場合、電源マッピング処理を必用としない。このため、ステップ３１において、電源マッピングの必用の有無を判断することは、電源のオンオフを制御する機能ブロックが含まれる半導体装置の設計データに対して、電源オン時の論理シミュレーションを行うか、電源オフ時の論理シミュレーションを行うかの判断することと等しい。従って、設計装置１１は、電源マッピング処理が不要な場合（ＮＯ）、ステップ３１からステップ３２に移行する。
【００２９】
ステップ３２において、設計装置１１は、論理シミュレーションを行い、その処理結果を生成する。設計装置１１は、内部ノードとして定義された電源端子の論理を、電源マッピングを行っていない時に初期値にて論理シミュレーションを行う。この初期値は、電源オン時の論理であるため、電源マッピング処理を行うことなく論理シミュレーションを行うことができる。即ち、従来の論理シミュレーションを用いることができるため、従来の設計資産を有効に活用することができる。また、電源マッピング処理に対応しない設計装置においても、全ての機能ブロックに電源電圧を供給した状態の論理シミュレーションを行うことができる。
【００３０】
次に、ステップ３３において、設計装置１１は、論理シミュレーション結果を、表示装置１５に出力する。この出力されたシミュレーション結果は、図８に示す半導体装置１００の全ての機能ブロック１０１〜１０３に動作電圧を供給した状態におけるものである。設計装置１１は、操作者の操作に従ってこのシミュレーション結果に対して、次に進むべき指示がから入力装置１６から与えられると、ステップ３４に移行する。
【００３１】
ステップ３４において、設計装置１１は、ネットリスト２１，電源電圧情報２２、ライブラリ２３の情報に基づいて、インスタンスのレイアウト処理を行う。そして、設計装置１１は、インスタンスをレイアウトした半導体装置のマスクデータ２４を生成する。
【００３２】
一方、設計装置１１は、ステップ３１において、電源マッピングが必用な場合（ＹＥＳ）、ステップ３１からステップ３５に移行する。
ステップ３５において、設計装置１１は、電源電圧情報２２を使用して、機能ブロック毎の電源マッピング処理を行なう。電源電圧情報２２は、図４に示すように、設定情報２２ａ，２２ｂを含む。設定情報２２ａは、端子名が電源端子であり、その端子に対して加える電圧の範囲を設定した情報である。例えば、「ＶＤＩ１  −ｐｏｗｅｒ  −ｍｉｎ  １．１  −ｔｙｐ  １．２  −ｍａｘ  １．３」は、端子名「ＶＤＩ１」が所定電圧を加える電源端子「−ｐｏｗｅｒ」であることを設定し、その電圧の最小値「−ｍｉｎ」は「１．１」ボルト、通常値「−ｔｙｐ」は「１．２」ボルト、最大値「−ｍａｘ」は「１．３」ボルトであることを設定する。
【００３３】
設定情報２２ｂは、インスタンス毎に電源端子名を設定した情報である。例えば、「ＩＮＳＴＡＮＣＥ１  −ｐｏｗｅｒ  ＶＤＤ１  ＶＤＥ１  −ｇｒｏｕｎｄ  ＶＳＳ」は、インスタンス「ＩＮＳＴＡＮＣＥ１」の電源端子「−ｐｏｗｅｒ」の端子名が「ＶＤＩ１」と「ＶＤＥ１」であり、グランド端子「−ｇｒｏｕｎｄ」の端子名が「ＶＳＳ」であること設定している。
【００３４】
設計装置１１は、電源マッピング処理において、電源電圧情報２２を使用し、電源端子情報２３ａにより宣言した電源電圧端子を新電源端子名として認識させる。その処理結果を図５に示す。この情報４１は、電源マッピング処理の結果により得られる情報である。尚、電源電圧情報２２は、ステップ３４のレイアウト処理において用いるものである。つまり、電源電圧情報２２は、図７に示す電源電圧情報１１３と同じものである。
【００３５】
ステップ３６において、設計装置１１は、全ての機能ブロックの電源をオンした状態における各機能ブロックの論理シミュレーションを実行し、その処理結果を生成する。更に、設計装置１１は、指定された機能ブロックの電源をオフした状態における各機能ブロックの論理シミュレーションを実行し、その処理結果を生成する。そして、設計装置１１は、ステップ３３及びステップ３７に移行する。
【００３６】
設計装置１１は、ステップ３６の論理シミュレーション処理において、ステップ３５において電源マッピング処理した電源端子名に対し、電源をオンオフする信号を入力する。例えば、電源端子名「ＶＤＩ１」に電源を制御する電源制御信号を入力する。この時、電源制御信号がＬレベルの場合、電源端子「ＶＤＩ１」における論理値が「０」である。従って、設計装置１１は、この電源端子「ＶＤＩ１」が設定されたインスタンス「ＩＮＳＴＡＮＣＥ１」，「ＩＮＳＴＡＮＣＥ２」（図５参照）において、電源オン時に応じたレベル（論理値）の信号のデータを生成する。一方、電源制御信号がＨレベルの場合、電源端子「ＶＤＩ１」における論理値が「１」である。従って、設計装置１１は、この電源端子「ＶＤＩ１」が設定されたインスタンス「ＩＮＳＴＡＮＣＥ１」，「ＩＮＳＴＡＮＣＥ２」（図５参照）において、電源オン時に応じたレベル（論理値）の信号のデータを生成する。
【００３７】
そして、設計装置１１は、半導体装置１００を構成する全てのインスタンスに対して、電源オン時のデータ（電源オン時の論理シミュレーション結果）と、電源オフ時のデータ（電源オフ時の論理シミュレーション結果）とを生成すると、ステップ３３，ステップ３７に移行する。
【００３８】
ステップ３７において、設計装置１１は、論理シミュレーション結果を、表示装置１５に出力する。この出力されたシミュレーション結果は、図８に示す機能ブロック１０２の電源をオフし、機能ブロック１０１，１０３に動作電圧を供給した状態におけるものである。設計装置１１は、操作者の操作に従ってこのシミュレーション結果に対して、次に進むべき指示がから入力装置１６から与えられると、ステップ３４に移行する。
【００３９】
尚、上記の説明において、設計装置１１は、ステップ３６における処理を実行した後、ステップ３３の処理と、ステップ３７の処理を、並列的に行うように示したが、実際には、ステップ３３における出力と、ステップ３７における出力とを同時に行う、または、ステップ３３における出力を行った後にステップ３７における出力を行うようにしている。
【００４０】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）設計装置１１は、ステップ３５において、電源電圧を供給停止する電源端子を内部ノードとして定義した電源端子情報２３ａをライブラリ２３から読み出し、半導体装置１００の電源電圧情報２２を使用して機能ブロックの電源端子情報のマッピング処理を行う。そして、設計装置１１は、ステップ３６において、ライブラリ２３を参照し、半導体装置１００のネットリスト２１に基づいて、マッピング処理後の電源端子に電源をオフする信号を入力して論理シミュレーションを実行する。従って、設計装置１１は、電源端子を内部ノードとして定義することで、電源の供給停止が制御される機能ブロック１０２を含む半導体装置１００の論理シミュレーションを行うことができる。そして、設計装置１１は、ライブラリ２３やネットリスト２１に変更を加える必用がないため、従来のライブラリ２３に格納された情報を使用すること、ネットリストを作成するツールを使用すること、つまり従来の設計資産を有効に活用することができる。
【００４１】
（２）設計装置１１は、１つのネットリスト２１を用いて、全ての機能ブロック１０１〜１０３に電源電圧を供給する場合の論理シミュレーションと、機能ブロック１０２に対する電源電圧の供給を停止する場合の論理シミュレーションとを行う。このため、電源電圧の供給／停止に応じてネットリストを作成する場合と比べて、複数のネットリストを作成する工程が不要にるため、処理時間（ＴＡＴ）を短縮することができる。また、ネットリスト２１が１つ有ればよいため、間違ったネットリストによりレイアウトするようなミスの発生を防止することができる。
【００４２】
（３）設計装置１１は、レジスタ宣言による電源端子名を定義した電源端子情報２３ａを使用して電源マッピング処理を行うようにした。設計装置１１は、レジスタ宣言の電源端子名を変数として扱うため、電源マッピング処理に要する時間が短い。従って、処理時間（ＴＡＴ）を短縮することができる。
【００４３】
（４）設計装置１１は、内部ノードとして定義した電源端子に電源電圧の供給停止状態に応じた信号を入力するようにした。従って、信号の論理によって電源端子の論理が変更されるため、各電源端子の論理を、電源電圧の供給時と停止時とに分けて記載する必用がないため、情報を作成するための時間が短くなり、ＴＡＴを短縮することができる。
【００４４】
（５）電源端子を内部ノードとして定義した。内部ノードは、チップのネットリストに端子名が表示されないので、ネットリストにより素子の接続などを確認する場合に、余分な端子名が出力されないので、確認処理を容易に行うことができる。
【００４５】
尚、上記各実施の形態は、以下の態様で実施してもよい。
・上記実施形態では、電源オンオフが不要な半導体装置についてはステップ３２において論理シミュレーションを行い、電源オンオフが必用な半導体装置についてはステップ３６において論理シミュレーションを行うようにした。ステップ３６において、電源をオンしたときの論理シミュレーションは、ステップ３２において実行する論理シミュレーションと等しい。従って、電源オンオフが不要な半導体装置については、電源マッピング処理を行うことなくステップ３６において論理シミュレーションを行うようにしてもよい。
【００４６】
また、電源オンオフの要否に係わらず全ての半導体装置について、全ての機能ブロックに電源電圧を供給した状態の論理シミュレーションをステップ３２において実行し、ステップ３６では、電源電圧を停止した状態、つまりマッピング処理後の電源端子名に電源をオフする信号を入力した時のみの論理シミュレーションを実行するようにしてもよい。
【００４７】
・上記実施形態では、電源をオンオフする電源端子をレジスタ宣言により定義したが、他の方法により内部ノードとして定義するようにしてもよい。例えば、ワイヤ宣言（wire宣言）により定義しても良い。ワイヤ宣言は、モジュール及びゲート間で使用する信号線及び配線を定義するものである。
【図面の簡単な説明】
【００４８】
【図１】設計処理のフローチャートである。
【図２】設計装置の概略構成図である。
【図３】電源端子の設定データの説明図である。
【図４】電源電圧情報の説明図である。
【図５】電源マッピング処理の結果を示す説明図である。
【図６】電源論理情報の説明図である。
【図７】従来の設計処理のフローチャートである。
【図８】半導体装置の概略説明図である。
【符号の説明】
【００４９】
２１  ネットリスト
２２  電源電圧情報
２３  ライブラリ
２３ａ  電源端子情報
２３ｂ  電源論理情報
１００  半導体装置
１０１〜１０３  機能ブロック
【図１】
2009295006.tif 000003
【図２】
2009295006.tif 000004
【図３】
2009295006.tif 000005
【図４】
2009295006.tif 000006
【図５】
2009295006.tif 000007
【図６】
2009295006.tif 000008
【図７】
2009295006.tif 000009
【図８】
2009295006.tif 000010