(57)【要約】【課題】検証エラーの発生を抑制する。【解決手段】検証装置１が、パワードメインＰＤ１とパワードメインＰＤ２，ＰＤ３との間のパスｐｓ１，ｐｓ２にルールＲ１，Ｒ２にしたがって挿入されているパワードメインＰＤ１の出力信号値を固定するアイソレータ１２，１３を含むネットリストＤ１からアイソレータ１３の出力側に接続されている遅延回路１４を検出し、ネットリストＤ１に対して遅延調整を含む最適化処理が施されて生成されるネットリストＤ２にて、ルールＲ１，Ｒ２にしたがってアイソレータ１２，１３が挿入されているか検証する際、パワードメインＰＤ１の接続先を探索し、接続先が遅延回路１４とは異なる遅延回路１５であるときには、遅延回路１５を接続先とは認識せず探索を継続してパワードメインＰＤ２を検出することで、ルールＲ１の適用時のパスｐｓ１を特定する。【選択図】図１
2015135639.tif 000002
【特許請求の範囲】
【請求項１】
検証装置が、
第１のパワードメインと第２のパワードメインとの間のパスにルールにしたがって挿入されている、前記第１のパワードメインの出力信号値を固定するアイソレータを含む第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、
前記第１のネットリストに対して遅延調整を含む最適化処理が施されて生成される第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、
前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、
ことを特徴とする検証方法。
【請求項２】
前記アイソレータ及び前記第２の遅延回路は、前記第１のパワードメイン及び前記第２のパワードメインとは異なる、第３のパワードメインに属していることを特徴とする請求項１に記載の検証方法。
【請求項３】
前記第１のネットリストにおいて、前記アイソレータの出力端子から、信号の出力側に探索を行い、前記第１の遅延回路を検出する、ことを特徴とする請求項１または２に記載の検証方法。
【請求項４】
設計装置が、
第１のパワードメインと第２のパワードメインとの間のパスに、ルールにしたがって前記第１のパワードメインの出力信号値を固定するアイソレータを挿入した第１の回路に基づく第１のネットリストを生成し、
前記第１のネットリストに対して遅延調整を含む最適化処理を施して、第２のネットリストを生成し、
前記第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、
前記第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、
前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、
ことを特徴とする設計方法。
【請求項５】
プロセッサを有し、
前記プロセッサは、
第１のパワードメインと第２のパワードメインとの間のパスにルールにしたがって挿入されている、前記第１のパワードメインの出力信号値を固定するアイソレータを含む第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、
前記第１のネットリストに対して遅延調整を含む最適化処理が施されて生成される第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、
前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、
ことを特徴とする検証装置。
【請求項６】
プロセッサを有し、
前記プロセッサは、
第１のパワードメインと第２のパワードメインとの間のパスに、ルールにしたがって前記第１のパワードメインの出力信号値を固定するアイソレータを挿入した第１の回路に基づく第１のネットリストを生成し、
前記第１のネットリストに対して遅延調整を含む最適化処理を施して、第２のネットリストを生成し、
前記第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、
前記第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、
前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、
ことを特徴とする設計装置。
【請求項７】
第１のパワードメインと第２のパワードメインとの間のパスにルールにしたがって挿入されている、前記第１のパワードメインの出力信号値を固定するアイソレータを含む第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、
前記第１のネットリストに対して遅延調整を含む最適化処理が施されて生成される第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、
前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、
処理をコンピュータに実行させるプログラム。
【請求項８】
第１のパワードメインと第２のパワードメインとの間のパスに、ルールにしたがって前記第１のパワードメインの出力信号値を固定するアイソレータを挿入した第１の回路に基づく第１のネットリストを生成し、
前記第１のネットリストに対して遅延調整を含む最適化処理を施して、第２のネットリストを生成し、
前記第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、
前記第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、
前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証方法、設計方法、検証装置、設計装置及びプログラムに関する。
【背景技術】
【０００２】
近年、半導体集積回路の低消費電力化を実現するために、種々の低消費電力設計手法が用いられている。
低消費電力設計手法の１つとして、使用しない回路部の電源をオフできるように、電源系統（パワードメイン）を分割することが行われている。信号の送信側のパワードメインの電源がオフ状態のとき、信号の受信側のパワードメインへの入力値が不定になることを避けるため、送信側のパワードメインの出力信号値を固定するアイソレータがパワードメイン間のパスに挿入される。アイソレータは、レイアウトツールによって、Ｐｏｗｅｒ  Ｆｏｒｍａｔと呼ばれる記述で定義されたルール（パワー・インテントと呼ばれる）にしたがって、特定のパスに挿入される。
【０００３】
アイソレータの挿入後は、レイアウトツールにより、フロアプラン処理、配置・配線処理、最適化処理が行われ、これらの処理を反映したネットリストが生成される。その後、検証ツールにより、最適化処理後のネットリストにおいて、パスに上記ルールにしたがったアイソレータが挿入されているか否かが検証される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８５５５７号公報
【特許文献２】特開２００８−２６２３３７号公報
【特許文献３】特開平９−７４１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、最適化処理によって、パスに遅延回路（リピータと呼ばれることもある）が追加されると、検証の際に、どのルールが適用されてアイソレータが挿入されたパスか特定できなくなり、検証エラーが生じてしまう可能性がある。その場合、たとえば、検証エラーが発生した箇所に対するユーザによる目視作業が発生するなど、手間がかかる。
【課題を解決するための手段】
【０００６】
発明の一観点によれば、検証装置が、第１のパワードメインと第２のパワードメインとの間のパスにルールにしたがって挿入されている、前記第１のパワードメインの出力信号値を固定するアイソレータを含む第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、前記第１のネットリストに対して遅延調整を含む最適化処理が施されて生成される第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、検証方法が提供される。
【０００７】
また、発明の一観点によれば、設計装置が、第１のパワードメインと第２のパワードメインとの間のパスに、ルールにしたがって前記第１のパワードメインの出力信号値を固定するアイソレータを挿入した第１の回路に基づく第１のネットリストを生成し、前記第１のネットリストに対して遅延調整を含む最適化処理を施して、第２のネットリストを生成し、前記第１のネットリストから、前記アイソレータの出力側に接続されている第１の遅延回路を検出し、前記第２のネットリストにて、前記ルールにしたがって前記アイソレータが挿入されているか検証する際に、前記第１のパワードメインの接続先を探索し、前記接続先が、前記第１の遅延回路とは異なる第２の遅延回路であるときには、前記第２の遅延回路を前記接続先とは認識せずに探索を継続して前記第２のパワードメインを検出することで、前記ルールの適用時の前記パスを特定する、設計方法が提供される。
【発明の効果】
【０００８】
開示の検証方法、設計方法、検証装置、設計装置及びプログラムによれば、検証エラーの発生を抑制できる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態の検証方法及び検証装置の一例を示す図である。
【図２】第２の実施の形態の検証装置（設計装置）の一例を示す図である。
【図３】設計方法の一例の処理の流れを示す図である。
【図４】アイソレータ挿入前の回路の一例を示す図である。
【図５】アイソレータ挿入ルールの一例を示す図である。
【図６】アイソレータ挿入後の回路の一例を示す図である。
【図７】リピータ追加後の回路の一例を示す図である。
【図８】最適化処理後のネットリストに対する検証処理の一例の流れを示すフローチャートである。
【図９】既存リピータの検出とテーブル作成処理の一例の流れを示すフローチャートである（その１）。
【図１０】既存リピータの検出とテーブル作成処理の一例の流れを示すフローチャートである（その２）。
【図１１】認識テーブルの一例を示す図である。
【図１２】追加リピータをスルーした検証処理の一例の流れを示すフローチャートである（その１）。
【図１３】追加リピータをスルーした検証処理の一例の流れを示すフローチャートである（その２）。
【発明を実施するための形態】
【００１０】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の検証方法及び検証装置の一例を示す図である。
【００１１】
検証装置１は、プロセッサ２と記憶部３を有している。
プロセッサ２は、記憶部３に記憶されているデータ及びプログラムに基づき、検証処理を実行する。
【００１２】
記憶部３は、プロセッサ２が実行するプログラムや、各種データを記憶している。たとえば、記憶部３は、以下に説明する検証処理の前に行われるレイアウト処理で作成されたネットリストＤ１，Ｄ２、アイソレータ挿入のためのルール（パワー・インテント）などを記憶している。
【００１３】
レイアウト処理などの設計処理は、他の装置で行われるようにしてもよいが、検証装置１が行ってもよい。その場合、検証装置１は設計装置と呼ぶこともできる。
ネットリストＤ１，Ｄ２は、レイアウト処理における最適化処理前後のネットリストであり、それぞれ、たとえば、図１に示すようなパワードメインＰＤ１，ＰＤ２，ＰＤ３を有する回路が定義されている。
【００１４】
論理回路部１０，１１が属しているパワードメインＰＤ１，ＰＤ２は、パスｐｓ１で接続されている。パスｐｓ１には、ルールＲ１にしたがって、パワードメインＰＤ１の出力信号値（論理回路部１０の出力端子Ｏ１から出力される出力信号の値）をＬ（Low）レベルに固定するｌｏｗタイプのアイソレータ１２が挿入されている。なお、図１の例ではアイソレータ１２はパワードメインＰＤ３に属すように配置されている。
【００１５】
また、パワードメインＰＤ１と、遅延回路（以下リピータと呼ぶ）１４が属しているパワードメインＰＤ３とは、パスｐｓ２で接続されている。パスｐｓ２には、ルールＲ２にしたがって、パワードメインＰＤ１と、リピータ１４との間にアイソレータ１３が挿入されている。アイソレータ１３は、ｈｉｇｈタイプのものであり、パワードメインＰＤ１の出力信号値（論理回路部１０の出力端子Ｏ２から出力される出力信号の電位レベル）をＨ（High）レベルに固定する。なお、図１の例では、アイソレータ１３はパワードメインＰＤ３に属すように配置されている。
【００１６】
なお、パスｐｓ１に接続され、パワードメインＰＤ３に属しているリピータ１５については、最適化処理によりタイミング調整などの目的で追加されるもので、ネットリストＤ１では定義されておらず、ネットリストＤ２で定義されているものである。
【００１７】
本実施の形態の検証方法では、レイアウト処理によって作成された、上記のような回路が定義されたネットリストＤ１，Ｄ２を用いるものとする。
以下、第１の実施の形態の検証方法の一例を説明する。
【００１８】
まず、プロセッサ２は、たとえば、記憶部３に記憶されているネットリストＤ１，Ｄ２を取得し（ステップＳ１）、ネットリストＤ１からリピータを検出する（ステップＳ２）。ステップＳ２の処理では、たとえば、プロセッサ２は、アイソレータ１２，１３の出力端子から信号の送信側に探索を行う。ネットリストＤ１では、アイソレータ１２の出力側にはリピータが接続されておらず、アイソレータ１３の出力側にはリピータ１４が接続されている。そのため、ステップＳ２の処理では、リピータ１４が検出される。検出されたリピータ１４は、たとえば、記憶部３に記憶される。
【００１９】
その後、プロセッサ２は最適化処理後のネットリストＤ２で、ルールＲ１，Ｒ２にしたがってアイソレータが挿入されているか否か検証する。そのため、プロセッサ２は、まず信号の送信側のパワードメインの接続先（図１の例では、パワードメインＰＤ１に属す論理回路部１０の出力端子Ｏ１，Ｏ２の接続先）の探索を開始する（ステップＳ３）。
【００２０】
プロセッサ２は、接続先がアイソレータまたは、ステップＳ２の処理で検出されたリピータとは異なるリピータ（つまり、最適化処理により追加されたリピータ）のときには、接続先とは認識せず、スルーして探索を継続する（ステップＳ４）。
【００２１】
図１中で、矢印ａ１，ａ２は、探索方向を示している。図１の例では、パワードメインＰＤ１に属している論理回路部１０の出力端子Ｏ１，Ｏ２の接続先が探索される際、アイソレータ１２，１３と追加されたリピータ１５がスルーされる。
【００２２】
そして、プロセッサ２は、探索により接続先のパワードメインを検出し、ルール適用時のパスを特定する（ステップＳ５）。図１の例では、出力端子Ｏ１の接続先は論理回路部１１になるため、出力端子Ｏ２の接続先のパワードメインは、論理回路部１１が属しているパワードメインＰＤ２となる。また、出力端子Ｏ２の接続先はリピータ１４になるため、出力端子Ｏ２の接続先のパワードメインは、リピータ１４が属しているパワードメインＰＤ３となる。
【００２３】
これより、パワードメインＰＤ１とパワードメインＰＤ２との間のパスｐｓ１と、パワードメインＰＤ１とパワードメインＰＤ３との間のパスｐｓ２が特定される。
そして、プロセッサ２はステップＳ５の処理において特定したパスに、ルールにしたがってアイソレータが挿入されているか検証を行う（ステップＳ６）。ステップＳ６の処理を行うために、たとえば、プロセッサ２は、ルールＲ１，Ｒ２を記憶部３から読み出す。
【００２４】
ルールＲ１で定義されているパワードメインＰＤ１とパワードメインＰＤ２の間のパスは、ステップＳ５の処理でパスｐｓ１と特定されている。そのため、ステップＳ６の処理では、パスｐｓ１に挿入されているアイソレータ１２が、ルールＲ１通り、ｌｏｗタイプのものであるか否かが検証される。
【００２５】
一方、ルールＲ２で定義されているパワードメインＰＤ１とパワードメインＰＤ３の間のパスは、ステップＳ５の処理で、パスｐｓ２と特定されている。そのため、パスｐｓ２に挿入されているアイソレータ１３が、ルールＲ２通り、ｈｉｇｈタイプのものであるか否かが検証される。
【００２６】
このように、本実施の形態の検証方法では、最適化処理後のネットリストにおいて、ルールにしたがってアイソレータが挿入されているか検証する際に、上記のようにルール適用時のパスが特定される。そのため、図１に示すように、最適化処理でパワードメインＰＤ１，ＰＤ２間のパスｐｓ１にパワードメインＰＤ３に属するリピータ１５が追加されても、ルール適用時と異なるパワードメインＰＤ１，ＰＤ３間のパスが特定されることを防げる。
【００２７】
これにより、検証の際に特定されたパスが、どのルールが適用されてアイソレータが挿入されたものか分からなくなることを防げ、誤ったルールを適用して検証エラーが生じることを抑制できる。
【００２８】
仮に、ステップＳ４の処理で、最適化処理で追加されたリピータ１５をスルーせずに、出力端子Ｏ１の接続先と認識してしまうと、パスｐｓ１は、パワードメインＰＤ１とパワードメインＰＤ３を接続するパスと認識される可能性がある。そのため、パスｐｓ１にルールＲ２が適用されて検証が行われてしまう可能性があり、その場合、パスｐｓ１に正しくｌｏｗタイプのアイソレータ１２が挿入されていたとしても、ルールＲ２に記載されているアイソレータのタイプがｈｉｇｈタイプであるので、このタイプの相違から検証エラーが生じてしまう。その場合、たとえば、検証エラーが発生した箇所に対するユーザによる目視作業が発生するなど、手間がかかる。図１に示すように、パワードメインＰＤ１，ＰＤ２間のパスｐｓ１に接続されるアイソレータ１２と追加されるリピータ１５が、上記のパワードメインＰＤ１，ＰＤ２とは別のパワードメインＰＤ３に属しているようなときに、このような問題が発生する可能性がある。しかし、上記のように本実施の形態の検証方法によれば、このような問題の発生を抑制できる。
【００２９】
なお、図１に示した検証方法の処理の流れは上記に限定されない。たとえば、最適化後のネットリストの取得は、ステップＳ２の処理の後に行ってもよい。
また、パワードメインＰＤ１，ＰＤ２に属している回路部は、論理回路部に限定されず、メモリなどであってもよい。
【００３０】
（第２の実施の形態）
以下、第２の実施の形態の検証方法、設計方法及び検証装置（設計装置）の一例を示す。
【００３１】
図２は、第２の実施の形態の検証装置（設計装置）の一例を示す図である。
検証装置は、たとえば、図２に示すようなコンピュータ２０であり、プロセッサ２１によって装置全体が制御されている。プロセッサ２１には、バス２９を介してＲＡＭ（Random Access Memory）２２と複数の周辺機器が接続されている。プロセッサ２１は、マルチプロセッサであってもよい。プロセッサ２１は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ２１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３２】
ＲＡＭ２２は、コンピュータ２０の主記憶装置として使用される。ＲＡＭ２２には、プロセッサ２１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２２には、プロセッサ２１による処理に必要な各種データが格納される。
【００３３】
バス２９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）２３、グラフィック処理装置２４、入力インタフェース２５、光学ドライブ装置２６、機器接続インタフェース２７及びネットワークインタフェース２８がある。
【００３４】
ＨＤＤ２３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ２３は、コンピュータ２０の補助記憶装置として使用される。ＨＤＤ２３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３５】
グラフィック処理装置２４には、モニタ２４ａが接続されている。グラフィック処理装置２４は、プロセッサ２１からの命令にしたがって、画像をモニタ２４ａの画面に表示させる。モニタ２４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３６】
入力インタフェース２５には、キーボード２５ａとマウス２５ｂとが接続されている。入力インタフェース２５は、キーボード２５ａやマウス２５ｂから送られてくる信号をプロセッサ２１に送信する。なお、マウス２５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３７】
光学ドライブ装置２６は、レーザ光などを利用して、光ディスク２６ａに記録されたデータの読み取りを行う。光ディスク２６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３８】
機器接続インタフェース２７は、コンピュータ２０に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース２７には、メモリ装置２７ａやメモリリーダライタ２７ｂを接続することができる。メモリ装置２７ａは、機器接続インタフェース２７との通信機能を搭載した記録媒体である。メモリリーダライタ２７ｂは、メモリカード２７ｃへのデータの書き込み、またはメモリカード２７ｃからのデータの読み出しを行う装置である。メモリカード２７ｃは、カード型の記録媒体である。
【００３９】
ネットワークインタフェース２８は、ネットワーク２８ａに接続されている。ネットワークインタフェース２８は、ネットワーク２８ａを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４０】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、図１に示した第１の実施の形態の検証装置１も、図２に示したコンピュータ２０と同様のハードウェアにより実現することができる。
【００４１】
コンピュータ２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、コンピュータ２０に実行させるプログラムをＨＤＤ２３に格納しておくことができる。プロセッサ２１は、ＨＤＤ２３内のプログラムの少なくとも一部をＲＡＭ２２にロードし、プログラムを実行する。またコンピュータ２０に実行させるプログラムを、光ディスク２６ａ、メモリ装置２７ａ、メモリカード２７ｃなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ２１からの制御により、ＨＤＤ２３にインストールされた後、実行可能となる。またプロセッサ２１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４２】
（設計方法の一例）
図３は、設計方法の一例の処理の流れを示す図である。
以下では、図３に示す各ステップの処理が、図２に示すようなコンピュータ２０によって実行可能であるものとして説明するが、ステップＳ１０のレイアウト処理とステップＳ２０，Ｓ２１の検証処理をそれぞれ異なるコンピュータで実行するようにしてもよい。まず、レイアウト処理について説明する。
【００４３】
（レイアウト処理）
レイアウト処理（ステップＳ１０）では、アイソレータ挿入処理（ステップＳ１１）、フロアプラン処理（ステップＳ１２）、配置・配線処理（ステップＳ１３）、最適化処理（ステップＳ１４）が行われる。
【００４４】
アイソレータ挿入処理では、たとえば、ＨＤＤ２３に予め格納されているネットリストＤ１１とアイソレータ挿入ルールＲ１０が、プロセッサ２１によって読み出される。そして、ネットリストＤ１１で表される回路に含まれるパワードメイン間のパスに、アイソレータ挿入ルールＲ１０にしたがって、アイソレータが挿入される。
【００４５】
図４は、アイソレータ挿入前の回路の一例を示す図である。
図４に示されている回路には、３種類のパワードメインＰＤ１１，ＰＤ１２，ＰＤ１３が含まれている。パワードメインＰＤ１１，ＰＤ１２は、パワードメインＰＤ１３内に設けられている。なお、以下の説明ではパワードメインＰＤ１３は、デフォルト領域と定義されているものとする。
【００４６】
パワードメインＰＤ１１，ＰＤ１２には、それぞれ論理回路部３０，３１が属しており、パワードメインＰＤ１３には、リピータ３２が属している。パワードメインＰＤ１１の論理回路部３０の出力端子Ｏ１１は、パスｐｓ１１を介してパワードメインＰＤ１２の論理回路部３１の入力端子Ｉ１１に接続されている。論理回路部３０の出力端子Ｏ１２は、パスｐｓ１２を介してパワードメインＰＤ１３のリピータ３２に接続されている。また、リピータ３２の出力端子は、論理回路部３１の入力端子Ｉ１２に接続されている。
【００４７】
なお、パワードメインＰＤ１１，ＰＤ１２に属している回路部は、論理回路部３０，３１に限定されない。たとえば、メモリなどであってもよい。
図５は、アイソレータ挿入ルールの一例を示す図である。
【００４８】
アイソレータ挿入ルールＲ１０は、ルールＲ１１，Ｒ１２を含んでいる。ルールＲ１１，Ｒ１２は、Ｐｏｗｅｒ  Ｆｏｒｍａｔで定義されたパワー・インテントである。Ｐｏｗｅｒ  Ｆｏｒｍａｔには、ＣＰＦ（Common Power Format）やＵＰＦ（Unified Power Format）がある。
【００４９】
ルールＲ１１，Ｒ１２の２行目には、ルールＲ１１，Ｒ１２の名前が定義されている。図５の例では、ルールＲ１１の名前は“ｒｕｌｅ＿Ａ”、ルールＲ１２の名前は“ｒｕｌｅ＿Ｂ”と定義されている。
【００５０】
ルールＲ１１，Ｒ１２の３行目には、どのパワードメインの間にアイソレータを挿入するかが指定されている。ルールＲ１１では、パワードメインＰＤ１１，ＰＤ１２の間にアイソレータを挿入することが指定されている。ルールＲ１２では、パワードメインＰＤ１１とデフォルト領域（図４のパワードメインＰＤ１３）の間にアイソレータを挿入することが指定されている。
【００５１】
ルールＲ１１，Ｒ１２の４行目には、アイソレータがＨレベルとＬレベルのどちらの電位レベルの信号を出力するものかが指定されている。ルールＲ１１では、アイソレータがＬレベルの電位レベルの信号を出力するものであることが指定され、ルールＲ１２では、アイソレータがＨレベルの電位レベルの信号を出力するものであることが指定されている。
【００５２】
図５の例において、ルールＲ１１，Ｒ１２の５行目以降は、アイソレータが属するパワードメインを指定するためにアップデートされた内容が追加されている。６行目で再びルールの名前が定義されている。
【００５３】
さらに、７行目では、アイソレータをどのパワードメインに属するようにするかが指定されている。ルールＲ１１では、“−ｗｉｔｈｉｎ＿ｈｉｅｒａｒｃｈｙ“／””と指定されており、トップの階層、すなわちデフォルト領域（図４のパワードメインＰＤ１３）にアイソレータを属するようにすることが指定されている。ルールＲ１２では、“−ｌｏｃａｔｉｏｎ  ｔｏ”と指定されており、３行目で指定されたデフォルト領域にアイソレータを属するようにすることが指定されている。
【００５４】
図６は、アイソレータ挿入後の回路の一例を示す図である。
図４に示した要素と同じものについては、同一符号を付している。図６に示す回路では、図５に示したアイソレータ挿入ルールＲ１０にしたがって、アイソレータ３３，３４がパスｐｓ１１，ｐｓ１２に挿入されている。さらに、図６には、アイソレータ３３，３４を制御するＰＭＵ（Power Management Unit）３５と、ＰＭＵ３５から出力される制御信号の電位レベルを反転するインバータ３６が示されている。
【００５５】
パスｐｓ１１に挿入されているアイソレータ３３は、図６の例では、ＡＮＤ回路である。アイソレータ３３の一方の入力端子は、パワードメインＰＤ１１に属する論理回路部３０の出力端子Ｏ１１に接続されている。アイソレータ３３の他方の入力端子は、インバータ３６の出力端子に接続されている。また、アイソレータ３３の出力端子は、パワードメインＰＤ１２に属する論理回路部３１の入力端子Ｉ１１に接続されている。
【００５６】
パスｐｓ１２に挿入されているアイソレータ３４は、図６の例では、ＯＲ回路である。アイソレータ３４の一方の入力端子は、パワードメインＰＤ１１に属する論理回路部３０の出力端子Ｏ１２に接続されている。アイソレータ３４の他方の入力端子は、ＰＭＵ３５に接続されている。また、アイソレータ３４の出力端子は、リピータ３２の入力端子に接続されている。
【００５７】
このような回路において、ＰＭＵ３５は、パワードメインＰＤ１１がオン状態のときには、制御信号の電位レベルをＬレベルとする。このとき、アイソレータ３３，３４は、パワードメインＰＤ１１の出力信号値を固定せず、パワードメインＰＤ１１の出力信号値に応じた信号を出力する。すなわち、パワードメインＰＤ１１に属する論理回路部３０の出力端子Ｏ１１から出力される信号が、アイソレータ３３を介して、パワードメインＰＤ１２に属する論理回路部３１の入力端子Ｉ１１に入力される。また、論理回路部３０の出力端子Ｏ１２から出力される信号が、アイソレータ３４を介して、リピータ３２の入力端子に入力される。
【００５８】
一方、パワードメインＰＤ１１がオフ状態のとき、ＰＭＵ３５は、制御信号の電位レベルをＨレベルとする。このとき、アイソレータ３３，３４は、パワードメインＰＤ１１の出力信号値を固定する。図６に示すアイソレータ３３，３４の例では、アイソレータ３３は、出力信号値をＬレベルに固定し、アイソレータ３４は、出力信号値をＨレベルに固定する。これにより、パワードメインＰＤ１１がオフ状態のときパワードメインＰＤ１２，ＰＤ１３の論理回路部３１、リピータ３２に不定な信号が入力されることを抑制できる。
【００５９】
なお、アイソレータ３３，３４は、ＡＮＤ回路やＯＲ回路に限定されず、ルールＲ１１，Ｒ１２にしたがった電位レベルの信号を出力するものであればよい。
プロセッサ２１は、上記のように、アイソレータ３３，３４をパスｐｓ１１，ｐｓ１２に挿入した回路に基づき、ネットリストＤ１２を生成する。
【００６０】
レイアウト処理において、アイソレータ挿入処理後には、図３に示したようにフロアプラン処理（ステップＳ１２）、配置・配線処理（ステップＳ１３）、最適化処理（ステップＳ１４）が行われる。
【００６１】
最適化処理では、タイミング制約を満たすための最適化が行われ、このとき遅延調整のためにリピータが追加されることがある。
図７は、リピータ追加後の回路の一例を示す図である。
【００６２】
図６に示した要素と同じものについては、同一符号を付している。図７に示す回路では、パスｐｓ１１において、アイソレータ３３の出力端子と論理回路部３１の入力端子Ｉ１１の間に、リピータ３７が追加されている。図７の例では、リピータ３７は、バッファ回路として示してあるが、これに限定されず、たとえば、偶数個のインバータを直列に接続したものであってもよい。
【００６３】
プロセッサ２１は、上記のような最適化処理を施した回路に基づき、ネットリストＤ１３を生成する。
次に、検証処理を説明する。
【００６４】
（検証処理）
検証処理は、図３に示したように、最適化処理前のネットリストＤ１２に対して行われるもの（ステップＳ２０の検証処理）と、最適化処理後のネットリストＤ１３に対して行われるもの（ステップＳ２１の検証処理）と、がある。
【００６５】
ステップＳ２０の検証処理では、アイソレータ挿入ルールＲ１０に基づき、ネットリストＤ１２において、正しくアイソレータが挿入されているか否かが検証される。
ステップＳ２１の検証処理では、アイソレータ挿入ルールＲ１０に基づき、最適化処理後のネットリストＤ１３においても、正しくアイソレータが挿入されているか否かが検証される。
【００６６】
以下、ステップＳ２１の検証処理の一例を説明する。
図８は、最適化処理後のネットリストに対する検証処理の一例の流れを示すフローチャートである。
【００６７】
最適化処理後のネットリストＤ１３に対する検証処理では、既存リピータの検出と認識テーブルＤ１４の作成（ステップＳ３０）と、追加リピータをスルーした検証（ステップＳ４０）が行われる。
【００６８】
ステップＳ３０の処理では、アイソレータ挿入ルールＲ１０が参照され、最適化処理前のネットリストＤ１２から、アイソレータの出力側に接続されている既存のリピータが検出され、検出されたリピータを管理する認識テーブルＤ１４が作成される。
【００６９】
ステップＳ４０の処理では、認識テーブルＤ１４とアイソレータ挿入ルールＲ１０が参照され、最適化処理後のネットリストＤ１３に対して、最適化処理で追加されたリピータをスルーした検証が行われる。
【００７０】
以下、各ステップＳ３０，Ｓ４０の処理の一例を説明する。
図９、図１０は、既存リピータの検出とテーブル作成処理の一例の流れを示すフローチャートである。
【００７１】
まず、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されている最適化処理前のネットリストＤ１２を読み出す（ステップＳ３１）。そして、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されているアイソレータ挿入ルールＲ１０を読み出して、アイソレータごとの既存リピータの検出と、テーブル更新処理を行う（ステップＳ３２）。プロセッサ２１は、全アイソレータについてステップＳ３２の処理が完了したか否かを判定し（ステップＳ３３）、処理が完了していなければステップＳ３２からの処理を繰り返し、処理が完了していれば、既存リピータの検出とテーブルの作成処理を終了する。
【００７２】
図１０では、ステップＳ３２の処理の一例が示されている。
まず、プロセッサ２１は、最適化前のネットリストＤ１２において、アイソレータの出力端子から出力側に向かってトレースを行う（ステップＳ３２１）。プロセッサ２１はトレース先（出力端子の接続先）がリピータであるか否かを判定し（ステップＳ３２２）、トレース先がリピータでないときには、ステップＳ３２の処理を終了する。トレース先がリピータであるとき、プロセッサ２１は、そのリピータがアイソレータと同じパワードメインに属しているか否かを判定する（ステップＳ３２３）。ネットリストＤ１２には、リピータなどのセルが、どのパワードメインに属しているかの情報が含まれているため、このような判定が行える。
【００７３】
リピータがアイソレータと同じパワードメインに属していないときには、プロセッサ２１は、ステップＳ３２の処理を終了する。リピータがアイソレータと同じパワードメインに属しているときには、プロセッサ２１は、そのリピータを認識テーブルＤ１４に追加する（ステップＳ３２４）。トレースを、アイソレータの出力端子から行うことで、探索経路（トレース経路）を短縮でき、処理を軽減できる。
【００７４】
その後、さらに、プロセッサ２１は、リピータの出力端子から出力側へトレースを行い（ステップＳ３２５）、ステップＳ３２２からの処理を繰り返す。リピータが連続して接続している可能性もあるために、このような処理が行われる。
【００７５】
たとえば、図６に示したような回路が表現されているネットリストＤ１２に対して、図９、図１０の各処理が適用された場合、アイソレータ３３の出力端子には、リピータが接続されていないため、リピータは検出されない。しかし、アイソレータ３４の出力端子には、アイソレータ３４と同じパワードメインＰＤ１３に属しているリピータ３２が接続されているため、このリピータ３２は既存リピータとして認識テーブルＤ１４に追加される。
【００７６】
図１１は、認識テーブルの一例を示す図である。
図１１では、図６に示したような回路が表現されているネットリストＤ１２に対して図９、図１０の各処理が適用された場合に生成される認識テーブルＤ１４の例が示されている。
【００７７】
認識テーブルＤ１４には、トレースの始点となる出力端子を有するアイソレータ３３，３４の名前（図１１の例では、“ＩＳＯ１”、“ＩＳＯ２”）と、検出された既存のリピータの名前が含まれている。アイソレータ３３の出力端子からのトレースでは、上記のようにリピータは検出されないため、既存リピータの名前は登録されていない。一方、アイソレータ３４の出力端子からのトレースでは、リピータ３２が検出されるため、リピータ３２の名前（図１１の例では、“ＢＵＦ１”）が登録されている。
【００７８】
次に、図８に示したステップＳ４０の処理について説明する。
図１２、図１３は、追加リピータをスルーした検証処理の一例の流れを示すフローチャートである。
【００７９】
まず、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されている最適化処理後のネットリストＤ１３を読み出す（ステップＳ４１）。そして、プロセッサ２１は、最適化処理後のネットリストＤ１３において、信号出力側のパワードメインの出力信号パスごとの接続先の探索（トレース）処理を行う（ステップＳ４２）。プロセッサ２１は、全出力信号パスについての探索が完了したか否かを判定し（ステップＳ４３）、処理が完了していなければステップＳ４２からの処理を繰り返す。処理が完了していれば、プロセッサ２１は、アイソレータ挿入ルールＲ１０と、最適化処理後のネットリストＤ１３の整合性検証を行い（ステップＳ４４）、追加リピータをスルーした検証処理を終了する。
【００８０】
図１３では、ステップＳ４２の処理の一例が示されている。
まず、プロセッサ２１は、最適化処理後のネットリストＤ１３において、信号出力側のパワードメインの出力信号パスをトレースする（ステップＳ４２１）。プロセッサ２１はトレース先のセルがアイソレータであるか否かを判定し（ステップＳ４２２）、トレース先のセルがアイソレータのときは、アイソレータの出力側をトレースする（アイソレータをスルーしてトレースを継続する）（ステップＳ４２３）。
【００８１】
トレース先のセルがアイソレータでないとき、またはステップＳ４２３の処理後、プロセッサ２１はトレース先のセルがリピータであるか否かを判定し（ステップＳ４２４）、トレース先のセルがリピータでないときには、ステップＳ４２７の処理を行う。トレース先のセルがリピータであるとき、プロセッサ２１は、認識テーブルＤ１４を参照して、そのリピータが認識テーブルＤ１４で管理されている既存のリピータであるか否かを判定する（ステップＳ４２５）。
【００８２】
トレース先のリピータが既存のリピータであるときには、プロセッサ２１は、ステップＳ４２７の処理を行う。トレース先のリピータが既存のリピータではないときには、プロセッサ２１は、そのリピータの出力側をトレースする（リピータをスルーしてトレースを継続する）（ステップＳ４２６）。ステップＳ４２６の処理後は、ステップＳ４２４からの処理が繰り返される。
【００８３】
ステップＳ４２７の処理では、プロセッサ２１は、トレース先のセルが属しているパワードメインを、信号出力側のパワードメインの接続先パワードメインとして認識する。これにより、ステップＳ４２の処理が終わり、図１２に示したステップＳ４３の処理が行われる。
【００８４】
たとえば、図７に示したような回路が表現されているネットリストＤ１３に対して、図１２、図１３の各処理が適用された場合、パワードメインＰＤ１１の出力信号パスとなっているパスｐｓ１１，ｐｓ１２ごとに接続先探索処理が行われる。
【００８５】
そして、パスｐｓ１１，ｐｓ１２に対するトレースでは、アイソレータ３３，３４が検出されるため、これらはスルーされ、さらに、アイソレータ３３，３４の出力側がトレースされる。
【００８６】
図７の例では、アイソレータ３３，３４の両方の出力側のトレースの結果、トレース先のセルとしてリピータ３７，３２が検出される。リピータ３２については、認識テーブルＤ１４で管理されているものであるので、ステップＳ４２５の処理で既存リピータと判定される。そのため、ステップＳ４２７の処理では、リピータ３２が属しているパワードメインＰＤ１３が、接続先パワードメインとして認識される。
【００８７】
一方、リピータ３７については、認識テーブルＤ１４で管理されているものではないので、ステップＳ４２５の処理で既存リピータではないと判定される。そのため、リピータ３７はスルーされ、リピータ３７の出力側がトレースされる。そして、論理回路部３１の入力端子Ｉ１１を有するセル（図示せず）がトレース先セルとして検出され、そのセルが属しているパワードメインＰＤ１２が、接続先パワードメインとして認識される。
【００８８】
以上の処理により、接続先パワードメインが認識されると、アイソレータ挿入ルールＲ１０の適用時のパスが特定されたことになる。そのため、ステップＳ４４の整合性検証では、特定したパスに対して誤ったルールを適用して検証エラーが生じることを抑制できる。
【００８９】
たとえば、上記の例では、パワードメインＰＤ１１とパワードメインＰＤ１２との間のパスｐｓ１１が特定されるため、プロセッサ２１は、図５に示したアイソレータ挿入ルールＲ１０のうち、ルールＲ１１を適用すればよいことが認識できる。また、パワードメインＰＤ１１とパワードメインＰＤ１３との間のパスｐｓ１２が特定されるため、プロセッサ２１は、ルールＲ１２を適用すればよいことが認識できる。
【００９０】
そのため、最適化処理後のネットリストＤ１３において、ルールＲ１１，Ｒ１２にしたがって正しいアイソレータ３３，３４が挿入されているか検証する際に、最適化処理前後のネットリストの不整合による検証エラーの発生を抑制できる。そして、検証エラーの発生を抑制できることにより、たとえば、検証エラーが発生した箇所に対するユーザによる目視作業を減らせ、ユーザの負担を軽減できる。
【００９１】
なお、図９、図１０、図１２、図１３に示した検証方法の処理の流れは上記に限定されない。
以上、実施の形態に基づき、本発明の検証方法、設計方法、検証装置、設計装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【００９２】
１  検証装置（設計装置）
２  プロセッサ
３  記憶部
１０，１１  論理回路部
１２，１３  アイソレータ
１４，１５  遅延回路（リピータ）
ａ１，ａ２  矢印（探索方向）
Ｄ１，Ｄ２  ネットリスト
ＰＤ１〜ＰＤ３  パワードメイン
ｐｓ１，ｐｓ２  パス
Ｏ１，Ｏ２  出力端子
Ｒ１，Ｒ２  ルール
【図１】
2015135639.tif 000003
【図２】
2015135639.tif 000004
【図３】
2015135639.tif 000005
【図４】
2015135639.tif 000006
【図５】
2015135639.tif 000007
【図６】
2015135639.tif 000008
【図７】
2015135639.tif 000009
【図８】
2015135639.tif 000010
【図９】
2015135639.tif 000011
【図１０】
2015135639.tif 000012
【図１１】
2015135639.tif 000013
【図１２】
2015135639.tif 000014
【図１３】
2015135639.tif 000015