JP5348065B2 - 検証支援プログラム、検証支援装置および検証支援方法 - Google Patents
検証支援プログラム、検証支援装置および検証支援方法 Download PDFInfo
- Publication number
- JP5348065B2 JP5348065B2 JP2010106789A JP2010106789A JP5348065B2 JP 5348065 B2 JP5348065 B2 JP 5348065B2 JP 2010106789 A JP2010106789 A JP 2010106789A JP 2010106789 A JP2010106789 A JP 2010106789A JP 5348065 B2 JP5348065 B2 JP 5348065B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- variables
- dependency
- verification support
- clock domain
- 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
Links
Images
Description
つぎに、検証支援装置100のハードウェア構成について説明する。図4は、検証支援装置のハードウェア構成を示すブロック図である。図7において、検証支援装置100は、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、通信I/F(Interface)408と、入力デバイス409と、出力デバイス410と、を備えている。また、各構成部はバス420によってそれぞれ接続されている。
図5は、検証支援装置の機能的構成を示すブロック図である。検証支援装置100は、指定部501と、検索部502と、検出部503と、出力部504と、算出部505と、抽出部506と、判断部507と、判定部508とを含む構成である。この制御部となる機能(指定部501〜判定部508)は、具体的には、たとえば、図4に示したROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、通信I/F408により、その機能を実現する。
図6は、検証支援処理の手順を示すフローチャートである。図6のフローチャートは、依存元の変数の値の変化が依存先の変数の値に反映されるまでの時間(遅延時間)を把握したい2つの変数の指定を受け付けると、2つの変数の間の信号を伝播させる変数を検出して、遅延時間の算出を可能にするまでの手順を示している。図6の各処理を実行することによって、依存元の変数に入力された信号がどの変数を経由し、どのようなクロックに基づいて、依存先へ伝播するかを把握することができる。
図7は、依存関係の調査の手順を示す説明図である。まず、2つの変数の依存関係の調査について説明する。図7のように、検証支援装置100は、RTLのソースコード113からパーザーにRTLソースコードの構造化を行う(ステップS701)。ステップS701の構造化によって、パーズツリー700が生成される。その後、検証支援装置100は、調査対象変数111とクロック信号名112とに基づいて、パーズツリー700の中から検査したい変数を探索する(ステップS702)。
図8−1および図8−2は、依存関係探索処理の手順を示すフローチャートである。図8−1および図8−2のフローチャートは、2つの変数について依存関係を検索する手順を示している。図8−1および図8−2の各処理を実行することによって、指定された2つの変数の依存関係の有無と、依存関係がある場合には、依存元から依存先へのパス上に存在するノードを検索するとともに、どのようなノードかを表すラベルを付与することができる。
図9は、遅延サイクル数の算出処理の手順を示すフローチャートである。図9のフローチャートは、指定された依存元から依存先までの信号の伝播に要するクロックをカウントする手順を示している。図9の各処理を実行することによって、依存関係のある2つの変数間の遅延サイクル数を算出することができる。
図10は、実施例1におけるRTL記述を示す説明図である。実施例1では、図10のソースコード1000を対象に依存元の変数in0の値が依存先の変数out0の値へ影響を与えるまでの時間差を調査したい。そこで、まず、ソースコード1000から変数in0→変数out0のパスを検索するための処理を行う。
図14は、実施例2におけるRTL記述を示す説明図である。実施例2では、図14のソースコード1400を対象に依存元の変数in0の値が依存先の変数out0の値へ影響を与えるまでの時間差を調査したい。変数in0から変数out0までのパスを参照すると、変数in0、中間信号reg0、変数out0のノードが検索される。そして、ソースコード1400の記述に基づいて、各ノードにはラベル1401〜1403が付与される。なお、図14は、便宜上、ソースコード1400内に依存関係パスを表示したが、実際のソースコード1400上に表示されているわけではない。
図16は、実施例3におけるRTL記述を示す説明図である。実施例3では、図16のソースコード1600を対象に依存元の変数in0の値が依存先の変数out0の値へ影響を与えるまでの時間差を調査したい。ところが、実施例3のソースコード1600の場合、定義文1601に記述されているように、クロックドメインとしてclk0,clk1の2種類が利用されている。
図18は、実施例4におけるRTL記述を示す説明図である。実施例4では、図18のソースコード1800を対象に依存元の変数in0の値が依存先の変数out0の値へ影響を与えるまでの時間差を調査したい。ところが、実施例4のソースコード1800の場合、依存元から依存先まで複数のパスが存在している。
前記複数の変数の中から、前記指定工程によって指定された第1の変数を依存元とし前記第2の変数を依存先とする第3の変数を検索する検索工程と、
前記ハードウェア記述に記述されている前記第1または第2の変数が属するクロックドメインを参照して、前記検索工程によって検索された第3の変数の中から、前記第1または第2の変数とクロックドメインが同一の変数を検出する検出工程と、
前記検出工程によって検出された検出結果を出力する出力工程と、
をコンピュータに実行させることを特徴とする検証支援プログラム。
前記検出工程によって検出された検出結果に基づいて、前記第1の変数の値の変化が第2の変数の値に伝播するまでにかかる時間を算出する算出工程を実行させ、
前記出力工程は、
前記算出工程によって算出された算出結果を出力することを特徴とする付記1〜4のいずれか一つに記載の検証支援プログラム。
前記抽出工程によって抽出された代入文の中のいずれかの代入文に含まれる変数が、それぞれ前記抽出された代入文の中の他の代入文に記述されているか否かを判断する判断工程と、
前記判断工程による判断結果に基づいて、前記任意の2つの変数に依存関係があるか否かを判定する判定工程と、をコンピュータに実行させ、
前記検索工程では、前記判定工程によって依存関係があると判定された場合に、前記任意の2つの変数を、前記第1の変数と第2の変数として前記第3の変数を前記複数の変数の中から検索することを特徴とする付記1〜5のいずれか一つに記載の検証支援プログラム。
前記複数の変数の中から、前記指定手段によって指定された第1の変数を依存元とし前記第2の変数を依存先とする第3の変数を検索する検索手段と、
前記ハードウェア記述に記述されている前記第1または第2の変数が属するクロックドメインを参照して、前記検索手段によって検索された第3の変数の中から、前記第1または第2の変数とクロックドメインが同一の変数を検出する検出手段と、
前記検出手段によって検出された検出結果を出力する出力手段と、
を備えることを特徴とする検証支援装置。
対象回路を動作させるクロックドメインごとに変数間の依存関係が記述されたハードウェア記述内の複数の変数の中から、第1の変数と当該第1の変数の依存先となる第2の変数との指定を受け付ける指定工程と、
前記複数の変数の中から、前記指定工程によって指定された第1の変数を依存元とし前記第2の変数を依存先とする第3の変数を検索する検索工程と、
前記ハードウェア記述に記述されている前記第1または第2の変数が属するクロックドメインを参照して、前記検索工程によって検索された第3の変数の中から、前記第1または第2の変数とクロックドメインが同一の変数を検出する検出工程と、
前記検出工程によって検出された検出結果を出力する出力工程と、
を実行することを特徴とする検証支援方法。
110 入力値
111 調査対象変数
112 クロック信号名
113 RTLのソースコード
130 中間データ
131 依存関係パス
120 出力値
121 遅延サイクル数
501 指定部
502 検索部
503 検出部
504 出力部
505 算出部
506 抽出部
507 判断部
508 判定部
Claims (7)
- 対象回路を動作させるクロックドメインごとに変数間の依存関係が記述されたハードウェア記述内の複数の変数の中から、第1の変数と当該第1の変数の依存先となる第2の変数との指定を受け付ける指定工程と、
前記複数の変数の中から、前記指定工程によって指定された第1の変数を依存元とし前記第2の変数を依存先とする第3の変数を検索する検索工程と、
前記ハードウェア記述に記述されている前記第1または第2の変数が属するクロックドメインを参照して、前記検索工程によって検索された第3の変数の中から、前記第1または第2の変数とクロックドメインが同一の変数を検出する検出工程と、
前記検出工程によって検出された検出結果を出力する出力工程と、
をコンピュータに実行させることを特徴とする検証支援プログラム。 - 前記検出工程では、前記検索工程によって、名称とクロックドメインが一致する複数の変数が第3の変数として検索されている場合、前記名称とクロックドメインが一致する複数の変数を1つだけ検出することを特徴とする請求項1に記載の検証支援プログラム。
- 前記検出工程では、前記第1または第2の変数に複数のクロックドメインが存在する場合、クロックドメインごとに、前記第3の変数の中から、前記第1または第2の変数とクロックドメインが同一の変数を検出することを特徴とする請求項1または2に記載の検証支援プログラム。
- 前記検出工程では、前記検索工程によって、前記第3の変数として、前記第1の変数と前記第2の変数との間の異なるパスを経る変数が検索された場合、前記異なるパスごとに検索された前記第3の変数が、前記第1または第2の変数とクロックドメインが同一の変数を検出することを特徴とする請求項1〜3のいずれか一つに記載の検証支援プログラム。
- 前記コンピュータに、
前記検出工程によって検出された検出結果に基づいて、前記第1の変数の値の変化が第2の変数の値に伝播するまでにかかる時間を算出する算出工程を実行させ、
前記出力工程は、
前記算出工程によって算出された算出結果を出力することを特徴とする請求項1〜4のいずれか一つに記載の検証支援プログラム。 - 対象回路を動作させるクロックドメインごとに変数間の依存関係が記述されたハードウェア記述内の複数の変数の中から、第1の変数と当該第1の変数の依存先となる第2の変数との指定を受け付ける指定手段と、
前記複数の変数の中から、前記指定手段によって指定された第1の変数を依存元とし前記第2の変数を依存先とする第3の変数を検索する検索手段と、
前記ハードウェア記述に記述されている前記第1または第2の変数が属するクロックドメインを参照して、前記検索手段によって検索された第3の変数の中から、前記第1または第2の変数とクロックドメインが同一の変数を検出する検出手段と、
前記検出手段によって検出された検出結果を出力する出力手段と、
を備えることを特徴とする検証支援装置。 - コンピュータが、
対象回路を動作させるクロックドメインごとに変数間の依存関係が記述されたハードウェア記述内の複数の変数の中から、第1の変数と当該第1の変数の依存先となる第2の変数との指定を受け付ける指定工程と、
前記複数の変数の中から、前記指定工程によって指定された第1の変数を依存元とし前記第2の変数を依存先とする第3の変数を検索する検索工程と、
前記ハードウェア記述に記述されている前記第1または第2の変数が属するクロックドメインを参照して、前記検索工程によって検索された第3の変数の中から、前記第1または第2の変数とクロックドメインが同一の変数を検出する検出工程と、
前記検出工程によって検出された検出結果を出力する出力工程と、
を実行することを特徴とする検証支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010106789A JP5348065B2 (ja) | 2010-05-06 | 2010-05-06 | 検証支援プログラム、検証支援装置および検証支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010106789A JP5348065B2 (ja) | 2010-05-06 | 2010-05-06 | 検証支援プログラム、検証支援装置および検証支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011237888A JP2011237888A (ja) | 2011-11-24 |
JP5348065B2 true JP5348065B2 (ja) | 2013-11-20 |
Family
ID=45325820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010106789A Expired - Fee Related JP5348065B2 (ja) | 2010-05-06 | 2010-05-06 | 検証支援プログラム、検証支援装置および検証支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5348065B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6081832B2 (ja) * | 2013-03-13 | 2017-02-15 | ルネサスエレクトロニクス株式会社 | 動作合成装置及び動作合成プログラム |
JP2018175215A (ja) * | 2017-04-10 | 2018-11-15 | 株式会社ティ・ツウ・オー | かばん |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0896003A (ja) * | 1994-09-26 | 1996-04-12 | Sony Corp | 回路遅延算出装置およびその方法 |
JP2001297125A (ja) * | 2000-04-11 | 2001-10-26 | Nec Eng Ltd | 論理合成・遅延解析システム |
US7134062B2 (en) * | 2003-08-12 | 2006-11-07 | Via Telecom, Inc. | Static timing analysis approach for multi-clock domain designs |
US7162706B2 (en) * | 2004-03-05 | 2007-01-09 | Picocraft Design Systems, Inc. | Method for analyzing and validating clock integration properties in circuit systems |
JP2005258917A (ja) * | 2004-03-12 | 2005-09-22 | Ip Flex Kk | 集積回路の設計支援システムおよび設計支援プログラム |
JP4783658B2 (ja) * | 2006-03-28 | 2011-09-28 | 富士通セミコンダクター株式会社 | 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体 |
US7941773B2 (en) * | 2006-10-24 | 2011-05-10 | Panasonic Corporation | Simulation system to verify multicycle path based on circuit operational specification and circuit design specification |
JP4756002B2 (ja) * | 2007-02-19 | 2011-08-24 | 株式会社リコー | 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体 |
-
2010
- 2010-05-06 JP JP2010106789A patent/JP5348065B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011237888A (ja) | 2011-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5471432B2 (ja) | 検証支援プログラム、および検証支援装置 | |
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
US20160283628A1 (en) | Data propagation analysis for debugging a circuit design | |
JP4261502B2 (ja) | 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体 | |
JP4657912B2 (ja) | 設計装置および設計方法とそのプログラム | |
US7888971B2 (en) | Verification support system and method | |
KR100876717B1 (ko) | 탬퍼링 방지성 평가 장치 및 탬퍼링 방지성 평가 방법 | |
Reinsalu et al. | Fast RTL fault simulation using decision diagrams and bitwise set operations | |
JP5348065B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
US20100070257A1 (en) | Methods, Systems, and Computer Program Products for Evaluating Electrical Circuits From Information Stored in Simulation Dump Files | |
CN104133931B (zh) | 用于检测组合等效电路设计中的相应路径的方法和*** | |
US10666255B1 (en) | System and method for compacting X-pessimism fixes for gate-level logic simulation | |
Singh et al. | Cross-correlation of specification and rtl for soft ip analysis | |
US11921907B2 (en) | Detecting security vulnerabilities introduced between versions of a hardware design | |
Singh et al. | Knowledge-guided methodology for third-party soft ip analysis | |
JP5146369B2 (ja) | 回路設計プログラム、回路設計方法および回路設計装置 | |
US7694248B2 (en) | Method and apparatus for supporting verification, and computer product | |
JP4747036B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
CN118150991B (zh) | 脉冲发生逻辑的检测方法、装置、电子设备、存储介质及计算机程序产品 | |
JP4450103B2 (ja) | スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム | |
JP4983642B2 (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
Ganai et al. | Synthesizing" Verification Aware" Models: Why and How? | |
JP2004192334A (ja) | 設計データ解析方法及び設計データ解析プログラム | |
JP2006221473A (ja) | 論理検証装置、論理検証方法および論理検証プログラム | |
Riazati et al. | Non-overlapping set of efficient assertions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130717 |
|
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: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130805 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130911 |
|
LAPS | Cancellation because of no payment of annual fees |