JP2007094891A - データベースおよびこれを用いたlsi機能検証方法 - Google Patents

データベースおよびこれを用いたlsi機能検証方法 Download PDF

Info

Publication number
JP2007094891A
JP2007094891A JP2005285260A JP2005285260A JP2007094891A JP 2007094891 A JP2007094891 A JP 2007094891A JP 2005285260 A JP2005285260 A JP 2005285260A JP 2005285260 A JP2005285260 A JP 2005285260A JP 2007094891 A JP2007094891 A JP 2007094891A
Authority
JP
Japan
Prior art keywords
signal
verification
lsi
data set
verification target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005285260A
Other languages
English (en)
Inventor
Yoshito Nishida
嘉人 西田
Kazuhito Tada
一仁 多田
Kazuyoshi Takemura
和祥 竹村
Masanobu Mizuno
雅信 水野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005285260A priority Critical patent/JP2007094891A/ja
Priority to US11/527,406 priority patent/US20070074137A1/en
Publication of JP2007094891A publication Critical patent/JP2007094891A/ja
Withdrawn legal-status Critical Current

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

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

【課題】仕様の見落としや誤解などの発生を防止し、LSIの機能検証を確実に行う。
【解決手段】LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程105と、前記LSIの機能検証の為の記述言語で検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程115と、前記第1と第2の信号データセットを比較し差分121を出力する信号DB比較工程120からなる。各信号DBに登録された信号データセットを比較することで、アサーション記述または検証項目の漏れがある可能性や、仕様書の不備や、HDLに実装できていない信号動作を発見することができる。
【選択図】図1

Description

