(57)【要約】【課題】回路の等価性検証ができる可能性を高め、等価性検証の処理時間を短縮する。【解決手段】論理記述した論理合成可能なハードウエア記述言語の参照回路１１と、これを入力として論理合成手段１０で論理合成されたネットリストのゲート回路１２１〜１２３、１２９および１２４とのうち、論理合成の処理ステップの前後のものを比較して回路の論理等価性を検証する論理等価性検証手段２０が設けられている。これによって、検証する論理回路の差異がより小さくなる。【選択図】図１
2010257003.tif 000002
【特許請求の範囲】
【請求項１】
論理記述した論理合成可能なハードウエア記述言語の参照回路と、これを入力として論理合成されたネットリストのゲート回路を比較して回路の論理等価性を検証する論理等価性検証システムにおいて、該論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の該参照回路またはゲート回路を比較して回路の論理等価性が検証される論理等価性検証システム。
【請求項２】
前記論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成手段と、
該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証手段を有する請求項１に記載の論理等価性検証システム。
【請求項３】
前記論理等価性検証手段は、
前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理部と、
該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング部と、
マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証部と、
該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力部を有する請求項２に記載の論理等価性検証システム。
【請求項４】
前記論理合成手段は、
前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ（ＣＤＦＧ）を生成するＣＤＦＧ生成部と、
該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入部と、
該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理部と、
チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング部を有する請求項２に記載の論理等価性検証システム。
【請求項５】
前記回路挿入部は、
前記コントロールデータフローグラフに対して低消費電力回路を挿入する低消費電力回路挿入部と、
該コントロールデータフローグラフに対してテスト回路を挿入するテスト回路挿入部を有する請求項４に記載の論理等価性検証システム。
【請求項６】
前記論理合成の処理ステップ毎に論理等価性を検証する場合の該論理合成の処理ステップは、前記ＣＤＦＧ生成部、前記低消費電力回路挿入部、前記テスト回路挿入部、前記論理最適化処理部および前記テクノロジーマッピング部のうち、該テクノロジーマッピング部を含む少なくとも二つである請求項５に記載の論理等価性検証システム。
【請求項７】
前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第１論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、
論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第２論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する請求項２に記載の論理等価性検証システム。
【請求項８】
前記トップブロック全体の論理合成は、前記トップブロックのゲート回路と、前記サブブロックのゲート回路とのブロックの階層を取り払うかどうかを判断し、該境界を取り払う場合には該ブロックを展開する第１の処理が実行されている請求項７に記載の論理等価性検証システム。
【請求項９】
前記ブロックが演算器ブロックの場合に、該演算器ブロックの階層を取り払うかどうかを判断し、該階層を取り払う場合には該演算器ブロックを展開する第２の処理を実行する請求項８に記載の論理等価性検証システム。
【請求項１０】
前記ブロックの階層を保持しない場合には、該ブロックの境界を超えて論理を抽出し、該ブロックの階層を保持する場合には、該ブロックの境界を保持して論理を抽出する第３の処理を実行する請求項９に記載の論理等価性検証システム。
【請求項１１】
前記論理合成の合成条件を制御して、前記算器ブロックが乗算器ブロックの場合に前記階層を取り払わないようにすることにより、検証しやすい論理回路を合成して論理等価性を検証する請求項９に記載の論理等価性検証システム。
【請求項１２】
前記論理合成で行なわれた回路の変更情報を記録し、該回路の変更情報を用いて前記回路の論理等価性が検証されている請求項１に記載の論理等価性検証システム。
【請求項１３】
前記参照回路および前記ゲート回路は論理回路である請求項１に記載の論理等価性検証システム。
【請求項１４】
前記論理合成可能なハードウエア記述言語が、ＶｅｒｉｌｏｇＨＤＬまたはＶＨＤＬフォーマットで提供されている請求項１に記載の論理等価性検証システム。
【請求項１５】
請求項１または２に記載の論理等価性検証システムを用いて、前記論理等価性検証手段が、該論理合成の処理ステップ毎に該ゲート回路を出力し、この出力したゲート回路と、その前の該参照回路またはゲート回路を比較して回路の論理等価性を検証する工程を有する論理等価性検証方法。
【請求項１６】
前記論理合成手段が、論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成工程と、
前記論理等価性検証手段が、該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証工程を有する請求項１５に記載の論理等価性検証方法。
【請求項１７】
前記論理等価性検証工程は、
前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理工程と、
該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング工程と、
マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証工程と、
該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力工程を有する請求項１６に記載の論理等価性検証方法。
【請求項１８】
前記論理合成工程は、
前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ（ＣＤＦＧ）を生成するＣＤＦＧ生成工程と、
該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入工程と、
該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理工程と、
チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング工程を有する請求項１６に記載の論理等価性検証方法。
【請求項１９】
前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第１論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、
論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第２論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する請求項１６に記載の論理等価性検証方法。
【請求項２０】
請求項１〜１４のいずれかに記載の論理等価性検証システムにより回路の論理等価性が検証された論理合成回路情報に基づいてレジストパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて半導体集積回路を製造する半導体集積回路の製造方法。
【請求項２１】
請求項１５〜１９に記載の論理等価性検証方法の工程をコンピュータに実行させるための処理手順が記述された制御プログラム。
【請求項２２】
請求項２１に記載の制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウエア記述言語（ＨＤＬ）で記述した論理回路と、これを論理合成したゲート回路（Ｎｅｔｌｉｓｔ）の論理回路との論理等価性検証を行うための論理等価性検証システムおよび論理等価性検証方法、この論理等価性検証システムを用いた半導体集積回路の製造方法、この論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体に関する。
【背景技術】
【０００２】
近年の複雑なデジタル設計は、数百万ゲート規模に達し、階層設計を用いたトップダウン設計が行なわれている。このような大規模な回路は、ハードウエア記述言語（ＨＤＬ）を用いて回路の論理が記述されている。ハードウエア記述言語には、ＶｅｒｉｌｏｇＨＤＬとＶＨＤＬという２種類の国際標準（ＩＥＣ／ＩＥＥＥ）があり、これらの片方または両方の言語を用いて、構造記述(ｓｔｒｕｃｔｕａｌ)、または、より高位の回路記述である動作記述(ｂｅｈａｖｉｏｒａｌまたはｄａｔａｆｌｏｗ)、またはこれらを組み合わせて回路が表現されている。
【０００３】
トップダウン設計は、ハードウエア記述言語（ＨＤＬ）でレジスタ・トランスファー・レベル（ＲＴＬ）の回路を記述し、論理合成ツールを使い、論理ゲートとその接続で表現されるゲート回路（Ｎｅｔｌｉｓｔ）を合成する設計手法が一般的である。
このとき、設計者がハードウエア記述言語（ＨＤＬ）で記述した機能記述をリファレンス回路（ＲｅｆｅｒｅｎｃｅＤｅｓｉｇｎ）とし、論理合成ツールで合成したゲート回路（Ｎｅｔｌｉｓｔ）を比較対象のインプリメンテーション回路（Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ Ｄｅｓｉｇｎ）として、両者が論理的に等価であることを保証する設計工程を回路の論理等価性検証という。この回路の論理等価性検証は、等価性検証ツールと呼ばれるソフトウェアで実行される。
【０００４】
テストパターンを与えて回路動作を模擬し、出力信号を比較する論理シミュレーションによる論理検証手法と異なり、特許文献１では、図８に示されているように、リファレンスとなる参照回路１０１と、検証対象となるインプリメンテーション回路であるゲート回路１０２（Ｎｅｔｌｉｓｔ）を論理等価性検証部１１０で直接比較することによって、回路の論理等価性検証を数学的に行う論理比較手法が開示されている。
【０００５】
この回路の論理等価性検証は、論理シミュレーションによる論理検証手法に比べて高速であり、また、数学的に網羅的に行なうため、検証漏れがないという特徴がある。しかし、この回路の論理等価性検証は、ＮＰ完全問題（演算量が多くて解けないという問題）であり、回路の規模が大きくなると処理時間が大幅に増大する。また、順序回路を直接に検証することは難しい。このため、現在利用されている等価性検証ツールは、レジスタ毎にロジックコーンと呼ばれる組み合わせ回路に分割し、小さな組み合わせ回路の全てを比較にすることで、順序回路を含む大規模な回路を検証可能としている。
【０００６】
図８は、従来の回路の論理等価性検証部および論理合成部を含むブロックレベル設計フローを示す図である。
【０００７】
図８において、従来の論理合成部１００は、参照回路１０１を読み込み、一連の論理合成処理を行って、インプリメンテーション回路であるゲート回路１０２（Ｎｅｔｌｉｓｔ）を出力する。また、従来の論理等価性検証部１１０は、この参照回路１０１とインプリメンテーション回路であるゲート回路１０２（Ｎｅｔｌｉｓｔ）とを入力として回路の等価性検証処理を行う。
【０００８】
従来の論理合成部１００が行う一連の論理合成処理について詳細に説明すると、まず、ハードウエア記述言語（ＨＤＬ）で記述された参照回路１０１を読み込み、  ＣＤＦＧ生成部１０３にてデータの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ（ＣＤＦＧ）を生成し、その後、低消費電力回路挿入部１０４にて低消費電力回路を挿入し、さらに、テスト回路挿入部１０５にてテスト回路を挿入し、さらに、論理最適化処理部１０６にて論理最適化処理を行う。
【０００９】
最後に、テクノロジーマッピング部１０７によりテクノロジーマッピングを行って、チップ化するテクノロジーのセルライブラリで構成されるゲート回路１０２（Ｎｅｔｌｉｓｔ）を出力する。
【００１０】
これらの低消費電力回路挿入部１０４やテスト回路挿入部１０５の回路挿入を行なわない設計フローもあるが、大規模・低電力の回路では、一般にこれらの回路挿入が行なわれる。このように、回路が挿入されるため、論理合成前後の論理回路の差異が大きくなり、論理等価性検証処理に処理時間が増大し、場合によって、回路の論理等価性を検証することができないこともあり得る。
【００１１】
図９は、従来の回路の論理等価性検証部および動作合成部を含むボトムアップ設計フローを示す図である。
【００１２】
このボトムアップ設計は、大規模設計では一般的な設計フローであり、階層を持つ論理回路に対して、下位のブロックの機能記述から順次合成し、最後にトップブロックの機能記述と論理合成済みの下位のゲート回路で構成されるトップブロック全体の論理回路を合成する手法である。回路規模が大きい場合は、中間階層のブロックに対してトップブロックと同様のボトムアップ設計が行なわれることがある。
図９において、参照回路がトップブロック２０１、トップブロックの直下にサブブロック２０２、サブブロック２０３という階層構造を持つものとする。
【００１３】
この場合のボトムアップ設計は、まず、サブブロック２０２を読み込んで論理合成部２０４で論理合成処理をしてゲート回路２０５を出力する。また、同様に、次の階層のサブブロック２０３を読み込んで論理合成部２０６で論理合成処理をしてゲート回路２０７を出力する。
【００１４】
次に、トップブロック２０１と、論理合成済みのサブブロック２０２のゲート回路２０５と、サブブロック２０３のゲート回路２０７を読み込んで、トップブロック２０１全体を論理合成部２０８にて論理合成処理を行ってゲート回路２０９を出力する。
【００１５】
この論理合成前後の回路の論理等価性検証処理は、参照回路であるトップブロック２０１とサブブロック２０２および２０３、検証対象であるインプリメンテーション回路であるゲート回路２０９を入力として、回路の論理等価性検証を行う。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開平８−２２４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
回路が大規模化・複雑化・高速化・低電圧化するに伴い、ビット幅の大きな乗算器などを用いた大規模で複雑なデータパスが構成されるようになってきた。これに対応するため、論理合成の論理最適化処理が高度化し、レジスタを跨いで論理を反転（ＩｎｖｅｒｔｅｒＰｕｓｈ）させるなどの最適化が行なわれるようになってきた。このため、論理合成前後の回路の差異が大きくなり、論理等価性の検証が難しくなってきている。
また、スキャンテストのためのテスト回路の挿入や、低電力化のためのクロックゲーティング回路の挿入が行なわれるようになっている。回路の追加が行なわれるため、論理合成前と論理合成後の回路の差異が大きくなり、回路の論理等価性の検証が難しくなってきている。
【００１８】
この結果、回路の等価性検証の処理時間が増大し、場合によっては回路の等価性検証ができないことがある。
【００１９】
本発明は、上記従来の問題を解決するもので、回路の等価性検証ができる可能性を高め、等価性検証の処理時間を短縮できる回路論理等価性検証システムおよび論理等価性検証方法、この論理等価性検証システムを用いた半導体集積回路の製造方法、この論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の論理等価性検証システムは、論理記述した論理合成可能なハードウエア記述言語の参照回路と、これを入力として論理合成されたネットリストのゲート回路を比較して回路の論理等価性を検証する論理等価性検証システムにおいて、該論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の該参照回路またはゲート回路を比較して回路の論理等価性が検証されるものであり、そのことにより上記目的が達成される。
【００２１】
また、好ましくは、本発明の論理等価性検証システムにおいて、前記論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成手段と、該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証手段を有する。
【００２２】
さらに、好ましくは、本発明の論理等価性検証システムにおける論理等価性検証手段は、前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理部と、該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング部と、マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証部と、該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力部を有する。
【００２３】
さらに、好ましくは、本発明の論理等価性検証システムにおける論理合成手段は、前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ（ＣＤＦＧ）を生成するＣＤＦＧ生成部と、該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入部と、該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理部と、チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング部を有する。
【００２４】
さらに、好ましくは、本発明の論理等価性検証システムにおける回路挿入部は、前記コントロールデータフローグラフに対して低消費電力回路を挿入する低消費電力回路挿入部と、該コントロールデータフローグラフに対してテスト回路を挿入するテスト回路挿入部を有する。
【００２５】
さらに、好ましくは、本発明の論理等価性検証システムにおいて、前記論理合成の処理ステップ毎に論理等価性を検証する場合の該論理合成の処理ステップは、前記ＣＤＦＧ生成部、前記低消費電力回路挿入部、前記テスト回路挿入部、前記論理最適化処理部および前記テクノロジーマッピング部のうち、該テクノロジーマッピング部を含む少なくとも二つである。
【００２６】
さらに、好ましくは、本発明の論理等価性検証システムにおいて、前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第１論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、さらに、論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第２論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する。
【００２７】
さらに、好ましくは、本発明の論理等価性検証システムにおけるトップブロック全体の論理合成は、前記トップブロックのゲート回路と、前記サブブロックのゲート回路とのブロックの階層を取り払うかどうかを判断し、該境界を取り払う場合には該ブロックを展開する第１の処理が実行されている。
【００２８】
さらに、好ましくは、本発明の論理等価性検証システムにおけるブロックが演算器ブロックの場合に、該演算器ブロックの階層を取り払うかどうかを判断し、該階層を取り払う場合には該演算器ブロックを展開する第２の処理を実行する。
【００２９】
さらに、好ましくは、本発明の論理等価性検証システムにおけるブロックの階層を保持しない場合には、該ブロックの境界を超えて論理を抽出し、該ブロックの階層を保持する場合には、該ブロックの境界を保持して論理を抽出する第３の処理を実行する。
【００３０】
さらに、好ましくは、本発明の論理等価性検証システムにおける論理合成の合成条件を制御して、前記算器ブロックが乗算器ブロックの場合に前記階層を取り払わないようにすることにより、検証しやすい論理回路を合成して論理等価性を検証する。
【００３１】
さらに、好ましくは、本発明の論理等価性検証システムにおいて、前記論理合成で行なわれた回路の変更情報を記録し、該回路の変更情報を用いて前記回路の論理等価性が検証されている。
【００３２】
さらに、好ましくは、本発明の論理等価性検証システムにおける参照回路および前記ゲート回路は論理回路である。
【００３３】
さらに、好ましくは、本発明の論理等価性検証システムにおける論理合成可能なハードウエア記述言語が、ＶｅｒｉｌｏｇＨＤＬまたはＶＨＤＬフォーマットで提供されている。
【００３４】
本発明の論理等価性検証方法は、論理等価性検証システムを用いて、前記論理等価性検証手段が、該論理合成の処理ステップ毎に該ゲート回路を出力し、この出力したゲート回路と、その前の該参照回路またはゲート回路を比較して回路の論理等価性を検証する工程を有するものであり、そのことにより上記目的が達成される。
【００３５】
また、好ましくは、本発明の論理等価性検証方法における論理合成手段が、論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成工程と、前記論理等価性検証手段が、該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証工程を有する。
【００３６】
さらに、好ましくは、本発明の論理等価性検証方法における論理等価性検証工程は、前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理工程と、該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング工程と、マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証工程と、該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力工程を有する。
【００３７】
さらに、好ましくは、本発明の論理等価性検証方法における論理合成工程は、前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ（ＣＤＦＧ）を生成するＣＤＦＧ生成工程と、該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入工程と、該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理工程と、チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング工程を有する。
【００３８】
さらに、好ましくは、本発明の論理等価性検証方法において、前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第１論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、さらに、論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第２論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する。
【００３９】
本発明の半導体集積回路の製造方法は、本発明の上記論理等価性検証システムにより回路の論理等価性が検証された論理合成回路情報に基づいてレジストパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて半導体集積回路を製造するものであり、そのことにより上記目的が達成される。
【００４０】
本発明の制御プログラムは、本発明の上記論理等価性検証方法の工程をコンピュータに実行させるための処理手順が記述されたものであり、そのことにより上記目的が達成される。
【００４１】
本発明の可読記憶媒体は、本発明の上記制御プログラムが格納されたコンピュータ読み取り可能なものであり、そのことにより上記目的が達成される。
【００４２】
上記構成により、以下、本発明の作用を説明する。
【００４３】
本発明においては、論理記述した論理合成可能なハードウエア記述言語の参照回路と、これを入力として論理合成されたネットリストのゲート回路を比較して回路の論理等価性を検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の参照回路またはゲート回路を比較して回路の論理等価性が検証される。
【００４４】
これによって、検証する論理回路の差異がより小さくなるため、等価性検証ができる可能性を高め、回路の等価性検証の処理時間が短縮される。
【発明の効果】
【００４５】
以上により、本発明によれば、論理記述した論理合成可能なハードウエア記述言語（ＨＤＬ）の論理回路と、これを入力として論理合成されたゲート回路（Ｎｅｔｌｉｓｔ）の論理回路を比較して検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の参照回路またはゲート回路を比較して回路の論理等価性が検証することにより、論理の差異を小さくできるため、処理時間が短縮できる。また、従来手法では、検証ができなかった回路に対しても検証の可能性を高めることができる。論理シミュレーションによる検証に比べて非常に高速な論理等価性検証の利用範囲が広がることで設計期間を短縮することもできる。
【図面の簡単な説明】
【００４６】
【図１】本発明の基本構成に係る回路の論理等価性検証システムの要部構成例を示すブロック図である。
【図２】図１の回路の論理等価性検証システムにおける論理等価性検証手段の要部構成例を概略的に示すブロック図である。
【図３】本発明の実施形態１として、図２の論理合成手段および論理等価性検証手段のブロックレベル設計フロー例を示す図である。
【図４】本発明の実施形態２として、図２の論理合成手段および回路論理等価性検証手段のボトムアップ設計フロー例を示す図である。
【図５】本発明の実施形態３として、図１の回路論理等価性検証システムにおける論理等価性検証手段の他の要部構成例を概略的に示すブロック図であって、変更情報がある場合の論理等価性検証処理を行う場合のブロック図である。
【図６】（ａ）および（ｂ）はそれぞれ、論理合成手段における変更情報の記述例を示す図である。
【図７】図４の最終段の論理合成部における論理合成処理例を示すフローチャートである。
【図８】従来の回路の論理等価性検証部および論理合成部を含むブロックレベル設計フローを示す図である。
【図９】従来の回路の論理等価性検証部および動作合成部を含むボトムアップ設計フローを示す図である。
【発明を実施するための形態】
【００４７】
以下に、本発明の回路の論理等価性検証システムの実施形態１〜３について説明する前に、本発明の回路の論理等価性検証システムの基本構成について図面を参照しながら詳細に説明する。
【００４８】
図１は、本発明の基本構成に係る回路の論理等価性検証システムの要部構成例を示すブロック図である。
【００４９】
図１において、本実施形態の回路の論理等価性検証システム１は、コンピュータシステムで構成されており、各種入力指令を可能とするキーボードやマウス、画面入力装置などの操作入力部２と、各種入力指令に応じて表示画面上に、初期画面、選択誘導画面および処理結果画面などの各種画像を表示可能とする表示部３と、全体的な制御を行う制御手段としてのＣＰＵ４（中央演算処理装置）と、ＣＰＵ４の起動時にワークメモリとして働く一時記憶手段としてのＲＡＭ５と、ＣＰＵ４を動作させるため制御プログラムおよびこれに用いる各種データなどが記録されたコンピュータ読み取り可能な可読記録媒体（記憶手段）としてのＲＯＭ６と、各種処理に各種データを記憶すると共にこれを参照可能とするためのデータベース７を有している。
【００５０】
ＣＰＵ４は、操作入力部２からの入力指令の他、ＲＯＭ６内からＲＡＭ５内に読み出された制御プログラムおよびこれに用いる各種データに基づいて、論理合成可能なハードウエア記述言語（ＨＤＬ）の論理回路である機能記述された参照回路を論理合成して論理回路であるゲート回路（インプリメンテーション回路）を生成する論理合成手段１０と、論理合成前の論理回路である参照回路とこれを入力として論理合成されたゲート回路（Ｎｅｔｌｉｓｔ；ネットリスト）である論理回路を比較して回路の論理等価性を検証する場合に、論理合成処理の処理ステップ毎にゲート回路（Ｎｅｔｌｉｓｔ；ネットリスト）を出力して、この出力ゲート回路とその前の参照回路またはゲート回路を比較して回路の論理等価性を検証する論理等価性検証手段２０を有している。
【００５１】
ＲＯＭ６は、ハードディスク、光ディスク、磁気ディスクおよびＩＣメモリなどの可読記録媒体（記憶手段）で構成されている。この制御プログラムおよびこれに用いる各種データは、携帯自在な光ディスク、磁気ディスクおよびＩＣメモリなどからＲＯＭ６にダウンロードされてもよいし、コンピュータのハードディスクからＲＯＭ６にダウンロードされてもよいし、無線または有線、インターネットなどを介してＲＯＭ６にダウンロードされてもよい。後述する図２の論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラムをコンピュータ読み取り可能な可読記憶媒体に格納して、コンピュータ（ＣＰＵ４）により、論理合成処理および、この論理合成処理の処理ステップ毎に回路の論理等価性検証処理を行うものである。
【００５２】
データベース７は、機能記述された後述する参照回路１１、論理合成された論理回路であるゲート回路１２（インプリメンテーション回路）および、論理等価性検証手段２０で検証した回路の論理等価性の検証結果が格納される。また、データベース７は、ＣＰＵ４による回路論理等価性検証中に中間データとして生成された各種データを、その都度格納すると共に、必要に応じてこれらを参照可能としている。さらに、データベース７は、ＲＡＭ５と一体で同じ記憶手段として構成されていてもよい。
【００５３】
図２は、図１の回路の論理等価性検証システム１における論理等価性検証手段２０の要部構成例を概略的に示すブロック図である。
【００５４】
図２において、この回路の論理等価性検証システム２０は、機能記述された論理合成前の参照回路１１と論理合成手段１０で論理合成されたインプリメンテーション回路であるゲート回路１２を読み込むデータ読み込み処理部２１と、この参照回路１１とゲート回路１２の検証ポイントのマッピングを行う比較ポイントマッピング部２２と、マッピングされた全ての比較ポイントを検証して回路の等価性を検証する比較ポイント検証部２３と、この比較ポイント検証部２３で回路の等価性が検証された検証結果を出力する検証結果出力部２４を有している。
【００５５】
この検証結果３１としては、参照回路１１とゲート回路１２の論理が等価であるか否かの出力情報が出力されるようになっている。参照回路１１とゲート回路１２の論理が等価でなかった場合の解析のために、論理が一致した比較ポイントと不一致または検証困難な比較ポイント、マッピングできた比較ポイントとマッピングできなかった比較ポイントなどの各種出力情報をも出力させるようになっている。これらの検証結果３１およびその各種出力情報は前述したデータベース７に格納され参照可能としている。
データ読み込み処理部２１は、第１の入力としてリファレンスである論理合成前の参照回路１１と、第２の入力として検証対象である論理合成されたインプリメンテーション回路であるゲート回路１２を読み込んでいる。
【００５６】
この場合、参照回路１１は、論理合成可能なハードウエア記述である。ハードウエア記述言語は、国際標準（ＩＥＣ／ＩＥＥＥ）であるＶｅｒｉｌｏｇＨＤＬまたはＶＨＤＬが用いられる。一般に、回路は階層を持つが、回路全体を同一言語で記述することも、ブロック毎にどちらかの言語で記述して混在させることも可能である。
【００５７】
また、インプリメンテーション回路であるゲート回路１２は、検証対象回路であり、論理合成処理によって出力されたゲートレベルの回路（Ｎｅｔｌｉｓｔ）である。
【００５８】
比較ポイントマッピング部２２は、リファレンスの参照回路１１とターゲットであるゲート回路１２の検証ポイント、例えば出力ポイントの論理機能を、リファレンスとターゲットで対応付ける。
【００５９】
比較ポイント検証部２３は、対応付けられたリファレンスの参照回路１１の出力ポイントの論理機能と、ターゲットのゲート回路１２の出力ポイントの論理機能とが一致するかどうかを検証する。
【００６０】
本発明の基本構成として、論理合成のステップ毎に論理等価性検証処理を行う場合について説明したが、２種類の論理等価性検証処理のうちの実施形態１として、論理合成時の回路追加を含む工程毎に検証（大規模回路で一般的に行われている低消費電力回路挿入とテスト回路挿入する設計フロー）する場合について説明し、２種類の論理等価性検証処理のうちの実施形態２として、階層設計での合成ステップ毎に検証（大規模回路で一般的なボトムアップ合成＋トップでの統合を行う設計フロー）する場合について説明し、さらに、実施形態３として、変更情報がある場合の論理等価検証処理について説明する。
【００６１】
（実施形態１）
本実施形態１では、論理合成時の回路追加を含む工程毎に検証（大規模回路で一般的に行われている低消費電力回路挿入とテスト回路挿入する設計フロー）する場合について説明する。
【００６２】
図３は、本発明の実施形態１として、図１の論理合成手段１０および論理等価性検証手段２０のブロックレベル設計フロー例を示す図である。
【００６３】
図３において、論理合成手段１０は、参照回路１１の情報を読み込み、一連の論理合成処理を行って、インプリメンテーション回路であるゲート回路１２５（Ｎｅｔｌｉｓｔ）を出力する。
【００６４】
まず、ハードウエア記述言語（ＨＤＬ）で記述された参照回路１１を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ（ＣＤＦＧ）を生成するＣＤＦＧ生成部１３にてＣＤＦＧを生成する。このＣＤＦＧ生成時にゲート回路１２１を出力する。さらに、論理等価性検証部２１１は、この参照回路１１とゲート回路１２１（インプリメンテーション回路）を入力として回路の等価性検証処理を行い、その検証結果３１１を出力する。なお、その後、ＣＤＦＧ中の各節点の処理をどの実行サイクルで実行するかを決定するスケジューリング部（図示せず）にてスケジューリングを行い、さらに、各処理を回路素子に割り付けると共に処理途中のデータを記憶するためにレジスタに割り付けるアロケーション部（図示せず）にてアロケーションを行うが、ここでは図示していない。
【００６５】
次に、データパス・コントローラ生成部（図示せず）がスケジューリング部およびアロケーション部による各処理結果にしたがって、データパスとそれを制御するコントローラを生成し、さらに、信号伝播保証回路（または同期化回路）などの各種回路を追加生成すると共に、演算器およびレジスタの接続を表すネットリストを作成する。
【００６６】
このＣＤＦＧ生成時にゲート回路１２１を出力する。さらに、論理等価性検証部２１１は、この参照回路１１とゲート回路１２１（インプリメンテーション回路）とを入力として回路の等価性検証処理を行い、その検証結果３１１を出力する。
【００６７】
その後、低消費電力回路挿入部１４により低消費電力回路を挿入する。この低消費電力回路挿入処理時にゲート回路１２２を出力する。さらに、論理等価性検証部２１２は、前回のゲート回路１２１と今回のゲート回路１２２をそれぞれ入力として回路の等価性検証処理を行い、その検証結果３１２を出力する。なお、低消費電力回路挿入によりラッチ回路が付加された場合、回路の等価性検証の入力として、低消費電力回路を挿入したという情報が与えられるが、ここでは図示していない。
【００６８】
その後、テスト回路挿入部１５によりテスト回路を挿入する。このテスト回路挿入処理時にゲート回路１２３を出力する。さらに、論理等価性検証部２１３は、前回のゲート回路１２２と今回のゲート回路１２３をそれぞれ入力として回路の等価性検証処理を行い、その検証結果３１３を出力する。なお、テスト回路挿入後の回路は、通常モード（非テストモード）とは異なるテストモードの論理を含み、さらに、このモードを切り替えるための制御回路を有する。論理等価検証処理時に、入力として、ゲート回路１２３のテストモードを無効化し通常モードで検証するための情報が与えられるが、ここでは図示していない。また、追加されたテストモードの回路は論理等価性検証の対象外であり、論理シミュレーションを用いて機能検証される。
【００６９】
さらに、論理最適化処理部１６にて論理最適化処理を行う。この論理最適化処理時にゲート回路１２４を出力する。さらに、論理等価性検証部２１４は、前回のゲート回路１２３と今回のゲート回路１２４をそれぞれ入力として回路の等価性検証処理を行い、その検証結果３１４を出力する。
【００７０】
最後に、チップ化するテクノロジーのセルライブラリで構成されるゲート回路（Ｎｅｔｌｉｓｔ）にテクノロジーマッピング部１７にてテクノロジーマッピングを行う。このとき、テクノロジーマッピング処理時にゲート回路１２５を出力する。さらに、論理等価性検証部２１５は、このゲート回路１２４とゲート回路１２５を入力として回路の等価性検証処理を行い、その検証結果３１５を出力する。
【００７１】
これらの低消費電力回路挿入部１４およびテスト回路挿入部１５の回路挿入を行なわない設計フローもあるが、大規模・低電力の回路では、一般にこれらの回路挿入が行なわれる。このように、回路が挿入されるため、論理合成処理前後の論理回路に差異が大きくなり、論理等価性検証処理に処理時間が増大し、場合によって検証できないこともあり得る。
【００７２】
以上のように、本実施形態１の回路の論理等価性検証システム１において、論理合成処理のステップ毎にゲート回路１２１〜１２５を出力し、この論理合成処理のステップ毎に論理回路の論理等価性を検証する点が前述した従来技術と異なっている。従来技術のように論理合成処理の前後の論理回路の論理等価性を検証するのに比べて、論理合成のステップ毎に回路の論理等価性を細かく分割して検証することにより、検証する論理回路の差異がより小さくなって、等価性検証ができる可能性を高め、回路の等価性検証の処理時間を短縮してより検証し易くすることができる。
【００７３】
なお、本実施形態１において、ゲート回路を出力するには、テクノロジーマッピングが必要である。ターゲットのテクノロジーにマッピングするのは、論理合成最終段のテクノロジーマッピング部１７によりテクノロジーマッピングしてゲート回路１２５を出力する。図３の右側の４つのゲート回路１２１、１２２、１２３および１２４を出力する場合は、論理合成ツールが持つ汎用的なテクノロジーにマッピングされる。
【００７４】
なお、この論理合成処理は、参照回路１１を、低消費電力回路を挿入する低消費電力回路挿入部１４と、テスト回路を挿入するテスト回路挿入部１５と、論理最適化処理を行う論理最適化処理部１６と、チップ化するテクノロジーのセルライブラリで構成されるゲート回路（Ｎｅｔｌｉｓｔ）にテクノロジーマッピングを行うテクノロジーマッピング部１７を有している。これらの処理の前段に、論理合成処理は、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ（ＣＤＦＧ）を生成するＣＤＦＧ生成部１３と、ＣＤＦＧ中の各節点の処理をどの実行サイクルで実行するかを決定するスケジューリング部と、各処理を回路素子に割り付けると共に処理途中のデータを記憶するためにレジスタに割り付けるアロケーション部と、スケジューリング部およびアロケーション部による各処理結果にしたがって、データパスとそれを制御するコントローラを生成し、信号伝播保証回路（または同期化回路）などの各種回路を追加生成すると共に、演算器およびレジスタの接続を表すネットリストを作成するデータパス・コントローラ生成部を有している。上記低消費電力回路挿入部１４、テスト回路挿入部１５および論理最適化処理部１６は、データパス・コントローラ生成部の一部である。
【００７５】
（実施形態２）
本実施形態２では、階層設計での合成ステップ毎に検証（大規模回路で一般的なボトムアップ合成とトップブロックとの統合を行う設計フロー例）する場合について説明する。
【００７６】
図４は、本発明の実施形態２として、図２の論理合成手段１０および回路論理等価性検証手段２０のボトムアップ設計フロー例を示す図である。
【００７７】
ボトムアップ設計は、大規模設計では一般的な設計フローであり、階層を持つ論理回路に対して、下位のブロックの機能記述から順次合成し、最後にトップブロックの機能記述と論理合成済みの下位のゲート回路で構成されるトップブロック全体の論理回路を合成する手法である。回路規模が大きい場合は、中間階層のブロックに対してトップブロックと同様のボトムアップ設計が行なわれる。
図４において、参照回路１１がトップブロック１１１、トップブロックの直下にサブブロック１１２、サブブロック１１３という階層構造を持つものとする。
【００７８】
この場合のボトムアップ設計は、まず、サブブロック１１２の情報を論理合成部１３１に読み込んでその論理合成部１３１で一連の論理合成処理をしてネットリストのゲート回路１２６を出力する。また、同様に、次の階層のサブブロック１１３の情報を別の論理合成部１３２に読み込んでその別の論理合成部１３２で一連の論理合成処理をしてネットリストのゲート回路１２７を出力する。
【００７９】
次に、トップブロック１１１のみの情報を別の論理合成部１３３に読み込んで、そのトップブロック１１１を論理合成部１３３により一連の論理合成処理を行ってトップブロック１１１のみのネットリストのゲート回路を出力する。
【００８０】
このトップブロック１１１の論理合成手法が図９の従来の論理合成手法と異なるのは、従来は、トップブロック全体を論理合成していたが、本手法では、トップブロック１１１のみのゲート回路を作成してから、トップブロック１１１全体の論理最適化処理を行う点である。
【００８１】
即ち、トップブロック１１１と、論理合成済みのサブブロック１１２のゲート回路１２５と、サブブロック１１３のゲート回路１２６を論理合成部１３３に読み込む。サブブロック１１２とサブブロック１１３はゲート回路１２６および１２７であるため、論理合成の対象外として回路変更は行わない。
【００８２】
トップブロック１１１は機能記述であるため、トップブロック１１１のみを論理合成部１３３により論理合成し、サブブロックの各ゲート回路１２６および１２７と合わせてトップブロック全体のゲート回路１２８を論理合成部１３４に出力して一連の論理合成をする。
【００８３】
論理等価性検証部２１６は、参照回路１１であるトップブロック１１１とサブブロック１１２,１１３のＨＤＬと、ネットリストのゲート回路１２８を読み込んで、回路の等価性検証処理を行い、その検証結果３１６を出力する。
【００８４】
今度は、ゲート回路１２８（トップブロック１１１のゲート回路、サブブロックの各ゲート回路１２６および１２７）を論理等価性検証部２１７に読み込む。ただし、論理合成ツールがゲート回路１２８を内部データとして保持しているならば、この入力処理は必要ない。
【００８５】
次に、論理合成部１３４によりトップブロック全体のゲート回路１２８のトップブロック１１１のゲート回路と、サブブロックの各ゲート回路１２６および１２７を合わせて論理最適化処理を行ってゲート回路１２９を出力する。トップブロック１１１の機能記述だけを論理合成する段階では、サブブロックは論理合成の対象外としたが、この段階では論理合成（論理最適化）の対象となる。なお、トップブロック１１１のゲート回路と、サブブロックの各ゲート回路１２６および１２７の論理最適化を行うが、ここで、階層を取り払う（フラットにする）ことは必ずしも必要ではない。フラットにしなくても、階層を保持したまま、更なる論理最適化は可能である。また、階層を保持したまま、階層境界の一部を取ることや、境界の端子の論理を反転することも可能である。
【００８６】
さらに、参照対象のゲート回路１２８と、検証対象のインプリメンテーション回路であるゲート回路１２９を論理等価性検証部２１７に入力して、論理等価性検証部２１７により論理等価性検証処理を行い、その検証結果３１７を出力する。
【００８７】
一方、近年の論理等価性検証ツールは、論理合成ツールと連携し、変更情報を受け渡しするものがある。
【００８８】
以上の動作を更に説明すると、まず、サブブロック１１２，１１３単体で合成し検証する（これは図示していないが前提条件となる。合成したサブブロック１１２，１１３の等価性検証ができないものは、トップ全体で検証できないからである）。次に、トップ全体の合成と検証であるが、トップ（ＨＤＬ）とサブブロック（ネットリスト）を結合して、サブブロックを合成対象外とし、トップのみ合成（ＨＤＬ→ネットリスト）する。これによって、ＨＤＬと論理合成されたネットリストの等価性検証を行う。トップ全体の合成を行っているが、サブブロックを合成対象外とすることにより、トップのみの合成と、各サブブロックの合成を合わせたものとなる。このため、等価性検証が、合成単位と１対１に対応する（トップの階層とトップの合成情報、各サブブロックの階層と各サブブロックの合成情報）。さらに、トップ全体のネットリストを論理合成（最適化）し、このネットリストと最適化されたネットリストの等価性検証を行う。ネットリストを入力として論理合成した場合は、乗算器の階層が保持されれば、ほぼ問題なく、かつ非常に高速に等価性検証ができる。
【００８９】
図７は、図４の最終段の論理合成部１３４における論理合成処理例を示すフローチャートである。なお、図７は、機能記述を入力として、テクノロジーマッピングのみの論理合成を行ない、ゲート回路を出力する処理フローである。入力には、クロック定義や階層展開処理の制御など、論理合成の条件が与えられるものとする。
【００９０】
図７に示すように、まず、ステップＳ１で論理合成条件を読み込み、ステップＳ２でテクノロジーライブラリを読み込み、ステップＳ３で回路の機能記述を読み込む。さらに、ステップＳ４でトップブロックを設定して、読み込んだ回路をリンクすることにより、ステップＳ５でこのブロックをトップとする回路ツリーを作成する。これらのステップＳ１〜５はＣＤＦＧ生成時の入力処理である。
【００９１】
次に、この回路ツリーを検索手順に従い探索する。例えば、ステップＳ６で、深さ優先探索で探索し、階層的な回路ツリー上の次のブロックを選択する。さらに、ステップＳ７で、与えられた合成条件に従い、このブロックの階層を保持するか否かを判断し、ブロックの階層を保持しない場合（ＮＯ）には、ステップＳ８でブロックを展開する。また、このブロックが演算器の場合は、同様に与えられた合成条件に従い、ステップＳ９で、演算器の階層を保持するか否かを判断し、演算器の階層を保持しないなら（ＮＯ）、ステップＳ１０で演算器ブロックを展開する。３２ビット以上の乗算を行う乗算器の等価性検証は非常に困難になるため、演算器を展開対象外とすることは、等価性検証処理に有効であり、これが制御できる合成を行うことは有効な手法である。
【００９２】
さらに、合成条件に従い、ステップＳ１１で、このブロックの境界（バウンダリ）を保持するか否かを判断し、境界を保持しないなら（ＮＯ）、ステップＳ１２で、ブロック境界を超えて論理を抽出する。また、ステップＳ１１でブロック境界を保持するなら（ＹＥＳ）、ステップＳ１３で、ブロック境界の内側と外側で別々に論理を抽出する。なお、ブロック境界は保持するが、ブロック境界を越えて論理最適化を行うこともこれを禁止することも可能である。ブロック境界を越えて論理最適化が行われた場合、冗長なブロック境界の端子の削除や、端子の論理反転、または端子の追加が有り得る。
【００９３】
さらに、ステップＳ１４で、回路ツリーを全て探索し終わるまで、ステップＳ６〜Ｓ１３のフラットにするかしないか、即ち、階層間の境界（バウンダリ）をとるかとらないかの論理合成最適化の条件設定処理をブロックが無くなるまで繰り返す。
【００９４】
その後、ステップＳ１５で、抽出した論理の最適化を行い、ステップＳ１６で、テクノロジーマッピングによりゲート回路に変換し、ステップＳ１７で、この変換したゲート回路を出力する。
【００９５】
この場合に、論理最適化による回路差異が大きいと、参照回路１１と、論理合成されたインプリメンテーション回路であるゲート回路１２との論理等価性の検証が難しくなる。回路の差異が大きくなるのは、論理合成前後の階層に差がある場合である。論理合成時に階層が展開されると、階層の境界を越えて最適化が行われるため、検証が難しくなる。階層が保持された場合でも、ブロックの境界を超えて最適化が可能であり、この場合も検証が難しくなる。また、データパス部分は広範囲の論理最適化が行なわれ、回路の差異が大きくなる。特に、ビット幅の大きな乗算器を持つ大規模なデータパスは、検証が難しくなる。
【００９６】
このため、論理合成ツールは、論理合成の制約として、階層展開を行なうか否か、ブロックの境界を越えて最適化を行なうか否か、演算器の階層展開を行なうか否かなど、論理合成の最適化条件を設計者が制御できるオプションを用意している。論理等価性検証が検証困難となった場合、設計仕様として要求される回路規模やタイミングなどを満たす範囲で、論理合成の最適化を制限することができる。論理合成の処理ステップ毎に論理等価性の検証を行う本手法にこの制御を行なうことにより、論理等価性を検証できる可能性を高めることができる。
【００９７】
（実施形態３）
本実施形態３では、上記実施形態１または２と共に、またはこれらとは別に、変更情報がある場合の論理等価性検証処理について説明する。
【００９８】
図５は、本発明の実施形態３として、図１の回路論理等価性検証システム１における論理等価性検証手段２０の他の要部構成例を概略的に示すブロック図であって、変更情報がある場合の論理等価性検証処理のブロック図である。なお、論理等価性検証の基本的な処理フローは、図２の変更情報がない場合と同じであるため、図５では、図２の構成部材と同様の作用効果を奏する構成部材には同一の符号を付して説明する。
【００９９】
図５に示すように、参照回路１１と、この参照回路１１が論理合成手段１０により論理合成されたインプリメンテーション回路であるゲート回路１２を論理等価性検証手段２０のデータ取り込み処理部２１に読み込み、読み込んだ参照回路１１とインプリメンテーション回路であるゲート回路１２との検証ポイントのマッピングを検証ポイントマッピング部２２が実行し、マッピングされた全ての比較ポイントについて比較ポイント検証部２３が検証し、この検証結果３１を検証結果出力部２４が出力する。
【０１００】
この検証結果３１として、参照回路１１とインプリメンテーション回路であるゲート回路１２の論理が等価であるか否かが出力される。また、論理が等価でなかった場合の解析のために、検証結果３１として、論理が一致した比較ポイントと不一致または検証困難な比較ポイント、マッピングできた比較ポイントとマッピングできなかった比較ポイントなどの各種出力情報を出力させることができる。
【０１０１】
変更情報がない場合の処理フローとの違いは、論理合成手段１０から、変更情報出力部（図示せず）から変更情報１８を出力し、この変更情報１８を論理等価性検証処理のデータとして読み込む点である。この変更情報１８としては、参照回路１１と、インプリメンテーション回路であるゲート回路１２との検証ポイントマッピング処理（検証ポイントマッピング部２２）と、マッピングされた全ての比較ポイントの検証処理（比較ポイント検証部２３）に利用される。
【０１０２】
図６（ａ）および図６（ｂ）はそれぞれ、論理合成手段１０における変更情報１８の記述例を示す図である。
【０１０３】
図６（ａ）に示すようにレジスタを越えて論理反転（Inverter Push）が行なわれたレジスタの情報や、図６（ｂ）に示すように名前の変更があったセルインスタンスの変更前と変更後の名前など、論理合成で行なわれた変更情報１８を変更情報出力部の所定の記憶部に記録する。これらの変更情報１８は、論理合成処理のステップ毎にゲート回路と共に論理合成手段１０から出力され、等価性検証手段２０に渡される。
【０１０４】
この変更情報１８を用いる場合、本手法はさらに効果的である。たとえば、名前が「Ａ」から「Ｂ」に変更され、さらに、次のステップで名前が「Ｂ」から「Ｃ」に変更された場合、結局、名前が「Ａ」から「Ｃ」に変わるため、論理合成前後の回路中の名前と、変更情報１８とが一致しなくなるが、本実施形態３のようにステップ毎に回路情報（ゲート回路）と変更情報１８を出力することにより、名前「Ａ」と「Ｂ」が変更情報１８により対応付けられ、名前「Ｂ」と「Ｃ」が変更情報１８により対応付けられて、名前「Ａ」と「Ｃ」が変更情報１８により名前対応が可能となる。
【０１０５】
一般に、論理等価性検証処理が困難となるのは、単なる名前の変更ではなく、論理最適化によって大幅に回路構造が変わった場合である。しかし、名前の変更を含む複数の処理が行われると、論理合成前後の回路のマッピング（１対１対応）が難しくなり、検証をさらに困難なものにする。ステップ毎に検証を行うことにより、これらの変更情報１８に対応したマッピングが可能となり、これによって、回路の論理等価性が検証できる可能性が格段と高くなる。
【０１０６】
したがって、本実施形態１〜３によれば、論理記述した論理合成可能なハードウエア記述言語（ＨＤＬ）の論理回路と、これを入力として論理合成されたゲート回路（Ｎｅｔｌｉｓｔ）の論理回路を比較して論理等価性を検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、このゲート回路を用いて処理ステップ毎に論理等価性を検証することにより、論理の差異を小さくできるため、処理時間が短縮できる。また、従来手法では、検証ができなかった回路に対しても検証の可能性を高めることができる。さらに、論理シミュレーションによる検証に比べて非常に高速な論理等価性検証の利用範囲が広がることで設計期間を大幅に短縮することができる。
【０１０７】
なお、上記実施形態１〜３では、特に説明しなかったが、論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の参照回路またはゲート回路を比較して回路の論理等価性を検証する場合に、論理合成の処理ステップは、ＣＤＦＧ生成部１３、低消費電力回路挿入部１４、テスト回路挿入部１５、論理最適化処理部１６およびテクノロジーマッピング部１７のうち、テクノロジーマッピング部１７を含む少なくとも二つであれば、検証する論理回路の差異がより小さくなって、等価性検証ができる可能性を高め、回路の等価性検証の処理時間を短縮してより検証し易くすることができる。
【０１０８】
なお、上記実施形態１〜３では、特に説明しなかったが、本発明の論理等価性検証システム１により回路の論理等価性が検証された論理合成回路情報に基づいてレジストパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いてより高性能の各種の半導体集積回路を製造することができる。
【０１０９】
なお、上記実施形態２では、特に説明しなかったが、本発明の論理等価性検証システム１において、論理記述した論理合成可能なハードウエア記述言語の参照回路１１と、これを入力として論理合成手段１０で論理合成されたネットリストのゲート回路１２１〜１２５のうち、論理合成の処理ステップの前後のものを比較して回路の論理等価性を検証する論理等価性検証手段２０が設けられている。これによって、検証する論理回路の差異がより小さくなるため、回路の等価性検証ができる可能性を高め、等価性検証の処理時間を短縮することができる本発明の目的を達成することができる。
【０１１０】
以上のように、本発明の好ましい実施形態１〜３を用いて本発明を例示してきたが、本発明は、この実施形態１〜３に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態１〜３の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０１１１】
本発明は、ハードウエア記述言語（ＨＤＬ）で記述した論理回路と、これを論理合成したゲート回路（Ｎｅｔｌｉｓｔ）の論理回路との論理等価性検証を行うための論理等価性検証システムおよび論理等価性検証方法、この論理等価性検証システムを用いた半導体集積回路の製造方法、この論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体の分野において、論理記述した論理合成可能なハードウエア記述言語（ＨＤＬ）の論理回路と、これを入力として論理合成されたゲート回路（Ｎｅｔｌｉｓｔ）の論理回路を比較して論理等価性を検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、このゲート回路を用いて処理ステップ毎に論理等価性を検証することにより、論理の差異を小さくできるため、処理時間が短縮できる。また、従来手法では、検証ができなかった回路に対しても検証の可能性を高めることができる。さらに、論理シミュレーションによる検証に比べて非常に高速な論理等価性検証の利用範囲が広がることで設計期間を大幅に短縮することができる。
【符号の説明】
【０１１２】
１  論理等価性検証システム
２  操作入力部
３  表示部
４  ＣＰＵ（中央演算処理装置）
５  ＲＡＭ
６  ＲＯＭ
７  データベース
１０  論理合成手段
１３１，１３２、１３３、１３４  論理合成部
１１  参照回路
１１１  トップブロック
１１２、１１３  サブブロック
１２  ゲート回路
１２１〜１２９  ゲート回路
１３  ＣＤＦＧ生成部
１４  低消費電力回路挿入部
１５  テスト回路挿入部
１６  論理最適化処理部
１７  テクノロジーマッピング部
１８  変更情報
２０  論理等価性検証手段
２１１〜２１７  論理等価性検証部
２１  データ読み込み処理部
２２  比較ポイントマッピング部
２３  比較ポイント検証部
２４  検証結果出力部
３１、３１１〜３１７  検証結果
【図１】
2010257003.tif 000003
【図２】
2010257003.tif 000004
【図３】
2010257003.tif 000005
【図４】
2010257003.tif 000006
【図５】
2010257003.tif 000007
【図６】
2010257003.tif 000008
【図７】
2010257003.tif 000009
【図８】
2010257003.tif 000010
【図９】
2010257003.tif 000011