JP3652220B2 - Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program - Google Patents

Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program Download PDF

Info

Publication number
JP3652220B2
JP3652220B2 JP2000166221A JP2000166221A JP3652220B2 JP 3652220 B2 JP3652220 B2 JP 3652220B2 JP 2000166221 A JP2000166221 A JP 2000166221A JP 2000166221 A JP2000166221 A JP 2000166221A JP 3652220 B2 JP3652220 B2 JP 3652220B2
Authority
JP
Japan
Prior art keywords
circuit
verification
information
hierarchical
logic
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.)
Expired - Fee Related
Application number
JP2000166221A
Other languages
Japanese (ja)
Other versions
JP2001344300A (en
Inventor
克也 佐藤
Original Assignee
Necマイクロシステム株式会社
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 Necマイクロシステム株式会社 filed Critical Necマイクロシステム株式会社
Priority to JP2000166221A priority Critical patent/JP3652220B2/en
Publication of JP2001344300A publication Critical patent/JP2001344300A/en
Application granted granted Critical
Publication of JP3652220B2 publication Critical patent/JP3652220B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は論理回路検証装置及び論理回路検証方法及び論理回路検証プログラムを格納した記録媒体に関し、特に論理回路の形式検証における論理等価性を検証するための論理回路検証装置及び論理回路検証方法及び論理回路検証プログラムを格納した記録媒体に関する。
【0002】
【従来の技術】
従来2つの論理回路の等価性を検証するには、これら2つの検証対象の論理回路における論理が等価とみなす個所を、フリップフロップなどのレジスタや、外部切り口端子に注目して回路を部分回路に分割し、信号名などの情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証していた。
【0003】
部分回路毎の論理等価性の検証には、BDD(2分決定グラフ:BinalyDecision Diagrams)を用いることが多い。
【0004】
BDDは入力変数の順序付けを行えば、等価な論理のBDD表現を一意に決定できるため、これを利用して論理の等価性を検証する。
【0005】
近年では、回路をVHDL(IEEE1076)やVerilog−HDL(IEEE1364)などのハードウェア記述言語を用いて記述し、より大規模な回路を記述するために、回路を特定の機能毎に複数の階層分割して記述し、論理合成ツールにより論理回路を自動生成する方法が一般的に行われている。
【0006】
この論理合成時に、回路をより最適化するために、対象回路が複数の階層から成る場合にはこれら複数の階層を同時に最適化を行う。また、対象回路の上位階層が定数情報を持つ場合には、この定数情報を上位階層から下位階層へ伝播させることにより、簡単化することが要求されている。
【0007】
同様に、一部部分の論理を他の階層に移動させることで他の階層内の論理を簡単化することや、階層内の配置配線精度の向上させることも要求されている。
【0008】
一般的な従来の第1の論理回路検証方法においては、この要求に応じた回路の最適化を行なった場合の等価性検証を行う例について、最適化前の回路100を示す図3及び最適化後の回路400を示す図7を参照すると、これら両回路100,400の論理検証方法としては、階層毎に検証を行う。
【0009】
回路100及び回路400の各々の下層(SUB)階層201,201Aにおける検証点としてレジスタであるフリップフロップ212の入力端子Gをそれぞれ検証点401,401Aとし、各々の論理をブール式で示すと、それぞれ式(1),(2)で表される。
【0010】
回路100:G=D*E ・・・・・・・・・・・・・・・・・・・(1)
回路400:G=D ・・・・・・・・・・・・・・・・・・・・・(2)
従って、一致判定により、このまま式(1)、(2)を比較すると論理的に不一致であると判定してしまう。
【0011】
このように、従来の第1の論理回路検証方法では、階層を跨いだ定数の伝播などの影響を考慮した検証を行うことができないことが問題であった。
【0012】
このため、特開平10−63707号公報記載の従来の第2の論理回路検証方法では、最適化前の回路100及び最適化後の回路400を、それぞれ図14に示す回路700及び図15に示す回路800のように、複数の階層を1つの階層に展開し、もともとの検証点であるフリップフロップの入力端子Gに相当する検証点701,801について、論理検証を行っていた。
【0013】
検証点701,801の各々の論理をブール式で示すと、それぞれ次式で表される。
【0014】
回路700:SUB/G=SUB/F ・・・・・・・・・・・・・・(3)
SUB/F=C*1 ・・・・・・・・・・・・・・・・・・・・・・(4)
C=A*B ・・・・・・・・・・・・・・・・・・・・・・・・・・(5)
式(3)〜(5)を要約すると、
SUB/G=A*B ・・・・・・・・・・・・・・・・・・・・・・(6)
回路800:SUB/G=C ・・・・・・・・・・・・・・・・・・(7)
C=A*B ・・・・・・・・・・・・・・・・・・・・・・・・・・(8)
式7,8を要約すると、
SUB/G=A*B ・・・・・・・・・・・・・・・・・・・・・・(9)
従来の第2の論理回路検証方法は、式(6),(9)を比較することにより、論理的に一致すると判定していた。
【0015】
この結果、階層を展開することにより検証すべき部分回路が大きくなるために、部分回路の検証時に用いるBDDで表現する場合に、必要なメモリ量が大きくなるという問題がある。
【0016】
【発明が解決しようとする課題】
上述した従来の第1の論理回路検証装置及び論理回路検証方法は、対象回路が複数の階層から成る場合には、階層を跨いだ定数の伝播などの影響を考慮した検証を行うことができないという欠点があった。
【0017】
上記欠点の解消を図った従来の第2の論理回路検証装置及び論理回路検証方法は、階層を展開することにより検証すべき部分回路が大きくなるために、部分回路の検証時に用いるBDDで表現する場合に、必要なメモリ量が大きくなるという欠点があった。
【0018】
本発明の目的は、階層を跨いだ最適化を行った回路についても検証可能とし、より少ないメモリ量で検証する論理回路検証装置及び論理回路検証方法を提供することにある。
【0019】
【課題を解決するための手段】
請求項1記載の発明の論理回路検証装置は、階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部切り口端子を検証点として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証装置において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力手段と、
前記中間形式を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子に関する情報である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理手段と、
前記階層展開中間形式から比較対照とする前記検証点を抽出し検証点情報を出力する検証点抽出手段と、
前記階層展開中間形式及び前記検証点情報を参照し前記階層切り口端子情報を用いて前記前記検証対象論理回路を部分回路に分割して部分回路データを生成する回路分割手段と、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証手段と、
前記比較検証手段による検証結果を判断する検証結果判断部と、
前記検証結果の判断結果不一致の場合前記階層展開中間形式の前記階層切り口端子情報を用いて前記部分回路データから部分回路情報を抽出する部分回路情報抽出手段と、
前記検証結果を出力する検証結果出力手段とを備えて構成されている。
【0020】
また、請求項2記載の発明は、請求項1記載の論理回路検証装置において、前記階層展開処理手段で生成した前記階層展開中間形式に対し定数伝播処理を行うための定数伝播処理手段を備える構成とするものである。
【0021】
また、請求項3記載の発明の論理回路検証装置は、階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部切り口端子を検証点として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証装置において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力手段と、
前記中間形式を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子に関する情報である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理手段と、
前記階層展開中間形式から比較対照とする前記検証点を抽出し検証点情報を出力する検証点抽出手段と、
前記階層展開中間形式及び前記検証点情報を参照し前記階層切り口端子情報を用いて前記前記検証対象論理回路を部分回路に分割して部分回路データを生成する回路分割手段と、
前記回路分割手段での回路分割後に前記部分回路データに前記階層切り口端子に関してその入力側の部分回路の持つ論理情報を前記階層切り口端子に記憶させる処理を行う部分回路情報抽出手段と、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証手段と、
前記比較検証手段による検証結果を判断する検証結果判断部と、
前記検証結果を出力する検証結果出力手段とを備えて構成される。
【0022】
さらに、請求項4記載の発明は、請求項1又は3記載の論理回路検証装置において、前記階層切り口端子情報が、前記階層展開処理のときに前記部分回路データに設定したバッファに保存することを特徴とするものである。
【0023】
請求項5記載の発明の論理回路検証方法は、階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部切り口端子を検証点として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証方法において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力ステップと、
前記中間形式の回路情報を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理ステップと、
前記階層展開中間形式から比較対照とする検証点を抽出し、検証点情報に出力する検証点抽出ステップと、
前記階層展開中間形式及び前記検証点情報を参照し、前記階層切り口端子情報を用いて回路分割を行い、部分回路データを出力する回路分割ステップと、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証ステップと、
前記検証点情報及び前記部分回路データの検証結果を判定する検証結果判断ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果が一致の場合は、前記検証結果を出力する検証結果出力ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果両者が不一致の場合には、前記部分回路データを再度参照し前記階層展開中間形式の階層切り口端子情報を用いて新たな部分回路情報を抽出する部分回路情報抽出ステップとを有することを特徴とするものである。
【0024】
また、請求項6記載の発明は、請求項5記載の論理回路検証方法において、前記階層展開処理ステップで生成した前記階層展開中間形式に対し定数伝播処理を行うための定数伝播処理ステップを有することを特徴とするものである。
【0025】
また、請求項7記載の発明の論理回路検証方法は、階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部切り口端子を検証点として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証方法において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力ステップと、
前記中間形式の回路情報を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理ステップと、
前記階層展開中間形式から比較対照とする検証点を抽出し、検証点情報に出力する検証点抽出ステップと、
前記階層展開中間形式及び前記検証点情報を参照し、前記階層切り口端子情報を用いて回路分割を行い、部分回路データを出力する回路分割ステップと、
前記回路分割ステップの後に前記部分回路データに前記階層切り口端子に関してその入力側の部分回路の持つ論理情報を前記階層切り口端子に記憶させる処理を行う部分回路情報抽出ステップと、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証ステップと、
前記検証点情報及び前記部分回路データの検証結果を判定する検証結果判断ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果が一致の場合は、前記検証結果を出力する検証結果出力ステップとを有し、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果両者が不一致の場合には、前記部分回路情報抽出ステップで前記階層切り口端子に記憶させてある前記論理情報を利用して再度比較検証ステップで再検証を行うことを特徴とするものである。
【0026】
請求項8記載の発明の論理回路検証プログラムを格納した記憶媒体は、階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部切り口端子を検証点として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証プログラムを格納した記憶媒体において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力ステップと、
前記中間形式の回路情報を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理ステップと、
前記階層展開中間形式から比較対照とする検証点を抽出し、検証点情報に出力する検証点抽出ステップと、
前記階層展開中間形式及び前記検証点情報を参照し、前記階層切り口端子情報を用いて回路分割を行い、部分回路データを出力する回路分割ステップと、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証ステップと、
前記検証点情報及び前記部分回路データの検証結果を判定する検証結果判断ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果が一致の場合は、前記検証結果を出力する検証結果出力ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果両者が不一致の場合には、前記部分回路データを再度参照し前記階層展開中間形式の階層切り口端子情報を用いて新たな部分回路情報を抽出する部分回路情報抽出ステップとを有することを特徴とするものである。
【0027】
また、請求項9記載の発明は、請求項8記載の論理回路検証プログラムを格納した記憶媒体において、前記階層展開処理ステップで生成した前記階層展開中間形式に対し定数伝播処理を行うための定数伝播処理ステップを有することを特徴とするものである。
【0028】
請求項10記載の発明の論理回路検証プログラムを格納した記憶媒体は、階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部切り口端子を検証点として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証プログラムを格納した記憶媒体において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力ステップと、
前記中間形式の回路情報を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理ステップと、
前記階層展開中間形式から比較対照とする検証点を抽出し、検証点情報に出力する検証点抽出ステップと、
前記階層展開中間形式及び前記検証点情報を参照し、前記階層切り口端子情報を用いて回路分割を行い、部分回路データを出力する回路分割ステップと、
前記回路分割ステップの後に前記部分回路データに前記階層切り口端子に関してその入力側の部分回路の持つ論理情報を前記階層切り口端子に記憶させる処理を行う部分回路情報抽出ステップと、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証ステップと、
前記検証点情報及び前記部分回路データの検証結果を判定する検証結果判断ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果が一致の場合は、前記検証結果を出力する検証結果出力ステップとを有し、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果両者が不一致の場合には、前記部分回路情報抽出ステップで前記階層切り口端子に記憶させてある前記論理情報を利用して再度比較検証ステップで再検証を行うことを特徴とするものである。
【0029】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0030】
本実施の形態の論理回路検証方法は、複数の論理回路相互間の形式検証における論理等価性の検証において、階層展開処理の部分において階層切り口端子情報を保存し、その情報を利用して検証対象の論理回路を部分回路に分割し、この部分回路毎に論理等価性を検証することを特徴とするものである。
【0031】
次に、本発明の第1の実施の形態をブロックで示す図1を参照すると、この図に示す本実施の形態の論理回路検証装置は、検証対象となる階層構造を持つ論理回路の回路データF1とライブラリF2から回路情報を読み込みこの回路情報を中間形式F3に変換出力するデータ入力部1と、中間形式F3からの回路情報を階層展開しこの階層展開処理において階層間の境界の端子である階層切り口端子情報を保存した階層展開中間形式F4を出力する階層展開処理部2と、階層展開中間形式F4から比較対照とする検証点を抽出し検証点情報F5を出力する検証点抽出部3と、階層切り口端子情報を含む階層展開中間形式F4及び検証点情報F5を参照し上記階層切り口端子情報を用いて対象回路を部分回路に分割して部分回路データF6を生成する回路分割部4と、検証点情報F5及び部分回路データF6を参照して対応する部分回路の論理等価性を検証する比較検証部5と、検証結果を判断する検証結果判断部6と、検証結果の判断結果不一致の場合階層展開中間形式F4の階層切り口端子情報を用いて部分回路データF6から部分回路情報を抽出する部分回路情報抽出部7と、検証結果F7を出力する検証結果出力部8とを備える。
【0032】
ここで、回路データF1は、VHDL(IEEE1076)やVerilog−HDL(IEEE1364)などのハードウェア記述言語や、EDIFなどのネットリストから成る。また、ライブラリF2は、回路データF1の中で使用されるマクロの論理情報を記述したデータである。
【0033】
また、中間形式F3、検証点情報F5、部分回路データF6は一時的に記憶装置に格納され処理の中間段階で利用する。
【0034】
次に、図1及び処理をフローチャートで示す図2を参照して本実施の形態の動作について説明すると、本実施の形態では、階層切り口端子からその入力側の部分回路情報を探索・抽出して再検証することにより、論理等価性を検証する。この図では処理のフローを実線で、データの流れを点線でそれぞれ示す。
【0035】
まず、データ入力部1は、回路データF1及びライブラリF2を読み込み、これら回路データF1及びライブラリF2を中間形式F3に変換する(ステップS1)。
【0036】
階層展開処理部2は、中間形式F3の回路情報を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子情報を保存した階層展開中間形式F4を生成する(ステップS2)。
【0037】
次に、検証点抽出部3は、階層展開中間形式F4から比較対照とする検証点を抽出し、検証点情報F5に出力する(ステップS3)。
【0038】
次に、回路分割部4は、階層展開中間形式F4及び検証点情報F5を参照し、階層切り口端子情報を用いて回路分割を行い、部分回路データF6を出力する(ステップS4)。
【0039】
次に、比較検証部5は、検証点情報F5及び部分回路データF6を参照して対応する部分回路の論理等価性を検証する(ステップS5)。
【0040】
検証方法として、BDD(2分決定グラフ:Binary DecisionDiagrams)を用いた検証手法や、ATPG(自動テストパターン発生器:Automatic Test Pattern Generator)を用いてテストパターンを生成し、シミュレーションを行う検証手法などにより検証する。
【0041】
検証結果判断部6は、検証点情報F5及び部分回路データF6の検証結果を判定し(ステップS6)、両者が一致すれば、検証結果を検証結果出力部8に送り、検証結果出力部8は検証結果F7を出力する(ステップS8)。
【0042】
ステップS6で、両者が不一致の場合には、部分回路情報抽出部7は、部分回路データF6及び階層展開中間形式F4を再度参照し階層展開中間形式F4の階層切り口端子情報を用いて新たな部分回路情報を抽出する新たな部分回路情報を抽出し(ステップS7)、比較検証部5に供給し、比較検証部5は、再度ステップS5の検証を行う。
【0043】
検証対象の回路の全ての部分の検証が完了するまで(ステップS9)、比較検証部5での検証(ステップS4)を反復する。
【0044】
次に、検証対象回路の回路データF1の一例である回路100を回路図で示す図3を参照すると、この回路10は上位(TOP)階層101と、その下位の階層である下位(SUB)階層201とを有する。
【0045】
TOP階層101は、入力端が端子A,Bに接続された論理ゲートC111と、出力端が端子Eに接続された定数情報112とを有する。
【0046】
SUB階層201は、入力端が端子D,Eに接続された論理ゲートF211と、入力端子Gが論理ゲートF211の出力端に出力端子Hが端子Iにクロック端子が端子CLK1にそれぞれ接続されたフリップフロップ212とを有する。
【0047】
検証点としてTOP階層101の外部の端子A,B,Jと、クロック端子CLKと、SUB階層102の外部の端子D,E,Iと、クロック端子CLK1とを有する。このうち、端子D,E,Iと、クロック端子CLK1は、TOP階層101/SUB階層201との間の階層切り口端子である。
【0048】
回路100の回路データを階層単位に分割して記述した図4を参照すると、図4(A)はTOP階層101を、図4(B)はSUB階層201をそれぞれ示す。図4(A)に示すTOP階層101は、SUB階層201に対応するブロック102を有する。
【0049】
図3、図4及び図3の回路データを本実施の形態で階層展開を実施した結果の回路200を回路図で示す図5を参照してデータ入力部1に読み込んだ回路データF1が階層を持つ構造である場合の処理について説明すると、このように、回路200が複数の、この例では2つの階層を持つ構造である場合には、回路データF1は、図4(A),(B)に示すように、TOP/SUB2つの階層の各々について別々のデータ単位の構成を有する。
【0050】
階層展開処理では、2つの階層、TOP階層101とSUB階層201に対して、ブロック102をSUB階層201で置き換えることで実現できる。その際にブロック102が持つ各切り口端子情報を保存するために、上下間の階層切り口端子D,E,I,クロック端子CLK1の各位置にバッファ701〜704を挿入してそれぞれ接続する。
【0051】
このバッファ701〜704には、それぞれ識別子SUB/D,SUB/E,SUB/I,SUB/CLK1を付加し、階層切り口端子であったことを識別できるようにしておく。同様に、論理ゲートF211及びフリップフロップ212の各端子にも識別子SUB/F,SUB/G及びSUB/Hを付加する。このようにして図5に示すように1つの階層構造に変換する。
【0052】
回路200のうちフリップフロップ212等のレジスタの入力端子SUB/G401の入力側回路300を抽出して示した図6(A)を参照すると、この入力側回路300は、端子A,B、論理ゲートC111、信号源112、論理ゲートSUB/F211、バッファ701,702を有する。
【0053】
入力側回路300は、さらに、図6(B),(C),(D)にそれぞれ示す部分回路301,302,303に分割する。
【0054】
部分回路301は、バッファSUB/D701A,SUB/E702A、論理ゲートSUB/F211、端子SUB/G401を有し、部分回路302は、端子A,B、論理ゲートC111、バッファSUB/D701Bを有し、部分回路303は、信号源112、バッファSUB/E702Bを有する。
【0055】
次に、図5、図6を参照して、回路分割部4における回路分割処理ステップS3について説明すると、フリップフロップ212の入力端子SUB/G401を検証点とした場合の部分回路は、その入力側の回路となるが、データ入力部1において、設定されている階層切り口情報を保存するためのバッファ701,702があるので、そこまでを部分回路301として認識する。
【0056】
同様にして、階層切り口情報を保存するためのバッファ701,702の入力側の回路の各々を、部分回路302,303として認識する。
【0057】
次に、回路100に対し定数情報を用い階層を跨いだ最適化を行った結果の回路400を回路図で示す図7を参照すると、この回路400は、最適化した上位(TOP)階層101Aと、その下位の階層である下位(SUB)階層201Aとを含む。
【0058】
TOP階層101Aは、入力端が端子A,Bに接続された論理ゲートC111を有する。最適化前の上位階層101に存在した信号源112は省略されている。
【0059】
SUB階層201Aは、入力端子Gが端子Dに出力端子Hが端子Iにクロック端子が端子CLK1にそれぞれ接続されたフリップフロップ212を有する。最適化前の下位階層201に存在した論理ゲートF211は省略されている。
【0060】
回路400を本実施の形態の論理回路検証方法により階層展開を行った結果の回路500を回路図でを示す図8、及び図8の回路のうちフリップフロップ212の入力端子SUB/G401Aの入力側回路600を抽出して示した図9(A)を参照すると、この入力側回路600は、端子A,B、論理ゲートC111、バッファ701を有し、最適化前の同機能の回路に存在した信号源112、論理ゲートSUB/F211、バッファ702は省略されている。
【0061】
同様に、入力側回路600を分割した部分回路601,602をそれぞれ示す図9(B),(C)を参照すると、部分回路601は、バッファSUB/D701Aを、部分回路602は、端子A,B、論理ゲートC111、バッファSUB/D701Bをそれぞれ有する。
【0062】
次に、図5〜図9を参照して、比較検証部5での比較検証(ステップS4)の検証結果の判断(ステップS5)で不一致として判定された場合の処理について説明する。
【0063】
対応する検証点としてフリップフロップ212の入力端子SUB/G401、入力端子SUB/G401,401Aについての検証を行う。
【0064】
対応する各々の部分回路はぞれぞれ、部分回路301、部分回路601である。これら2つの部分回路301,601について等価性を検証すると(ステップS4,S5)両者は不一致であると判定する。不一致であったので、それぞれの部分回路の入力側の情報を検索すると、部分回路301には階層切り口端子SUB/D,SUB/E対応バッファ701,702が接続され、一方、部分回路601には階層切り口端子SUB/D対応バッファ701が接続されている。
【0065】
従って、さらに、その入力側に接続されている部分回路302,303及び部分回路602を抽出する(ステップS6)。これらの再度抽出した部分回路302,303及び部分回路602を用いて、部分回路301,601の各々に入力側の部分回路を接続して検証対象の部分回路を拡大し、再度比較検証すると、両者が一致すると判断できる。
【0066】
ここで、入力側の部分回路を接続することにより検証対象の部分回路を拡大し、再検証する際には、一度の処理で全ての部分回路を接続する必要はなく、一部分のみ接続し検証対象部分回路を拡大し、一致するまで、部分回路の接続、再検証処理を繰り返しても同様である。
【0067】
このように、本実施の形態では、現在処理中の階層の論理を検証する場合に、他階層にある論理を参照することができる処理を行っているので、複数の階層を跨いだ最適化を行っている場合の論理の等価性の検証においても、正しく検証することが可能となっている。
【0068】
また、部分回路を階層切り口端子のあった位置で分割する処理を行っているために、少なくとも部分回路を最大限に大きくすることなく検証できるようになり、使用メモリ量を抑えることが可能となる。
【0069】
次に、本発明の第2の実施の形態を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図10を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、部分回路情報抽出部7の代わりに回路分割部4での回路分割後に部分回路データF6に階層切り口端子に関してその入力側の部分回路の持つ論理情報を階層切り口端子に記憶させる処理を行う部分回路情報抽出部7Aを備えることである。
【0070】
次に、図10及び処理を図2と共通の構成要素には共通の参照文字/数字を付して同様にフローチャートで示す図11を参照して本実施の形態の動作について相違点を重点的に説明すると、本実施の形態では、回路分割部4での回路分割(ステップS4)の後に、部分回路データF6の階層切り口端子についてその入力側の部分回路の持つ論理情報を上記階層切り口端子に記憶させる部分回路情報抽出処理ステップS7Aを行う。
【0071】
その後の比較検証部5及び比較結果判断部5での部分回路の比較検証ステップS4,S5において不一致となった場合には、階層切り口端子に記憶させてある上記論理情報を利用してステップS5,S6で再検証を行う。
【0072】
これにより、入力側の部分回路の抽出処理を随時行う必要がなくなる。
【0073】
また、この場合には、すべての階層切り口端子についてその入力側の部分回路の持つ論理情報の抽出を行うのではなく、特定の条件を設定し、その条件にある場合のみ論理情報の抽出を行ってもよい。
【0074】
例えば、階層を跨いだ最適化が定数伝播の場合だけである場合には、定数情報のみを抽出条件とし、階層切り口端子の入力側の論理が、定数に簡単化される場合のみを抽出し、階層切り口端子に記憶させる。
【0075】
このようにすることで、抽出対象の論理情報を低減でき、高速に処理できることとともに使用メモリ量の抑制、及び再検証の必要性の有無の判定が可能となり処理の高速化が可能となる。
【0076】
次に、本発明の第3の実施の形態を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図12を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、階層展開処理部2の後に、生成した階層展開中間形式F3に対し定数伝播処理を行うための定数伝播処理部11を備えることである。
【0077】
図13を併せて参照して本実施の形態の動作について第1の実施の形態との相違点について説明すると、本実施の形態では、ステップS2の階層展開処理の後、生成した階層展開中間形式F4に対し、定数伝播処理部11において、上位階層で設定される定数を下位階層に伝播させるよう階層を跨いだ定数伝播処理ステップS11を行い、予め、階層展開で出現可能性が予想される下位階層の論理を簡単化しておく。
【0078】
これにより、比較検証部5おいて階層を跨いだ最適化により不一致と判定されることを事前に防ぐことができるようになる。
【0079】
従って、本実施の形態は、階層を跨いだ定数伝播により最適化された場合に効果がある。
【0080】
【発明の効果】
以上説明したように、本発明の論理回路検証装置及び論理回路検証方法は、中間形式を階層展開しこの階層展開処理において階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理手段と、検証結果の判断結果不一致の場合階層切り口端子情報を用いて部分回路データから部分回路情報を抽出する部分回路情報抽出手段とを備えることにより、現在処理中の階層の論理を検証する場合に、他階層にある論理を参照することができるので、複数の階層を跨いだ最適化を行っている場合の論理の等価性の検証においても、正しく検証することが可能となるという効果がある。
【0081】
また、部分回路を階層切り口端子のあった位置で分割することにより、少なくとも部分回路を最大限に拡大することなく検証できるようになり、使用メモリ量の抑制が可能となるという効果がある。
【図面の簡単な説明】
【図1】本発明の論理回路検証装置の第1の実施の形態を示すブロック図である。
【図2】本実施の形態の論理回路検証方法における動作の一例を示すフローチャートである。
【図3】本実施の形態の論理回路検証方法における第1の対象回路例の回路データを示す回路図である。
【図4】図3の回路を階層単位に分割して記述した回路図である。
【図5】図3の回路データを本実施の形態の論理回路検証方法により階層展開を行った結果の回路を示す回路図である。
【図6】図5の回路データの一部を抜粋した回路の回路図及びこの回路データを階層単位に分割して記述した回路図である。
【図7】図3の回路に対し定数情報を用い階層を跨いだ最適化を行った結果の回路を示す回路図である。
【図8】図7の回路を本実施の形態の論理回路検証方法により階層展開を行った結果の回路を示す回路図である。
【図9】図8の回路データの一部を抜粋した回路の回路図及びこの回路データを階層単位に分割して記述した回路図である。
【図10】本発明の論理回路検証装置の第2の実施の形態を示すブロック図である。
【図11】本実施の形態の論理回路検証方法における動作の一例を示すフローチャートである。
【図12】本発明の論理回路検証装置の第3の実施の形態を示すブロック図である。
【図13】本実施の形態の論理回路検証方法における動作の一例を示すフローチャートである。
【図14】図3の回路を通常の方法により階層展開を行った結果の回路を示す回路図である。
【図15】図7の回路を通常の方法により階層展開を行った結果の回路を示す回路図である。
【符号の説明】
1 データ入力部
2 階層展開処理部
3 検証点抽出部
4 回路分割部
5 比較検証部
6 検証結果判断部
7,7A 部分回路情報抽出部
8 検証結果出力部
11 定数伝播処理部
101 TOP階層
102 ブロック
201 SUB階層
111 論理ゲートC
112 定数情報
211 論理ゲートF
212 フリップフロップ
100,200,300,400,500,600 回路
301,302,303,601,602 部分回路
701〜704 バッファ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a logic circuit verification device, a logic circuit verification method, and a recording medium storing a logic circuit verification program, and more particularly to a logic circuit verification device, a logic circuit verification method, and a logic for verifying logic equivalence in the type verification of a logic circuit. The present invention relates to a recording medium storing a circuit verification program.
[0002]
[Prior art]
Conventionally, in order to verify the equivalence of two logic circuits, the locations where the logic in the two logic circuits to be verified are considered to be equivalent are divided into circuits such as flip-flops and external cut-out terminals. The logic equivalence point is determined from information such as signal names and the like, and the logic equivalence is verified for each corresponding partial circuit.
[0003]
In many cases, BDD (binary decision diagram) is used for verification of logical equivalence for each partial circuit.
[0004]
Since BDD can uniquely determine the BDD representation of the equivalent logic if the input variables are ordered, the logic equivalence is verified using this.
[0005]
In recent years, a circuit is described using a hardware description language such as VHDL (IEEE 1076) or Verilog-HDL (IEEE 1364), and the circuit is divided into a plurality of layers for each specific function in order to describe a larger circuit. In general, a method of automatically generating a logic circuit using a logic synthesis tool is described.
[0006]
At the time of this logic synthesis, in order to further optimize the circuit, when the target circuit is composed of a plurality of layers, the plurality of layers are simultaneously optimized. When the upper layer of the target circuit has constant information, it is required to simplify the constant information by propagating the constant information from the upper layer to the lower layer.
[0007]
Similarly, it is also required to simplify the logic in other hierarchies by moving a part of the logic to other hierarchies and to improve the placement and routing accuracy in the hierarchies.
[0008]
In the general first conventional logic circuit verification method, FIG. 3 showing the circuit 100 before optimization and the optimization are shown for an example in which equivalence verification is performed when the circuit is optimized according to this requirement. Referring to FIG. 7 showing the subsequent circuit 400, the logic verification method for both the circuits 100 and 400 is verified for each layer.
[0009]
When the input terminals G of the flip-flops 212 as the verification points in the lower layer (SUB) layers 201 and 201A of the circuit 100 and the circuit 400 are the verification points 401 and 401A, respectively, It is expressed by equations (1) and (2).
[0010]
Circuit 100: G = D * E (1)
Circuit 400: G = D (2)
Accordingly, when the expressions (1) and (2) are compared as they are, the determination of matching results in a logical mismatch.
[0011]
As described above, the conventional first logic circuit verification method has a problem in that verification cannot be performed in consideration of the influence of propagation of constants across hierarchies.
[0012]
For this reason, in the conventional second logic circuit verification method described in Japanese Patent Laid-Open No. 10-63707, the circuit 100 before optimization and the circuit 400 after optimization are shown in FIG. 14 and FIG. Like the circuit 800, a plurality of hierarchies are expanded into one hierarchy, and logic verification is performed on verification points 701 and 801 corresponding to the input terminal G of the flip-flop that is the original verification point.
[0013]
When the logic of each of the verification points 701 and 801 is represented by a Boolean expression, it is represented by the following expression.
[0014]
Circuit 700: SUB / G = SUB / F (3)
SUB / F = C * 1 (4)
C = A * B (5)
Summarizing equations (3)-(5):
SUB / G = A * B (6)
Circuit 800: SUB / G = C (7)
C = A * B (8)
Summarizing Equations 7 and 8,
SUB / G = A * B (9)
In the second conventional logic circuit verification method, it is determined that the logically coincides with each other by comparing the equations (6) and (9).
[0015]
As a result, since the partial circuit to be verified becomes large by expanding the hierarchy, there is a problem that a required memory amount becomes large when expressed by BDD used when verifying the partial circuit.
[0016]
[Problems to be solved by the invention]
The above-described conventional first logic circuit verification device and logic circuit verification method cannot perform verification in consideration of the influence of constant propagation across hierarchies when the target circuit is composed of a plurality of hierarchies. There were drawbacks.
[0017]
In the conventional second logic circuit verification apparatus and logic circuit verification method that solves the above-mentioned drawbacks, since the partial circuit to be verified becomes large by expanding the hierarchy, it is expressed by BDD used when verifying the partial circuit. In this case, there is a drawback that a required memory amount becomes large.
[0018]
An object of the present invention is to provide a logic circuit verification apparatus and a logic circuit verification method that enable verification of a circuit that has been optimized across hierarchies and that can be verified with a smaller amount of memory.
[0019]
[Means for Solving the Problems]
The logic circuit verification device according to the first aspect of the present invention extracts a place where logic in a logic circuit to be verified having a hierarchical structure is equivalent as a verification point using a register and / or an external cut terminal, and pays attention to the verification point. The logic equivalence between multiple logic circuits is verified by dividing the circuit into partial circuits, determining the logical equivalence point from the information including the signal name, and verifying the logical equivalence for each corresponding partial circuit. In the logic circuit verification device,
Data input means for reading circuit information from the circuit data and library of the logic circuit to be verified and converting the circuit information into an intermediate format; and
Hierarchical expansion processing means for generating a hierarchical expansion intermediate format in which the intermediate format is hierarchically expanded and the hierarchical cut terminal information, which is information related to a hierarchical cut terminal that is a boundary terminal between hierarchies in this hierarchical expansion processing, is stored;
A verification point extraction means for extracting the verification point as a comparison from the hierarchical expansion intermediate format and outputting verification point information;
Circuit dividing means for generating partial circuit data by dividing the verification target logic circuit into partial circuits using the hierarchical cut-out terminal information with reference to the hierarchical expansion intermediate format and the verification point information;
Comparison verification means for verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determination unit for determining a verification result by the comparison verification unit;
Partial circuit information extraction means for extracting partial circuit information from the partial circuit data using the hierarchical cut end terminal information in the hierarchical expansion intermediate format when the verification result does not match the determination result;
And a verification result output means for outputting the verification result.
[0020]
According to a second aspect of the present invention, there is provided the logic circuit verification apparatus according to the first aspect, further comprising constant propagation processing means for performing constant propagation processing on the hierarchical expansion intermediate format generated by the hierarchical expansion processing means. It is what.
[0021]
According to a third aspect of the present invention, there is provided a logic circuit verifying apparatus that extracts a portion in which logic in a verification target logic circuit having a hierarchical structure is regarded as equivalent as a verification point using a register and / or an external cut terminal. By paying attention, the circuit is divided into partial circuits, logical equivalence points are determined from information including signal names, and logical equivalence between multiple logical circuits is verified by verifying logical equivalence for each corresponding partial circuit. In the logic circuit verification device to verify,
Data input means for reading circuit information from the circuit data and library of the logic circuit to be verified and converting the circuit information into an intermediate format; and
Hierarchical expansion processing means for generating a hierarchical expansion intermediate format in which the intermediate format is hierarchically expanded and the hierarchical cut terminal information, which is information related to a hierarchical cut terminal that is a boundary terminal between hierarchies in this hierarchical expansion processing, is stored;
A verification point extraction means for extracting the verification point as a comparison from the hierarchical expansion intermediate format and outputting verification point information;
Circuit dividing means for generating partial circuit data by dividing the verification target logic circuit into partial circuits using the hierarchical cut-out terminal information with reference to the hierarchical expansion intermediate format and the verification point information;
Partial circuit information extracting means for performing processing for storing the logical information of the partial circuit on the input side with respect to the hierarchical cut terminal in the partial circuit data after the circuit division by the circuit dividing means;
Comparison verification means for verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determination unit for determining a verification result by the comparison verification unit;
And a verification result output means for outputting the verification result.
[0022]
Furthermore, the invention according to claim 4 is the logic circuit verification device according to claim 1 or 3, wherein the hierarchy cut terminal information is stored in a buffer set in the partial circuit data during the hierarchy development process. It is a feature.
[0023]
According to the logic circuit verification method of the invention described in claim 5, a location where logic in a logic circuit to be verified having a hierarchical structure is regarded as equivalent is extracted using a register and / or an external cut terminal as a verification point, and attention is paid to this verification point. The logic equivalence between multiple logic circuits is verified by dividing the circuit into partial circuits, determining the logical equivalence point from the information including the signal name, and verifying the logical equivalence for each corresponding partial circuit. In the logic circuit verification method,
A data input step of reading circuit information from the circuit data of the logic circuit to be verified and the library from the library and converting the circuit information to an intermediate format;
A hierarchical expansion processing step for generating a hierarchical expansion intermediate format in which the intermediate format circuit information is hierarchically expanded and the hierarchical cut terminal information that is a boundary terminal between the hierarchical levels is stored in the hierarchical expansion processing;
A verification point extraction step for extracting a verification point as a comparison reference from the hierarchical expansion intermediate format and outputting the verification point information;
A circuit division step of referring to the hierarchical expansion intermediate format and the verification point information, performing circuit division using the hierarchy cut terminal information, and outputting partial circuit data;
A comparison verification step of verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determining step for determining a verification result of the verification point information and the partial circuit data;
If the verification result information and the verification result of the partial circuit data match in the verification result determination step, a verification result output step of outputting the verification result;
If the verification point information and the verification result of the partial circuit data do not match in the verification result determination step, the partial circuit data is referred to again, and a new partial portion is used by using the hierarchical cut terminal information in the hierarchical expansion intermediate format. And a partial circuit information extraction step for extracting circuit information.
[0024]
The invention described in claim 6 further includes a constant propagation processing step for performing constant propagation processing on the intermediate layer expansion format generated in the layer expansion processing step in the logic circuit verification method according to claim 5. It is characterized by.
[0025]
According to the logic circuit verification method of the invention described in claim 7, a location where logic in the logic circuit to be verified having a hierarchical structure is regarded as equivalent is extracted using a register and / or an external cut terminal as a verification point. By paying attention, the circuit is divided into partial circuits, logical equivalence points are determined from information including signal names, and logical equivalence between multiple logical circuits is verified by verifying logical equivalence for each corresponding partial circuit. In the logic circuit verification method to verify,
A data input step of reading circuit information from the circuit data of the logic circuit to be verified and the library from the library and converting the circuit information to an intermediate format;
A hierarchical expansion processing step for generating a hierarchical expansion intermediate format in which the intermediate format circuit information is hierarchically expanded and the hierarchical cut terminal information that is a boundary terminal between the hierarchical levels is stored in the hierarchical expansion processing;
A verification point extraction step for extracting a verification point as a comparison reference from the hierarchical expansion intermediate format and outputting the verification point information;
A circuit division step of referring to the hierarchical expansion intermediate format and the verification point information, performing circuit division using the hierarchy cut terminal information, and outputting partial circuit data;
A partial circuit information extraction step for performing a process of storing logical information of the partial circuit on the input side of the partial circuit data in the partial circuit data after the circuit dividing step;
A comparison verification step of verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determining step for determining a verification result of the verification point information and the partial circuit data;
If the verification result information and the verification result of the partial circuit data match in the verification result determination step, the verification result output step of outputting the verification result,
If the verification point information and the verification result of the partial circuit data do not match in the verification result judging step, the logical information stored in the hierarchical cut terminal is used again in the partial circuit information extraction step. In the comparison verification step, re-verification is performed.
[0026]
The storage medium storing the logic circuit verification program of the invention according to claim 8 extracts a place where the logic in the logic circuit to be verified having a hierarchical structure is regarded as equivalent, using a register and / or an external cut terminal as a verification point, Pay attention to the verification points, divide the circuit into partial circuits, determine the logical equivalence point from the information including the signal name, and verify the logical equivalence for each corresponding partial circuit. In a storage medium storing a logic circuit verification program for verifying equivalence,
A data input step of reading circuit information from the circuit data of the logic circuit to be verified and the library from the library and converting the circuit information to an intermediate format;
A hierarchical expansion processing step for generating a hierarchical expansion intermediate format in which the intermediate format circuit information is hierarchically expanded and the hierarchical cut terminal information that is a boundary terminal between the hierarchical levels is stored in the hierarchical expansion processing;
A verification point extraction step of extracting a verification point as a comparison reference from the hierarchical expansion intermediate format and outputting the verification point information;
A circuit division step of referring to the hierarchical expansion intermediate format and the verification point information, performing circuit division using the hierarchy cut terminal information, and outputting partial circuit data;
A comparison verification step of verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determining step for determining a verification result of the verification point information and the partial circuit data;
If the verification result information and the verification result of the partial circuit data match in the verification result determination step, a verification result output step of outputting the verification result;
If the verification point information and the verification result of the partial circuit data do not match in the verification result determination step, the partial circuit data is referred to again, and a new partial portion is used by using the hierarchical cut terminal information in the hierarchical expansion intermediate format. And a partial circuit information extraction step for extracting circuit information.
[0027]
According to a ninth aspect of the present invention, in the storage medium storing the logic circuit verification program according to the eighth aspect, constant propagation for performing constant propagation processing on the hierarchical expansion intermediate form generated in the hierarchical expansion processing step. It has a processing step.
[0028]
The storage medium storing the logic circuit verification program of the invention according to claim 10 extracts a place where the logic in the logic circuit to be verified having a hierarchical structure is regarded as equivalent, using a register and / or an external cut terminal as a verification point, Pay attention to the verification points, divide the circuit into partial circuits, determine the logical equivalence point from the information including the signal name, and verify the logical equivalence for each corresponding partial circuit. In a storage medium storing a logic circuit verification program for verifying equivalence,
A data input step of reading circuit information from the circuit data of the logic circuit to be verified and the library from the library and converting the circuit information to an intermediate format;
A hierarchical expansion processing step for generating a hierarchical expansion intermediate format in which the intermediate format circuit information is hierarchically expanded and the hierarchical cut terminal information that is a boundary terminal between the hierarchical levels is stored in the hierarchical expansion processing;
A verification point extraction step for extracting a verification point as a comparison reference from the hierarchical expansion intermediate format and outputting the verification point information;
A circuit division step of referring to the hierarchical expansion intermediate format and the verification point information, performing circuit division using the hierarchy cut terminal information, and outputting partial circuit data;
A partial circuit information extraction step for performing a process of storing logical information of the partial circuit on the input side of the partial circuit data in the partial circuit data after the circuit dividing step;
A comparison verification step of verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determining step for determining a verification result of the verification point information and the partial circuit data;
If the verification result information and the verification result of the partial circuit data match in the verification result determination step, the verification result output step of outputting the verification result,
If the verification point information and the verification result of the partial circuit data do not match in the verification result judging step, the logical information stored in the hierarchical cut terminal is used again in the partial circuit information extraction step. In the comparison verification step, re-verification is performed.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0030]
In the logic circuit verification method of the present embodiment, in the logic equivalence verification in the format verification between a plurality of logic circuits, the layer cut-out terminal information is stored in the layer expansion processing part, and the verification target is obtained using the information. This logic circuit is divided into partial circuits, and the logical equivalence is verified for each partial circuit.
[0031]
Next, referring to FIG. 1 showing the first embodiment of the present invention as a block, the logic circuit verification apparatus according to the present embodiment shown in this figure shows circuit data of a logic circuit having a hierarchical structure to be verified. Data input unit 1 that reads circuit information from F1 and library F2 and converts and outputs this circuit information to intermediate format F3, and circuit information from intermediate format F3 is hierarchically expanded and is a terminal at the boundary between layers in this hierarchical expansion processing. A hierarchy expansion processing unit 2 that outputs a hierarchy expansion intermediate format F4 in which hierarchy cut terminal information is stored; a verification point extraction unit 3 that extracts a verification point as a comparison from the hierarchy expansion intermediate format F4 and outputs verification point information F5; The target circuit is divided into partial circuits using the hierarchical cut terminal information by referring to the hierarchical expansion intermediate format F4 including the hierarchical cut terminal information and the verification point information F5, and the partial circuit data F6 is generated. Circuit dividing unit 4 that performs verification, comparison verification unit 5 that verifies the logical equivalence of the corresponding partial circuit with reference to verification point information F5 and partial circuit data F6, verification result determination unit 6 that determines the verification result, and verification If the result does not match, the partial circuit information extraction unit 7 extracts partial circuit information from the partial circuit data F6 using the hierarchical cut terminal information of the hierarchical expansion intermediate format F4, and the verification result output unit 8 outputs the verification result F7. With.
[0032]
Here, the circuit data F1 includes a hardware description language such as VHDL (IEEE 1076) or Verilog-HDL (IEEE 1364), or a netlist such as EDIF. The library F2 is data describing macro logic information used in the circuit data F1.
[0033]
Further, the intermediate format F3, the verification point information F5, and the partial circuit data F6 are temporarily stored in a storage device and used at an intermediate stage of processing.
[0034]
Next, the operation of the present embodiment will be described with reference to FIG. 1 and FIG. 2 showing the processing in a flowchart. In the present embodiment, the partial circuit information on the input side is searched and extracted from the hierarchical cut terminal. Verify logical equivalence by re-verifying. In this figure, the processing flow is indicated by a solid line, and the data flow is indicated by a dotted line.
[0035]
First, the data input unit 1 reads the circuit data F1 and the library F2, and converts the circuit data F1 and the library F2 into an intermediate format F3 (step S1).
[0036]
The hierarchy expansion processing unit 2 hierarchically expands the circuit information of the intermediate format F3 and generates a hierarchy expansion intermediate format F4 in which the hierarchy cut terminal information which is a boundary terminal between the hierarchies is stored in the hierarchy expansion processing (step S2).
[0037]
Next, the verification point extraction unit 3 extracts a verification point as a comparison reference from the hierarchical development intermediate format F4, and outputs it to the verification point information F5 (step S3).
[0038]
Next, the circuit dividing unit 4 refers to the hierarchical expansion intermediate format F4 and the verification point information F5, performs circuit division using the hierarchical cut terminal information, and outputs partial circuit data F6 (step S4).
[0039]
Next, the comparison verification unit 5 verifies the logical equivalence of the corresponding partial circuit with reference to the verification point information F5 and the partial circuit data F6 (step S5).
[0040]
As a verification method, a verification method using BDD (Binary Decision Graph: Binary Decision Diagrams), a test pattern generated using ATPG (Automatic Test Pattern Generator), a verification method for performing simulation, etc. Validate.
[0041]
The verification result determination unit 6 determines the verification result of the verification point information F5 and the partial circuit data F6 (step S6). If they match, the verification result output unit 8 sends the verification result to the verification result output unit 8. The verification result F7 is output (step S8).
[0042]
If they do not match in step S6, the partial circuit information extraction unit 7 refers again to the partial circuit data F6 and the hierarchical expansion intermediate format F4, and uses the hierarchical cut terminal information of the hierarchical expansion intermediate format F4 to create a new partial. New partial circuit information for extracting circuit information is extracted (step S7) and supplied to the comparison verification unit 5. The comparison verification unit 5 performs the verification of step S5 again.
[0043]
Until the verification of all the parts of the circuit to be verified is completed (step S9), the verification by the comparison verification unit 5 (step S4) is repeated.
[0044]
Next, referring to FIG. 3 showing a circuit 100 as an example of circuit data F1 of the circuit to be verified, this circuit 10 has an upper (TOP) hierarchy 101 and a lower (SUB) hierarchy which is a lower hierarchy. 201.
[0045]
The TOP hierarchy 101 includes a logic gate C111 whose input terminal is connected to the terminals A and B, and constant information 112 whose output terminal is connected to the terminal E.
[0046]
The SUB hierarchy 201 includes a logic gate F211 whose input terminal is connected to the terminals D and E, and a flip-flop whose input terminal G is connected to the output terminal of the logic gate F211 and output terminal H is connected to the terminal I and clock terminal is connected to the terminal CLK1. 212.
[0047]
As verification points, there are terminals A, B and J outside the TOP hierarchy 101, a clock terminal CLK, terminals D, E and I outside the SUB hierarchy 102, and a clock terminal CLK1. Among these, the terminals D, E, and I and the clock terminal CLK1 are hierarchy cut terminals between the TOP hierarchy 101 / SUB hierarchy 201.
[0048]
Referring to FIG. 4 in which circuit data of the circuit 100 is divided into hierarchical units, FIG. 4A shows the TOP hierarchy 101 and FIG. 4B shows the SUB hierarchy 201. The TOP hierarchy 101 shown in FIG. 4A has a block 102 corresponding to the SUB hierarchy 201.
[0049]
The circuit data F1 read into the data input unit 1 with reference to FIG. 5 showing the circuit 200 as a result of the hierarchical expansion of the circuit data of FIG. 3, FIG. 4 and FIG. The processing in the case of having the structure will be described. In this way, when the circuit 200 has a structure having a plurality of, in this example, two layers, the circuit data F1 is shown in FIGS. As shown in FIG. 2, each of the two layers of TOP / SUB has a structure of a separate data unit.
[0050]
The hierarchy development process can be realized by replacing the block 102 with the SUB hierarchy 201 for the two hierarchies, the TOP hierarchy 101 and the SUB hierarchy 201. At this time, in order to store the cut terminal information held by the block 102, buffers 701 to 704 are inserted and connected to the respective positions of the upper and lower hierarchical cut terminals D, E, I and the clock terminal CLK1.
[0051]
Identifiers SUB / D, SUB / E, SUB / I, and SUB / CLK1 are added to the buffers 701 to 704, respectively, so that it can be identified that they are hierarchical cut terminals. Similarly, identifiers SUB / F, SUB / G, and SUB / H are added to the terminals of logic gate F211 and flip-flop 212, respectively. In this way, it is converted into one hierarchical structure as shown in FIG.
[0052]
Referring to FIG. 6A showing the input side circuit 300 of the input terminal SUB / G401 of the register such as the flip-flop 212 in the circuit 200, this input side circuit 300 includes terminals A and B, logic gates. C 111, signal source 112, logic gate SUB / F 211, and buffers 701 and 702.
[0053]
The input-side circuit 300 is further divided into partial circuits 301, 302, and 303 shown in FIGS. 6B, 6C, and 6D, respectively.
[0054]
The partial circuit 301 includes buffers SUB / D701A and SUB / E702A, a logic gate SUB / F211 and a terminal SUB / G401. The partial circuit 302 includes terminals A and B, a logic gate C111, and a buffer SUB / D701B. The partial circuit 303 includes a signal source 112 and a buffer SUB / E702B.
[0055]
Next, the circuit division processing step S3 in the circuit dividing unit 4 will be described with reference to FIGS. 5 and 6. The partial circuit when the input terminal SUB / G401 of the flip-flop 212 is used as the verification point is the input side. In the data input unit 1, there are buffers 701 and 702 for storing the set hierarchical cut information, so that the portion up to that is recognized as the partial circuit 301.
[0056]
Similarly, the circuits on the input side of the buffers 701 and 702 for storing the hierarchical cut information are recognized as partial circuits 302 and 303, respectively.
[0057]
Next, referring to FIG. 7 showing a circuit diagram of a circuit 400 obtained by performing optimization across the layers using constant information for the circuit 100, the circuit 400 includes the optimized upper (TOP) layer 101A and , And a lower (SUB) layer 201A that is a lower layer.
[0058]
The TOP hierarchy 101A has a logic gate C111 whose input terminal is connected to terminals A and B. The signal source 112 existing in the upper layer 101 before the optimization is omitted.
[0059]
The SUB hierarchy 201A includes a flip-flop 212 in which an input terminal G is connected to a terminal D, an output terminal H is connected to a terminal I, and a clock terminal is connected to a terminal CLK1. The logic gate F211 existing in the lower hierarchy 201 before optimization is omitted.
[0060]
FIG. 8 is a circuit diagram of the circuit 500 obtained as a result of hierarchical expansion of the circuit 400 by the logic circuit verification method of this embodiment, and the input side of the input terminal SUB / G401A of the flip-flop 212 in the circuit of FIG. Referring to FIG. 9A showing the extracted circuit 600, the input side circuit 600 has terminals A and B, a logic gate C111, and a buffer 701, and existed in the circuit of the same function before optimization. The signal source 112, the logic gate SUB / F 211, and the buffer 702 are omitted.
[0061]
Similarly, referring to FIGS. 9B and 9C showing the partial circuits 601 and 602 obtained by dividing the input side circuit 600, the partial circuit 601 includes the buffer SUB / D 701A, and the partial circuit 602 includes the terminals A and 602. B, logic gate C111, and buffer SUB / D701B.
[0062]
Next, with reference to FIG. 5 to FIG. 9, a description will be given of processing when it is determined that there is a mismatch in the verification result determination (step S5) of the comparison verification (step S4) in the comparison verification unit 5.
[0063]
As the corresponding verification points, the input terminal SUB / G401 and the input terminals SUB / G401 and 401A of the flip-flop 212 are verified.
[0064]
Corresponding partial circuits are a partial circuit 301 and a partial circuit 601, respectively. When equivalence is verified for these two partial circuits 301 and 601 (steps S4 and S5), it is determined that the two do not match. When the information on the input side of each partial circuit is searched because of mismatch, the hierarchical circuit terminals SUB / D and SUB / E corresponding buffers 701 and 702 are connected to the partial circuit 301, while the partial circuit 601 is connected to the partial circuit 601. A hierarchical cut terminal SUB / D correspondence buffer 701 is connected.
[0065]
Therefore, the partial circuits 302 and 303 and the partial circuit 602 connected to the input side are further extracted (step S6). Using the partial circuits 302 and 303 and the partial circuit 602 extracted again, the partial circuit on the input side is connected to each of the partial circuits 301 and 601, and the verification target partial circuit is expanded. Can be determined to match.
[0066]
Here, when the partial circuit to be verified is expanded by connecting the partial circuit on the input side and re-verification is performed, it is not necessary to connect all the partial circuits in a single process. It is the same even if the connection of the partial circuits and the re-verification process are repeated until the partial circuits are enlarged and matched.
[0067]
In this way, in this embodiment, when verifying the logic of the hierarchy currently being processed, processing that can refer to logic in other hierarchies is performed, so optimization across multiple hierarchies is performed. It is possible to verify correctly in the verification of logic equivalence in the case of doing.
[0068]
Further, since the process of dividing the partial circuit at the position where the hierarchical cut-off terminal is performed, verification can be performed without maximizing at least the partial circuit, and the amount of memory used can be suppressed. .
[0069]
Next, referring to FIG. 10 in which the second embodiment of the present invention is shown in the same block by adding common reference characters / numbers to the same components as in FIG. The difference from the first embodiment is that the partial circuit data F6 is divided into the partial circuit data F6 after the circuit division by the circuit dividing unit 4 instead of the partial circuit information extracting unit 7, and A partial circuit information extraction unit 7A that performs a process of storing the logic information held in the hierarchical cut terminal.
[0070]
Next, with reference to FIG. 10 and FIG. 11 in which the same reference characters / numbers are assigned to the same components as those in FIG. In this embodiment, after the circuit division in the circuit dividing unit 4 (step S4), the logical information of the partial circuit on the input side of the hierarchical circuit terminal of the partial circuit data F6 is stored in the hierarchical network terminal. The partial circuit information extraction processing step S7A to be stored is performed.
[0071]
If there is no coincidence in the comparison verification steps S4 and S5 of the partial circuits in the comparison verification unit 5 and the comparison result determination unit 5 thereafter, step S5 is performed using the logical information stored in the hierarchical cut terminal. Re-verification is performed in S6.
[0072]
As a result, it is not necessary to perform extraction processing of the partial circuit on the input side as needed.
[0073]
In this case, instead of extracting the logical information of the partial circuit on the input side for all hierarchical cut terminals, a specific condition is set, and the logical information is extracted only when the condition is met. May be.
[0074]
For example, if the optimization across the hierarchy is only in the case of constant propagation, only constant information is used as the extraction condition, and only the case where the logic on the input side of the hierarchy cut terminal is simplified to a constant is extracted. Store at the level cut terminal.
[0075]
In this way, the logical information to be extracted can be reduced, the processing can be performed at high speed, the amount of used memory can be suppressed, and the necessity of re-verification can be determined, and the processing speed can be increased.
[0076]
Next, the third embodiment of the present invention will be described with reference to FIG. 12 in which the same reference characters / numbers are attached to the same components as in FIG. The difference from the first embodiment described above is that a constant propagation processing unit 11 for performing constant propagation processing on the generated hierarchical expansion intermediate format F3 is provided after the hierarchical expansion processing unit 2. .
[0077]
The difference between the operation of the present embodiment and the first embodiment will be described with reference to FIG. 13. In the present embodiment, the hierarchy expansion intermediate format generated after the hierarchy expansion processing in step S2 For F4, the constant propagation processing unit 11 performs constant propagation processing step S11 across hierarchies so that constants set in the upper hierarchies are propagated to the lower hierarchies. Simplify the logic of the hierarchy.
[0078]
As a result, it is possible to prevent in advance that the comparison / verification unit 5 determines that there is a mismatch due to optimization across hierarchies.
[0079]
Therefore, this embodiment is effective when optimized by constant propagation across hierarchies.
[0080]
【The invention's effect】
As described above, the logic circuit verification apparatus and the logic circuit verification method according to the present invention include hierarchical expansion processing means for generating a hierarchical expansion intermediate format in which the intermediate format is hierarchically expanded and the hierarchical cut terminal information is stored in the hierarchical expansion processing. When verifying the logic of the hierarchy currently being processed by providing partial circuit information extraction means for extracting partial circuit information from partial circuit data using hierarchical cut-out terminal information in the case where the verification result judgment result does not match, Since the logic in another hierarchy can be referred to, there is an effect that it is possible to verify correctly even in the verification of the equivalence of logic when optimization is performed across a plurality of hierarchies.
[0081]
Further, by dividing the partial circuit at the position where the hierarchical cut-off terminal is located, at least the partial circuit can be verified without maximizing it, and the amount of used memory can be suppressed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first embodiment of a logic circuit verification device of the present invention.
FIG. 2 is a flowchart showing an example of operation in the logic circuit verification method of the present embodiment;
FIG. 3 is a circuit diagram showing circuit data of a first target circuit example in the logic circuit verification method of the present embodiment;
4 is a circuit diagram describing the circuit of FIG. 3 by dividing it into hierarchical units.
FIG. 5 is a circuit diagram showing a circuit obtained as a result of hierarchical expansion of the circuit data of FIG. 3 by the logic circuit verification method of the present embodiment;
6 is a circuit diagram of a circuit excerpted from a part of the circuit data of FIG. 5 and a circuit diagram in which this circuit data is divided and described in units of layers.
7 is a circuit diagram showing a circuit obtained as a result of performing optimization across layers using constant information for the circuit of FIG. 3;
FIG. 8 is a circuit diagram showing a circuit obtained as a result of hierarchical expansion of the circuit of FIG. 7 by the logic circuit verification method of the present embodiment;
9 is a circuit diagram of a circuit excerpted from a part of the circuit data of FIG. 8, and a circuit diagram in which this circuit data is divided and described in units of layers.
FIG. 10 is a block diagram showing a second embodiment of the logic circuit verification device of the present invention.
FIG. 11 is a flowchart showing an example of operation in the logic circuit verification method of the present embodiment;
FIG. 12 is a block diagram showing a third embodiment of the logic circuit verification device of the present invention.
FIG. 13 is a flowchart showing an example of operation in the logic circuit verification method of the present embodiment;
14 is a circuit diagram showing a circuit resulting from hierarchical expansion of the circuit of FIG. 3 by a normal method.
FIG. 15 is a circuit diagram showing a circuit obtained as a result of hierarchical expansion of the circuit of FIG. 7 by a normal method;
[Explanation of symbols]
1 Data input part
2 Hierarchy expansion processing part
3 Verification point extraction unit
4 Circuit division part
5 comparison verification part
6 Verification result judgment part
7,7A Partial circuit information extraction unit
8 Verification result output part
11 Constant propagation processor
101 TOP hierarchy
102 blocks
201 SUB hierarchy
111 logic gate C
112 Constant information
211 Logic gate F
212 flip-flop
100, 200, 300, 400, 500, 600 circuits
301, 302, 303, 601, 602 Partial circuit
701-704 buffers