本発明は、データベースおよびこれを用いたLSI機能検証方法に係り、特にLSIの機能を効率的に検証するためのLSI機能検証に関する。
近年、特に、LSIの大規模化、高集積化が進んでおり、回路構成も複雑になっていることから、LSIの機能検証で検証すべき項目は指数関数的に増大してきており、機能検証での検証漏れや検証内容の誤解などによるLSIのバグも増えている。このような問題に対するLSIの機能検証装置として、機能シミュレータに加え、テストパターンを準備する必要のない形式的機能検証装置が利用されている。
従来の一般的なLSI機能検証方法は、形式的機能検証装置も機能シミュレータと基本的には同様で、まず人がLSIの仕様書を理解し検証項目を抽出し、次に、それぞれの機能検証装置の入力形式に人が直接表現記述し機能検証装置を用いて機能検証を行う。通常、LSIの仕様書は、機能動作を中心に記述されており、機能シミュレータを用いる場合は、その機能動作の順序に沿ったテストパターンを準備する、もしくはテストパターンを発生するテストベンチを準備する。形式的機能検証装置を用いる場合も、仕様書に記述されている一連の機能動作のある一部の機能動作や制約を表現する機能検証の為の記述言語を準備することになる。
従来のLSI機能検証方法では、仕様書から検証項目を抽出する際、仕様書が機能動作を中心に記述されているため、抽出される検証項目は仕様書の文章やその文章の読み手に依存してしまい、仕様の見落としや誤解などが発生し、検証項目が十分検討できなかったり、あるいは、検証項目が間違ったりするなどの問題が発生し、結果的にLSIの機能検証漏れとなり、LSIの不具合を見逃してしまう結果になることが多い。
本発明は、上記従来の課題を改善するもので、LSIの機能検証を容易にすることを目的とする。
また、本発明は、LSIの機能検証における検証漏れを削減することを目的とする。
また、本発明は、機能検証の期間を短縮するLSI機能検証方法を提供することを目的とする。
上記目的を達成するために、本発明のLSI機能検証方法は、LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、前記LSIの機能検証の為の記述言語(以下アサーション記述)で検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程とを含むことを特徴とする。
また同様に、LSIのアサーション記述の代わりにLSIの機能を表現した記述言語(Hardware Description Language以下HDLと呼ぶ)に置き換えたLSI機能検証も可能である。
すなわち、本発明は、LSIの機能検証に用いられるデータベースであって、設計仕様または設計仕様に基づいて作成される記述において、前記LSIの動作が規定される検証対象信号と、前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを格納している。
この構成により、各信号に対し、その信号の動作に影響を与える信号群との関連を明確にすることができる。
また、本発明は、上記データセットにおいて、前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットと、前記LSIの機能検証の為の記述言語で検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットとを格納したものを含む。
この構成により、各信号に対し、その信号の動作に影響を与える信号群との関連を明確にすることができ、異なる記述間での比較検証が容易となる。
また、本発明は、上記データセットにおいて、前記LSIの機能検証の為の第1の記述言語で検証対象となっている第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットと、前記LSIの機能検証の為の第2の記述言語で検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットとを格納したものを含む。
この構成により、各信号に対し、その信号の動作に影響を与える信号群との関連を明確にすることができ、仕様書と、記述言語との間での比較検証が容易となる。
また、本発明は、LSIの動作が規定される検証対象信号と、前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを、設計仕様または設計仕様に基づいて作成される複数の記述ルールの異なる表現記述に対して、それぞれ作成することにより、前記信号データセットを複数個用意する信号データベース作成工程と、前記信号データセット相互の内の少なくとも2つを比較し、差分を出力する信号データベース比較工程とを備えている。
この構成により、各信号に対し、その信号の動作に影響を与える信号群との関連を明確にすることができ、設計仕様または設計仕様に基づいた記述間での比較検証が容易となる。
また、本発明は、上記LSI機能検証方法において、前記信号データセットは、抽象度の異なる記述レベルに対してそれぞれ作成されたものであるものを含む。
この構成により、各信号に対し、その信号の動作に影響を与える信号群との関連を明確にすることができ、抽象度の異なる記述レベルに基づいた記述間での比較検証が容易となる。
また、本発明は、上記LSI機能検証方法において、前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、前記LSIの機能検証の為の記述言語で記述され、検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程とからなるものを含む。
この構成により、仕様書と機能記述間での比較により、効率よくかつ高精度に検証を行うことができる。
また、本発明は、上記LSI機能検証方法において、前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、前記LSIの機能を表現した記述言語(Hardware Description Language以下HDLと呼ぶ)で記述され、検証対象となっている第2の検証対象信号と、前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程とからなるものを含む。
この構成により、異なる機能記述間での比較により、効率よくかつ高精度に検証を行うことができる。
また、本発明は、上記LSI機能検証方法において、前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、前記LSIの機能を表現した記述言語(HDL)の第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程とからなるものを含む。
ものを含む。
この構成により、仕様書とHDL記述間での比較により、効率よくかつ高精度に検証を行うことができる。
また、本発明は、上記LSI機能検証方法において、第1のHDLの第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、前記第1のHDLとは、信号間のデータの送受信に関し時間の概念が異なる第2のHDLの第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程からなるものを含む。
この構成により、概念が異なるHDL記述間での比較により、効率よくかつ高精度に検証を行うことができる。
また、本発明は、上記LSI機能検証方法において、前記第1の信号データベース作成工程で登録する第1の信号データセットに前記第1の信号データセットの第1の被依存信号が前記第1の信号データセットの第1の検証対象信号に影響を与えるまでの遅延時間情報を前記第1の被依存信号と関連付けて第1の信号データセットに追加する工程と、第2の信号データベース作成工程で登録する第2の信号データセットに前記第2の信号データセットの第2の被依存信号が前記第2の信号データセットの第2の検証対象信号に影響を与えるまでの遅延時間情報を前記第2の被依存信号と関連付けて第2の信号データセットに追加する工程とを含むものを含む。
この構成により、入力側の信号が変化してから該当信号に到達する遅延時間をデータベースに登録することで、時間軸でみた比較が可能になる。
また、本発明は、上記LSI機能検証方法において、遅延時間情報をクロック信号とクロックサイクル数で表現するようにしたものを含む。
この構成により、入力側の信号が変化してから該当信号に到達する遅延時間をクロックサイクル数でデータベースに登録することで、時間軸でみた比較がより容易に可能となる。
また、本発明は、上記LSI機能検証方法において、検証対象信号に対し、直接影響を与える被依存信号群のみを前記検証対象信号と関係づけた信号データセットを登録する第1または第2の信号データベース作成工程からなるものを含む。
この構成により、直接影響を与える被依存信号群のみを前記検証対象信号と関係づけた信号データセットを登録するようにしているため、データサイズの削減を図ることができる。また、遅延時間情報も含まれるようにすれば、各ノードを累算することで、さまざまなパスの遅延時間情報を出力することができる。
さらにまた信号のパスが複数とおりある場合に、パスごとに遅延時間が異なるというような不整合を効率よく発見することができる。
また、本発明は、上記LSI機能検証方法において、検証対象信号と前記検証対象信号に対する被依存信号が同一クロック信号に同期しており、かつ、前記被依存信号が前記検証対象信号に直接影響を与えているものを抽出し、前記クロック信号に対し同期して動作する信号のテーブルリストを作成するクロック信号テーブル作成工程と、前記クロック信号テーブル作成工程で作成されたクロック信号テーブルと信号データベース作成工程で作成された信号データベースからクロック信号とクロックサイクル数を1とした遅延時間情報を自動設定する工程とからなるものを含む。
この構成により、レジスタなどのサイクルベースで階層化を行うことにより、各ノードのパスの遅延時間を1クロックサイクルと単純化でき、遅延時間情報の入力の手間を省略することができる。
また、本発明は、上記LSI機能検証方法において、信号データベース作成工程により作成されたデータベースに対し、指定された数以上の検証対象信号の動作に影響を与える被依存信号を抽出するグローバル信号抽出工程と、前記グローバル信号抽出工程で抽出されたグローバル信号の値もしくは値の変化方向に対し、前記グローバル信号が動作に影響を与える検証対象信号の動作を記述できる表を出力するグローバル信号仕様表出力工程とからなるものを含む。
この構成により、グローバル信号を見つけ、この信号に対する仕様フォーマットのテンプレートを出力することで仕様書の品質レベルを向上することができる。
また、本発明は、上記LSI機能検証方法において、グローバル信号抽出工程で抽出されたグローバル信号の値もしくは値の変化方向に対し、前記グローバル信号が動作に影響を与える検証対象信号を機能ブロックごとに一括りにし同じ機能ブロックに属する前記検証対象信号の動作が同一の機能ブロックについては、前記一括りした機能ブロックに前記動作を記述することで前記検証対象信号の動作を記述できる表を出力するグローバル信号表出力工程からなるものを含む。
この構成により、同じ機能ブロックの検証対象信号が同じ動作をする場合、入力の手間を省略することができ、作業の簡略化をはかることができる。
また、本発明は、上記LSI機能検証方法において、グローバル信号の値により前記グローバル信号が動作に影響を与える検証対象信号の値も一意に決定される機能ブロックに対し、前記グローバル信号にモード属性を与える工程と、前記グローバル信号の値に対し、前記グローバル信号が動作に影響を与える検証対象信号の値を設定する表を出力するグローバル信号仕様表出力工程とを含むものを含む。
この構成により、グローバル信号に適した仕様フォーマットのテンプレートを出力することで、仕様書作成の手間を省略することができる。
また、本発明は、上記LSI機能検証方法において、前記グローバル信号仕様表出力工程で出力された表への入力情報にもとづいて機能検証の為の記述言語を出力する検証言語記述出力工程を含むものを含む。
この構成により、グローバル信号に適した記述フォーマットのテンプレートを出力することで、アサーションなどを出力することができる。
また、本発明は、上記LSI機能検証方法において、前記グローバル信号の値と前記グローバル信号の変化時刻から一定時間内に前記グローバル信号が動作に影響を与える検証対象信号の値も一意に決定される、前記グローバル信号に初期シーケンス属性を与える工程と、前記グローバル信号の値と前記グローバル信号の変化時刻からの前記一定時間に対し、前記グローバル信号が動作に影響を与える検証対象信号の値を設定できる表を出力するグローバル信号仕様表出力工程とを含むものを含む。
この構成により、データの簡略化をはかることができる。
また、本発明は、上記LSI機能検証方法において、前記グローバル信号仕様表出力工程で出力された表への入力情報に基づいて機能検証の為の記述言語を出力する検証言語記述出力工程を含むものを含む。
また、本発明は、上記LSI機能検証方法において、前記第1の機能ブロックのポートを第1の検証対象信号とし前記第1の検証対象信号が接続されている第2の機能ブロックのポート群を前記第1位の検証対象信号の被依存信号群として仕様信号データベースに登録する工程と、2つ以上の検証対象信号群の動作に影響を与える第1の被依存信号を抽出するグローバル信号抽出工程と、前記仕様信号データベースに登録された信号データセット内の第2の検証対象信号と前記第2の検証対象信号と関連付けられている第2の被依存信号との動作が常に同じであることを意味する機能検証の為の記述言語を出力する同一動作接続検証記述言語出力工程と、前記グローバル信号抽出工程で抽出されたグローバル信号が動作に影響を与える第3の検証対象信号の前記グローバル信号を含む被依存信号群と前記第3の検証対象信号とを関連付けた表を出力する複合動作接続信号仕様表出力工程と、前記複合動作接続信号仕様表出力工程で出力された複合動作接続信号仕様表に前記複合動作接続信号仕様表に表れる第4の検証対象信号の値を決定する前記第4の検証対象信号の被依存信号群による論理演算を前記複合動作接続信号仕様表に入力する接続動作論理演算入力工程と、前記接続動作論理演算入力工程での入力情報を元に機能検証の為の記述言語を出力する複合動作接続検証記述言語出力工程とを含むものを含む。
また、本発明は、LSI機能検証方法において、前記LSIのHDLに対し、HDLの検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを登録する信号データベース作成工程と、前記信号データベース作成工程で作成された信号データベースを入力してHDLのシミュレーションを行うシミュレーション工程と、前記シミュレーション工程で前記被依存信号群の値の変化を前記信号データセットに前記被依存信号と関連付けて記録する信号カバレッジ記録工程と、前記信号カバレッジ記録工程で前記被依存信号群の値の組合せ数に対し記録された前記被依存信号群の値の変化が前記組合せ数の何通り記録されているかを出力するカバレッジ出力工程とからなるものを含む。
この構成により、カバレッジを効率よく算出することができる。
また、本発明は、上記LSI機能検証方法において、信号データセットの被依存信号群の値の組合せを前記依存信号群と関連付けて前記信号データセットに付加する被依存信号値組合せ抽出工程と、シミュレーション工程での前記被依存信号群の値の組合せの変化があるごとに各組合せに対し発生した回数を前記信号データセットの前記組合せに関連付けて付加する被依存信号値組合せ記録工程信号カバレッジ記録工程で記録された第1の信号データセットの第1の被依存信号群の信号値の変化の組合せ数に対し、第1の信号データセットの第1の検証対象信号が被依存信号となっている第2の信号データセットに記録結果を引継ぐカバレッジ記録引継ぎ工程を含むものを含む。
また、本発明は、上記LSI機能検証方法において、前記LSIの機能検証の為の記述言語の信号名が前記LSIの仕様にない場合、前記仕様と前記機能検証の為の記述言語に対する第1の信号データベース比較工程の結果と前記仕様と前記LSIのHDLに対する第2の信号データベース比較工程の結果から、前記信号名に対し前記仕様と関連付けた情報を前記仕様と前記機能検証の為の記述言語に対する第3の信号データベース工程で作成される信号データベースに付加する工程からなるものを含む。
従来の方法では、検証項目の抽出が仕様書の文章やその文章の読み手に依存して機能検証漏れが起こっていたが、本発明のLSI機能検証方法によれば、LSIの仕様書およびアサーション記述またはHDLの各信号に対し、その信号の動作に影響を与える信号群との関連を明確にすることができ、各信号データベースに登録された信号データセットを比較することで、アサーション記述または検証項目の漏れがある可能性や、仕様書の不備や、HDLに実装できていない信号動作を発見することができる。
以下、本発明であるLSI機能検証方法の一実施の形態(以下、実施の形態1と呼ぶ)について、図面を参照しながら説明する。
本実施の形態では、記述ルールの異なる表現記述間で検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを用意し、これらの信号データセットを格納するデータベースを用いたことを特徴とする。
そして本実施の形態のLSI機能検証方法では、このデータベースを用い、信号データセットを比較することにより、差分の有無を検出し、表現記述による抜けや間違いを検出することにより、整合性のチェックを行うことを特徴とするものである。また、機能検証が正常に行われているか否かをチェックするものである。
図1は、本実施の形態1におけるLSI機能検証方法の概要説明図であり、図2はこの各工程と入出力情報の構成を示す図である。ここでは記述ルールの異なる表現記述の例として、LSIの仕様書と、検証言語記述としてのアサーション記述とを比較することにより検証を行うもので、図1に示すように、仕様書100から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなる仕様信号データベース105を作成する。また、当該LSIについてのアサーション記述110から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなる検証信号データベース115を作成する。そしてこれら仕様信号データベース105と検証信号データベース115とを比較し(120)、この差分121をとる。
そしてこの差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断する。
図2に詳述するように、LSIの仕様書100から、当該仕様書100で動作が規定されている検証対象信号101を抽出すると共に、検証対象信号101の動作に影響を与える被依存信号群102を抽出し、検証対象信号101と被依存信号102を関係づけた信号データセット103を作成し(104)、この信号データセット103を登録することによって信号データベース105を作成する(信号データベース作成工程104)。
一方、当該LSIの仕様書110から作成したアサーション記述110で動作が規定されている検証対象信号111を抽出するとともに、検証対象信号111の動作に影響を与える被依存信号群112を抽出し、検証対象信号111と被依存信号112を関係づけた信号データセット113を作成し(114)、この信号データセット113を登録することによって信号データベース115を作成する(信号データベース作成工程114)。
そして、信号データベース105と信号データベース115からそれぞれ信号データセット103と信号データセット113を取り出して比較する信号データベース比較工程120を経て、この信号データベース比較工程120で出力される差分121を取り出し、この差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断するものである。
図3は、本実施の形態1におけるLSI機能検証方法の信号データベース作成工程で登録される信号データセットの構成を示す図である。図3において、LSIの仕様書100から抽出された、検証対象信号101aと、被依存信号102a、102bおよび102cとが関連づけられて、仕様信号データセット103を構成している。一方アサーション記述110から抽出された検証対象信号111a、被依存信号112aおよび112cとが関連づけられて、アサーション信号データセット113を構成している。これら仕様信号データセット103とアサーション信号データセット113とが、信号データベース比較工程120で比較され、差分121として出力される。
以上のように構成されたLSI機能検証方法について、以下、その作用について説明する。
仕様書100から選択された検証対象信号101に対し、検証対象信号101の動作に影響を与える被依存信号群102を仕様書から抽出し、検証対象信号101と被依存信号群を1つの信号データセット103として扱えるようにし、信号データベース作成工程104でその信号データセット103を登録して信号データベース105を作成する。
また、同様にアサーション記述110からも検証対象信号111を選択し、検証対象信号111の動作に影響を与える被依存信号群112をアサーション記述から抽出し、検証対象信号111と被依存信号群を1つの信号データセット113として扱えるようにし、信号データベース作成工程114で、その信号データセット113を登録して信号データベース115を作成する。そして、信号データベース105に登録されている信号データセット103と信号データベース115に登録されている信号データセット113とを信号データベース比較工程120で比較し、信号データセット103にはあって信号データセット113にはない被依存信号、また逆に、信号データセット113にはあって信号データセット103にはない被依存信号などの情報や、信号データセット103および信号データセット113のどちらにも存在する被依存信号などの情報を区分した差分121を出力する。
この結果を、例えば、図3(a)乃至(c)に信号データセットとして示す。図3(a)および(b)はそれぞれ、仕様書にもとづく信号データセット103と、アサーション記述110に基づく、信号データセット113を示す。そして図3(c)はこれらを合成して比較するための差分を示す比較データである。図3(c)からあきらかなように、例えば差分121で、仕様書にもとづく信号データセット103の信号名OUT1に関してIN1は動作に影響を与える(○)であるのに対し、アサーション記述にもとづく信号データセット113では信号名OUT1に関してIN1は動作に影響を与えるとは限らない(△)であり不一致であることがレポートされる。
一方別の表示方法で表示したデータセットとして、例えば、図4に示す。仕様書100に対し、信号データセット103内で検証対象信号101aと被依存信号102a、102bおよび102cとが関連付けられており、アサーション記述110に対し、信号データセット113内で検証対象信号111aと被依存信号112aおよび102cとが関連付けられている場合、差分121で、被依存信号102bの信号名IN2が検証対象信号111aの信号名OUT1に関するアサーション記述に含まれていないことがレポートされる。
さらに、被依存信号102a、102bまたは102cが変化をしてから検証対象信号101aに影響を及ぼすまでの遅延時間を付加することで、遅延時間も同時に比較される。また、検証対象信号および被依存信号をレジスタやラッチのようなクロックに同期して動作する信号に限定する。これにより、被依存信号に付加する遅延時間もクロックサイクル数などに置き換えることが可能となる。ここで、例えば図中、“IN1 TIME:CLK1,2”は、クロック信号CLK1がIN1に入力されて出力信号名OUT1に到達するのに遅延時間(サイクル)は2であることを意味する。ここでは仕様書に基づいて作成した被依存信号102aではCLK1,2であるのに対し、アサーション記述に基づいて作成した被依存信号112aではCLK1,3となっていることから、遅延時間が異なっていることがレポートされる。
(実施の形態2)
次に、ここで用いるデータベースの変形例として、遅延時間情報付加データベースについて説明する。図5に示すように、被依存信号B1,B2,・・・・Bmが、変化をしてから検証対象信号A1,A2,・・・Anに到達するまでの遅延時間を付加することで、時間軸で見た比較が可能となる。図中時間はあらかじめ決定された単位時間を用いるものとする。このような信号データセットを格納しておくことにより、遅延時間も同時に比較される。○は直接動作に影響を与えることを示し、−は影響を与えないことを示すものとする。
(実施の形態3)
次に、ここで用いるデータベースの他の変形例として、遅延時間情報付加データベースについて説明する。図6に示すように、被依存信号B1,B2,・・・Bmが、変化をしてから検証対象信号A1,A2,・・・Anに到達するまでの遅延時間をクロックサイクル数で示し、この遅延データClk1,5、Clk1,6・・・を付加することで、時間軸で見た比較を行うものである。ここで遅延データClk1,5はクロック信号Clk1が検証対象信号で5サイクル遅延することを示し、Clk1,6はクロック信号Clk1が検証対象信号で6サイクル遅延することを示す。このような信号データセットを格納しておくことにより、遅延時間も同時に比較される。
(実施の形態4)
次に、ここで用いるデータベースの他の変形例として、階層化データベースについて説明する。階層化データベースは図7(a)および(b)に示すように、検証対象信号に対し直接影響を与える被依存信号群のみを検証対象信号と関係づけた信号データセットを作成し、これを格納するものである。図7(a)は階層化データベースの構造を示す説明図であり、図7(b)は格納データを示す図である。たとえば、検証対象信号A1に対して、直接影響を与える被依存信号としてはB1、B2、C1があり、さらにC1、C2はB1に直接影響を与える被依存信号でもある。また被依存信号B2に対して、直接影響を与える被依存信号としてD1、D2がある。このようにA,B,Cを階層化しておき、この階層化情報とともに、遅延情報を付加し、このような信号データセットを格納しておくことにより、遅延時間も同時に比較される。
このような、階層化データベースを用いることによりデータサイズを削減することができる。また遅延時間情報も含むように作成しているため、各ノードを累算することでさまざまなパスの遅延時間情報を出力することができる。また、あるノードから別のノードのパスが複数とおりある場合、パスごとに遅延時間が異なるなど、不整合を発見することができる。例えば検証対象信号C1に対して直接影響を与える被依存信号A1の遅延情報は4であるのに対し、検証対象信号C1に対して直接影響を与える被依存信号B1の遅延情報は1、さらにこの被依存信号B1に対して直接影響を与える被依存信号A1の遅延情報は2であり、合計3となる。この結果からパスごとの遅延時間が異なり、この階層化データベースは不整合な部分を含むことがわかる。ここで不整合とは、必ずしもこれが不可ではないが間違いのある可能性があることをいうものとする。
(実施の形態5)
次に、ここで用いるデータベースの他の変形例として、階層化をレジスタなどサイクルベースにし、各ノードのパスの遅延時間を1クロックサイクルと単純化する方法について説明する。この方法では各ノードのパスの遅延時間についてのデータを単純化することができ、遅延時間情報の入手の手間を省略することができる。レジスタ階層化データベースは図8(a)および(b)に示すように、検証対象信号に対し直接影響を与える被依存信号群のみを検証対象信号と関係づけた信号データセットを作成し、これを格納するものである。
すなわち、図8(a)に示すように、検証対象信号A1と前記検証対象信号に対する被依存信号B1,B2,C1、C2,D1,D2が同一クロック信号に同期しており、かつ、前記被依存信号が前記検証対象信号に直接影響を与えているものを抽出し、図8(b)に示すように、前記クロック信号に対し同期して動作する信号のテーブルリストを作成する。
そしてこのクロック信号テーブルと信号データベース作成工程で作成された信号データベースとからクロック信号とクロックサイクル数を1とした遅延時間情報を自動設定する。
このように階層化をレジスタなどを用いてサイクルベースにすることで、各ノードのパスの遅延時間を1クロックサイクルと単純化することができ、遅延時間情報の入力の手間を省略することができる。
(実施の形態6)
また、レジスタ階層化データベースを用いた、LSI機能検証方法について説明する。図2において前記実施の形態1で説明したのと同様のプロセスを用いて検証がなされる点では同様であるが、信号データセットが、図9に示すように、レジスタ階層化構造を構成している。例えば、検証対象信号101bに対し、直接影響を与える被依存信号102d、102eおよび102fのみを検証対象信号101bと関係づけた信号データセットとして登録し、被依存信号102dは同時に検証対象信号101cでもあり、この検証対象信号101cに対し、直接影響を与える被依存信号102gおよび102hのみを検証対象信号101cと関係づけた信号データセット103bとして登録し、同様に被依存信号102eも同時に検証対象信号101dであり、検証対象信号101dと検証対象信号101dに直接影響を与える被依存信号102iおよび102jのみを関係づけた信号データセット103cとして登録する。
このように、検証対象信号や被依存信号をレジスタやラッチのようなクロックに同期して動作する信号に限定することにより信号データベースのサイズを削減できると同時に、被依存信号に付加する遅延時間もクロックサイクル数に置き換えられ、クロックドメイン間の情報も比較可能となり、より多くの内容を検証できることになる。また、検証対象信号と関連付けられて信号データベースに信号データセットとして登録される被依存信号を検証対象信号に直接影響を与えるもののみに限定することにより、信号データベースのサイズを削減でき、かつ、HDLのレジスタ構造と付き合わせることが可能となる。
(実施の形態7)
次に本発明の実施の形態7について説明する。本実施の形態では、LSIの仕様書と、HDL記述とを比較することにより検証を行うもので、図10にこの各工程と入出力情報の構成を示す。ここでは記述ルールの異なる表現記述の例として、LSIの仕様書とHDL記述とを比較することにより検証を行うもので、図10に示すように、仕様書100から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなる仕様信号データベース105を作成する。その一方で、当該LSIについてのHDL記述130から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなる検証信号データベース135を作成する。そしてこれら仕様信号データベース105とHDL信号データベース135とを比較し(140)、この差分141をとる。
そしてこの差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断する。
すなわち、LSIの仕様書100から、当該仕様書100で動作が規定されている検証対象信号101を抽出すると共に、検証対象信号101の動作に影響を与える被依存信号群102を抽出し、検証対象信号101と被依存信号102を関係づけた信号データセット103を作成し(104)、この信号データセット103を登録することによって信号データベース105を作成する(信号データベース作成工程104)。
一方、当該LSIの仕様書110から作成したHDL130で動作が規定されている検証対象信号131を抽出するとともに、検証対象信号131の動作に影響を与える被依存信号群132を抽出し、検証対象信号131と被依存信号132を関係づけた信号データセット113を作成し(114)、この信号データセット133を登録することによって信号データベース135を作成する(信号データベース作成工程)。
そして、信号データベース105と信号データベース135からそれぞれ信号データセット103と信号データセット133を取り出して比較する信号データベース比較工程140を経て、この信号データベース比較工程140で出力される差分141を取り出し、この差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断するものである。
(実施の形態8)
次に本発明の実施の形態8について説明する。本実施の形態では、アサーション記述と、HDL記述とを比較することにより検証を行うもので、図11にこの各工程と入出力情報の構成を示す。ここでは記述ルールの異なる表現記述の例として、アサーション記述とHDL記述とを比較することにより検証を行うもので、図11に示すように、アサーション記述110から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなるアサーション記述信号データベース115を作成する。その一方で、当該LSIについてのHDL記述130から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなる検証信号データベース135を作成する。そしてこれらアサーション信号データベース115とHDL信号データベース135とを比較し(150)、この差分151をとる。
そしてこの差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断する。
すなわち、アサーション記述110から、当該アサーション記述110で動作が規定されている検証対象信号111を抽出すると共に、検証対象信号111の動作に影響を与える被依存信号群112を抽出し、検証対象信号111と被依存信号112を関係づけた信号データセット113を作成し(114)、この信号データセット113を登録することによって信号データベース115を作成する(信号データベース作成工程114)。
一方、当該LSIの仕様書110から作成したHDL130で動作が規定されている検証対象信号131を抽出するとともに、検証対象信号131の動作に影響を与える被依存信号群132を抽出し、検証対象信号131と被依存信号132を関係づけた信号データセット113を作成し(114)、この信号データセット133を登録することによって信号データベース135を作成する(信号データベース作成工程)。
そして、信号データベース115と信号データベース135からそれぞれ信号データセット113と信号データセット133を取り出して比較する信号データベース比較工程140を経て、この信号データベース比較工程150で出力される差分151を取り出し、この差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断するものである。
(実施の形態9)
次に本発明の実施の形態9について説明する。本実施の形態では、システムレベル設計記述と、HDL記述とを比較することにより検証を行うもので、図12にこの各工程と入出力情報の構成を示す。ここでは記述ルールの異なる表現記述の例として、システムレベル記述とHDL記述とを比較することにより検証を行うもので、図12に示すように、システムレベル設計記述160から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなるシステムレベル設計記述信号データベース165を作成する。その一方で、当該LSIについてのHDL記述130から、検証信号に対する被検証信号を抽出し、動作が規定される検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットからなる検証信号データベース135を作成する。そしてこれらシステムレベル設計信号データベース165とHDL信号データベース135とを比較し(170)、この差分171をとる。
そしてこの差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断する。
すなわち、システムレベル設計記述160から、当該システムレベル設計記述160で動作が規定されている検証対象信号161を抽出すると共に、検証対象信号161の動作に影響を与える被依存信号群162を抽出し、検証対象信号161と被依存信号162を関係づけた信号データセット163を作成し(164)、この信号データセット163を登録することによって信号データベース165を作成する(信号データベース作成工程164)。
一方、当該LSIの仕様書110から作成したHDL130で動作が規定されている検証対象信号131を抽出するとともに、検証対象信号131の動作に影響を与える被依存信号群132を抽出し、検証対象信号131と被依存信号132を関係づけた信号データセット113を作成し(114)、この信号データセット133を登録することによって信号データベース135を作成する(信号データベース作成工程)。
そして、信号データベース165と信号データベース135からそれぞれ信号データセット163と信号データセット133を取り出して比較する信号データベース比較工程140を経て、この信号データベース比較工程170で出力される差分171を取り出し、この差分があらかじめ決定された範囲内であるか否かによって、各記述の適否を判断するものである。
(実施の形態10)
本実施の形態では、差分を抽出した後の状態について説明する。図13は、本実施の形態1,8,9におけるLSI機能検証方法で得られた結果、すなわち差分121,141,151を用いて信号追跡を行う工程240を実施する方法である。121は仕様書とアサーション記述の信号データベース同士を比較した結果の差分情報、141は仕様書とHDLの信号データベース同士を比較した結果の差分情報、151はアサーション記述とHDLの信号データベース同士を比較した結果の差分情報、240は差分情報121、差分情報141および差分情報151を入力とし新たな差分情報を出力する信号追跡工程、122は信号追跡工程240から生成される差分情報122である。
このように3つ以上の異なる表現記述の比較も極めて容易に実行される。
(実施の形態11)
本実施の形態では、図14に説明図を示すように、信号データベース作成工程により作成されたデータベースに対し、指定された数以上の検証対象信号の動作に影響を与える被依存信号を抽出する信号を抽出し、これをグローバル信号として扱うようにし、当該信号に対する仕様フォーマットのテンプレートを出力するようにしたものである。
ここでは、図14(a)に示すように、仕様信号データベースが作成されると、検証対象信号A1乃至A4のうち3つ以上に直接影響を与える被検証信号は、リセット信号reset1のみであり、図14(b)に示すように、グローバル信号仕様データベースを作成する。ここではリセット信号reset1が0のときのみ検証対象信号A1,A2,A3,A4はそれぞれ、0,0,1,1、一方リセット信号reset1が1のときは、検証対象信号A1,A2,A3,A4はリセット信号に対して変化なしということを示している。
このように、グローバル信号を見つけ出し、その信号に対する仕様フォーマットのテンプレートを出力することにより、仕様書のフォーマットをそろえることができ、取り扱いも簡単となり、仕様書の品質レベルを向上させることができる。
(実施の形態12)
本実施の形態では、前記実施の形態11で抽出されたグローバル信号の値もしくは値の変化方向に対し、グローバル信号が動作に影響を与える検証対象信号を機能ブロックごとに一括りにし、同じ機能ブロックに属する検証対象信号の動作が同一である機能ブロックについては、図15に説明図を示すように、一括りした機能ブロックに(−)動作を記述することで検証対象信号の動作を記述するようにした、グローバル信号表を出力するものである。
ここでは、図15(a)に示すように、仕様信号データベースが作成されると、検証対象信号ブロック1のBLK1.A1乃至A4のうち3つ以上に直接影響を与える被検証信号は、リセット信号reset1のみであり、図15(b)に示すように、グローバル信号仕様データベースを作成する。ここではリセット信号reset1が0のときのみ検証対象信号ブロック1のBLK1.A1,A2,A3,A4はそれぞれ、0,0,1,1、一方リセット信号reset1が1のときは、検証対象信号ブロック1のBLK1.A1,A2,A3,A4はリセット信号に対して変化なしということを示している。
このように、グローバル信号としてリセット信号reset1を見つけ出し、その信号に対する仕様フォーマットのテンプレートを出力することにより、仕様書のフォーマットをそろえることができ、取り扱いも簡単となり、仕様書の品質レベルを向上させることができる。
この構成により、上記実施の形態11による効果に加え、同じ機能ブロックの検証対象信号が同じ動作をする場合には、入力の手間を、省くことができる。
(実施の形態13)
本実施の形態では、グローバル信号の値により前記グローバル信号が動作に影響を与える検証対象信号の値も一意に決定される機能ブロックに対し、前記グローバル信号に信号の流れを変えるいわゆるモード属性を与え、図16に説明図を示すように、前記グローバル信号の値に対し、前記グローバル信号が動作に影響を与える検証対象信号の値を設定するグローバル信号仕様表を出力するようにしたことを特徴とする。
そして、グローバル信号仕様表の情報にもとづいて機能検証の為の記述言語を出力することができ、これにより、グローバル信号に適した仕様フォーマットのテンプレートを出力することで、仕様書作成の手間を省略することができる。また、このグローバル信号仕様表の情報にもとづいてアサーション記述を出力することもできる。
(実施の形態14)
本実施の形態では、グローバル信号の値と前記グローバル信号の変化時刻から一定時間内に前記グローバル信号が動作に影響を与える検証対象信号の値も一意に決定される、前記グローバル信号に初期シーケンス属性(入力信号の属性:初期化信号)を与え、図17および図18に説明図を示すように、グローバル信号の値と前記グローバル信号の変化時刻からの前記一定時間に対し、入力信号の属性に従って、グローバル信号が動作に影響を与える検証対象信号の値を設定できるグローバル信号仕様表を出力するようにしたことを特徴とする。ここでinit=1、♯5A1=0とは、初期化信号5クロックでA1=0に初期化されることを示す。
そして、グローバル信号仕様表出力工程で出力された表への入力情報に基づいて機能検証の為の記述言語を出力することもできる。
(実施の形態15)
本実施の形態では、図19(a)および(b)は、本第実施の形態15におけるLSI機能検証方法でHDLの検証対象信号が仕様書に存在しない場合の仕様書の入出力信号とHDLの入出力信号の構成図である。図19において、200はトップブロック、210、220および230は仕様書には記載されていないトップブロックのサブブロック1、サブブロック2、サブブロック3であり、201、202および203はトップブロックの入力信号、204および205はトップブロックの出力信号、211および212はサブブロック210の入力信号、213はサブブロック210の出力信号、221および222はサブブロック220の入力信号、223はサブブロック220の出力信号、231および232はサブブロック230の入力信号、233および234はサブブロック230の出力信号である。また、出力信号213に対してはその動作を検証するアサーション記述がされており、前アサーション記述は入力信号211と入力信号212の動作により出力信号213の動作が規定される記述になっている。
本実施の形態15における上記信号データセットを用いてLSI機能検証を行う際の各工程と入出力情報の構成図は実施の形態10において図13に示したものと同様である。仕様書とアサーション記述の信号データベース同士を比較した結果の差分情報121、仕様書とHDLの信号データベース同士を比較した結果の差分情報141、アサーション記述とHDLの信号データベース同士を比較した結果の差分情報151について、ここでも差分情報121、差分情報141および差分情報151を入力とし新たな差分情報122を出力する信号追跡工程240を実行するように構成されている。
以上のように構成された記述に対するLSI機能検証方法について、説明する。
図19のサブブロック210の出力信号213はアサーション記述の検証対象信号となっており、出力信号213の被依存信号が入力信号211および入力信号212となっているが、図19(a)に示す仕様書にはいずれの信号も記載されていない。これに対し、図13に示した差分情報151が、出力信号213に対しHDL上の被依存信号群とアサーション記述の被依存信号群の双方とも入力信号211および入力信号212になっており一致していることを示しているとする。HDL上、入力信号211と入力信号201は接続されており、入力信号212と出力信号223も接続されているとする。
さらに、出力信号223の動作に影響を与える信号が入力信号221および入力信号222となっており、入力信号221と入力信号202は接続され、入力信号222と入力信号203も接続されているとする。この場合、出力信号213の動作は、入力信号201、入力信号202および入力信号203に影響を受けることを示すことになる。
また、同様にHDL上、出力信号213は入力信号231に接続され、入力信号231が出力信号233の動作に影響を与える信号となっており、出力信号233が出力信号204と接続されているとする。この場合、出力信号204の動作は、出力信号213に影響を受けることを示すことになる。
ここで差分情報141が0であり、仕様書およびHDLの双方ともに入力信号201、入力信号202および入力信号203が検証対象信号としての出力信号204の被依存信号であることを示している場合、HDL上の内部ノードとなる出力信号213の被依存信号となる入力信号201、入力信号202および入力信号203は仕様書と整合性がとれていると判断できる。差分情報151で、アサーション記述上の検証対象信号である出力信号213の被依存信号である入力信号211および入力信号212はHDL上の出力信号213の被依存信号群に含まれていることが示されており、HDL上の入力信号211と入力信号201との依存関係、および、入力信号212と入力信号201と入力信号203との依存関係から、アサーション記述上の出力信号213の被依存信号である入力信号211と入力信号212との関係は、仕様書上の検証対象信号204と被依存信号である入力信号201、入力信号202および入力信号203との関係と整合性がとれていると判断できる。
(実施の形態16)
本実施の形態では、接続動作論理演算入力工程での入力情報を元に機能検証の為の記述言語を出力する複合動作接続検証記述言語出力工程を含むようにしたことを特徴とするもので、ブロック間のポート間接続しようとモード信号仕様とからブロック接続用のアサーションを自動出力することができる。
ここでは例えば、第1の機能ブロックのポートを第1の検証対象信号とし第1の検証対象信号が接続されている第2の機能ブロックのポート群を第1位の検証対象信号の被依存信号群として仕様信号データベースに登録し、2つ以上の検証対象信号群の動作に影響を与える第1の被依存信号を抽出してグローバル信号とする。そして仕様信号データベースに登録された信号データセット内の第2の検証対象信号と前記第2の検証対象信号と関連付けられている第2の被依存信号との動作が常に同じであることを意味する機能検証の為の記述言語を出力して、グローバル信号抽出工程で抽出されたグローバル信号が動作に影響を与える第3の検証対象信号のグローバル信号を含む被依存信号群と第3の検証対象信号とを関連付けた表を出力する複合動作接続信号仕様表を出力する。そしてさらに複合動作接続信号仕様表出力工程で出力された複合動作接続信号仕様表に複合動作接続信号仕様表に表れる第4の検証対象信号の値を決定する第4の検証対象信号の被依存信号群による論理演算を複合動作接続信号仕様表に入力する。そしてさらに、接続動作論理演算入力工程での入力情報を元に機能検証の為の記述言語を出力する。
(実施の形態17)
本実施の形態では、図20に示すように、LSI機能検証のための記述言語の信号名がこのLSIの仕様にない場合、この仕様と機能検証のための記述言語に対する信号データベース比較工程140の結果としての差分141と、アサーション記述とHDLに対する信号データベース比較工程150の結果としての差分151と対応付け工程200で対応付けることにより、この信号名に対し、仕様と関連付けた情報として信号名を想定し、これを付加するようにしている。
このようにLSIの機能検証の為の記述言語の信号名が前記LSIの仕様にない場合、仕様と前記機能検証の為の記述言語に対する信号データベース比較工程の結果と前記仕様と前記LSIのHDLに対する信号データベース比較工程の結果から、信号名に対し前記仕様と関連付けた情報を前記仕様と前記機能検証の為の記述言語に対する信号データベース工程で作成される信号データベースに付加するようにしたものである。
これにより、容易に欠落情報を検出し、補うことが容易に可能となる。
(実施の形態18)
本実施の形態では、図21に示すように、LSIのHDLに対し、HDLの検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを登録し、信号データベースを作成し、これを入力信号として用いてHDLのシミュレーションを行い、被依存信号群の値の変化を信号データセットに対し、被依存信号と関連付けて記録するようにしたことを特徴とするもので、この信号カバレッジ記録136で被依存信号群の値の組合せ数に対し記録された被依存信号群の値の変化が組合せ数の何通り記録されているかを被依存信号カバレッジレポート137として出力する。
このようにして、被依存信号カバレッジレポート137には、各入力信号が変化したか、各入力信号が0/1の値をとったか、各入力の組み合わせをすべて満たしたか、段数レベルごとのカバレッジを満たしたかどうかなどの情報をレポートする。
これにより、仕様の信号依存表と比較できていれば、コードカバレッジがリンクしているため、仕様からみたテストパターンの網羅性を検出することができる。
(実施の形態19)
本実施の形態では、図22に示すように、前段のカバレッジ結果を合算することで当該カバレッジを算出するようにしている。
例えば、左端列の段の2つのノードA,Bが(A,B)=(0,0)、(1,1)(1,0)(すなわちA:0/0/1/−、B;0/1/0/−)である場合、中間列の段のノードの上端では、コードカバレッジは3/4となる。またその下では6/8、さらにその下では8/8、さらにその下では13/16、そして右端の段のノードでは、中間列の段の4つのノードの全体を合算することで、組み合わせ数に対する信号の検出記録の数、30/36すなわち84.4%のカバレッジであることが確認される。
このように、信号カバレッジ記録工程で記録された第1の信号データセットの第1の被依存信号群の信号値の変化の組合せ数に対し、第1の信号データセットの第1の検証対象信号が被依存信号となっている第2の信号データセットに記録結果を引継ぐようにしたもので、効率よくカバレッジの算出が可能となる。
本発明にかかるLSI機能検証方法は、容易に効率よく機能検証を行うことができることから、超LSIの検証、仕様書の作成などにも適用可能である。
本発明の実施の形態1の方法の基本概念を示す説明図 本発明の実施の形態1の方法を示す説明図 本発明の実施の形態1で得られるデータセットおよびその比較データを示す図 本発明の実施の形態1で得られるデータセットの一例を示す図 本発明の実施の形態2のデータベースを示す図 本発明の実施の形態3のデータベースを示す図 本発明の実施の形態4のデータベースを示す図 本発明の実施の形態5のデータベースを示す図 本発明の実施の形態6で得られるデータセットの一例を示す図 本発明の実施の形態7の方法を示す説明図 本発明の実施の形態8の方法を示す説明図 本発明の実施の形態9の方法を示す説明図 本発明の実施の形態10の方法を示す説明図 本発明の実施の形態11のデータベースの作成工程におけるグローバル信号仕様を示す図 本発明の実施の形態12のデータベースの作成工程におけるグローバル信号仕様を示す図 本発明の実施の形態13のデータベースの作成工程におけるグローバル信号仕様を示す図 本発明の実施の形態14のデータベースの作成工程におけるグローバル信号仕様を示す図 本発明の実施の形態14のデータベースの作成工程におけるグローバル信号仕様を示す図 本発明の実施の形態15の方法を示す説明図 本発明の実施の形態17の方法を示す説明図 本発明の実施の形態18の方法を示す説明図 本発明の実施の形態19の方法を示す説明図
符号の説明
100 仕様書
105 仕様信号データベース
110 アサーション記述
115 仕様信号データベース
120 比較工程
121 差分

Claims (24)

  1. LSIの機能検証に用いられるデータベースであって、
    設計仕様または設計仕様に基づいて作成される記述において、前記LSIの動作が規定される検証対象信号と、前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを格納したデータベース。
  2. 請求項1に記載のデータベースであって、
    前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットと、
    前記LSIの機能検証の為の記述言語で検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットとを格納したデータベース。
  3. 請求項1に記載のデータベースであって、
    前記LSIの機能検証の為の第1の記述言語で検証対象となっている第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットと、
    前記LSIの機能検証の為の第2の記述言語で検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットとを格納したデータベース。
  4. LSI機能検証方法において、
    前記LSIの動作が規定される検証対象信号と、前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを、
    設計仕様または設計仕様に基づいて作成される複数の記述ルールの異なる表現記述に対して、それぞれ作成することにより、
    前記信号データセットを複数個用意する信号データベース作成工程と、
    前記信号データセット相互の内の少なくとも2つを比較し、差分を出力する信号データベース比較工程とを備えたLSI機能検証方法。
  5. 請求項4に記載のLSI機能検証方法であって、
    前記信号データセットは、抽象度の異なる記述レベルに対してそれぞれ作成されたものであるLSI機能検証方法。
  6. 請求項4に記載のLSI機能検証方法であって、
    前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、
    前記LSIの機能検証の為の記述言語で記述され、検証対象となっている第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、
    前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程とからなるLSI機能検証方法。
  7. 請求項4に記載のLSI機能検証方法であって、
    前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、
    前記LSIの機能を表現した記述言語(Hardware Description Language以下HDLと呼ぶ)で記述され、検証対象となっている第2の検証対象信号と、前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、
    前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程とからなるLSI機能検証方法。
  8. 請求項4に記載のLSI機能検証方法であって、
    前記LSIの仕様として動作が規定される第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、
    前記LSIの機能を表現した記述言語(HDL)の第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程とからなるLSI機能検証方法。
  9. 請求項4に記載のLSI機能検証方法であって、
    第1のHDLの第1の検証対象信号と前記第1の検証対象信号の動作に影響を与える第1の被依存信号群を関係づけた第1の信号データセットを登録する第1の信号データベース作成工程と、
    前記第1のHDLとは、信号間のデータの送受信に関し時間の概念が異なる第2のHDLの第2の検証対象信号と前記第2の検証対象信号の動作に影響を与える記述になっている第2の被依存信号群を関係づけた第2の信号データセットを登録する第2の信号データベース作成工程と、
    前記第1の信号データセットと前記第2の信号データセットを比較し差分を出力する信号データベース比較工程からなるLSI機能検証方法。
  10. 請求項4乃至9のいずれかに記載のLSI機能検証方法であって、
    前記第1の信号データベース作成工程で登録する第1の信号データセットに前記第1の信号データセットの第1の被依存信号が前記第1の信号データセットの第1の検証対象信号に影響を与えるまでの遅延時間情報を前記第1の被依存信号と関連付けて第1の信号データセットに追加する工程と、
    第2の信号データベース作成工程で登録する第2の信号データセットに前記第2の信号データセットの第2の被依存信号が前記第2の信号データセットの第2の検証対象信号に影響を与えるまでの遅延時間情報を前記第2の被依存信号と関連付けて第2の信号データセットに追加する工程とを含むLSI機能検証方法。
  11. 請求項10記載のLSI機能検証方法において、
    遅延時間情報をクロック信号とクロックサイクル数で表現するようにしたLSI機能検証方法。
  12. 請求項4乃至9のいずれかに記載のLSI機能検証方法であって、
    検証対象信号に対し、直接影響を与える被依存信号群のみを前記検証対象信号と関係づけた信号データセットを登録する第1または第2の信号データベース作成工程からなるLSI機能検証方法。
  13. 請求項11または12に記載のLSI機能検証方法であって、
    検証対象信号と前記検証対象信号に対する被依存信号が同一クロック信号に同期しており、かつ、前記被依存信号が前記検証対象信号に直接影響を与えているものを抽出し、前記クロック信号に対し同期して動作する信号のテーブルリストを作成するクロック信号テーブル作成工程と、
    前記クロック信号テーブル作成工程で作成されたクロック信号テーブルと信号データベース作成工程で作成された信号データベースからクロック信号とクロックサイクル数を1とした遅延時間情報を自動設定する工程とからなるLSI機能検証方法。
  14. 請求項4乃至8のいずれかに記載のLSI機能検証方法であって、
    信号データベース作成工程により作成されたデータベースに対し、指定された数以上の検証対象信号の動作に影響を与える被依存信号を抽出するグローバル信号抽出工程と、
    前記グローバル信号抽出工程で抽出されたグローバル信号の値もしくは値の変化方向に対し、前記グローバル信号が動作に影響を与える検証対象信号の動作を記述できる表を出力するグローバル信号仕様表出力工程とからなるLSI機能検証方法。
  15. 請求項14に記載のLSI機能検証方法であって、
    グローバル信号抽出工程で抽出されたグローバル信号の値もしくは値の変化方向に対し、前記グローバル信号が動作に影響を与える検証対象信号を機能ブロックごとに一括りにし同じ機能ブロックに属する前記検証対象信号の動作が同一の機能ブロックについては、前記一括りした機能ブロックに前記動作を記述することで前記検証対象信号の動作を記述できる表を出力するグローバル信号表出力工程からなるLSI機能検証方法。
  16. 請求項14に記載のLSI機能検証方法であって、
    グローバル信号の値により前記グローバル信号が動作に影響を与える検証対象信号の値も一意に決定される機能ブロックに対し、前記グローバル信号にモード属性を与える工程と、
    前記グローバル信号の値に対し、前記グローバル信号が動作に影響を与える検証対象信号の値を設定する表を出力するグローバル信号仕様表出力工程とを含むLSI機能検証方法。
  17. 請求項15に記載のLSI機能検証方法であって、
    前記グローバル信号仕様表出力工程で出力された表への入力情報にもとづいて機能検証の為の記述言語を出力する検証言語記述出力工程を含むLSI機能検証方法。
  18. 請求項16記載のLSI機能検証方法であって、
    前記グローバル信号の値と前記グローバル信号の変化時刻から一定時間内に前記グローバル信号が動作に影響を与える検証対象信号の値も一意に決定される、前記グローバル信号に初期シーケンス属性を与える工程と、
    前記グローバル信号の値と前記グローバル信号の変化時刻からの前記一定時間に対し、前記グローバル信号が動作に影響を与える検証対象信号の値を設定できる表を出力するグローバル信号仕様表出力工程とを含むLSI機能検証方法。
  19. 請求項18記載のLSI機能検証方法であって、
    前記グローバル信号仕様表出力工程で出力された表への入力情報に基づいて機能検証の為の記述言語を出力する検証言語記述出力工程を含むLSI機能検証方法。
  20. 請求項13記載または14に記載のLSI機能検証方法であって、
    前記第1の機能ブロックのポートを第1の検証対象信号とし前記第1の検証対象信号が接続されている第2の機能ブロックのポート群を前記第1位の検証対象信号の被依存信号群として仕様信号データベースに登録する工程と、
    2つ以上の検証対象信号群の動作に影響を与える第1の被依存信号を抽出するグローバル信号抽出工程と、
    前記仕様信号データベースに登録された信号データセット内の第2の検証対象信号と前記第2の検証対象信号と関連付けられている第2の被依存信号との動作が常に同じであることを意味する機能検証の為の記述言語を出力する同一動作接続検証記述言語出力工程と、
    前記グローバル信号抽出工程で抽出されたグローバル信号が動作に影響を与える第3の検証対象信号の前記グローバル信号を含む被依存信号群と前記第3の検証対象信号とを関連付けた表を出力する複合動作接続信号仕様表出力工程と、
    前記複合動作接続信号仕様表出力工程で出力された複合動作接続信号仕様表に前記複合動作接続信号仕様表に表れる第4の検証対象信号の値を決定する前記第4の検証対象信号の被依存信号群による論理演算を前記複合動作接続信号仕様表に入力する接続動作論理演算入力工程と、
    前記接続動作論理演算入力工程での入力情報を元に機能検証の為の記述言語を出力する複合動作接続検証記述言語出力工程とを含むLSI機能検証方法。
  21. 請求項4に記載のLSI機能検証方法において、前記LSIのHDLに対し、HDLの検証対象信号と前記検証対象信号の動作に影響を与える被依存信号群を関係づけた信号データセットを登録する信号データベース作成工程と、前記信号データベース作成工程で作成された信号データベースを入力してHDLのシミュレーションを行うシミュレーション工程と、前記シミュレーション工程で前記被依存信号群の値の変化を前記信号データセットに前記被依存信号と関連付けて記録する信号カバレッジ記録工程と、前記信号カバレッジ記録工程で前記被依存信号群の値の組合せ数に対し記録された前記被依存信号群の値の変化が前記組合せ数の何通り記録されているかを出力するカバレッジ出力工程とを含むLSI機能検証方法。
  22. 請求項21記載のLSI機能検証方法であって、
    信号データセットの被依存信号群の値の組合せを前記依存信号群と関連付けて前記信号データセットに付加する被依存信号値組合せ抽出工程と、
    シミュレーション工程での前記被依存信号群の値の組合せの変化があるごとに各組合せに対し発生した回数を前記信号データセットの前記組合せに関連付けて付加する被依存信号値組合せ記録工程からなるLSI機能検証方法。
  23. 前記21記載のLSI機能検証方法であって、
    信号カバレッジ記録工程で記録された第1の信号データセットの第1の被依存信号群の信号値の変化の組合せ数に対し、第1の信号データセットの第1の検証対象信号が被依存信号となっている第2の信号データセットに記録結果を引継ぐカバレッジ記録引継ぎ工程を含むLSI機能検証方法。
  24. 請求項4乃至8のいずれかに記載のLSI機能検証方法であって、
    前記LSIの機能検証の為の記述言語の信号名が前記LSIの仕様にない場合、前記仕様と前記機能検証の為の記述言語に対する第1の信号データベース比較工程の結果と前記仕様と前記LSIのHDLに対する第2の信号データベース比較工程の結果から、前記信号名に対し前記仕様と関連付けた情報を前記仕様と前記機能検証の為の記述言語に対する第3の信号データベース工程で作成される信号データベースに付加する工程からなるLSI機能検証方法。
JP2005285260A 2005-09-29 2005-09-29 データベースおよびこれを用いたlsi機能検証方法 Withdrawn JP2007094891A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005285260A JP2007094891A (ja) 2005-09-29 2005-09-29 データベースおよびこれを用いたlsi機能検証方法
US11/527,406 US20070074137A1 (en) 2005-09-29 2006-09-27 Database and method of verifying function of LSI using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005285260A JP2007094891A (ja) 2005-09-29 2005-09-29 データベースおよびこれを用いたlsi機能検証方法

Publications (1)

Publication Number Publication Date
JP2007094891A true JP2007094891A (ja) 2007-04-12

Family

ID=37895666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005285260A Withdrawn JP2007094891A (ja) 2005-09-29 2005-09-29 データベースおよびこれを用いたlsi機能検証方法

Country Status (2)

Country Link
US (1) US20070074137A1 (ja)
JP (1) JP2007094891A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009564A1 (en) 2007-06-28 2008-12-31 Kabushiki Kaisha Toshiba Verification apparatus and verification method
JP2010079727A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917873B1 (en) * 2007-02-12 2011-03-29 Zocalo Tech, Inc. System and method for verification of integrated circuit design
US7810056B1 (en) 2007-02-27 2010-10-05 Cadence Design Systems, Inc. Method and system for implementing context aware synthesis of assertions
US7712060B1 (en) * 2007-02-27 2010-05-04 Cadence Design Systems, Inc. Method and system for handling assertion libraries in functional verification
US9405870B2 (en) * 2007-09-06 2016-08-02 Globalfoundries Inc. Generating coverage data for a switch frequency of HDL or VHDL signals
JP2010003008A (ja) * 2008-06-18 2010-01-07 Fujitsu Ltd 検出プログラム、検出装置および検出方法
US8555226B1 (en) * 2012-09-04 2013-10-08 Freescale Semiconductor, Inc. Automatic verification of dependency
US10830818B2 (en) * 2017-09-25 2020-11-10 International Business Machines Corporation Ensuring completeness of interface signal checking in functional verification

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742166B2 (en) * 2001-07-20 2004-05-25 Hewlett-Packard Development Company, L.P. System and method for evaluating functional coverage linked to a verification test plan
JP3848157B2 (ja) * 2001-12-27 2006-11-22 株式会社東芝 Lsi設計検証装置、lsi設計検証方法、及びlsi設計検証プログラム
US7137078B2 (en) * 2003-03-27 2006-11-14 Jasper Design Automation, Inc. Trace based method for design navigation
US7188324B1 (en) * 2004-07-16 2007-03-06 Sun Microsystems, Inc. Assertion morphing in functional verification of integrated circuit design

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009564A1 (en) 2007-06-28 2008-12-31 Kabushiki Kaisha Toshiba Verification apparatus and verification method
US8578308B2 (en) 2007-06-28 2013-11-05 Kabushiki Kaisha Toshiba Verification apparatus and verification method
JP2010079727A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法

Also Published As

Publication number Publication date
US20070074137A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
JP2007094891A (ja) データベースおよびこれを用いたlsi機能検証方法
Huang et al. Formal equivalence checking and design debugging
JP5570701B2 (ja) 集積回路の故障モード・影響分析を実行するための方法、およびそのためのコンピュータプログラム製品
Wu et al. A robust functional ECO engine by SAT proof minimization and interpolation techniques
JP2004213605A (ja) 論理等価検証装置
US20080288234A1 (en) Method, system and program product supporting user tracing in a simulator
US7888971B2 (en) Verification support system and method
US20230043751A1 (en) Unified power format annotated rtl image recognition to accelerate low power verification convergence
US8495054B2 (en) Logic diagram search device
US20030221173A1 (en) Method and apparatus for detecting connectivity conditions in a netlist database
JP4445517B2 (ja) 回路設計検証方法および回路設計検証のためのプログラム
CN113138808B (zh) 一种集成方法、装置、计算机设备和存储介质
US20230306172A1 (en) Dynamic cdc verification method
US8001503B2 (en) Method and system for automatically accessing internal signals or ports in a design hierarchy
US7814455B2 (en) Logic synthesis method and device
JP4239008B2 (ja) 情報処理方法、情報処理装置およびプログラム
US11550979B2 (en) Implementing and verifying safety measures in a system design based on safety specification generated from safety requirements
Chockler et al. Easier and more informative vacuity checks
US11467851B1 (en) Machine learning (ML)-based static verification for derived hardware-design elements
EP4281896A1 (en) Structural analysis for determining fault types in safety related logic
US10909290B2 (en) Method of detecting a circuit malfunction and related device
US10094875B1 (en) Methods, systems, and articles of manufacture for graph-driven verification and debugging of an electronic design
US8438518B2 (en) Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
Biswal et al. A binary decision diagram approach to on-line testing of asynchronous circuits with dynamic and static C-elements
Migairou et al. A simple statistical timing analysis flow and its application to timing margin evaluation

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071113

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081001

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081118