JP2010257003A - 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 - Google Patents

論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 Download PDF

Info

Publication number
JP2010257003A
JP2010257003A JP2009103474A JP2009103474A JP2010257003A JP 2010257003 A JP2010257003 A JP 2010257003A JP 2009103474 A JP2009103474 A JP 2009103474A JP 2009103474 A JP2009103474 A JP 2009103474A JP 2010257003 A JP2010257003 A JP 2010257003A
Authority
JP
Japan
Prior art keywords
circuit
logic
equivalence
verification
gate circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009103474A
Other languages
English (en)
Inventor
Toshiyuki Matsumoto
敏行 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2009103474A priority Critical patent/JP2010257003A/ja
Publication of JP2010257003A publication Critical patent/JP2010257003A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】回路の等価性検証ができる可能性を高め、等価性検証の処理時間を短縮する。
【解決手段】論理記述した論理合成可能なハードウエア記述言語の参照回路11と、これを入力として論理合成手段10で論理合成されたネットリストのゲート回路121〜123、129および124とのうち、論理合成の処理ステップの前後のものを比較して回路の論理等価性を検証する論理等価性検証手段20が設けられている。これによって、検証する論理回路の差異がより小さくなる。
【選択図】図1

Description

本発明は、ハードウエア記述言語(HDL)で記述した論理回路と、これを論理合成したゲート回路(Netlist)の論理回路との論理等価性検証を行うための論理等価性検証システムおよび論理等価性検証方法、この論理等価性検証システムを用いた半導体集積回路の製造方法、この論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体に関する。
近年の複雑なデジタル設計は、数百万ゲート規模に達し、階層設計を用いたトップダウン設計が行なわれている。このような大規模な回路は、ハードウエア記述言語(HDL)を用いて回路の論理が記述されている。ハードウエア記述言語には、VerilogHDLとVHDLという2種類の国際標準(IEC/IEEE)があり、これらの片方または両方の言語を用いて、構造記述(structual)、または、より高位の回路記述である動作記述(behavioralまたはdataflow)、またはこれらを組み合わせて回路が表現されている。
トップダウン設計は、ハードウエア記述言語(HDL)でレジスタ・トランスファー・レベル(RTL)の回路を記述し、論理合成ツールを使い、論理ゲートとその接続で表現されるゲート回路(Netlist)を合成する設計手法が一般的である。
このとき、設計者がハードウエア記述言語(HDL)で記述した機能記述をリファレンス回路(ReferenceDesign)とし、論理合成ツールで合成したゲート回路(Netlist)を比較対象のインプリメンテーション回路(Implementation Design)として、両者が論理的に等価であることを保証する設計工程を回路の論理等価性検証という。この回路の論理等価性検証は、等価性検証ツールと呼ばれるソフトウェアで実行される。
テストパターンを与えて回路動作を模擬し、出力信号を比較する論理シミュレーションによる論理検証手法と異なり、特許文献1では、図8に示されているように、リファレンスとなる参照回路101と、検証対象となるインプリメンテーション回路であるゲート回路102(Netlist)を論理等価性検証部110で直接比較することによって、回路の論理等価性検証を数学的に行う論理比較手法が開示されている。
この回路の論理等価性検証は、論理シミュレーションによる論理検証手法に比べて高速であり、また、数学的に網羅的に行なうため、検証漏れがないという特徴がある。しかし、この回路の論理等価性検証は、NP完全問題(演算量が多くて解けないという問題)であり、回路の規模が大きくなると処理時間が大幅に増大する。また、順序回路を直接に検証することは難しい。このため、現在利用されている等価性検証ツールは、レジスタ毎にロジックコーンと呼ばれる組み合わせ回路に分割し、小さな組み合わせ回路の全てを比較にすることで、順序回路を含む大規模な回路を検証可能としている。
図8は、従来の回路の論理等価性検証部および論理合成部を含むブロックレベル設計フローを示す図である。
図8において、従来の論理合成部100は、参照回路101を読み込み、一連の論理合成処理を行って、インプリメンテーション回路であるゲート回路102(Netlist)を出力する。また、従来の論理等価性検証部110は、この参照回路101とインプリメンテーション回路であるゲート回路102(Netlist)とを入力として回路の等価性検証処理を行う。
従来の論理合成部100が行う一連の論理合成処理について詳細に説明すると、まず、ハードウエア記述言語(HDL)で記述された参照回路101を読み込み、 CDFG生成部103にてデータの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ(CDFG)を生成し、その後、低消費電力回路挿入部104にて低消費電力回路を挿入し、さらに、テスト回路挿入部105にてテスト回路を挿入し、さらに、論理最適化処理部106にて論理最適化処理を行う。
最後に、テクノロジーマッピング部107によりテクノロジーマッピングを行って、チップ化するテクノロジーのセルライブラリで構成されるゲート回路102(Netlist)を出力する。
これらの低消費電力回路挿入部104やテスト回路挿入部105の回路挿入を行なわない設計フローもあるが、大規模・低電力の回路では、一般にこれらの回路挿入が行なわれる。このように、回路が挿入されるため、論理合成前後の論理回路の差異が大きくなり、論理等価性検証処理に処理時間が増大し、場合によって、回路の論理等価性を検証することができないこともあり得る。
図9は、従来の回路の論理等価性検証部および動作合成部を含むボトムアップ設計フローを示す図である。
このボトムアップ設計は、大規模設計では一般的な設計フローであり、階層を持つ論理回路に対して、下位のブロックの機能記述から順次合成し、最後にトップブロックの機能記述と論理合成済みの下位のゲート回路で構成されるトップブロック全体の論理回路を合成する手法である。回路規模が大きい場合は、中間階層のブロックに対してトップブロックと同様のボトムアップ設計が行なわれることがある。
図9において、参照回路がトップブロック201、トップブロックの直下にサブブロック202、サブブロック203という階層構造を持つものとする。
この場合のボトムアップ設計は、まず、サブブロック202を読み込んで論理合成部204で論理合成処理をしてゲート回路205を出力する。また、同様に、次の階層のサブブロック203を読み込んで論理合成部206で論理合成処理をしてゲート回路207を出力する。
次に、トップブロック201と、論理合成済みのサブブロック202のゲート回路205と、サブブロック203のゲート回路207を読み込んで、トップブロック201全体を論理合成部208にて論理合成処理を行ってゲート回路209を出力する。
この論理合成前後の回路の論理等価性検証処理は、参照回路であるトップブロック201とサブブロック202および203、検証対象であるインプリメンテーション回路であるゲート回路209を入力として、回路の論理等価性検証を行う。
特開平8−22485号公報
回路が大規模化・複雑化・高速化・低電圧化するに伴い、ビット幅の大きな乗算器などを用いた大規模で複雑なデータパスが構成されるようになってきた。これに対応するため、論理合成の論理最適化処理が高度化し、レジスタを跨いで論理を反転(InverterPush)させるなどの最適化が行なわれるようになってきた。このため、論理合成前後の回路の差異が大きくなり、論理等価性の検証が難しくなってきている。
また、スキャンテストのためのテスト回路の挿入や、低電力化のためのクロックゲーティング回路の挿入が行なわれるようになっている。回路の追加が行なわれるため、論理合成前と論理合成後の回路の差異が大きくなり、回路の論理等価性の検証が難しくなってきている。
この結果、回路の等価性検証の処理時間が増大し、場合によっては回路の等価性検証ができないことがある。
本発明は、上記従来の問題を解決するもので、回路の等価性検証ができる可能性を高め、等価性検証の処理時間を短縮できる回路論理等価性検証システムおよび論理等価性検証方法、この論理等価性検証システムを用いた半導体集積回路の製造方法、この論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体を提供することを目的とする。
本発明の論理等価性検証システムは、論理記述した論理合成可能なハードウエア記述言語の参照回路と、これを入力として論理合成されたネットリストのゲート回路を比較して回路の論理等価性を検証する論理等価性検証システムにおいて、該論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の該参照回路またはゲート回路を比較して回路の論理等価性が検証されるものであり、そのことにより上記目的が達成される。
また、好ましくは、本発明の論理等価性検証システムにおいて、前記論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成手段と、該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証手段を有する。
さらに、好ましくは、本発明の論理等価性検証システムにおける論理等価性検証手段は、前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理部と、該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング部と、マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証部と、該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力部を有する。
さらに、好ましくは、本発明の論理等価性検証システムにおける論理合成手段は、前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ(CDFG)を生成するCDFG生成部と、該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入部と、該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理部と、チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング部を有する。
さらに、好ましくは、本発明の論理等価性検証システムにおける回路挿入部は、前記コントロールデータフローグラフに対して低消費電力回路を挿入する低消費電力回路挿入部と、該コントロールデータフローグラフに対してテスト回路を挿入するテスト回路挿入部を有する。
さらに、好ましくは、本発明の論理等価性検証システムにおいて、前記論理合成の処理ステップ毎に論理等価性を検証する場合の該論理合成の処理ステップは、前記CDFG生成部、前記低消費電力回路挿入部、前記テスト回路挿入部、前記論理最適化処理部および前記テクノロジーマッピング部のうち、該テクノロジーマッピング部を含む少なくとも二つである。
さらに、好ましくは、本発明の論理等価性検証システムにおいて、前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第1論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、さらに、論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第2論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する。
さらに、好ましくは、本発明の論理等価性検証システムにおけるトップブロック全体の論理合成は、前記トップブロックのゲート回路と、前記サブブロックのゲート回路とのブロックの階層を取り払うかどうかを判断し、該境界を取り払う場合には該ブロックを展開する第1の処理が実行されている。
さらに、好ましくは、本発明の論理等価性検証システムにおけるブロックが演算器ブロックの場合に、該演算器ブロックの階層を取り払うかどうかを判断し、該階層を取り払う場合には該演算器ブロックを展開する第2の処理を実行する。
さらに、好ましくは、本発明の論理等価性検証システムにおけるブロックの階層を保持しない場合には、該ブロックの境界を超えて論理を抽出し、該ブロックの階層を保持する場合には、該ブロックの境界を保持して論理を抽出する第3の処理を実行する。
さらに、好ましくは、本発明の論理等価性検証システムにおける論理合成の合成条件を制御して、前記算器ブロックが乗算器ブロックの場合に前記階層を取り払わないようにすることにより、検証しやすい論理回路を合成して論理等価性を検証する。
さらに、好ましくは、本発明の論理等価性検証システムにおいて、前記論理合成で行なわれた回路の変更情報を記録し、該回路の変更情報を用いて前記回路の論理等価性が検証されている。
さらに、好ましくは、本発明の論理等価性検証システムにおける参照回路および前記ゲート回路は論理回路である。
さらに、好ましくは、本発明の論理等価性検証システムにおける論理合成可能なハードウエア記述言語が、VerilogHDLまたはVHDLフォーマットで提供されている。
本発明の論理等価性検証方法は、論理等価性検証システムを用いて、前記論理等価性検証手段が、該論理合成の処理ステップ毎に該ゲート回路を出力し、この出力したゲート回路と、その前の該参照回路またはゲート回路を比較して回路の論理等価性を検証する工程を有するものであり、そのことにより上記目的が達成される。
また、好ましくは、本発明の論理等価性検証方法における論理合成手段が、論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成工程と、前記論理等価性検証手段が、該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証工程を有する。
さらに、好ましくは、本発明の論理等価性検証方法における論理等価性検証工程は、前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理工程と、該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング工程と、マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証工程と、該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力工程を有する。
さらに、好ましくは、本発明の論理等価性検証方法における論理合成工程は、前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ(CDFG)を生成するCDFG生成工程と、該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入工程と、該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理工程と、チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング工程を有する。
さらに、好ましくは、本発明の論理等価性検証方法において、前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第1論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、さらに、論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第2論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する。
本発明の半導体集積回路の製造方法は、本発明の上記論理等価性検証システムにより回路の論理等価性が検証された論理合成回路情報に基づいてレジストパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて半導体集積回路を製造するものであり、そのことにより上記目的が達成される。
本発明の制御プログラムは、本発明の上記論理等価性検証方法の工程をコンピュータに実行させるための処理手順が記述されたものであり、そのことにより上記目的が達成される。
本発明の可読記憶媒体は、本発明の上記制御プログラムが格納されたコンピュータ読み取り可能なものであり、そのことにより上記目的が達成される。
上記構成により、以下、本発明の作用を説明する。
本発明においては、論理記述した論理合成可能なハードウエア記述言語の参照回路と、これを入力として論理合成されたネットリストのゲート回路を比較して回路の論理等価性を検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の参照回路またはゲート回路を比較して回路の論理等価性が検証される。
これによって、検証する論理回路の差異がより小さくなるため、等価性検証ができる可能性を高め、回路の等価性検証の処理時間が短縮される。
以上により、本発明によれば、論理記述した論理合成可能なハードウエア記述言語(HDL)の論理回路と、これを入力として論理合成されたゲート回路(Netlist)の論理回路を比較して検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の参照回路またはゲート回路を比較して回路の論理等価性が検証することにより、論理の差異を小さくできるため、処理時間が短縮できる。また、従来手法では、検証ができなかった回路に対しても検証の可能性を高めることができる。論理シミュレーションによる検証に比べて非常に高速な論理等価性検証の利用範囲が広がることで設計期間を短縮することもできる。
本発明の基本構成に係る回路の論理等価性検証システムの要部構成例を示すブロック図である。 図1の回路の論理等価性検証システムにおける論理等価性検証手段の要部構成例を概略的に示すブロック図である。 本発明の実施形態1として、図2の論理合成手段および論理等価性検証手段のブロックレベル設計フロー例を示す図である。 本発明の実施形態2として、図2の論理合成手段および回路論理等価性検証手段のボトムアップ設計フロー例を示す図である。 本発明の実施形態3として、図1の回路論理等価性検証システムにおける論理等価性検証手段の他の要部構成例を概略的に示すブロック図であって、変更情報がある場合の論理等価性検証処理を行う場合のブロック図である。 (a)および(b)はそれぞれ、論理合成手段における変更情報の記述例を示す図である。 図4の最終段の論理合成部における論理合成処理例を示すフローチャートである。 従来の回路の論理等価性検証部および論理合成部を含むブロックレベル設計フローを示す図である。 従来の回路の論理等価性検証部および動作合成部を含むボトムアップ設計フローを示す図である。
以下に、本発明の回路の論理等価性検証システムの実施形態1〜3について説明する前に、本発明の回路の論理等価性検証システムの基本構成について図面を参照しながら詳細に説明する。
図1は、本発明の基本構成に係る回路の論理等価性検証システムの要部構成例を示すブロック図である。
図1において、本実施形態の回路の論理等価性検証システム1は、コンピュータシステムで構成されており、各種入力指令を可能とするキーボードやマウス、画面入力装置などの操作入力部2と、各種入力指令に応じて表示画面上に、初期画面、選択誘導画面および処理結果画面などの各種画像を表示可能とする表示部3と、全体的な制御を行う制御手段としてのCPU4(中央演算処理装置)と、CPU4の起動時にワークメモリとして働く一時記憶手段としてのRAM5と、CPU4を動作させるため制御プログラムおよびこれに用いる各種データなどが記録されたコンピュータ読み取り可能な可読記録媒体(記憶手段)としてのROM6と、各種処理に各種データを記憶すると共にこれを参照可能とするためのデータベース7を有している。
CPU4は、操作入力部2からの入力指令の他、ROM6内からRAM5内に読み出された制御プログラムおよびこれに用いる各種データに基づいて、論理合成可能なハードウエア記述言語(HDL)の論理回路である機能記述された参照回路を論理合成して論理回路であるゲート回路(インプリメンテーション回路)を生成する論理合成手段10と、論理合成前の論理回路である参照回路とこれを入力として論理合成されたゲート回路(Netlist;ネットリスト)である論理回路を比較して回路の論理等価性を検証する場合に、論理合成処理の処理ステップ毎にゲート回路(Netlist;ネットリスト)を出力して、この出力ゲート回路とその前の参照回路またはゲート回路を比較して回路の論理等価性を検証する論理等価性検証手段20を有している。
ROM6は、ハードディスク、光ディスク、磁気ディスクおよびICメモリなどの可読記録媒体(記憶手段)で構成されている。この制御プログラムおよびこれに用いる各種データは、携帯自在な光ディスク、磁気ディスクおよびICメモリなどからROM6にダウンロードされてもよいし、コンピュータのハードディスクからROM6にダウンロードされてもよいし、無線または有線、インターネットなどを介してROM6にダウンロードされてもよい。後述する図2の論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラムをコンピュータ読み取り可能な可読記憶媒体に格納して、コンピュータ(CPU4)により、論理合成処理および、この論理合成処理の処理ステップ毎に回路の論理等価性検証処理を行うものである。
データベース7は、機能記述された後述する参照回路11、論理合成された論理回路であるゲート回路12(インプリメンテーション回路)および、論理等価性検証手段20で検証した回路の論理等価性の検証結果が格納される。また、データベース7は、CPU4による回路論理等価性検証中に中間データとして生成された各種データを、その都度格納すると共に、必要に応じてこれらを参照可能としている。さらに、データベース7は、RAM5と一体で同じ記憶手段として構成されていてもよい。
図2は、図1の回路の論理等価性検証システム1における論理等価性検証手段20の要部構成例を概略的に示すブロック図である。
図2において、この回路の論理等価性検証システム20は、機能記述された論理合成前の参照回路11と論理合成手段10で論理合成されたインプリメンテーション回路であるゲート回路12を読み込むデータ読み込み処理部21と、この参照回路11とゲート回路12の検証ポイントのマッピングを行う比較ポイントマッピング部22と、マッピングされた全ての比較ポイントを検証して回路の等価性を検証する比較ポイント検証部23と、この比較ポイント検証部23で回路の等価性が検証された検証結果を出力する検証結果出力部24を有している。
この検証結果31としては、参照回路11とゲート回路12の論理が等価であるか否かの出力情報が出力されるようになっている。参照回路11とゲート回路12の論理が等価でなかった場合の解析のために、論理が一致した比較ポイントと不一致または検証困難な比較ポイント、マッピングできた比較ポイントとマッピングできなかった比較ポイントなどの各種出力情報をも出力させるようになっている。これらの検証結果31およびその各種出力情報は前述したデータベース7に格納され参照可能としている。
データ読み込み処理部21は、第1の入力としてリファレンスである論理合成前の参照回路11と、第2の入力として検証対象である論理合成されたインプリメンテーション回路であるゲート回路12を読み込んでいる。
この場合、参照回路11は、論理合成可能なハードウエア記述である。ハードウエア記述言語は、国際標準(IEC/IEEE)であるVerilogHDLまたはVHDLが用いられる。一般に、回路は階層を持つが、回路全体を同一言語で記述することも、ブロック毎にどちらかの言語で記述して混在させることも可能である。
また、インプリメンテーション回路であるゲート回路12は、検証対象回路であり、論理合成処理によって出力されたゲートレベルの回路(Netlist)である。
比較ポイントマッピング部22は、リファレンスの参照回路11とターゲットであるゲート回路12の検証ポイント、例えば出力ポイントの論理機能を、リファレンスとターゲットで対応付ける。
比較ポイント検証部23は、対応付けられたリファレンスの参照回路11の出力ポイントの論理機能と、ターゲットのゲート回路12の出力ポイントの論理機能とが一致するかどうかを検証する。
本発明の基本構成として、論理合成のステップ毎に論理等価性検証処理を行う場合について説明したが、2種類の論理等価性検証処理のうちの実施形態1として、論理合成時の回路追加を含む工程毎に検証(大規模回路で一般的に行われている低消費電力回路挿入とテスト回路挿入する設計フロー)する場合について説明し、2種類の論理等価性検証処理のうちの実施形態2として、階層設計での合成ステップ毎に検証(大規模回路で一般的なボトムアップ合成+トップでの統合を行う設計フロー)する場合について説明し、さらに、実施形態3として、変更情報がある場合の論理等価検証処理について説明する。
(実施形態1)
本実施形態1では、論理合成時の回路追加を含む工程毎に検証(大規模回路で一般的に行われている低消費電力回路挿入とテスト回路挿入する設計フロー)する場合について説明する。
図3は、本発明の実施形態1として、図1の論理合成手段10および論理等価性検証手段20のブロックレベル設計フロー例を示す図である。
図3において、論理合成手段10は、参照回路11の情報を読み込み、一連の論理合成処理を行って、インプリメンテーション回路であるゲート回路125(Netlist)を出力する。
まず、ハードウエア記述言語(HDL)で記述された参照回路11を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ(CDFG)を生成するCDFG生成部13にてCDFGを生成する。このCDFG生成時にゲート回路121を出力する。さらに、論理等価性検証部211は、この参照回路11とゲート回路121(インプリメンテーション回路)を入力として回路の等価性検証処理を行い、その検証結果311を出力する。なお、その後、CDFG中の各節点の処理をどの実行サイクルで実行するかを決定するスケジューリング部(図示せず)にてスケジューリングを行い、さらに、各処理を回路素子に割り付けると共に処理途中のデータを記憶するためにレジスタに割り付けるアロケーション部(図示せず)にてアロケーションを行うが、ここでは図示していない。
次に、データパス・コントローラ生成部(図示せず)がスケジューリング部およびアロケーション部による各処理結果にしたがって、データパスとそれを制御するコントローラを生成し、さらに、信号伝播保証回路(または同期化回路)などの各種回路を追加生成すると共に、演算器およびレジスタの接続を表すネットリストを作成する。
このCDFG生成時にゲート回路121を出力する。さらに、論理等価性検証部211は、この参照回路11とゲート回路121(インプリメンテーション回路)とを入力として回路の等価性検証処理を行い、その検証結果311を出力する。
その後、低消費電力回路挿入部14により低消費電力回路を挿入する。この低消費電力回路挿入処理時にゲート回路122を出力する。さらに、論理等価性検証部212は、前回のゲート回路121と今回のゲート回路122をそれぞれ入力として回路の等価性検証処理を行い、その検証結果312を出力する。なお、低消費電力回路挿入によりラッチ回路が付加された場合、回路の等価性検証の入力として、低消費電力回路を挿入したという情報が与えられるが、ここでは図示していない。
その後、テスト回路挿入部15によりテスト回路を挿入する。このテスト回路挿入処理時にゲート回路123を出力する。さらに、論理等価性検証部213は、前回のゲート回路122と今回のゲート回路123をそれぞれ入力として回路の等価性検証処理を行い、その検証結果313を出力する。なお、テスト回路挿入後の回路は、通常モード(非テストモード)とは異なるテストモードの論理を含み、さらに、このモードを切り替えるための制御回路を有する。論理等価検証処理時に、入力として、ゲート回路123のテストモードを無効化し通常モードで検証するための情報が与えられるが、ここでは図示していない。また、追加されたテストモードの回路は論理等価性検証の対象外であり、論理シミュレーションを用いて機能検証される。
さらに、論理最適化処理部16にて論理最適化処理を行う。この論理最適化処理時にゲート回路124を出力する。さらに、論理等価性検証部214は、前回のゲート回路123と今回のゲート回路124をそれぞれ入力として回路の等価性検証処理を行い、その検証結果314を出力する。
最後に、チップ化するテクノロジーのセルライブラリで構成されるゲート回路(Netlist)にテクノロジーマッピング部17にてテクノロジーマッピングを行う。このとき、テクノロジーマッピング処理時にゲート回路125を出力する。さらに、論理等価性検証部215は、このゲート回路124とゲート回路125を入力として回路の等価性検証処理を行い、その検証結果315を出力する。
これらの低消費電力回路挿入部14およびテスト回路挿入部15の回路挿入を行なわない設計フローもあるが、大規模・低電力の回路では、一般にこれらの回路挿入が行なわれる。このように、回路が挿入されるため、論理合成処理前後の論理回路に差異が大きくなり、論理等価性検証処理に処理時間が増大し、場合によって検証できないこともあり得る。
以上のように、本実施形態1の回路の論理等価性検証システム1において、論理合成処理のステップ毎にゲート回路121〜125を出力し、この論理合成処理のステップ毎に論理回路の論理等価性を検証する点が前述した従来技術と異なっている。従来技術のように論理合成処理の前後の論理回路の論理等価性を検証するのに比べて、論理合成のステップ毎に回路の論理等価性を細かく分割して検証することにより、検証する論理回路の差異がより小さくなって、等価性検証ができる可能性を高め、回路の等価性検証の処理時間を短縮してより検証し易くすることができる。
なお、本実施形態1において、ゲート回路を出力するには、テクノロジーマッピングが必要である。ターゲットのテクノロジーにマッピングするのは、論理合成最終段のテクノロジーマッピング部17によりテクノロジーマッピングしてゲート回路125を出力する。図3の右側の4つのゲート回路121、122、123および124を出力する場合は、論理合成ツールが持つ汎用的なテクノロジーにマッピングされる。
なお、この論理合成処理は、参照回路11を、低消費電力回路を挿入する低消費電力回路挿入部14と、テスト回路を挿入するテスト回路挿入部15と、論理最適化処理を行う論理最適化処理部16と、チップ化するテクノロジーのセルライブラリで構成されるゲート回路(Netlist)にテクノロジーマッピングを行うテクノロジーマッピング部17を有している。これらの処理の前段に、論理合成処理は、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ(CDFG)を生成するCDFG生成部13と、CDFG中の各節点の処理をどの実行サイクルで実行するかを決定するスケジューリング部と、各処理を回路素子に割り付けると共に処理途中のデータを記憶するためにレジスタに割り付けるアロケーション部と、スケジューリング部およびアロケーション部による各処理結果にしたがって、データパスとそれを制御するコントローラを生成し、信号伝播保証回路(または同期化回路)などの各種回路を追加生成すると共に、演算器およびレジスタの接続を表すネットリストを作成するデータパス・コントローラ生成部を有している。上記低消費電力回路挿入部14、テスト回路挿入部15および論理最適化処理部16は、データパス・コントローラ生成部の一部である。
(実施形態2)
本実施形態2では、階層設計での合成ステップ毎に検証(大規模回路で一般的なボトムアップ合成とトップブロックとの統合を行う設計フロー例)する場合について説明する。
図4は、本発明の実施形態2として、図2の論理合成手段10および回路論理等価性検証手段20のボトムアップ設計フロー例を示す図である。
ボトムアップ設計は、大規模設計では一般的な設計フローであり、階層を持つ論理回路に対して、下位のブロックの機能記述から順次合成し、最後にトップブロックの機能記述と論理合成済みの下位のゲート回路で構成されるトップブロック全体の論理回路を合成する手法である。回路規模が大きい場合は、中間階層のブロックに対してトップブロックと同様のボトムアップ設計が行なわれる。
図4において、参照回路11がトップブロック111、トップブロックの直下にサブブロック112、サブブロック113という階層構造を持つものとする。
この場合のボトムアップ設計は、まず、サブブロック112の情報を論理合成部131に読み込んでその論理合成部131で一連の論理合成処理をしてネットリストのゲート回路126を出力する。また、同様に、次の階層のサブブロック113の情報を別の論理合成部132に読み込んでその別の論理合成部132で一連の論理合成処理をしてネットリストのゲート回路127を出力する。
次に、トップブロック111のみの情報を別の論理合成部133に読み込んで、そのトップブロック111を論理合成部133により一連の論理合成処理を行ってトップブロック111のみのネットリストのゲート回路を出力する。
このトップブロック111の論理合成手法が図9の従来の論理合成手法と異なるのは、従来は、トップブロック全体を論理合成していたが、本手法では、トップブロック111のみのゲート回路を作成してから、トップブロック111全体の論理最適化処理を行う点である。
即ち、トップブロック111と、論理合成済みのサブブロック112のゲート回路125と、サブブロック113のゲート回路126を論理合成部133に読み込む。サブブロック112とサブブロック113はゲート回路126および127であるため、論理合成の対象外として回路変更は行わない。
トップブロック111は機能記述であるため、トップブロック111のみを論理合成部133により論理合成し、サブブロックの各ゲート回路126および127と合わせてトップブロック全体のゲート回路128を論理合成部134に出力して一連の論理合成をする。
論理等価性検証部216は、参照回路11であるトップブロック111とサブブロック112,113のHDLと、ネットリストのゲート回路128を読み込んで、回路の等価性検証処理を行い、その検証結果316を出力する。
今度は、ゲート回路128(トップブロック111のゲート回路、サブブロックの各ゲート回路126および127)を論理等価性検証部217に読み込む。ただし、論理合成ツールがゲート回路128を内部データとして保持しているならば、この入力処理は必要ない。
次に、論理合成部134によりトップブロック全体のゲート回路128のトップブロック111のゲート回路と、サブブロックの各ゲート回路126および127を合わせて論理最適化処理を行ってゲート回路129を出力する。トップブロック111の機能記述だけを論理合成する段階では、サブブロックは論理合成の対象外としたが、この段階では論理合成(論理最適化)の対象となる。なお、トップブロック111のゲート回路と、サブブロックの各ゲート回路126および127の論理最適化を行うが、ここで、階層を取り払う(フラットにする)ことは必ずしも必要ではない。フラットにしなくても、階層を保持したまま、更なる論理最適化は可能である。また、階層を保持したまま、階層境界の一部を取ることや、境界の端子の論理を反転することも可能である。
さらに、参照対象のゲート回路128と、検証対象のインプリメンテーション回路であるゲート回路129を論理等価性検証部217に入力して、論理等価性検証部217により論理等価性検証処理を行い、その検証結果317を出力する。
一方、近年の論理等価性検証ツールは、論理合成ツールと連携し、変更情報を受け渡しするものがある。
以上の動作を更に説明すると、まず、サブブロック112,113単体で合成し検証する(これは図示していないが前提条件となる。合成したサブブロック112,113の等価性検証ができないものは、トップ全体で検証できないからである)。次に、トップ全体の合成と検証であるが、トップ(HDL)とサブブロック(ネットリスト)を結合して、サブブロックを合成対象外とし、トップのみ合成(HDL→ネットリスト)する。これによって、HDLと論理合成されたネットリストの等価性検証を行う。トップ全体の合成を行っているが、サブブロックを合成対象外とすることにより、トップのみの合成と、各サブブロックの合成を合わせたものとなる。このため、等価性検証が、合成単位と1対1に対応する(トップの階層とトップの合成情報、各サブブロックの階層と各サブブロックの合成情報)。さらに、トップ全体のネットリストを論理合成(最適化)し、このネットリストと最適化されたネットリストの等価性検証を行う。ネットリストを入力として論理合成した場合は、乗算器の階層が保持されれば、ほぼ問題なく、かつ非常に高速に等価性検証ができる。
図7は、図4の最終段の論理合成部134における論理合成処理例を示すフローチャートである。なお、図7は、機能記述を入力として、テクノロジーマッピングのみの論理合成を行ない、ゲート回路を出力する処理フローである。入力には、クロック定義や階層展開処理の制御など、論理合成の条件が与えられるものとする。
図7に示すように、まず、ステップS1で論理合成条件を読み込み、ステップS2でテクノロジーライブラリを読み込み、ステップS3で回路の機能記述を読み込む。さらに、ステップS4でトップブロックを設定して、読み込んだ回路をリンクすることにより、ステップS5でこのブロックをトップとする回路ツリーを作成する。これらのステップS1〜5はCDFG生成時の入力処理である。
次に、この回路ツリーを検索手順に従い探索する。例えば、ステップS6で、深さ優先探索で探索し、階層的な回路ツリー上の次のブロックを選択する。さらに、ステップS7で、与えられた合成条件に従い、このブロックの階層を保持するか否かを判断し、ブロックの階層を保持しない場合(NO)には、ステップS8でブロックを展開する。また、このブロックが演算器の場合は、同様に与えられた合成条件に従い、ステップS9で、演算器の階層を保持するか否かを判断し、演算器の階層を保持しないなら(NO)、ステップS10で演算器ブロックを展開する。32ビット以上の乗算を行う乗算器の等価性検証は非常に困難になるため、演算器を展開対象外とすることは、等価性検証処理に有効であり、これが制御できる合成を行うことは有効な手法である。
さらに、合成条件に従い、ステップS11で、このブロックの境界(バウンダリ)を保持するか否かを判断し、境界を保持しないなら(NO)、ステップS12で、ブロック境界を超えて論理を抽出する。また、ステップS11でブロック境界を保持するなら(YES)、ステップS13で、ブロック境界の内側と外側で別々に論理を抽出する。なお、ブロック境界は保持するが、ブロック境界を越えて論理最適化を行うこともこれを禁止することも可能である。ブロック境界を越えて論理最適化が行われた場合、冗長なブロック境界の端子の削除や、端子の論理反転、または端子の追加が有り得る。
さらに、ステップS14で、回路ツリーを全て探索し終わるまで、ステップS6〜S13のフラットにするかしないか、即ち、階層間の境界(バウンダリ)をとるかとらないかの論理合成最適化の条件設定処理をブロックが無くなるまで繰り返す。
その後、ステップS15で、抽出した論理の最適化を行い、ステップS16で、テクノロジーマッピングによりゲート回路に変換し、ステップS17で、この変換したゲート回路を出力する。
この場合に、論理最適化による回路差異が大きいと、参照回路11と、論理合成されたインプリメンテーション回路であるゲート回路12との論理等価性の検証が難しくなる。回路の差異が大きくなるのは、論理合成前後の階層に差がある場合である。論理合成時に階層が展開されると、階層の境界を越えて最適化が行われるため、検証が難しくなる。階層が保持された場合でも、ブロックの境界を超えて最適化が可能であり、この場合も検証が難しくなる。また、データパス部分は広範囲の論理最適化が行なわれ、回路の差異が大きくなる。特に、ビット幅の大きな乗算器を持つ大規模なデータパスは、検証が難しくなる。
このため、論理合成ツールは、論理合成の制約として、階層展開を行なうか否か、ブロックの境界を越えて最適化を行なうか否か、演算器の階層展開を行なうか否かなど、論理合成の最適化条件を設計者が制御できるオプションを用意している。論理等価性検証が検証困難となった場合、設計仕様として要求される回路規模やタイミングなどを満たす範囲で、論理合成の最適化を制限することができる。論理合成の処理ステップ毎に論理等価性の検証を行う本手法にこの制御を行なうことにより、論理等価性を検証できる可能性を高めることができる。
(実施形態3)
本実施形態3では、上記実施形態1または2と共に、またはこれらとは別に、変更情報がある場合の論理等価性検証処理について説明する。
図5は、本発明の実施形態3として、図1の回路論理等価性検証システム1における論理等価性検証手段20の他の要部構成例を概略的に示すブロック図であって、変更情報がある場合の論理等価性検証処理のブロック図である。なお、論理等価性検証の基本的な処理フローは、図2の変更情報がない場合と同じであるため、図5では、図2の構成部材と同様の作用効果を奏する構成部材には同一の符号を付して説明する。
図5に示すように、参照回路11と、この参照回路11が論理合成手段10により論理合成されたインプリメンテーション回路であるゲート回路12を論理等価性検証手段20のデータ取り込み処理部21に読み込み、読み込んだ参照回路11とインプリメンテーション回路であるゲート回路12との検証ポイントのマッピングを検証ポイントマッピング部22が実行し、マッピングされた全ての比較ポイントについて比較ポイント検証部23が検証し、この検証結果31を検証結果出力部24が出力する。
この検証結果31として、参照回路11とインプリメンテーション回路であるゲート回路12の論理が等価であるか否かが出力される。また、論理が等価でなかった場合の解析のために、検証結果31として、論理が一致した比較ポイントと不一致または検証困難な比較ポイント、マッピングできた比較ポイントとマッピングできなかった比較ポイントなどの各種出力情報を出力させることができる。
変更情報がない場合の処理フローとの違いは、論理合成手段10から、変更情報出力部(図示せず)から変更情報18を出力し、この変更情報18を論理等価性検証処理のデータとして読み込む点である。この変更情報18としては、参照回路11と、インプリメンテーション回路であるゲート回路12との検証ポイントマッピング処理(検証ポイントマッピング部22)と、マッピングされた全ての比較ポイントの検証処理(比較ポイント検証部23)に利用される。
図6(a)および図6(b)はそれぞれ、論理合成手段10における変更情報18の記述例を示す図である。
図6(a)に示すようにレジスタを越えて論理反転(Inverter Push)が行なわれたレジスタの情報や、図6(b)に示すように名前の変更があったセルインスタンスの変更前と変更後の名前など、論理合成で行なわれた変更情報18を変更情報出力部の所定の記憶部に記録する。これらの変更情報18は、論理合成処理のステップ毎にゲート回路と共に論理合成手段10から出力され、等価性検証手段20に渡される。
この変更情報18を用いる場合、本手法はさらに効果的である。たとえば、名前が「A」から「B」に変更され、さらに、次のステップで名前が「B」から「C」に変更された場合、結局、名前が「A」から「C」に変わるため、論理合成前後の回路中の名前と、変更情報18とが一致しなくなるが、本実施形態3のようにステップ毎に回路情報(ゲート回路)と変更情報18を出力することにより、名前「A」と「B」が変更情報18により対応付けられ、名前「B」と「C」が変更情報18により対応付けられて、名前「A」と「C」が変更情報18により名前対応が可能となる。
一般に、論理等価性検証処理が困難となるのは、単なる名前の変更ではなく、論理最適化によって大幅に回路構造が変わった場合である。しかし、名前の変更を含む複数の処理が行われると、論理合成前後の回路のマッピング(1対1対応)が難しくなり、検証をさらに困難なものにする。ステップ毎に検証を行うことにより、これらの変更情報18に対応したマッピングが可能となり、これによって、回路の論理等価性が検証できる可能性が格段と高くなる。
したがって、本実施形態1〜3によれば、論理記述した論理合成可能なハードウエア記述言語(HDL)の論理回路と、これを入力として論理合成されたゲート回路(Netlist)の論理回路を比較して論理等価性を検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、このゲート回路を用いて処理ステップ毎に論理等価性を検証することにより、論理の差異を小さくできるため、処理時間が短縮できる。また、従来手法では、検証ができなかった回路に対しても検証の可能性を高めることができる。さらに、論理シミュレーションによる検証に比べて非常に高速な論理等価性検証の利用範囲が広がることで設計期間を大幅に短縮することができる。
なお、上記実施形態1〜3では、特に説明しなかったが、論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の参照回路またはゲート回路を比較して回路の論理等価性を検証する場合に、論理合成の処理ステップは、CDFG生成部13、低消費電力回路挿入部14、テスト回路挿入部15、論理最適化処理部16およびテクノロジーマッピング部17のうち、テクノロジーマッピング部17を含む少なくとも二つであれば、検証する論理回路の差異がより小さくなって、等価性検証ができる可能性を高め、回路の等価性検証の処理時間を短縮してより検証し易くすることができる。
なお、上記実施形態1〜3では、特に説明しなかったが、本発明の論理等価性検証システム1により回路の論理等価性が検証された論理合成回路情報に基づいてレジストパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いてより高性能の各種の半導体集積回路を製造することができる。
なお、上記実施形態2では、特に説明しなかったが、本発明の論理等価性検証システム1において、論理記述した論理合成可能なハードウエア記述言語の参照回路11と、これを入力として論理合成手段10で論理合成されたネットリストのゲート回路121〜125のうち、論理合成の処理ステップの前後のものを比較して回路の論理等価性を検証する論理等価性検証手段20が設けられている。これによって、検証する論理回路の差異がより小さくなるため、回路の等価性検証ができる可能性を高め、等価性検証の処理時間を短縮することができる本発明の目的を達成することができる。
以上のように、本発明の好ましい実施形態1〜3を用いて本発明を例示してきたが、本発明は、この実施形態1〜3に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態1〜3の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
本発明は、ハードウエア記述言語(HDL)で記述した論理回路と、これを論理合成したゲート回路(Netlist)の論理回路との論理等価性検証を行うための論理等価性検証システムおよび論理等価性検証方法、この論理等価性検証システムを用いた半導体集積回路の製造方法、この論理等価性検証方法をコンピュータに実行させるための処理手順が記述された制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体の分野において、論理記述した論理合成可能なハードウエア記述言語(HDL)の論理回路と、これを入力として論理合成されたゲート回路(Netlist)の論理回路を比較して論理等価性を検証する論理等価性検証システムにおいて、論理合成の処理ステップ毎にゲート回路を出力し、このゲート回路を用いて処理ステップ毎に論理等価性を検証することにより、論理の差異を小さくできるため、処理時間が短縮できる。また、従来手法では、検証ができなかった回路に対しても検証の可能性を高めることができる。さらに、論理シミュレーションによる検証に比べて非常に高速な論理等価性検証の利用範囲が広がることで設計期間を大幅に短縮することができる。
1 論理等価性検証システム
2 操作入力部
3 表示部
4 CPU(中央演算処理装置)
5 RAM
6 ROM
7 データベース
10 論理合成手段
131,132、133、134 論理合成部
11 参照回路
111 トップブロック
112、113 サブブロック
12 ゲート回路
121〜129 ゲート回路
13 CDFG生成部
14 低消費電力回路挿入部
15 テスト回路挿入部
16 論理最適化処理部
17 テクノロジーマッピング部
18 変更情報
20 論理等価性検証手段
211〜217 論理等価性検証部
21 データ読み込み処理部
22 比較ポイントマッピング部
23 比較ポイント検証部
24 検証結果出力部
31、311〜317 検証結果

Claims (22)

  1. 論理記述した論理合成可能なハードウエア記述言語の参照回路と、これを入力として論理合成されたネットリストのゲート回路を比較して回路の論理等価性を検証する論理等価性検証システムにおいて、該論理合成の処理ステップ毎にゲート回路を出力し、この出力されたゲート回路と、その処理ステップ前の該参照回路またはゲート回路を比較して回路の論理等価性が検証される論理等価性検証システム。
  2. 前記論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成手段と、
    該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証手段を有する請求項1に記載の論理等価性検証システム。
  3. 前記論理等価性検証手段は、
    前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理部と、
    該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング部と、
    マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証部と、
    該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力部を有する請求項2に記載の論理等価性検証システム。
  4. 前記論理合成手段は、
    前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ(CDFG)を生成するCDFG生成部と、
    該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入部と、
    該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理部と、
    チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング部を有する請求項2に記載の論理等価性検証システム。
  5. 前記回路挿入部は、
    前記コントロールデータフローグラフに対して低消費電力回路を挿入する低消費電力回路挿入部と、
    該コントロールデータフローグラフに対してテスト回路を挿入するテスト回路挿入部を有する請求項4に記載の論理等価性検証システム。
  6. 前記論理合成の処理ステップ毎に論理等価性を検証する場合の該論理合成の処理ステップは、前記CDFG生成部、前記低消費電力回路挿入部、前記テスト回路挿入部、前記論理最適化処理部および前記テクノロジーマッピング部のうち、該テクノロジーマッピング部を含む少なくとも二つである請求項5に記載の論理等価性検証システム。
  7. 前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第1論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、
    論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第2論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する請求項2に記載の論理等価性検証システム。
  8. 前記トップブロック全体の論理合成は、前記トップブロックのゲート回路と、前記サブブロックのゲート回路とのブロックの階層を取り払うかどうかを判断し、該境界を取り払う場合には該ブロックを展開する第1の処理が実行されている請求項7に記載の論理等価性検証システム。
  9. 前記ブロックが演算器ブロックの場合に、該演算器ブロックの階層を取り払うかどうかを判断し、該階層を取り払う場合には該演算器ブロックを展開する第2の処理を実行する請求項8に記載の論理等価性検証システム。
  10. 前記ブロックの階層を保持しない場合には、該ブロックの境界を超えて論理を抽出し、該ブロックの階層を保持する場合には、該ブロックの境界を保持して論理を抽出する第3の処理を実行する請求項9に記載の論理等価性検証システム。
  11. 前記論理合成の合成条件を制御して、前記算器ブロックが乗算器ブロックの場合に前記階層を取り払わないようにすることにより、検証しやすい論理回路を合成して論理等価性を検証する請求項9に記載の論理等価性検証システム。
  12. 前記論理合成で行なわれた回路の変更情報を記録し、該回路の変更情報を用いて前記回路の論理等価性が検証されている請求項1に記載の論理等価性検証システム。
  13. 前記参照回路および前記ゲート回路は論理回路である請求項1に記載の論理等価性検証システム。
  14. 前記論理合成可能なハードウエア記述言語が、VerilogHDLまたはVHDLフォーマットで提供されている請求項1に記載の論理等価性検証システム。
  15. 請求項1または2に記載の論理等価性検証システムを用いて、前記論理等価性検証手段が、該論理合成の処理ステップ毎に該ゲート回路を出力し、この出力したゲート回路と、その前の該参照回路またはゲート回路を比較して回路の論理等価性を検証する工程を有する論理等価性検証方法。
  16. 前記論理合成手段が、論理合成可能なハードウエア記述言語で機能記述された参照回路を論理合成してゲート回路を生成する論理合成工程と、
    前記論理等価性検証手段が、該参照回路とこれを入力として論理合成されたゲート回路を比較して回路の論理等価性を検証する論理等価性検証工程を有する請求項15に記載の論理等価性検証方法。
  17. 前記論理等価性検証工程は、
    前記論理合成前の参照回路と、該参照回路が論理合成されたゲート回路を読み込むデータ読み込み処理工程と、
    該参照回路と該ゲート回路の検証ポイントのマッピングを行う比較ポイントマッピング工程と、
    マッピングされた全ての検証ポイントを検証して回路の等価性を検証する比較ポイント検証工程と、
    該比較ポイント検証部で回路の等価性が検証された検証結果を出力する検証結果出力工程を有する請求項16に記載の論理等価性検証方法。
  18. 前記論理合成工程は、
    前記参照回路の情報を読み込んで、回路の動作記述から、データの流れを枝とし、演算処理または通信処理を各節点としてグラフで表したコントロールデータフローグラフ(CDFG)を生成するCDFG生成工程と、
    該コントロールデータフローグラフに対して各種回路を追加生成する回路挿入工程と、
    該各種回路の挿入後の回路に対して論理最適化処理を行う論理最適化処理工程と、
    チップ化するテクノロジーのセルライブラリで構成されるゲート回路にテクノロジーマッピングを行うテクノロジーマッピング工程を有する請求項16に記載の論理等価性検証方法。
  19. 前記参照回路が階層構造を持つ論理回路の場合に、該参照回路の下位のサブブロックの機能記述から順次論理合成して下位のゲート回路を作成し、該参照回路のトップブロックのみの論理合成でゲート回路を作成し、前記論理等価性検証手段のうちの第1論理等価性検証部が、該参照回路のトップブロックの機能記述と、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証し、
    論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んでブロック全体の論理合成をして該ブロック全体のゲート回路を作成し、該論理等価性検証手段のうちの第2論理等価性検証部が、該ブロック全体のゲート回路と、該論理合成済みの下位のゲート回路および、該トップブロックのみで作成したゲート回路を読み込んで回路の論理等価性を検証する請求項16に記載の論理等価性検証方法。
  20. 請求項1〜14のいずれかに記載の論理等価性検証システムにより回路の論理等価性が検証された論理合成回路情報に基づいてレジストパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて半導体集積回路を製造する半導体集積回路の製造方法。
  21. 請求項15〜19に記載の論理等価性検証方法の工程をコンピュータに実行させるための処理手順が記述された制御プログラム。
  22. 請求項21に記載の制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体。
JP2009103474A 2009-04-21 2009-04-21 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 Withdrawn JP2010257003A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009103474A JP2010257003A (ja) 2009-04-21 2009-04-21 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009103474A JP2010257003A (ja) 2009-04-21 2009-04-21 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体

Publications (1)

Publication Number Publication Date
JP2010257003A true JP2010257003A (ja) 2010-11-11

Family

ID=43317881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009103474A Withdrawn JP2010257003A (ja) 2009-04-21 2009-04-21 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体

Country Status (1)

Country Link
JP (1) JP2010257003A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017224128A (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 半導体lsi設計装置および設計方法
CN115422863A (zh) * 2022-08-31 2022-12-02 山东启芯软件科技有限公司 一种嵌入式的逻辑优化验证流程框架及验证方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017224128A (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 半導体lsi設計装置および設計方法
CN115422863A (zh) * 2022-08-31 2022-12-02 山东启芯软件科技有限公司 一种嵌入式的逻辑优化验证流程框架及验证方法
CN115422863B (zh) * 2022-08-31 2023-10-10 山东启芯软件科技有限公司 一种嵌入式的逻辑优化验证流程框架及验证方法

Similar Documents

Publication Publication Date Title
US8468475B2 (en) Conversion of circuit description to an abstract model of the circuit
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US20030208730A1 (en) Method for verifying properties of a circuit model
JP2005512236A (ja) タイミンググラフ縮小によるタイミングモデル抽出
US7958473B2 (en) Method and computer program for configuring an integrated circuit design for static timing analysis
JP2015524589A (ja) 相対タイミング特徴付け
US9953120B2 (en) Relative timing characterization
TW200837591A (en) Circuit-design-modifying method executable in computer system
US11347917B2 (en) Determining and verifying metastability in clock domain crossings
US8037443B1 (en) System, method, and computer program product for optimizing an altered hardware design utilizing power reports
US8281269B2 (en) Method of semiconductor integrated circuit device and program
US7254793B2 (en) Latch modeling technique for formal verification
JP2001357090A (ja) 論理合成方法及び論理合成装置
JP2008123056A (ja) 論理回路のタイミング制約生成システムおよび論理回路のタイミング制約生成方法、制御プログラム、可読記録媒体
JP2010257003A (ja) 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体
US20230005562A1 (en) Scan chain compression for testing memory of a system on a chip
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
Ranjan et al. Using combinational verification for sequential circuits
US8443314B1 (en) Abstraction level-preserving conversion of flip-flop-inferred hardware description language (HDL) to instantiated HDL
US11556676B2 (en) Scalable formal security verification of circuit designs
CN113536726A (zh) 用于最大瞬时峰值功率的矢量生成
US11829692B1 (en) Machine-learning-based design-for-test (DFT) recommendation system for improving automatic test pattern generation (ATPG) quality of results (QOR)
JP2845154B2 (ja) 論理シミュレーション用モデルの作成方法
Plassan et al. Improving the efficiency of formal verification: the case of clock-domain crossings
Masoumi et al. New tool for converting high-level representations of finite state machines to verilog hdl

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120703