Claims (7)

階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部端子を検証点 として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証装置において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力手段と、
前記中間形式を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子に関する情報である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理手段と、
前記階層展開中間形式から比較対象とする前記検 証点を抽出し検証点情報を出力する検証点抽出手段と、
前記階層展開中間形式及び前記検証点情報を参照し前記階層切り口端子情報を用いて前記前記検証対象論理回路を部分回路に分割して部分回路データを生成する回路分割手段と、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証手段と、
前記比較検証手段による検証結果を判断する検証結果判断部と、
前記検証結果の判断結果不一致の場合前記階層展開中間形式の前記階層切り口端子情報を用いて前記部分回路データから部分回路情報を抽出する部分回路情報抽出手段と、
前記検証結果を出力する検証結果出力手段とを備えることを特徴とする論理回路検証装置。
Information where the logic in the logic circuit to be verified that has a hierarchical structure is regarded as equivalent is extracted as a verification point using a register and / or an external terminal, and the circuit is divided into partial circuits by paying attention to the verification point, and information including the signal name In the logic circuit verification apparatus that verifies the logic equivalence between a plurality of logic circuits by determining the logic equivalence point from the above and verifying the logic equivalence for each corresponding partial circuit,
Data input means for reading circuit information from the circuit data and library of the logic circuit to be verified and converting the circuit information into an intermediate format; and
Hierarchical expansion processing means for generating a hierarchical expansion intermediate format in which the intermediate format is hierarchically expanded and the hierarchical cut terminal information, which is information related to a hierarchical cut terminal that is a boundary terminal between hierarchies in this hierarchical expansion processing, is stored;
A verification point extracting means for outputting the extracted verification point information the validation points to be compared from the hierarchical decomposition intermediate format,
Circuit dividing means for generating partial circuit data by dividing the verification target logic circuit into partial circuits using the hierarchical cut-out terminal information with reference to the hierarchical expansion intermediate format and the verification point information;
Comparison verification means for verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determination unit for determining a verification result by the comparison verification unit;
Partial circuit information extraction means for extracting partial circuit information from the partial circuit data using the hierarchical cut end terminal information in the hierarchical expansion intermediate format when the verification result does not match the determination result;
A logic circuit verification device comprising: verification result output means for outputting the verification result.
前記階層展開処理手段で生成した前記階層展開中間形式に対し定数伝播処理を行うための定数伝播処理手段を備えることを特徴とする請求項1記載の論理回路検証装置。  2. The logic circuit verification device according to claim 1, further comprising constant propagation processing means for performing constant propagation processing on the intermediate hierarchy development format generated by the hierarchy development processing means. 階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部端子を検証点 として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証装置において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力手段と、
前記中間形式を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子に関する情報である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理手段と、
前記階層展開中間形式から比較対象とする前記検 証点を抽出し検証点情報を出力する検証点抽出手段と、
前記階層展開中間形式及び前記検証点情報を参照し前記階層切り口端子情報を用いて前記前記検証対象論理回路を部分回路に分割して部分回路データを生成する回路分割手段と、
前記回路分割手段での回路分割後に前記部分回路データに前記階層切り口端子に関してその入力側の部分回路の持つ論理情報を前記階層切り口端子に記憶させる処理を行う部分回路情報抽出手段と、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証手段と、
前記比較検証手段による検証結果を判断する検証結果判断部と、
前記検証結果を出力する検証結果出力手段とを備えることを特徴とする論理回路検証装置。
Information where the logic in the logic circuit to be verified that has a hierarchical structure is regarded as equivalent is extracted as a verification point using a register and / or an external terminal, and the circuit is divided into partial circuits by paying attention to the verification point, and information including the signal name In the logic circuit verification apparatus that verifies the logic equivalence between a plurality of logic circuits by determining the logic equivalence point from the above and verifying the logic equivalence for each corresponding partial circuit,
Data input means for reading circuit information from the circuit data and library of the logic circuit to be verified and converting the circuit information into an intermediate format; and
Hierarchical expansion processing means for generating a hierarchical expansion intermediate format in which the intermediate format is hierarchically expanded and the hierarchical cut terminal information, which is information related to a hierarchical cut terminal that is a boundary terminal between hierarchies in this hierarchical expansion processing, is stored;
A verification point extracting means for outputting the extracted verification point information the validation points to be compared from the hierarchical decomposition intermediate format,
Circuit dividing means for generating partial circuit data by dividing the verification target logic circuit into partial circuits using the hierarchical cut-out terminal information with reference to the hierarchical expansion intermediate format and the verification point information;
Partial circuit information extracting means for performing processing for storing the logical information of the partial circuit on the input side with respect to the hierarchical cut terminal in the partial circuit data after the circuit division by the circuit dividing means;
Comparison verification means for verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determination unit for determining a verification result by the comparison verification unit;
A logic circuit verification device comprising: verification result output means for outputting the verification result.
前記階層切り口端子情報が、前記階層展開処理のときに前記部分回路データに設定したバッファに保存することを特徴とする請求項1又は3記載の論理回路検証装置。  4. The logic circuit verification device according to claim 1, wherein the hierarchy cut terminal information is stored in a buffer set in the partial circuit data at the time of the hierarchy development process. 階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部端子を検証点 として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証プログラムを格納した記憶媒体において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力ステップと、
前記中間形式の回路情報を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理ステップと、
前記階層展開中間形式から比較対象とする検証点 を抽出し、検証点情報に出力する検証点抽出ステップと、
前記階層展開中間形式及び前記検証点情報を参照し、前記階層切り口端子情報を用いて回路分割を行い、部分回路データを出力する回路分割ステップと、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証ステップと、
前記検証点情報及び前記部分回路データの検証結果を判定する検証結果判断ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果が一致の場合は、前記検証結果を出力する検証結果出力ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果両者が不一致の場合には、前記部分回路データを再度参照し前記階層展開中間形式の階層切り口端子情報を用いて新たな部分回路情報を抽出する部分回路情報抽出ステップとを有することを特徴とする論理回路検証プログラムを格納した記憶媒体。
Information where the logic in the logic circuit to be verified that has a hierarchical structure is regarded as equivalent is extracted as a verification point using a register and / or an external terminal, and the circuit is divided into partial circuits by paying attention to the verification point, and information including the signal name In a storage medium storing a logic circuit verification program for verifying logical equivalence between a plurality of logic circuits by determining a logical equivalence point from each of the corresponding partial circuits,
A data input step of reading circuit information from the circuit data of the logic circuit to be verified and the library from the library and converting the circuit information to an intermediate format;
A hierarchical expansion processing step for generating a hierarchical expansion intermediate format in which the intermediate format circuit information is hierarchically expanded and the hierarchical cut terminal information that is a boundary terminal between the hierarchical levels is stored in the hierarchical expansion processing;
A verification point extraction step of extracting a verification point to be compared from the hierarchical expansion intermediate format and outputting it as verification point information;
A circuit division step of referring to the hierarchical expansion intermediate format and the verification point information, performing circuit division using the hierarchy cut terminal information, and outputting partial circuit data;
A comparison verification step of verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determining step for determining a verification result of the verification point information and the partial circuit data;
If the verification result information and the verification result of the partial circuit data match in the verification result determination step, a verification result output step of outputting the verification result;
If the verification point information and the verification result of the partial circuit data do not match in the verification result determination step, the partial circuit data is referred to again, and a new partial portion is used by using the hierarchical cut terminal information in the hierarchical expansion intermediate format. A storage medium storing a logic circuit verification program, comprising: a partial circuit information extraction step for extracting circuit information.
前記階層展開処理ステップで生成した前記階層展開中間形式に対し定数伝播処理を行うための定数伝播処理ステップを有することを特徴とする請求項8記載の論理回路検証プログラムを格納した記憶媒体。  9. The storage medium storing a logic circuit verification program according to claim 8, further comprising a constant propagation processing step for performing constant propagation processing on the intermediate layer expansion format generated in the layer expansion processing step. 階層構造を有する検証対象の論理回路における論理が等価とみなす個所を、レジスタ及び又は外部端子を検証 点として抽出し、この検証点に注目して回路を部分回路に分割し、信号名を含む情報から論理等価点を決定し、対応する部分回路毎に論理等価性を検証することにより、複数の論理回路相互間の論理等価性を検証する論理回路検証プログラムを格納した記憶媒体において、
検証対象論理回路の回路データとライブラリから回路情報を読み込みこの回路情報を中間形式に変換出力するデータ入力ステップと、
前記中間形式の回路情報を階層展開しこの階層展開処理において階層間の境界端子である階層切り口端子情報を保存した階層展開中間形式を生成する階層展開処理ステップと、
前記階層展開中間形式から比較対象とする検証点 を抽出し、検証点情報に出力する検証点抽出ステップと、
前記階層展開中間形式及び前記検証点情報を参照し、前記階層切り口端子情報を用いて回路分割を行い、部分回路データを出力する回路分割ステップと、
前記回路分割ステップの後に前記部分回路データに前記階層切り口端子に関してその入力側の部分回路の持つ論理情報を前記階層切り口端子に記憶させる処理を行う部分回路情報抽出ステップと、
前記検証点情報及び前記部分回路データを参照して対応する部分回路の論理等価性を検証する比較検証ステップと、
前記検証点情報及び前記部分回路データの検証結果を判定する検証結果判断ステップと、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果が一致の場合は、前記検証結果を出力する検証結果出力ステップとを有し、
前記検証結果判断ステップで前記検証点情報及び前記部分回路データの検証結果両者が不一致の場合には、前記部分回路情報抽出ステップで前記階層切り口端子に記憶させてある前記論理情報を利用して再度比較検証ステップで再検証を行うことを特徴とする論理回路検証プログラムを格納した記憶媒体。
Information where the logic in the logic circuit to be verified that has a hierarchical structure is regarded as equivalent is extracted using the registers and / or external terminals as verification points, and the circuit is divided into partial circuits by paying attention to the verification points, and information including signal names In a storage medium storing a logic circuit verification program for verifying logical equivalence between a plurality of logic circuits by determining a logical equivalence point from each of the corresponding partial circuits,
A data input step of reading circuit information from the circuit data of the logic circuit to be verified and the library from the library and converting the circuit information to an intermediate format;
A hierarchical expansion processing step for generating a hierarchical expansion intermediate format in which the intermediate format circuit information is hierarchically expanded and the hierarchical cut terminal information that is a boundary terminal between the hierarchical levels is stored in the hierarchical expansion processing;
A verification point extraction step of extracting a verification point to be compared from the hierarchical expansion intermediate format and outputting it as verification point information;
A circuit division step of referring to the hierarchical expansion intermediate format and the verification point information, performing circuit division using the hierarchy cut terminal information, and outputting partial circuit data;
A partial circuit information extraction step for performing a process of storing logical information of the partial circuit on the input side of the partial circuit data in the partial circuit data after the circuit dividing step;
A comparison verification step of verifying the logical equivalence of the corresponding partial circuit with reference to the verification point information and the partial circuit data;
A verification result determining step for determining a verification result of the verification point information and the partial circuit data;
If the verification result information and the verification result of the partial circuit data match in the verification result determination step, the verification result output step of outputting the verification result,
If the verification point information and the verification result of the partial circuit data do not match in the verification result judging step, the logical information stored in the hierarchical cut terminal is used again in the partial circuit information extraction step. A storage medium storing a logic circuit verification program, wherein re-verification is performed in a comparison verification step.
JP2000166221A 2000-06-02 2000-06-02 Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program Expired - Fee Related JP3652220B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000166221A JP3652220B2 (en) 2000-06-02 2000-06-02 Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000166221A JP3652220B2 (en) 2000-06-02 2000-06-02 Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program

Publications (2)

Publication Number Publication Date
JP2001344300A JP2001344300A (en) 2001-12-14
JP3652220B2 true JP3652220B2 (en) 2005-05-25

Family

ID=18669575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000166221A Expired - Fee Related JP3652220B2 (en) 2000-06-02 2000-06-02 Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program

Country Status (1)

Country Link
JP (1) JP3652220B2 (en)

Also Published As

Publication number Publication date
JP2001344300A (en) 2001-12-14

Similar Documents

Publication Publication Date Title
Van Eijk Sequential equivalence checking based on structural similarities
US5333032A (en) Logic design system and method in the same
US5751596A (en) Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system
US20030208730A1 (en) Method for verifying properties of a circuit model
US20030204822A1 (en) Digital logic optimization using selection operators
US7587690B1 (en) Method and system for global coverage analysis
US7007261B1 (en) Translation of an electronic integrated circuit design into hardware description language using circuit description template
JP3137056B2 (en) Fault propagation path extraction system and method, and recording medium on which control program is recorded
JP2002259477A (en) Method for design change of semiconductor circuit
JP4654203B2 (en) Method for creating HDL description file for digital system and resulting system
JPH10283394A (en) Fault simulation method
US6321173B1 (en) System and method for efficient verification of functional equivalence between design models
JP3652220B2 (en) Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program
US6170072B1 (en) Logic circuit verification apparatus and method for semiconductor integrated circuit
EP1407392A2 (en) Digital circuits with selection operators
JPWO2006025412A1 (en) Logic verification method, logic module data, device data, and logic verification apparatus
JP2967761B2 (en) Logic synthesis method and apparatus
JP4907788B2 (en) Fault propagation path estimation system
JP2872216B1 (en) Macro design method
JP4587754B2 (en) Clock synthesis method, semiconductor device, and program
JP2853649B2 (en) How to create a logic simulation model
JP3759007B2 (en) Asynchronous circuit timing verification apparatus and timing verification method thereof
JP2000150659A (en) Method for designing layout of semiconductor integrated circuit device
JP2845154B2 (en) How to create a logic simulation model
JP3105782B2 (en) Logic generation method for electronic circuits

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees