JP4221730B2 - 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置 - Google Patents

回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置 Download PDF

Info

Publication number
JP4221730B2
JP4221730B2 JP2006130238A JP2006130238A JP4221730B2 JP 4221730 B2 JP4221730 B2 JP 4221730B2 JP 2006130238 A JP2006130238 A JP 2006130238A JP 2006130238 A JP2006130238 A JP 2006130238A JP 4221730 B2 JP4221730 B2 JP 4221730B2
Authority
JP
Japan
Prior art keywords
logic
circuit
standard form
signal information
logic 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.)
Expired - Fee Related
Application number
JP2006130238A
Other languages
English (en)
Other versions
JP2007304699A (ja
Inventor
浩 吉川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006130238A priority Critical patent/JP4221730B2/ja
Priority to US11/586,516 priority patent/US7617466B2/en
Publication of JP2007304699A publication Critical patent/JP2007304699A/ja
Application granted granted Critical
Publication of JP4221730B2 publication Critical patent/JP4221730B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、論理回路のハザードをチェックするためのハザードチェック方法及びハザードチェック装置並びに該ハザードチェック方法及びハザードチェック装置で利用する回路連言標準形を生成するための回路連言標準形生成方法及び回路連言標準形生成装置に関する。
論理合成システムは、機能記述されたハードウエア記述と、論理的に等価な回路を合成するが、1相同期回路を前提に開発されているので、グリッチ発生に関する考慮は全く行われていない。
「計算論理入門」 法政大学名誉教授 田中尚夫 著 118〜124頁 1997年10月刊行 ISBN4−7853−1505−9 5 命題論理に関する計算量問題 5.1 充足可能性問題 「計算理論とオートマトン言語理論−コンピュータの原理を明かす−」 東北大学教授 丸岡 章 著 234〜241頁 ISBN4−7819−1104−8 2005年11月刊行 サイエンス社刊行 9.6 回路の充足可能性問題の式充足可能性問題への帰着 GRASP: A Search Algorithm for Propositional Satisfiability, IEEE Transactions on Computers, Vol.48, No.5, 1999, pp.506-521
ただ、1相同期で全ての回路を設計することは少なく、実際は、マルチサイクルパスや非同期パスが部分的に存在している。この部分において、ハザードが発生していることをチェックする方法が無かった。
ハードウエア記述言語で書かれた機能を、論理回路として生成する論理合成では、ハードウエア記述言語で書かれた論理通りの回路を生成するが、論理最適化の際にグリッチは考慮していない。そこで、非同期パスやマルチサイクルパスのようなタイミング例外のパスの合成において、グリッチが発生し、かつフリップ・フロップがデータを取り込むタイミングで伝わると、ハザードとなり、回路が誤動作してしまう。しかしながら、このハザードを検出する方法が無かった。
タイミング例外におけるハザードの発生は、次のようなケースに代表される。まず、ハードウエア記述言語としては、図2のように、タイミング例外のパスからデータを取り込んで良いかどうかを制御する制御信号(ストローブ信号)を設け、その信号が0の時は、タイミング例外のパスは確定していないので取り込まず、逆に1の時に取り込むという記述を行う。図2では、制御信号が0の時は、フリップ・フロップに非同期、マルチサイクルパスの信号の変化が必ず伝播しないように設計している。
しかし、論理合成システムが図3の回路を生成してしまう可能性がある。この回路は論理的には図2と等価であるが、タイミング例外のパスの影響が、制御信号が0の時であってもフリップ・フロップにデータの変化が伝播してしまう。この変化している時に、フリップ・フロップのクロック信号が立ち上がると、論理誤動作(ハザード)が発生する。
尚、本例では、制御信号とタイミング例外信号のAND論理で、信号伝播を制御する方式を示したが、AND以外に、ORやセレクタ論理で制御する方法も存在する。
本発明は、マルチサイクルパスや非同期パスを有する論理回路のハザードをチェックするためのハザードチェック方法及びハザードチェック装置並びに該ハザードチェック方法及びハザードチェック装置で利用する回路連言標準形を生成するための回路連言標準形生成方法及び回路連言標準形生成装置を提供することを目的とする。
本発明の第1の観点によれば、論理回路を読み込むステップと、もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換するステップと、論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップ(これらを始点と呼ぶ)まで、各ネットに対して、2つの数字(ni,nj)をアサインするステップと、論理回路から、信号情報で記述された各終点について、再度、終点から入力側をトレースし、各ブロックに対して、論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力するステップと、論理回路から、信号情報で記述された各終点について、各ネットに対して、ni’+nj(「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各終点について、終点のハザードniに相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、タイミング例外信号が存在するネットに対して、niに相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、論理値0が指定された信号が存在するネットに対して、(ni’、nj’)に相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、論理値1が指定された信号が存在するネットに対して、(ni’、nj)に相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、論理値が指定されない信号が存在するネットに対して、ni’に相当する論理を回路連言標準形に追加するステップと、を備えることを特徴とする回路連言標準形生成方法が提供される。
本発明の第2の観点によれば、論理回路を読み込むステップと、もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換するステップと、論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップまで、各ネットに対して、2つの数字(ni,nj)をアサインするステップと、論理回路から、信号情報で記述された各終点について、再度、終点から入力側をトレースし、各ブロックに対して、論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力するステップと、論理回路から、信号情報で記述された各終点について、各ネットに対して、ni’+nj(「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各終点について、終点のハザードniに相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、タイミング例外信号が存在するネットに対して、niに相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、論理値0が指定された信号が存在するネットに対して、(ni’、nj’)に相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、論理値1が指定された信号が存在するネットに対して、(ni’、nj)に相当する論理を回路連言標準形に追加するステップと、論理回路から、信号情報で記述された各点について、論理値が指定されない信号が存在するネットに対して、ni’に相当する論理を回路連言標準形に追加するステップと、前記回路連言標準形を充足可能性判定することによりハザードチェックするステップと、を備えることを特徴とするハザードチェック方法が提供される。
第1の効果は、ハザードの発生を網羅的にチェックできることにある。
その理由は、ハザード発生の可能性を充足可能性問題に変換し、それを網羅的に確認しているためである。
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
本発明では、非同期パスやマルチサイクルパスのようなタイミング例外のパスにおいて、論理合成システムが合成した回路に、ハザードが発生していないかどうかを、網羅的にチェックする。
図1を用いて説明を行う。入力装置1から、本方式の起動が行われる。論理抽出部21は、論理合成の結果である論理合成後の論理回路31を読み込み、信号情報33で記述された検証対象のフリップ・フロップの入力ピンや回路の出力から、その入力側を、フリップ・フロップまたは回路の入力(始点)までをトレースし、論理ライブラリ32に格納されている各ブロックの論理情報を参照して、対象部分の回路の論理動作を、3値(0,1,X)の回路動作で表現したものを回路連言標準形34として出力する。
境界条件設定部22は、信号情報33を読み、タイミング例外信号(非同期信号やマルチサイクル信号)にはX値を、制御信号にはタイミング例外信号が伝播しないように設定された論理値(指定された値)を、その他の信号(通常の同期信号)には0、または1の両方の論理値が取れるという指定を、回路連言標準形34へ追加する。
充足可能性判定部23は、回路連言標準形34を読み、これを満足する解があるかを網羅的に探索を行う。
なお、充足可能性判定部23は、従来からある部分であり、回路連言標準形を生成するまでの部分が本発明に従った部分である。回路連言標準形は、従来からの充足可能性判定部23が読めるものであるが、本発明に従ったものである。
結果出力部24は、充足可能性判定部23が、充足解を発見すればハザードがあり、充足解が無ければハザードが存在しないことを検証結果35へレポートする。
次に、本発明の実施形態の構成について図面を参照して詳細に説明する。
図1を参照して構成を説明する。
本発明は、キーボード等の入力装置1と、プログラム制御により動作するデータ処理装置2と、情報を記憶する記憶装置3とを含む。
記憶装置3は、論理回路31、論理ライブラリ32、信号情報33、回路連言標準形34、検証結果35をデータとして格納している。
論理回路31は、チェック対象の論理回路である。
論理ライブラリ32は、各ゲートの論理を表現したライブラリである。
信号情報33は、タイミング例外のパスの始点終点信号名と、タイミング例外信号を制御するストローブ信号名と、その信号がタイミング例外信号を伝播しない時の論理値の一覧である。
回路連言標準形34は、検証対象部分を、連言標準形で表した式である。なお、回路連言標準形とは、図11に示すような形式であり、和積のブール式の形式を有する。
検証結果35は、ハザードが発生するかどうかのチェック結果である。
データ処理装置2は、論理抽出部21と、境界条件設定部22と、充足可能性判定部23と、結果出力部24を備える。
論理抽出部21は、論理回路31を読み込み、信号情報33に記載されたタイミング例外信号の終点となるフリップ・フロップや回路の出力を1つずつ取り出し、その入力側をフリップ・フロップまたは回路の入力までトレースし、その入力側の論理を、論理ライブラリ32を参照し、回路連言標準形34へ変換を行う。
境界条件設定部22は、信号情報33を参照し、タイミング例外信号の始点、終点に関してはX値を、ストローブ信号に関しては指定された論理値を、その他の入力信号に関しては1サイクル信号である指定を回路連言標準形34に追加出力する。
充足可能性判定部23は、回路連言標準形34を読み込み、その連言標準形を満足する解、つまりは終点にX値が伝播する場合が存在するかどうかを網羅的に判定する。
結果出力部24は、充足解が存在すれば、この回路はハザード発生の可能性あり、解が存在しなければハザードの可能性が無しと、検証結果35へレポートする。
次に、図1を参照して本発明の第1の実施形態の動作について詳細に説明する。
まず、図4が入力となる論理回路31の例である。
また、図5が信号情報33の例である。ここで、1行目では、multi_async という入力(始点)(図4に存在)から、A_regというレジスタ(終点)(図4に存在)のパスが、非同期パスであり、1サイクル動作でないタイミング制約のないフォルスパスであることを示している。2行目では、strbという入力(図4に存在)が制御信号であり、その値が0の時に、前述のパスが活性化されない(信号が伝播しない)はずであることを示している。
詳細説明の前に、本方式で扱う、論理表現を説明する。本方式では、回路の動作を0、1、Xの3値で扱うが、一般の充足可能性問題は、0、1の2値しか扱えないので、0、1、Xを2つの変数を用いた内部表現で行う。その例を図6に示す。0は(0,0), 1は(0,1), Xは(1,1)で表現する。尚、(1,0)は存在しない(ここでは、この割り当てを用いたが、他の組み合わせも可能)。
この論理値を使用した場合に、簡単な例として、図7のNORゲートの入力と出力の関係を表であらわすと、図8のようになる。例えば、一方の入力である(i1,i2)と他方の入力である(j1,j2)がそれぞれ(0,0)と(0,1)の場合は(0,0)が出力されることを示している。これは、2値論理でいう、0と1が入力された時は、0が出力されることと等価である。この結果から、図9のような真理値表が導かれる(この真理値表も一意ではない)。
この真理値表から、図10の上式で示されたような、A−>B(式1)(Aが成立すれば、Bも成立すること示す。)という関係に変換する。また、図10に示されたように、A−>Bは、A’+B=1 (式2)というブール式に変換できる。ここで「’」は論理反転を示す。
図11の各式は、図9の真理値表の各行をA−>B形式に変換し、更に、それを(式2)の形式に変換した結果を示している。例えば、
i1’*i2→o1’*o2’
は、図9の第1行を(式1)の形式で表したものであり、
(i1+i2’+o1’)(i1+i2’+o2’)
は、図9の第1行を(式2)の形式で表したものである。
2入力NORゲートにおいては、常に図11中の式が成り立たつはずなので、まとめると以下の式3が常に成り立つことになる。
(i1+i2’+o1’)×(i1+i2’+o2’)
×(j1+j2’+o1’)×(j1+j2’+o2’)
×(i1+i2+j1+j2+o1’)×(i1+i2+j1+j2+o2)
×(i1’+i2’+j1+j2+o1)
×(i1’+i2’+j1+j2+o2)
×(i1+i2+j1’+j2’+o1)
×(i1+i2+j1’+j2’+o2)
×(i1’+i2’+j1’+j2’+o1)
×(i1’+i2’+j1’+j2’+o2)
=1 (式3)
すなわち、図9の各行を(式2)の形式で表したものの積が(式3)の左辺である。
これを、データ処理装置(コンピュータ)2が扱いやすい形式に変換するために、次のような変換を行う。すなわち、i1を1、i2を2、j1を3、j2を4、o1を5、o2を6と表し、各々の否定(論理反転)をマイナスで表す。また、(式3)において、括弧(各項)内の式を1行で表し、+ (or)は省略し(表示せず)、ブランクとする。この結果を、図12に示す。すなわち、(式3)を、図12に示すような形式で表すことにより、充足可能性判定部23が入力できるようになる。なお、各行の最後の0は項の終端であることを示している。このフォーマットは一般に当業者の間でCNFとも呼ばれることがあるが、本発明では、連言標準形と呼ぶ。本システムでは、論理回路で使用される組み合わせ論理回路素子の連言標準形を内部に予め埋め込んでおく。
次に、動作の説明を行う。
論理回路抽出部21は、次のステップから構成される。
ステップ1:論理回路31を読み込む。もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換する。一般に、インバータと2入力NORゲートがあれば、全ての論理回路を等価変換できることが知られている。
ステップ2:論理回路31から、信号情報33で記述された終点を順次1つ選択する。全ての終点に対し、以下のステップを行う。
ステップ3:選択された終点から、入力側をトレースし、各ネットに対して、1から順番に2つの数字(n1,n2)をアサインする(終点から遡及して最初のネットは、(1,2)となり、以下(3,4)(5,6)と続く。トレースは、回路の入力、フリップ・フロップまで行う)。
ステップ4:再度、終点から入力側をトレースし、各ブロックに対して、論理ライブラリ32を参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形34として出力する。
ステップ5:各ネットに対して、(1,0)の組み合わせはありえないので、 n1’+n2(式4)に相当する論理を回路連言標準形34に追加する。
上記のステップを、図4、図5の例を参考に説明する。
ステップ1:論理回路31を読み込む。図4を読み込んだことになるが、この例では組み合わせ回路のブロックは2入力のNORしか存在しないので、次のステップへ進む。
ステップ2:信号情報33(図5)を読み、終点はA_reg1つであることを設定する。
ステップ3:A_regから、入力方向にトレースを行い、ネットN001に(1,2)、N003に(3,4)、multi_asyncに(5,6)、otherに(7,8)、N002に(9,10)、strbに(11,12)をアサインする。本例では、ブロックの下の入力PINから順にトレースしているが、上のPINからトレースしても良い。
ステップ4:再度、A_regから、入力側をトレースする。まず、U01の論理ライブラリ32を参照すると、2入力NORゲートであるので、埋め込まれている2入力NORゲートの連言標準形を取り出す。これは図12である。ただし、番号は、ノードの番号に合わせる。すなわち、図12は入力が(1,2)(3,4)で出力が(5,6)の場合であるが、U01の入力はN003の(3,4)と、N002の(9,10)、出力はN001の(1,2)なので、それに置き換えて、回路連言標準形34へ出力する。その結果は、図13の1行目から12行目にあたる。
以下、全ゲートに対して同様な処理を行うと、図13の36行目までが生成される。
ステップ5:全ネットに対して、式4に当てはまる論理を出力する。例えば、ネットN001は、−1 2 であり、その結果は、図13の37行目から42行目にあたる。なお、図13においては、1行目から24行目までを左側に描き、25行目以降を右側に描いている。
境界条件設定部22は、信号情報22を読み、終点にXに相当する(1,1)を、回路連言標準形34に追加出力する。但し、式1より、(1,?)という指定でも、(1,1)と等価になるので、(1,1)の代わりに(1,?)を出力する。
制御信号(始点)には指定された論理値を、追加出力する。すなわち、0が指定されていれば(0,0)を回路連言標準形34に追加出力し、1が指定されていれば(0,1)を追加出力する。
タイミング例外信号の始点に関しては、Xに相当する(1,1)を、回路連言標準形34に追加出力する。但し、式1より、(1,?)という指定でも、(1,1)と等価になるので、(1,1)の代わりに(1,?)を出力する。
その他の始点の信号は、0か1のどちらかを取りえるので、(0,?)を回路連言標準形34に追加出力する。(?は指定しない事を意味する)。
図5の場合は、A_reg.に対して、Xに相当する(1,?)を設定するが、そのネットはN001で(1,2)にアサインされているので、1を出力する(図13の43行目)。
multi_asyncはタイミング例外信号なので(1,?)を与える。その際、multi_asyncのネットは(5,6)にアサインされているので、5を出力する(図13の44行目)。
制御信号として、strbに0が与えられているので、(0,0)を設定する。strbネットは、(11,12)にアサインされているので、−11と−12を出力する(図13の45、46行目)。
その他の信号otherは0か1であり、ネットotherは(7,8)にアサインされているので、−7を出力する(図13の47行目)。
以上で、回路連言標準形34には、制御信号が与えられた論理値の場合で、かつタイミング例外信号の始点をXとした条件で、他の入力信号を0、1全ての組み合わせを網羅的に考えた上で、タイミング例外信号の終点がXになる場合があるかどうかを充足判定する式になっている。
充足可能性判定部23は、回路連言標準形34を読み、これを満足する場合が存在するかどうかを網羅的に探索し、充足解があればその解を、無ければ充足解なしと判定する。今回の例の場合は、充足解なしと判定される。
結果出力部24は、充足解が無ければハザードがなし、充足解があればハザードの可能性ありと、検証結果35へレポートする。
次に、本発明の第1の実施形態の効果について説明する。
本発明の第1の実施形態では、論理抽出部21と境界条件設定部22で作成された回路連言標準形34を、充足可能性判定部23で網羅的にハザードの発生する可能性を探索するというように構成されているため、ハザード伝播の可能性を完全にチェックできる。
本発明の実施形態1によるハザードチェック装置の構成を示すブロック図である。 論理合成する前の回路例を示す回路図である。 図2に示す回路を論理合成装置にかけた場合に生成される回路例を示す回路図である。 本発明の実施形態によるハザードチェック装置がチェックの対象とする回路の例を示す回路図である。 図4に示す回路における信号情報の例を示す図である。 本発明の実施形態による3値表現を示す図である。 本発明の実施形態による3値表現をNORゲートに適用した場合に現れるパラメータを示す図である。 本発明の実施形態による3値表現によりNORゲートの入出力関係を表した表である。 本発明の実施形態による3値表現によりNORゲートの入出力関係を表した別の表である。 本発明の実施形態で利用する論理変換を示す図である。 本発明の実施形態においてNORゲートを回路連言標準形で表現した式を表す図である。 図11に示す式を充足可能性判定部が入力できるように変換した数列を示す図である。 図4に示す回路のハザードをチェックするための回路連言標準形を表す数列を示す図である。
符号の説明
21 論理抽出部
22 境界条件設定部
23 充足可能性判定部
24 結果出力部
31 論理回路
32 論理ライブラリ
33 信号情報
34 回路連言標準形
35 検証結果

Claims (6)

  1. 論理回路を読み込むステップと、
    もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換するステップと、
    論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップ(以下、「始点」と言う。)まで、各ネットに対して、2つの数字(n,n)をアサインするステップと、
    論理回路から、信号情報で記述された各終点について、再度、終点から始点まで入力側をトレースし、各ブロックに対して、各ブロックの論理及びそれに対応した連言標準形が格納されている論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力するステップと、
    論理回路から、信号情報で記述された各終点について、各ネットに対して、n’+n(「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各終点について、終点のハザードnに相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、タイミング例外信号が存在するネットに対して、nに相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値0が指定された信号が存在するネットに対して、(n’、n’)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値1が指定された信号が存在するネットに対して、(n’、n)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値が指定されない信号が存在するネットに対して、n’に相当する論理を回路連言標準形に追加するステップと、
    を備えることを特徴とする回路連言標準形生成方法。
  2. 論理回路を読み込むステップと、
    もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換するステップと、
    論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップ(以下、「始点」と言う。)まで、各ネットに対して、2つの数字(n,n)をアサインするステップと、
    論理回路から、信号情報で記述された各終点について、再度、終点から始点まで入力側をトレースし、各ブロックに対して、各ブロックの論理及びそれに対応した連言標準形が格納されている論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力するステップと、
    論理回路から、信号情報で記述された各終点について、各ネットに対して、n’+n(「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各終点について、終点のハザードnに相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、タイミング例外信号が存在するネットに対して、nに相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値0が指定された信号が存在するネットに対して、(n’、n’)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値1が指定された信号が存在するネットに対して、(n’、n)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値が指定されない信号が存在するネットに対して、n’に相当する論理を回路連言標準形に追加するステップと、
    前記回路連言標準形を充足可能性判定することによりハザードチェックするステップと、
    を備えることを特徴とするハザードチェック方法。
  3. 論理回路を読み込む手段と、
    もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換する手段と、
    論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップ(以下、「始点」と言う。)まで、各ネットに対して、2つの数字(n,n)をアサインする手段と、
    論理回路から、信号情報で記述された各終点について、再度、終点から始点まで入力側をトレースし、各ブロックに対して、各ブロックの論理及びそれに対応した連言標準形が格納されている論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力する手段と、
    論理回路から、信号情報で記述された各終点について、各ネットに対して、n’+n(「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各終点について、終点のハザードnに相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、タイミング例外信号が存在するネットに対して、nに相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、論理値0が指定された信号が存在するネットに対して、(n’、n’)に相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、論理値1が指定された信号が存在するネットに対して、(n’、n)に相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、論理値が指定されない信号が存在するネットに対して、n’に相当する論理を回路連言標準形に追加する手段と、
    を備えることを特徴とする回路連言標準形生成装置。
  4. 論理回路を読み込む手段と、
    もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換する手段と、
    論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップ(以下、「始点」と言う。)まで、各ネットに対して、2つの数字(n,n)をアサインする手段と、
    論理回路から、信号情報で記述された各終点について、再度、終点から始点まで入力側をトレースし、各ブロックに対して、各ブロックの論理及びそれに対応した連言標準形が格納されている論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力する手段と、
    論理回路から、信号情報で記述された各終点について、各ネットに対して、n’+n(「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各終点について、終点のハザードnに相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、タイミング例外信号が存在するネットに対して、nに相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、論理値0が指定された信号が存在するネットに対して、(n’、n’)に相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、論理値1が指定された信号が存在するネットに対して、(n’、n)に相当する論理を回路連言標準形に追加する手段と、
    論理回路から、信号情報で記述された各始点について、論理値が指定されない信号が存在するネットに対して、n’に相当する論理を回路連言標準形に追加する手段と、
    前記回路連言標準形を充足可能性判定することによりハザードチェックする手段と、
    を備えることを特徴とするハザードチェック装置。
  5. 論理回路を読み込むステップと、
    もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換するステップと、
    論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップ(以下、「始点」と言う。)まで、各ネットに対して、2つの数字(n ,n )をアサインするステップと、
    論理回路から、信号情報で記述された各終点について、再度、終点から始点まで入力側をトレースし、各ブロックに対して、各ブロックの論理及びそれに対応した連言標準形が格納されている論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力するステップと、
    論理回路から、信号情報で記述された各終点について、各ネットに対して、n ’+n (「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各終点について、終点のハザードn に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、タイミング例外信号が存在するネットに対して、n に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値0が指定された信号が存在するネットに対して、(n ’、n ’)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値1が指定された信号が存在するネットに対して、(n ’、n )に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値が指定されない信号が存在するネットに対して、n ’に相当する論理を回路連言標準形に追加するステップと、
    をコンピュータに実行させるためのプログラム。
  6. 論理回路を読み込むステップと、
    もし、論理回路中の全ブロックの連言標準形が予め埋め込まれていない場合は、連言標準形が予め埋め込まれているブロックだけの論理回路に等価変換するステップと、
    論理回路から、信号情報で記述された各終点について、終点から入力側をトレースし、回路の入力、フリップ・フロップ(以下、「始点」と言う。)まで、各ネットに対して、2つの数字(n ,n )をアサインするステップと、
    論理回路から、信号情報で記述された各終点について、再度、終点から始点まで入力側をトレースし、各ブロックに対して、各ブロックの論理及びそれに対応した連言標準形が格納されている論理ライブラリを参照し、それと同じ論理の連言標準形を検索し、接続されているネットにアサインされた数字に連言標準形を置き換えて、回路連言標準形として出力するステップと、
    論理回路から、信号情報で記述された各終点について、各ネットに対して、n ’+n (「’」は論理否定を示す。)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各終点について、終点のハザードn に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、タイミング例外信号が存在するネットに対して、n に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値0が指定された信号が存在するネットに対して、(n ’、n ’)に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値1が指定された信号が存在するネットに対して、(n ’、n )に相当する論理を回路連言標準形に追加するステップと、
    論理回路から、信号情報で記述された各始点について、論理値が指定されない信号が存在するネットに対して、n ’に相当する論理を回路連言標準形に追加するステップと、
    前記回路連言標準形を充足可能性判定することによりハザードチェックするステップと、
    をコンピュータに実行させるためのプログラム。
JP2006130238A 2006-05-09 2006-05-09 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置 Expired - Fee Related JP4221730B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006130238A JP4221730B2 (ja) 2006-05-09 2006-05-09 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置
US11/586,516 US7617466B2 (en) 2006-05-09 2006-10-26 Circuit conjunctive normal form generating method, circuit conjunctive normal form generating device, hazard check method and hazard check device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006130238A JP4221730B2 (ja) 2006-05-09 2006-05-09 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置

Publications (2)

Publication Number Publication Date
JP2007304699A JP2007304699A (ja) 2007-11-22
JP4221730B2 true JP4221730B2 (ja) 2009-02-12

Family

ID=38686530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006130238A Expired - Fee Related JP4221730B2 (ja) 2006-05-09 2006-05-09 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置

Country Status (2)

Country Link
US (1) US7617466B2 (ja)
JP (1) JP4221730B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117578B2 (en) * 2007-12-28 2012-02-14 Nec Corporation Static hazard detection device, static hazard detection method, and recording medium
US8661381B1 (en) * 2008-05-15 2014-02-25 Altera Corporation Method and apparatus for performing optimization using Don't Care states
JP5440094B2 (ja) * 2009-10-22 2014-03-12 日本電気株式会社 回路設計装置及び方法
US10073932B2 (en) * 2016-03-04 2018-09-11 Synopsys, Inc. Capturing time-slice of emulation data for offline embedded software debug
CN115062566B (zh) * 2022-06-21 2023-06-27 深圳国微芯科技有限公司 含有x值的电路的简化方法、验证方法、存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02112773A (ja) 1988-10-21 1990-04-25 Nec Corp ディジタル回路のハザードチェック方式
JPH0535816A (ja) 1991-07-30 1993-02-12 Toshiba Corp シミユレーシヨン方法
JPH05128200A (ja) 1991-11-02 1993-05-25 Fujitsu Ltd 論理合成方法及び装置
US20050102594A1 (en) * 2003-09-26 2005-05-12 The Regents Of The University Of California Method for test application and test content generation for AC faults in integrated circuits

Also Published As

Publication number Publication date
US20070266348A1 (en) 2007-11-15
US7617466B2 (en) 2009-11-10
JP2007304699A (ja) 2007-11-22

Similar Documents

Publication Publication Date Title
US8271918B2 (en) Formal verification of clock domain crossings
US7890901B2 (en) Method and system for verifying the equivalence of digital circuits
US7162706B2 (en) Method for analyzing and validating clock integration properties in circuit systems
US6038392A (en) Implementation of boolean satisfiability with non-chronological backtracking in reconfigurable hardware
JP2001142937A (ja) 回路のスケジューリング正当性チェック方法及びスケジュール検証方法
US20050091025A1 (en) Methods and systems for improved integrated circuit functional simulation
US20140165022A1 (en) Relative timing architecture
JP2011512602A (ja) 同期から非同期への論理変換
US9953120B2 (en) Relative timing characterization
JP4221730B2 (ja) 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置
US11347917B2 (en) Determining and verifying metastability in clock domain crossings
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
Ataei et al. An open-source eda flow for asynchronous logic
Behal et al. An automated setup for large-scale simulation-based fault-injection experiments on asynchronous digital circuits
JP4200465B2 (ja) 半導体集積回路の設計方法及び設計システム
JP2008065382A (ja) Lsiの消費電力算出方法及びその算出プログラム
Jiang et al. PyH2: Using PyMTL3 to create productive and open-source hardware testing methodologies
US8392776B2 (en) Delay fault diagnosis program
Chang et al. Post-placement rewiring and rebuffering by exhaustive search for functional symmetries
US10380295B1 (en) Methods, systems, and articles of manufacture for X-behavior verification of an electronic design
Chou et al. Average-case technology mapping of asynchronous burst-mode circuits
JP5849973B2 (ja) データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
Huang On speeding up extended finite state machines using catalyst circuitry
Plassan et al. Improving the efficiency of formal verification: the case of clock-domain crossings
JP2845154B2 (ja) 論理シミュレーション用モデルの作成方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080929

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: 20081024

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081106

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4221730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees