JP2009059097A - 回路検証方法および回路検証プログラム - Google Patents

回路検証方法および回路検証プログラム Download PDF

Info

Publication number
JP2009059097A
JP2009059097A JP2007224750A JP2007224750A JP2009059097A JP 2009059097 A JP2009059097 A JP 2009059097A JP 2007224750 A JP2007224750 A JP 2007224750A JP 2007224750 A JP2007224750 A JP 2007224750A JP 2009059097 A JP2009059097 A JP 2009059097A
Authority
JP
Japan
Prior art keywords
information
circuit
asynchronous
verification
asynchronous 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.)
Granted
Application number
JP2007224750A
Other languages
English (en)
Other versions
JP4973392B2 (ja
Inventor
Noriyuki Ikeda
則之 池田
Takashi Matsuura
隆 松浦
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007224750A priority Critical patent/JP4973392B2/ja
Priority to US12/230,387 priority patent/US7996802B2/en
Publication of JP2009059097A publication Critical patent/JP2009059097A/ja
Application granted granted Critical
Publication of JP4973392B2 publication Critical patent/JP4973392B2/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/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】非同期配線間の結合関係を抽出することにより非同期回路の動作検証精度を向上させる。
【解決手段】論理回路と該論理回路間を接続する配線とを有する回路情報の回路動作を検証する装置による回路検証方法であって、レジスタ間が配線により接続され、該レジスタにはそれぞれ異なるクロックが供給される非同期回路情報を該回路情報から複数検出し、異なる回路構成を有する複数の非同期回路パーツ情報を記憶したライブラリから該非同期回路情報の1つである第一非同期回路情報と一致する第一非同期回路パーツ情報を検出し、該非同期回路情報の1つである第二非同期回路情報と一致する第二非同期回路パーツ情報を前記ライブラリから検出し、該第一非同期回路情報と該第二非同期回路情報とを含む第三非同期回路情報と一致する第三非同期回路パーツ情報を前記ライブラリから検出すると共に該第三非同期回路情報の回路動作を検証する第三検証情報を抽出する。
【選択図】図2

Description

本発明は、論理回路を配線した回路配線情報から回路動作をコンピュータにより検証する回路検証方法および回路検証プログラムに関する。
半導体集積回路の回路設計において、設計者は回路設計後に論理合成を行い、回路動作上問題となる箇所が無いか検証を行う。近年の高機能な半導体集積回路には、信号の送信側と受信側で異なるクロックにより動作する非同期回路を有するものがある。非同期回路ではメタステーブル等の非同期回路特有の現象が生じる。かかる現象が障害の原因になることもあるため、設計段階で非同期回路の検証をすることが重要となる。ここで、メタステーブルとは、信号送信レジスタと異なるクロックで駆動される信号受信レジスタの受信タイミングにより、受信側レジスタの出力レベルが不安定になる現象をいう。
特許文献1の図3には、半導体集積回路を設計する場合の、タイミング検証が必要なセルの抽出方法について記載されている。具体的には、信号送信レジスタのクロックと信号受信レジスタのクロックとが異なる場合に、それぞれのレジスタをタイミング検証が必要な対象セルとして抽出する。
しかし、特許文献1にかかる従来技術では、ある一つの非同期パスを伝播する信号の送受信タイミングが、他の非同期パスを伝播する信号の送受信タイミングに与える影響等を抽出することはできない。したがって回路検証において例えばタイミング検証の結果エラーとなった場合、問題となるのはセル単体なのか、セル間の非同期パスなのか、それとも非同期パス間の信号伝播タイミングに問題があるのかの判断は設計者が手作業で行う必要がある。
特開2000−11031号公報
本発明は、ある一つの非同期パスを伝播する信号の送受信タイミングが、他の非同期パスを伝播する信号の送受信タイミングに与える影響等を検証情報として出力することのできる、回路検証方法および回路検証プログラムの提供を目的とする。
前記の課題を解決するために、本発明では、ライブラリを参照することによってある一つの非同期パスを伝播する信号の送受信タイミングが、他の非同期パスを伝播する信号の送受信タイミングに与える影響等を抽出する回路検証方法および回路検証プログラムを採用する。具体的には、論理回路と該論理回路間を接続する配線とを有する回路情報の回路動作を検証する装置による回路検証方法であって、レジスタ間が配線により接続され、該レジスタにはそれぞれ異なるクロックが供給される非同期回路情報を前記回路情報から複数検出し、異なる回路構成を有する複数の非同期回路パーツ情報を記憶したライブラリから前記非同期回路情報の1つである第一非同期回路情報と一致する第一非同期回路パーツ情報を検出し、前記非同期回路情報の1つである第二非同期回路情報と一致する第二非同期回路パーツ情報を前記ライブラリから検出し、前記第一非同期回路情報と前記第二非同期回路情報とを含む第三非同期回路情報と一致する第三非同期回路パーツ情報を前記ライブラリから検出すると共に該第三非同期回路情報の回路動作を検証する第三検証情報を抽出することを特徴とする。
本発明によれば、それぞれの非同期回路情報および複数の非同期回路情報間の検証情報を自動的に抽出することができる。これにより、非同期回路を含む論理回路の検証効率および検証精度を向上させることができる。
以下、本発明の実施形態を、以下に詳細に説明する。なお、実施形態は例示であり、本発明はこの実施形態に限定されるものではない。
図1は任意の回路から検証対象である非同期回路を抽出することを説明するための、非同期回路の一例である。本実施例は、非同期回路の設計情報から非同期パスを探し、当該非同期パス間のタイミング情報等を検証情報として出力するものである。図1に基づいて本実施例の概要を説明する。421から430はレジスタを示している。レジスタとは、入力信号をクロックに同期させて出力する回路である。431および432はセレクタを示している。401から409は、後述するライブラリとの照合単位を示している。450から458は配線を示している。信号460および461は入力信号であり、クロック信号462と同期している。信号464は出力信号を示している。信号462および463はそれぞれ異なる周期または異なる位相を有する非同期クロック信号である。配線450の送受端に接続されたレジスタに着目すると、送信端のレジスタ421は、クロック462に同期している。一方、受信端のレジスタ426は、クロック463に同期している。このように、配線450の送受端に接続されたレジスタにそれぞれ供給されるクロック情報をチェックすることにより、それぞれのレジスタに異なるクロックが供給される配線450を非同期配線として検出することができる。配線451および452も同様に非同期配線として検出することができる。
図1の回路において、それぞれの非同期配線は密接に関連している。例えば非同期配線451の受信端に接続された論理回路406は、非同期配線450の受信端に接続された論理回路402から出力される信号464の出力タイミングを制御している。このような非同期配線間の関連性に基づいてタイミング検証条件等の検証情報を出力することにより、非同期回路の検証精度を向上させることができる。
図2は非同期検証方法のフローである。図2のフローに従って、関連する非同期配線の抽出から、非同期配線間の検証情報の出力までの処理の流れを説明する。図2の論理合成ステップS101では、レジスタ・トランスファー・レベル(Register Transfer Level、RTL)等で記述された回路設計情報に基づいて論理合成を実行し、論理回路の情報と配線との情報とを有する回路配線情報を出力する。RTLとは、回路をフリップフロップ等のレジスタと組み合わせ論理回路とで表現したレベルをいう。クロックネット抽出ステップS102では、当該回路配線情報に記述されたレジスタを駆動するクロック情報をそれぞれ抽出する。パス抽出ステップS103では、ドメインクロス、すなわち送信側レジスタと受信側レジスタでクロックドメインの異なる配線が存在するかチェックし、存在している場合はステップS104において、その配線を非同期配線と判断して抽出する。最下層パーツ抽出ステップS105では、回路配線情報に記述された回路情報であって、ライブラリ105に登録された最下位パーツ情報と一致するものを検索し、一致するものがあればステップS105において最下層パーツとして抽出する。ここでライブラリ105とは、非同期回路を構成する回路パーツ情報をスタイルチェック情報、動的チェック情報等と共に階層化して登録したものであり、詳細については後述する。中間/上位階層パーツ情報抽出ステップS106では、ステップS104で抽出した非同期配線を基点として下位階層パーツ情報の種類、下位階層パーツ情報間の接続関係、クロックドメインのパス情報を元に該当する中間階層パーツ情報をライブラリより検索し、一致するものがあればステップS107において中間階層パーツ情報として抽出し、検証情報を出力する。ここで検証情報とは、ライブラリ105に定義された回路パーツ情報に対応した、回路動作を検証するための情報である。検証情報には、ステップS101で処理の対象とした回路配線情報に記述されている信号名などを出力することで、設計者の検証が容易になる。さらに、中位階層パーツ情報の種類、中位階層パーツ情報同士をつなぐ信号のパス等の情報を元に該当する上位の階層をステップS108においてライブラリ105より検索し、一致するものがあればステップS107において上位階層パーツ情報として抽出し、検証情報をステップS109において出力する。同様に、さらに上位の階層に該当するパーツが無いかステップS108においてライブラリより検索し、一致するものがあればステップS107においてパーツとして抽出し、ステップS109において検証情報を出力する。なければパーツ抽出処理を終了する。以下において、各ステップを詳細に説明する。なおここでは各階層パーツ抽出ごとに検証情報を出力しているが、最上位階層パーツの検証情報のみ抽出してもよい。
図3および図4は、ライブラリ105に格納されている回路パーツ情報を概念的に図示したものである。ライブラリ105に登録されている回路パーツ情報は、その回路規模ごとに階層化されて登録されている。階層が上位になるほど、回路パーツ情報の回路規模は大きくなる。図3および図4を用いて、各階層の内容および階層間の関係を説明する。
図3の最下層201には、1以上の論理回路からなる論理ブロックを回路パーツ情報として定義している。最下層201を用いることにより、非同期回路を構成する最小論理ブロックを抽出することができる。図3の中間階層202には、非同期配線とその両端に接続された最下層201のパーツとの組み合わせを回路パーツ情報として定義している。中間階層202を用いることにより、非同期回路を構成する最小単位を抽出することができる。
図4の上位階層203には、中間階層以下の各階層201および202のパーツの組み合わせを回路パーツ情報として定義している。さらに同図の最上位階層204には、上位階層以下の各階層201、202および203のパーツの組み合わせを回路パーツ情報として定義している。上位階層203または最上位階層204を用いることにより、複数の非同期回路の組合せを抽出することができる。
ライブラリには、使用頻度の高い回路構成を回路パーツ情報として登録しておくことが望ましい。またライブラリには、同一機能であって回路構成の異なるパーツを、同一カテゴリで定義することが望ましい。例えば図3の最下層回路パーツ情報201であれば、マルチプレクサ211aのパーツ群として回路パーツ情報215と回路パーツ情報216が登録されている。回路パーツ情報215は、セレクタへの入力信号215aおよび制御信号215bがレジスタのクロック215cと同期しており、出力信号215dを出力する。これに対し回路パーツ情報216は、レジスタのクロック216cと非同期のクロックに同期するセレクタの入力信号216aおよび制御信号216bを有し、出力信号216dを出力する。このように、回路構成が同じだがレジスタとセレクタとが同期して動作しているものと非同期で動作しているものを同一カテゴリのパーツとして定義する。同一カテゴリに属するパーツの種類が多いほど、検証対象回路とライブラリとが一致する確率を向上させることができる。同様に、組み合わせ回路212aは回路パーツ情報250を、レジスタ213aは回路パーツ情報251を、シンクロナイザ214aは回路パーツ情報252から254をパーツ群としてそれぞれ有している。ここで組み合わせ回路とは、複数の入力の論理の組み合わせを出力するレジスタを有さない回路である。レジスタとは、入力信号をクロックに同期させて出力する回路である。シンクロナイザとは、信号の同期化のために、同一のクロックで動作する1以上のレジスタを接続した回路である。
図3の中間階層202では、データ転送非同期パス221a、およびコントロール転送非同期パス222aを回路パーツ情報として定義している。またパーツ群として回路パーツ情報255および256をそれぞれ定義している。ここでデータ転送非同期パスとは、送信側レジスタと受信側レジスタとがそれぞれ異なるクロックに同期するデータ信号転送パスである。コントロール転送非同期パスとは、送信側レジスタと受信側レジスタとがそれぞれ異なるクロックに同期する制御信号転送パスである。211bおよび211cはマルチプレクサを、213bはレジスタを、214bはシンクロナイザをそれぞれ表しており、下位階層201の回路パーツ情報にそれぞれ対応している。
図4の上位層203ではコントロールデータ転送構造231aを、最上位階層204ではハンドシェイク構造241をそれぞれ定義している。またライブラリ231a回路パーツ情報257を、ライブラリ241は回路パーツ情報258および259をパーツ群としてそれぞれ有している。ここでコントロールデータ転送構造とは、前記データ転送非同期パスの出力を前記コントロール転送非同期パスの出力により制御する構造をいう。ハンドシェイク構造とは、複数の非同期パスが組み合わせ回路により結合している構造をいう。221bはデータ転送非同期パスを、222bおよび222cはコントロール転送非同期パスをあらわしている。また212bから212eは組み合わせ回路を、213cから213fはレジスタを、231bから231dはコントロールデータ転送構造をあらわしている。これらはすべて下位の階層201、202および203に定義された回路パーツ情報に対応している。
なお、本実施例ではライブラリの階層数を4として記載しているが、これに限定するものではなく、照合する論理回路規模を更に細かく階層化しても良い。
図5に、図2のライブラリ105に記載されたそれぞれのパーツが持つ回路パーツ情報301と、回路パーツ情報301を基に生成される検証情報302との対応関係を示す。検証情報302はパーツ検出される度に生成され、パーツ毎の検証を容易にする。図5ではパーツに関するすべての検証情報302を1つのテーブルに記載するように表現しているが、素子定義テーブル、結線定義テーブルのようにパーツの情報ごとに複数のテーブルで検証情報を定義してもよい。回路パーツ情報301には、パーツの固有識別情報311、パーツの構成要素312が定義されており、さらにスタイルチェック項目313、パーツの動的チェック情報314、およびパーツの個別情報315等が定義されている。パーツの固有識別情報311には、パーツの属するカテゴリの名称と、パーツの固有名が記述されている。パーツの構成要素312には、そのパーツを構成する下位階層パーツ情報の固有情報、下位階層パーツ情報およびパーツ間の配線情報、当該パーツに供給されるクロックドメイン情報、および当該パーツ内のクロックネット情報が定義されている。これらの情報は検証対象である回路設計情報からライブラリ105に登録されているパーツを抽出するのに用いる。
また、スタイルチェック項目313には、本パーツが満たすべきスタイルルールチェック項目、各ルールの重要度、各ルールを守らなかった場合に予測されるリスク情報等を記述する。パーツの動的チェック情報314には、本パーツが期待する入力信号の変化タイミング条件、本パーツの動作条件に該当するアサーション情報、カバレッジ情報等を記述する。ここでアサーション情報とは、論理回路が期待通りに動作しているかを検証するための情報である。また、カバレッジ情報とは、クロックの位相ずれにより非同期パス間に起こりうる周期ずれの範囲情報等、検証すべき時間的ばらつきの範囲である。
また、パーツの個別情報315には、パーツに接続されたパスの信号名、信号のビット幅、信号のクロック名を回路設計情報から抽出し出力する。さらに本パーツ内の情報だけでは判断できないため上位階層へ委ねるべきチェック項目等を定義してもよい。
回路パーツ情報301と検証情報302との対応関係は下記の通りである。論理合成後の回路から検索対象となる回路情報を選択し、ライブラリのパーツ構成要素情報312と照合する。ライブラリに検索対象と同一の回路構成を有する回路パーツ情報が存在する場合は、当該パーツを対象に回路パーツ情報301に基づいて検証情報302を出力する。スタイルチェック項目313とスタイルチェック結果318との対応については、検証情報302の出力時にスタイルチェック項目313に基づいてチェックを実行し、スタイルチェック結果318を検証情報302に出力する。これにより、非同期回路を構成するパーツ単位でスタイルチェックを行い、その結果をパーツ単位で管理することが可能となる。また、パーツの個別情報320は、検証対象である回路設計情報を参照し、回路パーツ情報301に定義された個別情報315に基づいて必要な情報を出力する。
図6に、回路パーツ情報検出から検証情報出力までの処理における、スタイルチェック処理の詳細をフローチャートで示す。図6のフローチャートは図1のフローチャートのステップS105またはS107のパーツ抽出ステップに該当する。コンピュータは回路配線情報150から任意の回路情報151をステップS200において抽出し、ライブラリ105に同一の回路パーツ情報が登録されているかステップS201において検索する。ステップS202において同一の回路パーツ情報が存在すると判断されれば、ステップS203において回路パーツ情報の定義に基づいて実際の回路情報から個別情報320を抽出し、ステップS203において検証情報302を作成する。ステップS202においてライブラリに同一の回路パーツ情報が無いと判断した場合は、ステップS204において回路配線情報の別の回路情報を抽出し、ステップS201において再度ライブラリから検索する。つづいてステップS205においてライブラリ105の回路パーツ情報に定義されているスタイルチェック項目313を抽出し、ステップS203で生成した検証情報302に記述されている個別情報320に対してステップS206においてスタイルチェックを実行する。スタイルチェック項目313には、各項目の重要度(Severity)も併せて記載されている。ステップS206におけるスタイルチェック実行の結果、ライブラリの定義どおりに設計されていればその旨をステップS207においてスタイルチェック結果318として抽出し、ライブラリの定義どおりに設計されていなければその旨をスタイルチェック結果318として、ステップS207において当該チェック項目の重要度と併せて出力する。各チェック項目の重要度を併せて出力することで、チェック項目に違反した設計をしている場合の危険度を設計者に通知することができる。ステップS208においてスタイルチェック項目が残っているかどうかを判断し、残っていれば再度ステップS206を実行する。スタイルチェック項目が残っていなければ、処理を終了する。
図1の回路情報401を例に図6のフローの具体的な処理を説明する。回路情報401は、セレクタ431とレジスタ421で構成されているが、これと同一の構成を有する回路パーツ情報が図3の最下層201にマルチプレクサ215として定義されている。そうすると回路情報401を対象として、DMUXというパーツ名をつけ、回路パーツ情報を基に検証情報302が出力される。検証情報302として出力すべき情報は、図5に示すとおり回路パーツ情報ごとに定義されている。したがって回路パーツ情報301に基づいて実際の回路から抽出した個別情報320が検証情報302として出力される。以上説明した検証情報302の出力処理は、後述する図12の検証情報抽出手段1003cにより実行される。抽出した回路情報401の検証情報として、例えば以下の情報が出力される。
・ パーツ種類カテゴリ:マルチプレクサ
・ パーツ名:DMUX
・ レジスタクロック:クロック462
・ セレクト入力信号:配線453伝播信号
・ セレクト信号ビット幅:1
・ セレクト信号同期クロック:クロック462
・ データ入力信号:信号460
・ データ入力信号ビット幅:32
・ データ入力信号同期クロック:クロック462
・ データ出力信号:配線450伝播信号
・ データ出力信号ビット幅:32
・ データ出力信号同期クロック:クロック462
さらに、検証情報出力の際には、図3の回路パーツ情報215のスタイルチェック項目313を抽出し、実際の回路情報401に基づいてスタイルチェックを行い、スタイルチェック結果318を検証情報302として出力する。回路パーツ情報215のスタイルチェック項目313として、例えばデータ入力信号はレジスタのクロックと同期している、とライブラリに規定されている場合、データ入力信号の生成元のレジスタに供給されているクロックと検証対象である回路情報のレジスタに供給されているクロックとを比較し、同一であればその結果をスタイルチェック結果318として検証情報302に記述する。また、回路情報401については当該チェックをパスしている旨を検証情報302に出力する。
一方、回路情報402についてチェックすると、データ入力信号はクロック462に同期しており、レジスタ426はクロック463に同期している。したがって、回路情報402のスタイルチェック結果318としてクロックが異なる旨を検証情報302として出力する。また、当該チェック結果の重要度が確認レベルである旨も合わせて検証情報302として出力する。これにより、非同期回路を構成する論理回路のチェック結果を設計者が容易に確認できるようになり、検証効率の向上につながる。
回路パーツ情報211aの論理は、セレクタの入力信号が有効な期間だけ、データ入力信号をレジスタクロック同期でデータ出力するというものである。回路情報の動的チェック項目として、例えばセレクト入力信号が有効な期間はデータ入力信号を変化させない、と回路パーツ情報211aに定義されている場合、その内容を非同期回路の動的チェック情報として検証情報に記述する。
回路情報406は2つのレジスタ427および428で構成されている。またレジスタ427の入力信号451はレジスタ423から出力されており、レジスタ423と427の動作クロックは異なる。したがって回路情報406は図3のライブラリの最下層回路パーツ情報214として抽出され、回路情報401の場合と同様に検証情報302が出力される。例えば回路情報401の検証情報として以下の情報が出力される。
・ パーツ種類カテゴリ:シンクロナイザ
・ パーツ名:2−DFF
・ レジスタクロック:クロック463
・ 入力信号:配線451伝播信号
・ 入力信号ビット幅:1
・ 入力信号同期クロック:クロック462
・ 出力信号:配線454伝播信号
・ 出力信号ビット幅:1
・ 出力信号同期クロック:クロック462
また、回路パーツ情報214aのスタイルチェック項目として2つのレジスタ間に組み合わせ回路が入っていないこと、2つのレジスタ間の配線に分岐が無いこと、等を登録しておき、そのチェック結果をスタイルチェック結果として検証情報に出力する。また、回路情報406がシンクロナイザとして有効に動作するには配線451から入力される信号がクロック463で2周期以上連続して有効となる必要がある。そこでこのアサーション情報を回路パーツ情報214aから取得し検証情報に出力しておくことにより、回路情報406の論理検証が可能となる。また、回路情報406の配線451を伝播する信号と配線454を伝播する信号との間にはメタスタビリティにより2,3周期の変域がある。かかる情報も回路パーツ情報214aから取得し、回路情報406の動的チェック情報として出力する。
さらに回路情報403の抽出について説明する。回路情報403はレジスタを含んでいない。このようなパーツは組み合わせ論理として回路パーツ情報212aに基づいて抽出され、以下の通り検証情報が出力される。
・ 入力信号1:信号461
・ 入力信号1の同期クロック:クロック462
・ 入力信号2:配線456伝播信号
・ 入力信号2の同期クロック:クロック463
また、出力信号の生成条件は、回路パーツ情報212aに基づいて検証情報として出力する。他のパーツについても同様に検証情報を出力する。
以上の通り回路情報ごとのスタイルチェック結果および動的チェック情報を検証情報に出力しておくことにより、回路情報ごとのスタイルチェックの効率を上げるだけでなく、非同期回路全体を論理検証および動作検証する際の条件を定義することができるため、非同期回路検証の効率を向上させることができる。
図7に、図1の非同期回路について下位階層ライブラリを参照することにより抽象化した結果を示す。図中の501から509はライブラリの下位階層パーツ情報に基づいて抽出された検証情報を示している。中間階層パーツ情報の検出は、図6のフローに従い、非同期パスを基点として下位階層パーツ情報の種類、下位階層パーツ情報をつなぐパス、クロックドメインのパス情報等を基にライブラリの中間階層に一致するものが無いか検索することにより行う(S201)。図7の回路と図3のライブラリの中間階層パーツ情報202とを照合すると、511に示す領域が回路パーツ情報221aとして検出される。これをDATA_Async_Pathと名づけし、検証情報を出力する。検証情報として回路パーツ情報221aから取得した情報を格納する。また、回路情報511を構成する回路情報501および502との結合関係を検証情報として出力する。検証情報の出力処理は回路情報401の出力処理と同様である。例えば、抽出した回路情報511の検証情報として以下の情報が出力される。
・ パーツ種類カテゴリ:データ転送非同期パス
・ パーツ名:DATA_Async_Path
・ 入力データ信号:信号460
・ 入力データビット幅:32
・ 入力データ同期クロック:クロック462
・ 入力制御信号:配線453伝播信号
・ 入力制御信号ビット幅:1
・ 入力制御信号同期クロック:クロック462
・ 出力データ信号:信号464
・ 出力データビット幅:32
・ 出力データ同期クロック:クロック463
・ 出力制御信号:配線454伝播信号
・ 出力制御信号ビット幅:1
・ 出力制御信号同期クロック:クロック463
・ 送信側回路情報:501
・ 受信側回路情報:502
・ 非同期配線:450
さらにライブラリに登録されている回路パーツ情報221aのスタイルチェック項目に従ってチェックした結果を検証情報として出力する。回路パーツ情報221aのスタイルチェック項目として、例えば信号配線中に組み合わせ回路を用いない、と規定してあるとする。送信側、受信側回路情報である回路情報501および502はレジスタを有しているが、組み合わせ回路はレジスタを持たない。従って、レジスタを有する論理回路間の配線途中に、レジスタを有さない論理回路があれば、それは組み合わせ回路であると判断できる。本実施例においては組み合わせ回路を有さないので、その結果が検証情報に出力される。
図8は組み合わせ回路が非同期配線中に存在する回路の一例である。非同期配線451a、451bの経路中に組み合わせ回路601が存在する。組み合わせ回路601はクロック462に同期した制御信号465により制御されている。図8を用いて非同期配線中に組合せ回路が存在する場合の検証情報の出力について説明する。図8のように組み合わせ回路601が配線451aおよび451bの経路に存在している場合、その旨がスタイルチェック結果として重要度と併せて出力される。組み合わせ回路601が存在しても、制御信号465が配線451a伝播信号のデータ転送シーケンス中に変化しなければ、回路動作上問題は無い。したがって、出力する検証情報の重要度を低く設定しておいても良い。このように、回路設計ミスではないが、組み合わせ回路が存在する旨を検証情報として出力し、設計者に確認を促すことで検証効率を向上させることができる。
図7の説明に戻る。回路パーツ情報221aの動的チェック情報として、受信側回路パーツ情報211cのセレクト信号は送信側回路パーツ情報211bのセレクト信号を非同期コントロール転送パーツで受け渡したものとする旨がライブラリに登録されているとする。この場合、その情報を本パーツの検証情報として出力する。この検証情報はこの階層レベルでは確認できないが、上位の階層において非同期コントロール転送回路情報512との接続関係が明らかになった場合に有用な情報となる。したがってその旨を個別情報として検証情報に出力する。領域512、513も同様に抽出する。
図9に、図7の非同期回路について図3の中位階層回路パーツ情報により抽象化した結果を示す。図中の701から703はライブラリの中位階層パーツ情報に基づいて抽出された検証情報を示している。上位階層パーツ情報203の検出は、図2のフローに従い、中間階層以下のパーツの種類、中間階層以下のパーツ同士を接続する配線、クロックドメインの情報等を元にライブラリの上位階層パーツ情報に一致するものが無いか検索する。図9の701と702の接続関係を検証情報に記述されたパラメータにより確認すると、701の入力制御信号は702の入力信号であり、701の出力制御信号は702の出力信号であることがわかる。また、701は非同期データ転送パーツ情報であり、702は非同期コントロール転送パーツ情報であるから、これらの情報と図4に示すライブラリの上位階層パーツ情報とを比較すると、711に示す回路情報と一致する回路パーツ情報がライブラリの上位階層に存在する回路パーツ情報231aだと判断できる。従って711をパーツ名DATA_Ctrl_Async_Pathとして検出する。ライブラリから該当する回路パーツ情報が検出されると、図5に基づいて回路パーツ情報231の記述に対応した検証情報302が出力される。検証情報には回路パーツ情報231から取得した情報を格納する。検証情報の具体的な出力処理は回路情報401についての出力処理と同様である。検出された回路情報711の検証情報として、例えば以下の情報が格納される。
・ パーツ種類カテゴリ:コントロールデータ転送構造
・ パーツ名:DATA_Ctrl_Async_Path
・ 入力データ信号名:信号460
・ 入力データ信号ビット幅:32
・ 入力データ信号同期クロック:クロック462
・ 入力制御信号名:配線453伝播信号
・ 入力制御信号ビット幅:1
・ 入力制御信号同期クロック:クロック462
・ 出力データ信号名:信号464
・ 出力データ信号ビット幅:32
・ 出力データ信号同期クロック:クロック463
・ 出力制御信号名:配線454伝播信号
・ 出力制御信号ビット幅:1
・ 出力制御信号同期クロック:クロック463
・ 下位階層パーツ情報(データ)1:701
・ 下位階層パーツ情報(制御)1:702
上位の階層が回路パーツ情報として検出できると、それよりも下位の階層でチェックできなかった項目もチェックできるようになる。例えば、図7の中間階層において、回路情報511のセレクト信号の接続関係は確認できなかったが、図9の上位階層において配線454がパーツ情報702に接続されていることが確認できるので、その情報を検証情報として出力する。
また、回路情報711の非同期配線450と451は同じ信号伝播方向を有する非同期配線である。配線450と451を伝播する信号はそれぞれクロック462で0サイクルのずれをもって出力される。これらの信号がクロック463に非同期乗り換えを行う際に周期ずれが発生する可能性がある。この変域はクロック463側で観測される配線450を伝播する信号の変化点を基点に、配線454を伝播する信号が有効になるまでのクロック463の周期差として存在する。かかる情報は回路パーツ情報に固有に登録されている。そして検証情報出力時に、ライブラリから回路パーツ情報231aのデータを参照し、回路パーツ情報の動的チェック情報であるカバレッジ情報として検証情報に出力する。
さらに上位の階層の検索は、上位階層がライブラリ中になくなるまで続けられる。図9において、回路情報702から出力されたクロック463に同期した配線454を伝播する信号は、レジスタ509を介して配線455を伝播する信号の生成に使われている。また、この信号は回路情報703によりクロック462同期の非同期配線452に非同期乗り換えが行われる。配線456を伝播する信号は回路情報704、705を介して配線453を伝播する信号の生成に使われる。このように制御信号が制御信号用の回路情報を用いて非同期パス中を往復する構造から、回路情報712は最上位階層のハンドシェイク構造241と同一の構成であることがわかる。検証情報の出力処理は、回路情報401に対する処理と同様に実行される。検出した回路情報712の検証情報として、例えば以下の情報が格納される。
・ パーツ種類カテゴリ:ハンドシェイク構造
・ パーツ名:DATA_HandShake_Part
・ 入力データ信号名:信号460
・ 入力データ信号ビット幅:32
・ 入力データ信号同期クロック:クロック462
・ 入力制御信号名:信号461
・ 入力制御信号ビット幅:1
・ 入力制御信号同期クロック:クロック462
・ 出力データ信号名:信号464
・ 出力データ信号ビット幅:32
・ 出力データ信号同期クロック:クロック463
・ 下位階層回路情報(往路)1:711
・ 下位階層回路情報(復路)1:703
非同期回路構造が判明すると、その非同期回路構造が満たすべき動作も決まってくる。その動作をモニタするアサーション情報を、ライブラリに登録された回路パーツ情報に基づいて検証情報として出力することにより、論理検証シミュレーション等の非同期検証において非同期回路構造が動作を保障できない入力をその周囲の同期論理回路から得ることがあるか否かを確認することができる。アサーション情報とは、論理回路の入出力信号間で成立すべき条件を定義したものである。このようなアサーション情報を定義する言語として、PSL(Property Specification Language)、SVA(System Verilog Assertion)等がある。
図10に、回路情報712のアサーション情報をアサーション言語であるPSLで記述した例を示す。図10において、STB_CDCは配線451を伝播する信号を、RDY_CDCは配線452を伝播する信号を表している。図10には、非同期配線451および452を伝播する信号がそれぞれ有効になったときの他の信号のアサーション情報が定義されている。STB_SYNCは配線454を伝播する信号を、RDY_PREは配線455を伝播する信号を表している。このような記述をライブラリに登録しておき、該当する非同期回路パーツ情報が検出された際に、回路パーツ情報の動的チェック情報として検証情報へ出力する。これにより、非同期回路構造に適したアサーション情報を与えることができ、非同期回路の検証を効率よく行うことができる。
また図4の回路パーツ情報241は、非同期の影響が他の論理回路に及ばない、非同期の論理構造としての最小単位である。非同期回路の最小単位である旨を回路パーツ情報241の回路情報として登録しておき、検証情報として出力することにより、設計者による非同期回路の検証範囲を明確にすることができる。この結果、設計者の検証効率を向上させることができる。
図11に、本実施例により抽出された各階層における検証情報同士の結合関係を示す。下位階層901、中間階層902、上位階層903、および最上位階層904に属する検証情報910から922は、それぞれ固有のpointerすなわち検証情報に対応するアドレスを有している。それぞれの検証情報に記載されているCat.はパーツ種類カテゴリを示している。またNameはパーツ名を示している。検証情報間の結線は、アドレスの参照関係を表している。例えば中位階層パーツ情報918のパーツ構成要素に、下位階層パーツ情報910および911のアドレス情報(pointer)を記述することで、検証情報間の結合関係を明確にする。このように、各階層の回路パーツ情報のみならず、上下の階層との結合関係も検証情報として定義しておくことにより非同期回路全体の構造を把握することができ、非同期回路の検証を効率よく進めることができる。
図12に、コンピュータのハードウェア構成例を示す。コンピュータは表示装置1001、入力手段1002、CPU1003、RAM1004、画像処理部1005、および記憶装置1007等によって構成され、これらはバス1006を介して接続されている。また、非同期検証プログラム1008、ライブラリ1009、検証情報1010、および検証対象の回路配線情報1011等が記憶装置1007に格納されている。
このようなハードウェア構成を有するコンピュータ上で非同期検証プログラム1008を実行することにより、プログラム中に記載された回路配線検出手段1003a、パーツ情報検出手段1003b、および検証情報抽出手段1003cがCPUで具体化される。回路配線検出手段1003aは図2のステップS104を実行する。パーツ情報検出手段1003bおよび検証情報抽出手段1003cは図2のステップS105およびS107を実行する。
また、処理内容を記述した非同期検証プログラム1008は、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、半導体メモリなどがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記憶媒体を用いる。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
以上説明したように、本発明の非同期回路検証方法および非同期回路検証プログラムでは、論理合成後のスタイルチェック段階において、非同期回路を検出し、ライブラリを参照することで非同期回路をパーツとして抽象化した。そしてパーツごとのスタイルチェック項目、動的チェック情報等を検証情報として出力するようにした。この結果、非同期パス間の動作検証が可能となり、非同期回路の検証効率、検証精度の向上を図ることができる。
図13は、非同期パスのメタスタビリティにより、出力信号に不安定な期間があることを示している。1101から1103まではそれぞれレジスタを表している。1151aから1153aまではレジスタ間の信号を示している。1154aおよび1155aはそれぞれ周期および位相の異なる非同期クロックを示している。1154bはクロック1154aの波形を、1151bは信号1151aの波形を、1155bはクロック1155aの波形を、1152bは信号1152aの波形を、1153bおよび1153cは信号1153aで発生し得る波形をそれぞれ示している。図13の波形図のようにクロック波形1154bと1155bとの立ち上がりがほぼ同じタイミングとなった場合、レジスタ1102の出力信号1152aは波形1152bの通り不安定なものとなる。この場合、レジスタ1102からの出力信号1152aがハイレベルになったことを、レジスタ1103が時刻T1で判定するかT2で判定するかによって、レジスタ1103からの出力信号1153aのタイミングは波形1153bまたは1153cとなる可能性がある。
図14はこのような非同期パスが問題を引き起こす一例である。1201から1204はレジスタを、1205はAND回路を表している。1250aから1253aはレジスタ1201から1204の出力信号を表している。1270および1271は非同期回路である。クロック1254aと1255aとはそれぞれ周期および位相の異なる非同期のクロックである。1256aはAND回路1205の出力信号である。波形1254bはクロック1254aを、波形1250bは信号1250aを、波形1251bは信号1251aを、波形1255bはクロック1255aを、波形1252bは信号1252aを、波形1253bは信号1253aを示している。メタスタビリティにより、レジスタ1202からの出力信号1252aが、レジスタ1204からの出力信号1253aに対して波形1252bと1253bのように位相ずれを起こすと、AND回路1205の出力信号波形1256bには意図しないパルス1263が出力される。このような予期しないパルス1263により、回路が誤動作することとなる。非同期回路間の結合関係が不明だと、1つの非同期回路に対して他のすべての非同期回路が関連すると仮定して検証する必要があり、この事実が非同期回路の検証時間の増大、および検証精度の低下の原因となっている。
図14の回路に対して本実施例を適用する。図14の非同期回路1270および1271について、それぞれ回路パーツ情報を参照して検証情報を出力する。さらに上位階層の回路パーツ情報を参照し、ライブラリに回路パーツ情報が登録されていれば2つの非同期回路の関連性を検証情報として出力する。具体的には、信号1250と1251とがクロック1255aで動作するレジスタ1202および1204に受け渡された後の信号は信号1252aと1253aである。したがって信号1252aに対し信号1253aは、クロック1255aの入力タイミングで−1、0、または+1の3通りの周期差が生じうることをカバレッジ情報として、検証情報に出力する。
図15は前記3通りの周期差を時間波形で図示したものである。1301は信号1252aに対し信号1253aが1周期遅れた時の時間波形を、1302は信号1252aと信号1253aが同一のタイミングとなったときの時間波形を、1303は信号1252aに対し信号1253aが1周期進んだ時の時間波形を示している。
以上の通り、非同期パス間の信号伝播タイミング条件を出力した検証情報をタイミング検証に用いることにより、非同期回路を含む論理回路の検証効率および検証精度を向上させることができる。
以下に本発明の特徴を付記する。
(付記1)
論理回路と該論理回路間を接続する配線とを有する回路情報の回路動作を検証する装置による回路検証方法であって、
レジスタ間が配線により接続され、該レジスタにはそれぞれ異なるクロックが供給される非同期回路情報を前記回路情報から複数検出し、
異なる回路構成を有する複数の非同期回路パーツ情報を記憶したライブラリから前記非同期回路情報の1つである第一非同期回路情報と一致する第一非同期回路パーツ情報を検出し、
前記非同期回路情報の1つである第二非同期回路情報と一致する第二非同期回路パーツ情報を前記ライブラリから検出し、
前記第一非同期回路情報と前記第二非同期回路情報とを含む第三非同期回路情報と一致する第三非同期回路パーツ情報を前記ライブラリから検出すると共に該第三非同期回路情報の回路動作を検証する第三検証情報を抽出する
ことを特徴とする回路検証方法。
(付記2)
前記第一非同期パーツ情報の検出は、前記第一非同期回路情報の回路動作を検証する第二検証情報を抽出することを含み、
前記第二非同期パーツ情報の検出は、前記第二非同期回路情報の回路動作を検証する第二検証情報を抽出することを含む、付記1に記載の回路検証方法。
(付記3)
前記第三非同期回路パーツ情報の検出は、前記第一非同期回路情報と前記第二非同期回路情報とを合わせて新たな非同期回路情報が構成される場合に行うことを特徴とする、付記1に記載の回路検証方法。
(付記4)
前記第三検証情報は、検証済みの前記第一非同期回路情報と前記第二非同期回路情報とをそれぞれ1つの検証済み回路情報として置き換え、該検証済み回路情報を除いた前記第三非同期回路情報を検証する検証情報であることを特徴とする、付記2に記載の回路検証方法。
(付記5)
前記非同期回路情報の回路動作を検証する検証情報の抽出は、該非同期回路情報に対応する前記非同期回路パーツ情報に基づいて行われることを特徴とする、付記1に記載の回路検証方法。
(付記6)
前記非同期回路情報の回路動作を検証する検証情報の抽出は、前記レジスタ間に接続され、かつレジスタを含まない論理回路情報を組み合わせ回路情報として抽出することを含む、付記1に記載の回路検証方法。
(付記7)
前記非同期回路情報の回路動作を検証する検証情報の抽出は、前記非同期回路情報が期待値通りに論理動作することを検証するアサーション情報を抽出することを含む、付記1に記載の回路検証方法。
(付記8)
前記非同期回路情報の回路動作を検証する検証情報の抽出は、前記非同期回路情報間のカバレッジ情報を抽出することを含む、付記1に記載の回路検証方法。
(付記9)
前記非同期回路情報の回路動作を検証する検証情報の抽出は、前記非同期回路パーツ情報に含まれるスタイルチェック項目情報に基づいてスタイルチェック結果情報を抽出することを含む、付記1に記載の回路検証方法。
(付記10)
論理回路の情報と配線の情報とを有する回路配線情報の回路動作を検証するコンピュータを動作させる回路検証プログラムであって、
コンピュータを
レジスタ間が配線により接続され、該レジスタにはそれぞれ異なるクロックが供給される非同期回路情報を前記回路情報から複数検出する回路配線検出手段、
異なる回路構成を有する複数の非同期回路パーツ情報を記憶したライブラリから前記非同期回路情報の1つである第一非同期回路情報と一致する第一非同期回路パーツ情報を検出し、前記非同期回路情報の1つである第二非同期回路情報と一致する第二非同期回路パーツ情報を前記ライブラリから検出し、前記第一非同期回路情報と前記第二非同期回路情報とを含む第三非同期回路情報と一致する第三非同期回路パーツ情報を前記ライブラリから検出するパーツ情報検出手段、
前記第三非同期回路情報の回路動作を検証する第三検証情報を抽出する検証情報抽出手段、
として機能させるための回路検証プログラム。
(付記11)
前記検証情報抽出手段は、さらに前記第一非同期回路情報の回路動作を検証する第一検証情報を抽出し、前記第二非同期回路情報の回路動作を検証する第二検証情報を抽出することを特徴とする、付記10に記載の回路検証プログラム。
(付記12)
前記検証情報抽出手段は、前記第一非同期回路情報と前記第二非同期回路情報とを合わせて新たな非同期回路情報が構成される場合に実行することを特徴とする、付記10に記載の回路検証プログラム。
(付記13)
前記検証情報抽出手段は、検証済みの前記第一非同期回路情報と前記第二非同期回路情報とをそれぞれ1つの検証済み回路情報として置き換え、該検証済み回路情報を除いた前記第三非同期回路情報を検証する検証情報を抽出することを特徴とする、付記11に記載の回路検証プログラム。
(付記14)
前記非同期回路情報の回路動作を検証する検証情報の抽出は、該非同期回路情報に対応する前記非同期回路パーツ情報に基づいて行われることを特徴とする、付記10に記載の回路検証プログラム。
(付記15)
前記検証情報抽出手段は、前記レジスタ間に接続され、かつレジスタを含まない論理回路情報を組み合わせ回路情報として抽出することを含む、付記10に記載の回路検証プログラム。
(付記16)
前記検証情報抽出手段は、前記非同期回路情報が期待値通りに論理動作することを検証するアサーション情報を抽出することを含む、付記10に記載の回路検証プログラム。
(付記17)
前記検証情報抽出手段は、前記非同期回路情報間のカバレッジ情報を抽出することを含む、付記10に記載の回路検証プログラム。
(付記18)
前記検証情報抽出手段は、前記非同期回路パーツ情報に含まれるスタイルチェック項目情報に基づいてスタイルチェック結果情報を抽出することを含む、付記10に記載の回路検証プログラム。
非同期検証対象である非同期回路の一例である。 非同期検証方法のフローである。 ライブラリの概念図(最下層および中間層)である。 ライブラリの概念図(上位層および最上位層)である。 ライブラリの回路パーツ情報と検証情報の対応関係図である。 回路パーツ情報抽出から検証情報出力までのフローである。 非同期回路を下位階層パーツ情報により抽象化したものである。 非同期配線経路に組み合わせ回路が存在する非同期回路の一例である。 非同期回路を中間階層パーツ情報により抽象化したものである。 ライブラリに登録されているアサーション情報の一例である。 本実施例により抽出された検証情報間の関係を示したものである。 本実施例を実行するためのコンピュータの一例である。 非同期回路のメタステーブルを説明するための図である。 非同期回路のメタステーブルにより生じる問題を説明するための図である。 非同期回路に生じうるタイミングのずれを説明するための図である。
符号の説明
105 ライブラリ
150 回路配線
151 回路情報
201〜204 ライブラリの各階層
211a〜211c マルチプレクサ
212a〜212e 組み合わせ回路
213a〜213f レジスタ
214a、214b シンクロナイザ
215、216 ライブラリの各回路パーツ情報
250〜257 ライブラリの各回路パーツ情報
221a,221b データ転送非同期パス情報
222a〜222c コントロール転送非同期パス情報
231a〜231d コントロールデータ転送構造
241 ハンドシェイク構造
301 回路パーツ情報
302 検証情報
311、316 パーツの固有識別情報
312、317 パーツの構成要素
313 パーツのスタイルチェック項目
314、319 パーツの動的チェック情報
315、320 パーツの個別情報
318 パーツのスタイルチェック結果
401〜409 ライブラリ参照対象回路情報
421〜430 レジスタ
431、432 セレクタ
450〜458 配線
451a、451b 配線
460〜465 信号
501〜509 検証情報出力後の回路情報
511〜513 ライブラリ参照対象回路情報
601 組み合わせ回路
701〜703 検証情報出力後の回路情報
901〜904 テーブルの各階層
901a、901b 下位階層に属するテーブル
902a 中間階層に属するテーブル
1001 表示装置
1002 入力手段
1003 CPU
1003a 回路配線検出手段
1003b パーツ情報検出手段
1003c 検証情報抽出手段
1004 RAM
1005 画像処理部
1006 バス
1007 記憶装置
1008 非同期検証プログラム
1009 ライブラリ
1010 検証情報
1011 回路配線情報
1101〜1103 レジスタ
1201〜1204 レジスタ
1205 AND回路
1250a〜1256a 信号
1250b〜1256b 信号波形
1270、1271 非同期回路
1301〜1303 非同期回路における周期差の組み合わせ
1252c〜1252e 信号1252aの信号波形
1253c〜1253e 信号1253aの信号波形

Claims (10)

  1. 論理回路と該論理回路間を接続する配線とを有する回路情報の回路動作を検証する装置による回路検証方法であって、
    レジスタ間が配線により接続され、該レジスタにはそれぞれ異なるクロックが供給される非同期回路情報を前記回路情報から複数検出し、
    異なる回路構成を有する複数の非同期回路パーツ情報を記憶したライブラリから前記非同期回路情報の1つである第一非同期回路情報と一致する第一非同期回路パーツ情報を検出し、
    前記非同期回路情報の1つである第二非同期回路情報と一致する第二非同期回路パーツ情報を前記ライブラリから検出し、
    前記第一非同期回路情報と前記第二非同期回路情報とを含む第三非同期回路情報と一致する第三非同期回路パーツ情報を前記ライブラリから検出すると共に該第三非同期回路情報の回路動作を検証する第三検証情報を抽出する
    ことを特徴とする回路検証方法。
  2. 前記第一非同期パーツ情報の検出は、前記第一非同期回路情報の回路動作を検証する第二検証情報を抽出することを含み、
    前記第二非同期パーツ情報の検出は、前記第二非同期回路情報の回路動作を検証する第二検証情報を抽出することを含む、請求項1に記載の回路検証方法。
  3. 前記第三非同期回路パーツ情報の検出は、前記第一非同期回路情報と前記第二非同期回路情報とを合わせて新たな非同期回路情報が構成される場合に行うことを特徴とする、請求項1に記載の回路検証方法。
  4. 前記第三検証情報は、検証済みの前記第一非同期回路情報と前記第二非同期回路情報とをそれぞれ1つの検証済み回路情報として置き換え、該検証済み回路情報を除いた前記第三非同期回路情報を検証する検証情報であることを特徴とする、請求項2に記載の回路検証方法。
  5. 前記非同期回路情報の回路動作を検証する検証情報の抽出は、前記レジスタ間に接続され、かつレジスタを含まない論理回路情報を組み合わせ回路情報として抽出することを含む、請求項1に記載の回路検証方法。
  6. 論理回路の情報と配線の情報とを有する回路配線情報の回路動作を検証するコンピュータを動作させる回路検証プログラムであって、
    コンピュータを
    レジスタ間が配線により接続され、該レジスタにはそれぞれ異なるクロックが供給される非同期回路情報を前記回路情報から複数検出する回路配線検出手段、
    異なる回路構成を有する複数の非同期回路パーツ情報を記憶したライブラリから前記非同期回路情報の1つである第一非同期回路情報と一致する第一非同期回路パーツ情報を検出し、前記非同期回路情報の1つである第二非同期回路情報と一致する第二非同期回路パーツ情報を前記ライブラリから検出し、前記第一非同期回路情報と前記第二非同期回路情報とを含む第三非同期回路情報と一致する第三非同期回路パーツ情報を前記ライブラリから検出するパーツ情報検出手段、
    前記第三非同期回路情報の回路動作を検証する第三検証情報を抽出する検証情報抽出手段、
    として機能させるための回路検証プログラム。
  7. 前記検証情報抽出手段は、さらに前記第一非同期回路情報の回路動作を検証する第一検証情報を抽出し、前記第二非同期回路情報の回路動作を検証する第二検証情報を抽出することを特徴とする、請求項6に記載の回路検証プログラム。
  8. 前記検証情報抽出手段は、前記第一非同期回路情報と前記第二非同期回路情報とを合わせて新たな非同期回路情報が構成される場合に実行することを特徴とする、請求項6に記載の回路検証プログラム。
  9. 前記検証情報抽出手段は、検証済みの前記第一非同期回路情報と前記第二非同期回路情報とをそれぞれ1つの検証済み回路情報として置き換え、該検証済み回路情報を除いた前記第三非同期回路情報を検証する検証情報を抽出することを特徴とする、請求項7に記載の回路検証プログラム。
  10. 前記検証情報抽出手段は、前記レジスタ間に接続され、かつレジスタを含まない論理回路情報を組み合わせ回路情報として抽出することを含む、請求項6に記載の回路検証プログラム。
JP2007224750A 2007-08-30 2007-08-30 回路検証方法および回路検証プログラム Expired - Fee Related JP4973392B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007224750A JP4973392B2 (ja) 2007-08-30 2007-08-30 回路検証方法および回路検証プログラム
US12/230,387 US7996802B2 (en) 2007-08-30 2008-08-28 Method of verifying circuit and computer-readable storage medium for storing computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007224750A JP4973392B2 (ja) 2007-08-30 2007-08-30 回路検証方法および回路検証プログラム

Publications (2)

Publication Number Publication Date
JP2009059097A true JP2009059097A (ja) 2009-03-19
JP4973392B2 JP4973392B2 (ja) 2012-07-11

Family

ID=40409499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007224750A Expired - Fee Related JP4973392B2 (ja) 2007-08-30 2007-08-30 回路検証方法および回路検証プログラム

Country Status (2)

Country Link
US (1) US7996802B2 (ja)
JP (1) JP4973392B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013206169A (ja) * 2012-03-28 2013-10-07 Nec Corp 設計検証支援装置、設計検証支援方法、および設計検証支援プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327307B2 (en) * 2010-11-23 2012-12-04 Lsi Corporation Method and system for eliminating implementation timing in synchronization circuits
JP5733109B2 (ja) * 2011-08-29 2015-06-10 富士通株式会社 検証支援プログラム、検証支援方法、および検証支援装置
US8555228B2 (en) * 2011-12-29 2013-10-08 Intel Corporation Tool for glitch removal
US9032347B1 (en) * 2013-03-15 2015-05-12 Cadence Design Systems, Inc. System and method for automated simulator assertion synthesis and digital equivalence checking

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011031A (ja) * 1998-06-26 2000-01-14 Mitsubishi Electric Corp 半導体集積回路の論理回路検証装置および論理回路検証方法
JP2003256486A (ja) * 2002-02-27 2003-09-12 Mitsubishi Electric Corp プリント基板設計装置
JP2006252438A (ja) * 2005-03-14 2006-09-21 Fujitsu Ltd 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469367A (en) * 1994-06-06 1995-11-21 University Technologies International Inc. Methodology and apparatus for modular partitioning for the machine design of asynchronous circuits
JPH1185810A (ja) * 1997-09-09 1999-03-30 Mitsubishi Electric Corp 半導体集積回路の論理回路検証装置および論理回路検証装置における論理回路検証方法
US6526542B2 (en) * 2001-05-07 2003-02-25 Theseus Logic, Inc. Multi-rail asynchronous flow with completion detection and system and method for designing the same
US6557161B2 (en) * 2001-06-28 2003-04-29 Sun Microsystems, Inc. Method for prototyping asynchronous circuits using synchronous devices
US7418676B2 (en) * 2005-01-19 2008-08-26 Seiko Epson Corporation Asynchronous circuit design tool and computer program product
JP2007052640A (ja) * 2005-08-18 2007-03-01 Nec Electronics Corp 非同期回路の検証装置、非同期回路の検証方法およびその検証プログラム
US8065647B2 (en) * 2007-10-19 2011-11-22 The University Of Utah Research Foundation Method and system for asynchronous chip design
CN101601220A (zh) * 2007-12-27 2009-12-09 松下电器产业株式会社 半导体集成电路及其设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011031A (ja) * 1998-06-26 2000-01-14 Mitsubishi Electric Corp 半導体集積回路の論理回路検証装置および論理回路検証方法
JP2003256486A (ja) * 2002-02-27 2003-09-12 Mitsubishi Electric Corp プリント基板設計装置
JP2006252438A (ja) * 2005-03-14 2006-09-21 Fujitsu Ltd 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013206169A (ja) * 2012-03-28 2013-10-07 Nec Corp 設計検証支援装置、設計検証支援方法、および設計検証支援プログラム

Also Published As

Publication number Publication date
JP4973392B2 (ja) 2012-07-11
US7996802B2 (en) 2011-08-09
US20090064065A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
Huang et al. Formal equivalence checking and design debugging
US20130179142A1 (en) Distributed parallel simulation method and recording medium for storing the method
JP4973392B2 (ja) 回路検証方法および回路検証プログラム
TWI493370B (zh) 工程變更之保持時間修復方法
EP2875454A1 (en) Relative timing architecture
JP4853312B2 (ja) テストベンチ生成機能を有する動作合成装置と方法及びプログラム
US20080059928A1 (en) Assertion description conversion device, method and computer program product
US20080059923A1 (en) Lsi power consumption calculation method and calculation program
US9449127B1 (en) System for verifying timing constraints of IC design
Yang et al. PushPull: Short path padding for timing error resilient circuits
US10430535B2 (en) Verification support program medium, verification support method, and information processing device for verification of a circuit
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US20080209377A1 (en) Verification method, verification apparatus, and program
US7493580B2 (en) Critical path estimating program, estimating apparatus, estimating method, and integrated circuit designing program
US20130174107A1 (en) Design tool for glitch removal
US8438518B2 (en) Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
US20120253712A1 (en) Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program
JP5239747B2 (ja) 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法
Plassan et al. Improving the efficiency of formal verification: the case of clock-domain crossings
JP6303509B2 (ja) 回路検証方法、及び回路検証プログラム
JP7354815B2 (ja) 検証支援装置、検証支援方法および検証支援プログラム
US8813005B1 (en) Debugging using tagged flip-flops
JP5729546B2 (ja) 半導体設計支援装置、タイミング制約生成方法、およびプログラム
US20130086540A1 (en) System and method of automated design augmentation for efficient hierarchical implementation
JP2008033919A (ja) 論理回路の記述形式変換方法、プログラム及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100506

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120119

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees