JP5321624B2 - 論理回路検証装置、論理回路検証方法およびプログラム - Google Patents

論理回路検証装置、論理回路検証方法およびプログラム Download PDF

Info

Publication number
JP5321624B2
JP5321624B2 JP2011054985A JP2011054985A JP5321624B2 JP 5321624 B2 JP5321624 B2 JP 5321624B2 JP 2011054985 A JP2011054985 A JP 2011054985A JP 2011054985 A JP2011054985 A JP 2011054985A JP 5321624 B2 JP5321624 B2 JP 5321624B2
Authority
JP
Japan
Prior art keywords
code
coverage
logic
modules
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
JP2011054985A
Other languages
English (en)
Other versions
JP2012190374A (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 JP2011054985A priority Critical patent/JP5321624B2/ja
Publication of JP2012190374A publication Critical patent/JP2012190374A/ja
Application granted granted Critical
Publication of JP5321624B2 publication Critical patent/JP5321624B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、論理回路検証装置、論理回路検証方法およびプログラムに関し、特に、論理シミュレーションに基づいて論理回路の機能を検証する論理回路検証装置、論理回路検証方法およびプログラムに関する。
近年、半導体集積回路等の論理回路の設計において、HDL(Hardware Description Language)を用いた設計が行われる。すなわち、論理回路を表すRTL(Register Transfer Level)回路をHDLで記述し、得られたHDLコードを用いたシミュレーション(以下、「論理シミュレーション」という。)によって論理回路の動作を模擬することで、設計の検証が行われる。
論理シミュレーションにおいて機能検証用のテストパターンを実行する際、検証対象論理のすべての機能が実行されることが望ましい。実行される機能の網羅性を確認するために、機能または記述が全体の何%実行されたかを表す指標として、コード・カバレッジが使用される。例えば、論理シミュレーションで用いたテストパターンが、検証対象回路に対するHDLコードをどれだけ網羅したかを計測することにより、コード・カバレッジを取得することができる。
なお、特許文献1には、論理回路に対して抽象度の高いモデルを用いることで、コード・カバレッジの測定時間を短縮する技術が記載されている。
特開2009−069922号公報
以下の分析は、本発明者によってなされたものである。
カバレッジリスト、すなわち、論理シミュレーションにおいていずれのモジュールのコード・カバレッジを採取するかを設定するリストに含まれる検証項目の数が多くなるに従って、論理シミュレーションの実行に要する時間が長くなる。特許文献1に記載された技術のように、論理シミュレーションにおいて抽象度の高いモデル(以下、「擬似モデル」という。)を用いることで、実論理に基づくモデル(以下、「実モデル」という。)を用いた場合と比較してシミュレーションの速度を向上させることができる。しかしながら、カバレッジリストに含まれる検証項目を検証する際には、実モデルを使用する必要がある。
そこで、論理シミュレーションに基づく論理回路の検証に要する時間を削減することが課題となる。本発明の目的は、かかる課題を解決する論理回路検証装置、論理回路検証方法およびプログラムを提供することにある。
本発明の第1の視点に係る論理回路検証装置は、
複数のモジュールを有する論理回路に対する論理シミュレーションを行うとともに、該複数のモジュールのそれぞれに対するコード・カバレッジ(コードの網羅率)を取得する論理シミュレータと、
前記複数のモジュールのそれぞれに対するコード・カバレッジを参照し、コード・カバレッジが所定の割合よりも低いモジュールに対して第1のHDLコードを用いるとともに、それ以外のモジュールに対して該第1のHDLコードに対するモデルよりも抽象度の高いモデルに基づく第2のHDLコードを用いて論理シミュレーションを行うように、前記論理シミュレータに指示するカバレッジアクセラレータと、を備えている。
本発明の第2の視点に係る論理回路検証方法は、
コンピュータが、複数のモジュールを有する論理回路に対する論理シミュレーションを行う工程と、
前記論理シミュレーションの結果から、前記複数のモジュールのそれぞれに対するコード・カバレッジ(コードの網羅率)を取得する工程と、
コード・カバレッジが所定の割合よりも低いモジュールに対して第1のHDLコードを用いるとともに、それ以外のモジュールに対して該第1のHDLコードに対するモデルよりも抽象度の高いモデルに基づく第2のHDLコードを用いて論理シミュレーションを行う工程と、を含む。
本発明の第3の視点に係るプログラムは、
複数のモジュールを有する論理回路に対する論理シミュレーションを行う処理と、
前記論理シミュレーションの結果から、前記複数のモジュールのそれぞれに対するコード・カバレッジ(コードの網羅率)を取得する処理と、
コード・カバレッジが所定の割合よりも低いモジュールに対して第1のHDLコードを用いるとともに、それ以外のモジュールに対して該第1のHDLコードに対するモデルよりも抽象度の高いモデルに基づく第2のHDLコードを用いて論理シミュレーションを行う処理と、をコンピュータに実行させる。
本発明に係る論理回路検証装置、論理回路検証方法およびプログラムによると、論理シミュレーションに基づく論理回路の検証に要する時間を削減することができる。
実施形態に係る論理回路検証装置の構成を示すブロック図である。 実施形態に係る論理回路検証装置におけるモジュールおよびそのカバレッジを一例として示す図である。 実施形態に係る論理回路検証装置のカバレッジアクセラレータの動作を示すフローチャートである。 コンピュータのハードウェア構成を示すブロック図である。
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
図1を参照すると、本発明に係る論理回路検証装置は、複数のモジュールを有する論理回路に対する論理シミュレーションを行うとともに、該複数のモジュールのそれぞれに対するコード・カバレッジ(コードの網羅率)を取得する論理シミュレータ(15)と、前記複数のモジュールのそれぞれに対するコード・カバレッジを参照し、コード・カバレッジが所定の割合よりも低いモジュールに対して第1のHDLコードを用いるとともに、それ以外のモジュールに対して第1のHDLコードに対するモデルよりも抽象度の高いモデルに基づく第2のHDLコードを用いて論理シミュレーションを行うように、論理シミュレータ(15)に指示するカバレッジアクセラレータ(17)と、を備えている。ここで、所定の割合は、一例として100%としてもよい。
また、カバレッジアクセラレータ(17)は、複数のモジュールのうちのRTL回路が更新されたモジュールについては、コード・カバレッジに依らず、抽象度が相対的に高い第1のHDLコードを用いて論理シミュレーションを行うように論理シミュレータ(15)に指示することが好ましい。
本発明に係る論理回路検証装置によると、論理シミュレーションに基づく論理回路の検証に要する時間を削減することができる。
また、論理回路検証装置は、カバレッジを取得すべき項目の一覧を含むカバレッジリスト(14)をさらに備え、論理検証に要するTAT(Turn Around Time)の短縮を図るようにしてもよい。論理回路検証装置は、具体的には、以下の手順にしたがって論理回路の検証を行なうようにしてもよい。
工程1.カバレッジアクセラレータ(17)は、カバレッジ集計結果(16)を参照し、網羅率のカバーされたカバレッジ項目をカバレッジリスト(14)において検証対象から外し、検証速度を向上させる。
工程2.また、カバレッジアクセラレータ(17)は、カバレッジ集計結果(16)を参照し、網羅率が100%となったモジュール(すなわち、サブ論理回路)に対するHDLコードを、より抽象度の高いモデルに基づくHDLコードと差し替えてモデルを生成するように、モデル構築用設定ファイル(11)に設定し、論理シミュレーションの速度を向上させる。ここでは、擬似モデルに基づくHDLコードを「擬似モデルHDLコード」といい、実モデルに基づくHDLコードを「実モデルHDLコード」という。
工程3.モデルの元となるRTL回路に変更が加わった場合には、そのRTL回路に関連するモジュールに対するカバレッジ項目は、工程1の結果として検証対象から外されていても、再度、カバレッジリスト(14)に追加される。また、この場合には、工程2の結果として擬似モデルHDLコードとされていても、再度、実モデルHDLコードに組み替えられる。
工程4.カバレッジアクセラレータ(17)は、以上の工程1〜工程3の処理を自動で行う。なお、検証対象から外された項目も、母数においては存在するものとして計上する。
工程5.以上の工程1ないし工程4までの手順を実装したカバレッジアクセラレータ(17)を、シミュレーションのフローの中に組み込む。これによって、論理シミュレーションの速度を向上させることが可能となる。
(実施形態)
実施形態に係る論理回路検証装置について、図面を参照して説明する。図1は、本実施形態の論理回路検証装置の構成を示すブロック図である。図1を参照すると、論理回路検証装置は、モデル構築用設定ファイル11、テストベクトル12、シミュレーションコード13、カバレッジリスト14、論理シミュレータ15、カバレッジ集計結果16、および、カバレッジアクセラレータ17を備えている。
モデル構築用設定ファイル11には、シミュレーションコード13を構築する際に、どのモジュールに対して簡易的な抽象度の高いモデル(擬似モデル)を使用するかが記載されている。一例として、モジュールAに対して擬似モデルHDLコードを使用し、モジュールBに対して実モデルHDLコードを使用するように、モデル構築用設定ファイル11に設定されている場合を考える。この場合には、図2を参照すると、モジュールAに対して擬似モデルHDLコードを使用し、モジュールBに対して実モデルHDLコードを使用したシミュレーションコード13が生成される。
テストベクトル12は、このようにして生成されたシミュレーションコード13を検証するためのデータである。
カバレッジリスト14は、シミュレーション中に、各モジュールのどのカバレッジ項目に対するカバレッジを採取すべきかが記載されている。
論理シミュレータ15は、テストベクトル12、シミュレーションコード13およびカバレッジリスト14を使用して、論理シミュレーションを行い、シミュレーションの結果として、カバレッジ集計結果16を出力する。
カバレッジアクセラレータ17は、カバレッジ集計結果16を使用して、モデル構築用設定ファイル11およびカバレッジリスト14を生成する。以下では、カバレッジアクセラレータ17の動作について、図面を参照して説明する。図3は、カバレッジアクセラレータ17がモデル構築用設定ファイル11およびカバレッジリスト14を生成する動作を示すフローチャートである。
論理回路がモジュールAおよびモジュールBを含み、モジュールAに対するRTL回路およびモジュールBに対するRTL回路が存在する場合には、カバレッジアクセラレータ17は、これらのRTL回路に更新があったか否かを調べ、更新があったモジュールに対して(ステップS1のYES)、シミュレーションコード13を生成する際、実モデルHDLコード(すなわち、相対的に抽象度の低いモデルに基づくHDLコード)を使用するように、モデル構築用設定ファイル11に設定する(ステップS2)。さらに、更新された部分をカバレッジ監視対象とするために、更新部分をカバレッジ項目としてカバレッジリスト14に追加する(ステップS3)。
次に、カバレッジアクセラレータ17は、各モジュールのカバレッジ集計結果16を参照して、カバレッジが100%であるモジュールに対して(ステップS4のYES)、擬似モデルHDLコード(すなわち、相対的に抽象度の高いモデルに基づくHDLコード)を使用するようにモデル構築用設定ファイル11に設定し(ステップS5)、当該モジュールに対するカバレッジ項目をカバレッジリスト14から削除する(ステップS6)。
一方、カバレッジアクセラレータ17は、対象モジュールのカバレッジが100%でないモジュールに対して(ステップS4のNO)、モジュール内のカバレッジ項目のうちのカバーされた項目をカバレッジリスト14から削除する(ステップS7)。
本実施形態に係る論理検証装置によると、以下の効果がもたらされる。論理シミュレーションに使用するモデルの抽象度を上げることで、論理シミュレーションの速度を向上させ、TATを短縮することができる。また、論理シミュレーション時に監視すべきカバレッジ対象を必要最小限とすることで、論理シミュレーション速度を向上させ、TATを短縮することができる。
また、本実施形態の論理検証装置は、一例として、コンピュータを用いて実現することができる。図4は、論理回路検証装置を、コンピュータによって実現する場合におけるコンピュータのハードウェア構成を示すブロック図である。図4を参照すると、コンピュータ70は、CPU(Central Processing Unit)71、メモリ72、ハードディスク73、入力装置74、及び出力装置75を備えている。
これらの各部は、バスラインに接続されていてもよい。入力装置74は、マウス及びキーボードを含んでいてもよい。出力装置75は、ディスプレイを有していてもよい。ハードディスク73は、モデル構築用設定ファイル11、テストベクトル12、シミュレーションコード13、カバレッジリスト14およびカバレッジ集計結果16を記憶するようにしてもよい。CPU71は、論理回路検証装置の論理シミュレータ15およびカバレッジアクセラレータ17における処理を実行する。
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
11 モデル構築用設定ファイル
12 テストベクトル
13 シミュレーションコード
14 カバレッジリスト
15 論理シミュレータ
16 カバレッジ集計結果
17 カバレッジアクセラレータ
70 コンピュータ
71 CPU
72 メモリ
73 ハードディスク
74 入力装置
75 出力装置

Claims (7)

  1. 複数のモジュールを有する論理回路に対する論理シミュレーションを行うとともに、該複数のモジュールのそれぞれに対するコード・カバレッジ(コードの網羅率)を取得する論理シミュレータと、
    前記複数のモジュールのそれぞれに対するコード・カバレッジを参照し、コード・カバレッジが所定の割合よりも低いモジュールに対して第1のHDL(Hardware Description Language)コードを用いるとともに、それ以外のモジュールに対して該第1のHDLコードに対するモデルよりも抽象度の高いモデルに基づく第2のHDLコードを用いて論理シミュレーションを行うように、前記論理シミュレータに指示するカバレッジアクセラレータと、を備えている、論理回路検証装置。
  2. 前記カバレッジアクセラレータは、前記複数のモジュールのうちのRTL(Register Transfer Level)回路が更新されたモジュールについては、コード・カバレッジに依らず、前記第1のHDLコードを用いて論理シミュレーションを行うように前記論理シミュレータに指示する、請求項1に記載の論理回路検証装置。
  3. 前記所定の割合は100%である、請求項1または2に記載の論理回路検証装置。
  4. コンピュータが、複数のモジュールを有する論理回路に対する論理シミュレーションを行う工程と、
    前記論理シミュレーションの結果から、前記複数のモジュールのそれぞれに対するコード・カバレッジ(コードの網羅率)を取得する工程と、
    コード・カバレッジが所定の割合よりも低いモジュールに対して第1のHDL(Hardware Description Language)コードを用いるとともに、それ以外のモジュールに対して該第1のHDLコードに対するモデルよりも抽象度の高いモデルに基づく第2のHDLコードを用いて論理シミュレーションを行う工程と、を含む、論理回路検証方法。
  5. 前記コンピュータが、前記複数のモジュールのうちRTL(Register Transfer Level)回路が更新されたモジュールが存在するか否かを判定する工程と、
    RTL回路が更新されたモジュールについては、コード・カバレッジに依らず、前記第1のHDLコードを用いて論理シミュレーションを行う工程と、を含む、請求項4に記載の論理回路検証方法。
  6. 複数のモジュールを有する論理回路に対する論理シミュレーションを行う処理と、
    前記論理シミュレーションの結果から、前記複数のモジュールのそれぞれに対するコード・カバレッジ(コード網羅率)を取得する処理と、
    コード・カバレッジが所定の割合よりも低いモジュールに対して第1のHDL(Hardware Description Language)コードを用いるとともに、それ以外のモジュールに対して該第1のHDLコードに対するモデルよりも抽象度の高いモデルに基づく第2のHDLコードを用いて論理シミュレーションを行う処理と、をコンピュータに実行させることを特徴とするプログラム。
  7. 前記複数のモジュールのうちRTL(Register Transfer Level)回路が更新されたモジュールが存在するか否かを判定する処理と、
    RTL回路が更新されたモジュールについては、コード・カバレッジに依らず、前記第1のHDLコードを用いて論理シミュレーションを行う処理と、をコンピュータに実行させることを特徴とする、請求項6に記載のプログラム。
JP2011054985A 2011-03-14 2011-03-14 論理回路検証装置、論理回路検証方法およびプログラム Expired - Fee Related JP5321624B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011054985A JP5321624B2 (ja) 2011-03-14 2011-03-14 論理回路検証装置、論理回路検証方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011054985A JP5321624B2 (ja) 2011-03-14 2011-03-14 論理回路検証装置、論理回路検証方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2012190374A JP2012190374A (ja) 2012-10-04
JP5321624B2 true JP5321624B2 (ja) 2013-10-23

Family

ID=47083425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011054985A Expired - Fee Related JP5321624B2 (ja) 2011-03-14 2011-03-14 論理回路検証装置、論理回路検証方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5321624B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101849648B1 (ko) * 2017-12-27 2018-04-17 박동우 건축 설계 모델 제공 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02262076A (ja) * 1989-03-31 1990-10-24 Toshiba Corp 論理回路のテスト方法

Also Published As

Publication number Publication date
JP2012190374A (ja) 2012-10-04

Similar Documents

Publication Publication Date Title
US7552409B2 (en) Engineering change order process optimization
US20190018917A1 (en) Hybrid timing analysis method and associated system and non-transitory computer readable medium
KR20200139235A (ko) 데이터 변환 파이프라인용 하드웨어 설계 검증
US8762907B2 (en) Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level
US20150234971A1 (en) Apportioning synthesis effort for better timing closure
US20130035908A1 (en) Identifying invariant candidates based on proofs
WO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
US11630938B1 (en) Failure mode analysis for circuit design
JP5321624B2 (ja) 論理回路検証装置、論理回路検証方法およびプログラム
JP6034614B2 (ja) 情報処理装置およびその方法
US8984468B1 (en) Method to adaptively calculate resistor mesh in IC designs
TWI488063B (zh) 最佳化並驗證第一電路的設備,方法及電腦可讀取儲存媒體
US20220067236A1 (en) Physical system simulation
US10936776B1 (en) Analyzing waveform data generated for simulated circuit design
US8407642B2 (en) Leak current calculation apparatus and method for calculating leak current
Thakyal et al. Layout-aware selection of trace signals for post-silicon debug
US20170220707A1 (en) Identifying Bugs in a Counter Using Formal
US20130007680A1 (en) Coverage Based Pairwise Test Set Generation for Verification of Electronic Designs
JP6089853B2 (ja) 配線検査装置、配線検査プログラム及び配線検査方法
KR101832583B1 (ko) 전력 상태 커버리지 메트릭 및 이의 추정 방법
US20130198709A1 (en) Verification Test Set and Test Bench Map Maintenance
GB2572633A (en) Verification of hardware design for data transformation pipeline
US10902174B1 (en) Power and ground mesh modeling for placement in circuit design
US9710579B1 (en) Using smart timing models for gate level timing simulation
US12086529B1 (en) Circuit design modification using timing-based yield calculation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130701

R150 Certificate of patent or registration of utility model

Ref document number: 5321624

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees