JP6053581B2 - 電子回路解析装置、電子回路解析方法および電子回路解析プログラム - Google Patents

電子回路解析装置、電子回路解析方法および電子回路解析プログラム Download PDF

Info

Publication number
JP6053581B2
JP6053581B2 JP2013050413A JP2013050413A JP6053581B2 JP 6053581 B2 JP6053581 B2 JP 6053581B2 JP 2013050413 A JP2013050413 A JP 2013050413A JP 2013050413 A JP2013050413 A JP 2013050413A JP 6053581 B2 JP6053581 B2 JP 6053581B2
Authority
JP
Japan
Prior art keywords
statement
conditional branch
extraction unit
variable
unit
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
JP2013050413A
Other languages
English (en)
Other versions
JP2014178726A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013050413A priority Critical patent/JP6053581B2/ja
Publication of JP2014178726A publication Critical patent/JP2014178726A/ja
Application granted granted Critical
Publication of JP6053581B2 publication Critical patent/JP6053581B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、電子回路のハードウェア記述を解析するための電子回路解析装置、電子回路解析方法および電子回路解析プログラムに関するものである。
図19は、従来の論理回路検証方法の手順を示すフローチャートである。
従来の論理回路検証方法の手順について、図19に基づいて説明する。
(1)担当者Eは、論理回路の仕様書に基づいて論理回路を設計(コーディング)する。
(2)担当者Aは、論理回路の仕様書から検証項目を抽出し、検証項目一覧表を作成する。
(3)担当者Bは、検証項目一覧表に基づいて、検証項目を検証するための検証パタンを作成する。
(4)担当者Cは、検証パタンに基づいて論理回路を検証する。
(5)担当者Dは、検証項目の網羅率を示す検証カバレッジを算出する。
なお、担当者A、担当者B、担当者C、担当者D、担当者Eは、同一人物の場合もあれば、異なる場合もある。
図19に示す従来の論理回路検証方法には、例えば、以下のような問題が生じる。
上記(1)において論理回路の設計品質は担当者Eに依存するため、論理回路の設計ミスが発生し得る。
上記(2)において検証項目の抽出の網羅性は担当者Aに依存するため、検証項目の抽出漏れが発生し得る。
上記(4)において論理回路の検証品質は担当者Cに依存するため、設計ミスの検出漏れが発生し得る。
特許文献1は、上記(4)において設計ミスを検出するため、論理回路内の演算処理の排他性を考慮し、論理回路に含まれる条件分岐に関するアサーション情報を生成することを提案している。
論理回路では、条件分岐文内の演算処理で得られた演算結果を条件分岐文後の演算処理で用いたり、その反対に条件分岐文前の演算処理で得られた演算結果を条件分岐文内の演算処理で用いたりすることがある。
そのため、条件分岐文を正しく設計しても、条件分岐文の前後の演算処理で設計ミスをする場合がある。
その場合、特許文献1の技術では、条件分岐文の前後の演算処理に関する設計ミスを検出することが出来ない。
また、条件分岐文内の演算処理で設計ミスをした場合、または、条件分岐文とは関係のない演算処理で設計ミスをした場合についても、特許文献1の技術では演算処理の設計ミスを検出することが出来ない。
特開2011−108116号公報
本発明は、例えば、論理回路(電子回路の一例)のハードウェアを検証するための検証項目の抽出漏れまたは論理回路の設計ミスを検出できるようにすることを目的とする。
本発明の電子回路解析装置は、
電子回路の動作が記述されたハードウェア記述から1つ以上の条件分岐文を抽出する条件分岐文抽出部と、
前記条件分岐文抽出部によって抽出された条件分岐文毎に、条件分岐文の分岐条件を満たした場合に値が設定される設定変数を抽出する条件分岐内容抽出部と、
前記ハードウェア記述に含まれる1つ以上の演算文を抽出する演算文抽出部と、
前記演算文抽出部によって抽出された演算文毎に、演算文に含まれる演算変数を抽出する演算内容抽出部と、
前記条件分岐内容抽出部によって抽出された設定変数のうち前記演算内容抽出部によって抽出されたいずれかの演算変数と同じ設定変数を統合変数として選択する統合変数選択部と、
前記条件分岐文抽出部によって抽出された条件分岐文のうち前記統合変数選択部によって選択された前記統合変数に対応する条件分岐文を選択する条件分岐文選択部と、
前記演算内容抽出部によって抽出された演算文のうち前記統合変数と同じ演算変数に対応する演算文を選択する演算文選択部と、
前記条件分岐文選択部によって選択された前記条件分岐文と、前記演算文選択部によって選択された前記演算文とを対応付けた情報を前記ハードウェア記述の解析結果として出力する解析結果出力部とを備える。
本発明によれば、論理回路(電子回路の一例)のハードウェア記述を解析した解析結果として条件分岐文と演算文とを対応付けた情報を生成することができる。
そして、ユーザは、検証項目一覧表と解析結果とを比較することによって、検証項目の抽出漏れまたは論理回路の設計ミスを検出することができる。
実施の形態1における論理回路検証方法の手順を示すフローチャートである。 実施の形態1における論理回路解析装置100の機能構成図である。 実施の形態1における論理回路解析装置100の論理回路解析処理(S100)を示すフローチャートである。 実施の形態1における論理回路109の一例を示す図である。 実施の形態1における条件分岐文抽出結果ファイル191の一例を示す図である。 実施の形態1における論理回路109の一例を示す図である。 実施の形態1における条件分岐文抽出結果ファイル191の一例を示す図である。 実施の形態1における条件分岐文抽出結果ファイル191の一例を示す図である。 実施の形態1における論理回路109の一例を示す図である。 実施の形態1における演算文抽出結果ファイル192の一例を示す図である。 実施の形態1における論理回路109の一例を示す図である。 実施の形態1における演算文抽出結果ファイル192の一例を示す図である。 実施の形態1における抽出結果照合部130の構成図である。 実施の形態1における抽出結果照合処理(S130)を示すフローチャートの一例である。 実施の形態1における出力信号変数一覧表194の一例を示す図である。 実施の形態1における演算処理変数一覧表195の一例を示す図である。 実施の形態1における照合結果ファイル193の一例を示す図である。 実施の形態1における論理回路解析装置100のハードウェア資源の一例を示す図である。 従来の論理回路検証方法の手順を示すフローチャートである。
実施の形態1.
電子回路(例えば、論理回路)のハードウェア記述を検証するための検証項目の抽出漏れまたは電子回路の設計ミスを検出するために、電子回路のハードウェア記述を解析した解析結果として条件分岐文と演算文とを対応付けた統合情報を生成する形態について説明する。
図1は、実施の形態1における論理回路検証方法の手順を示すフローチャートである。
実施の形態1における論理回路検証方法の手順について、図1に基づいて説明する。
S001において、担当者Eは、LSI(Large Scale Integration)またはその他の論理回路の仕様書101に基づいて論理回路(電子回路の一例)を設計する。
ここで、論理回路の設計とは、HDL、verilog HDLまたはその他のハードウェア記述言語を用いて記述する論理回路のコーディングを意味する。
以下、論理回路を設計することによって得られたハードウェア記述を単に「論理回路109」という。
S001の後、処理はS100に進む。
S100において、論理回路解析装置100は、論理回路109を解析し、担当者Aによって作成される検証項目一覧表102と比較する解析結果ファイル199を生成する。
S100の後、処理はS003に進む。
S002において、担当者Aは、論理回路109に設計ミスがあるか否かを検証するための検証項目を仕様書101から抽出し、抽出した検証項目を示す検証項目一覧表102を生成する。
S002の後、処理はS010に進む。
S010において、担当者Aは、S002で作成した検証項目一覧表102とS100で生成された解析結果ファイル199とを比較し、S002で検証項目の抽出漏れが有ったか否かを判断する。
検証項目の抽出漏れが有った場合(YES)、処理はS011に進む。
検証項目の抽出漏れが無かった場合(NO)、処理はS003に進む。
S011において、担当者Aは、抽出漏れの検証項目が含まれるように検証項目一覧表102を修正する。
S011の後、処理はS003に進む。
S003において、担当者Bは、検証項目一覧表102に示される検証項目について論理回路109を検証するための検証パタン103を作成する。例えば、検証パタン103は、論理回路109の動作をシミュレートするシミュレータに対する入力データである。
S003の後、処理はS004に進む。
S004において、担当者Cは、検証パタン103を用いて論理回路109を検証し、検証結果ファイル104を作成する。
例えば、担当者Cは、論理回路109のシミュレータに検証パタン103を入力し、シミュレータから出力される検証結果ファイル104を取得する。
S004の後、論理回路検証方法の手順は終了する。
S001からS004は、従来の論理回路検証方法と同様である。S100、S010およびS011は、実施の形態1における論理回路検証方法の特徴点である。
担当者A、担当者B、担当者C、担当者Eは一部または全てが同じ人であっても構わない。
論理回路109の設計(S001)が遅れた場合、検証項目一覧表102と解析結果ファイル199とを比較(S010)する前に、検証パタン103(S003)を作成しても構わない。但し、検証項目一覧表102を修正(S011)した場合、検証パタン103は修正後の検証項目一覧表102に基づいて作成し直す。
図2は、実施の形態1における論理回路解析装置100の機能構成図である。
実施の形態1における論理回路解析装置100の機能構成について、図2に基づいて説明する。
論理回路解析装置100(電子回路解析装置の一例)は、条件分岐文抽出部110(条件分岐内容抽出部の一例)と、演算文抽出部120(演算内容抽出部の一例)と、抽出結果照合部130(統合変数選択部、条件分岐文選択部、演算文選択部の一例)と、解析結果出力部140と、装置記憶部190とを備える。
条件分岐文抽出部110は、論理回路109(ハードウェア記述)に含まれる条件分岐文(例えば、assign文またはif文など)を抽出し、抽出した条件分岐文の内容を表す条件分岐文抽出結果ファイル191を生成する。
例えば、条件分岐文抽出部110は、assign文を抽出するassign文抽出部111と、if文を抽出するif文抽出部112とを備える。
但し、条件分岐文抽出部110は、assign文抽出部111とif文抽出部112とのいずれか一方だけを備えても構わない。また、条件分岐文抽出部110は、assign文抽出部111またはif文抽出部112以外の抽出部(case文を抽出するcase文抽出部など)を備えても構わない。
例えば、条件分岐文抽出結果ファイル191は、抽出されたassign文の内容を表すassign文抽出結果191aと、抽出されたif文の内容を表すif文抽出結果191bとを含む(図示省略)。
但し、条件分岐文抽出結果ファイル191は、assign文抽出結果191aとif文抽出結果191bとのいずれか一方だけを含んでも構わない。また、条件分岐文抽出結果ファイル191は、assign文抽出結果191aまたはif文抽出結果191b以外の抽出結果(case文抽出結果など)を含んでも構わない。
演算文抽出部120は、論理回路109に含まれる演算文(例えば、算術演算文または論理演算文など)を抽出し、抽出した演算文の内容を表す演算文抽出結果ファイル192を生成する。
例えば、演算文抽出部120は、算術演算文を抽出する算術演算文抽出部121と、論理演算文を抽出する論理演算文抽出部122とを備える。
但し、演算文抽出部120は、算術演算文抽出部121と論理演算文抽出部122とのいずれか一方だけを備えても構わない。また、演算文抽出部120は、算術演算文抽出部121または論理演算文抽出部122以外の抽出部を備えても構わない。
例えば、演算文抽出結果ファイル192は、抽出された算術演算文の内容を表す算術演算文抽出結果192aと、抽出された論理演算文の内容を表す論理演算文抽出結果192bとを含む(図示省略)。
但し、演算文抽出結果ファイル192は、算術演算文抽出結果192aと論理演算文抽出結果192bとのいずれか一方だけを含んでも構わない。また、演算文抽出結果ファイル192は、算術演算文抽出結果192aまたは論理演算文抽出結果192b以外の抽出結果を含んでも構わない。
抽出結果照合部130は、条件分岐文抽出結果ファイル191と演算文抽出結果ファイル192とを照合し、照合結果ファイル193を生成する。
照合結果ファイル193は、条件分岐文と演算文との両方に含まれる変数について、条件分岐文抽出結果ファイル191と演算文抽出結果ファイル192とを統合(結合)したものである。
解析結果出力部140は、解析結果ファイル199に含まれる情報を示す解析結果ファイル199を生成し、生成した解析結果ファイル199を出力する。
但し、解析結果出力部140は、条件分岐文抽出結果ファイル191または演算文抽出結果ファイル192を用いて解析結果ファイル199を生成しても構わない。
装置記憶部190は、論理回路解析装置100で使用されるデータを記憶する。
例えば、装置記憶部190は、論理回路109、条件分岐文抽出結果ファイル191、演算文抽出結果ファイル192、照合結果ファイル193および解析結果ファイル199などを記憶する。
図3は、実施の形態1における論理回路解析装置100の論理回路解析処理(S100)を示すフローチャートである。
実施の形態1における論理回路解析装置100の処理方法について、図3に基づいて説明する。
S110において、条件分岐文抽出部110は、論理回路109(ハードウェア記述)に含まれる条件分岐文を抽出し、抽出した条件分岐文の内容を表す条件分岐文抽出結果ファイル191を生成する。
例えば、条件分岐文抽出部110は、以下のように条件分岐文抽出結果ファイル191を生成する。
条件分岐文抽出部110のassign文抽出部111は、論理回路109からassign文を抽出し、抽出したassign文の内容を表すassign文抽出結果191aを生成する。
条件分岐文抽出部110のif文抽出部112は、論理回路109からif文を抽出し、抽出したif文の内容を表すif文抽出結果191bを生成する。
そして、条件分岐文抽出部110は、assign文抽出結果191aとif文抽出結果191bとを含んだ条件分岐文抽出結果ファイル191を生成する。
S110の後、処理はS120に進む。
図4は、実施の形態1における論理回路109の一例を示す図である。
図5は、実施の形態1における条件分岐文抽出結果ファイル191の一例を示す図である。
実施の形態1における条件分岐文抽出処理(S110)の一例について、図4および図5に基づいて説明する。
論理回路109がassign文を含む場合、条件分岐文抽出部110のassign文抽出部111は、論理回路109からassign文を抽出し、抽出したassign文を表すassign文抽出結果191aを生成する。
そして、条件分岐文抽出部110は、assign文抽出結果191aを含んだ条件分岐文抽出結果ファイル191を生成する。
例えば、assign文は、Unix(登録商標、以下同様)のgrepコマンド「grep ‘?’ sample.v」を用いて、論理回路109のファイル「sample.v」から抽出することができる。assign文では「?」の前に条件が指定される。
図5に含まれるassign文抽出結果191aは、5つの項目「出力信号」「条件信号」「条件文」「条件値」「出力値」を含んでいる。
「出力信号」は、演算処理される信号(出力信号)を識別する変数を示す。
「条件信号」は、条件値と比較される信号(条件信号)を識別する変数を示す。
「条件文」は、条件文を識別する識別子を示す。
「条件値」は、条件信号と比較される条件値を示す。
「出力値」は、出力信号に設定される値(出力値)を示す。
これらの項目の内容については、以下の図においても同様である。
但し、assign文抽出結果191aは、いずれかの項目を含まなくても、その他の項目を含んでも構わない。例えば、「条件文」の欄は必須ではない。
図6は、実施の形態1における論理回路109の一例を示す図である。
図7は、実施の形態1における条件分岐文抽出結果ファイル191の一例を示す図である。
実施の形態1における条件分岐文抽出処理(S110)の一例について、図6および図7に基づいて説明する。
論理回路109がif文を含む場合、条件分岐文抽出部110のif文抽出部112は、論理回路109からif文を抽出し、抽出したif文を表すif文抽出結果191bを生成する。なお、論理回路109は、「if」をキーワードとして検索できるように、if文内の演算処理にコメント「//if」が記載されている。
そして、条件分岐文抽出部110は、if文抽出結果191bを含んだ条件分岐文抽出結果ファイル191を生成する。
例えば、「if」「else if」または「else」を含むIF文は、Unixのegrepコマンド「egrep ‘if|else’ sample.v」を用いて、論理回路109のファイル「sample.v」から抽出することができる。
図7に含まれるif文抽出結果191bは、5つの項目「出力信号」「条件文」「条件信号」「条件値」「出力値」を含んでいる。
但し、if文抽出結果191bは、いずれかの項目を含まなくても、その他の項目を含んでも構わない。例えば、「条件文」の欄は必須ではない。
図8は、実施の形態1における条件分岐文抽出結果ファイル191の一例を示す図である。
図8に示すように、条件分岐文抽出結果ファイル191のif文抽出結果191bは、「同期クロック」を含んでもよい。
「同期クロック」は、出力信号が同期するクロック(同期クロック)の識別子を示す。
図3に戻り、S120から説明を続ける。
S120において、演算文抽出部120は、論理回路109に含まれる演算文を抽出し、抽出した演算文の内容を表す演算文抽出結果ファイル192を生成する。
例えば、演算文抽出部120は、以下のように演算文抽出結果ファイル192を生成する。
演算文抽出部120の算術演算文抽出部121は、論理回路109から算術演算文(例えば、四則演算を含んだ命令文)を抽出し、抽出した算術演算文の内容を表す算術演算文抽出結果192aを生成する。
演算文抽出部120の論理演算文抽出部122は、論理回路109から論理演算文(例えば、論理積または論理和などを含んだ命令文)を抽出し、抽出した論理演算文の内容を表す論理演算文抽出結果192bを生成する。
そして、演算文抽出部120は、算術演算文抽出結果192aと論理演算文抽出結果192bとを含んだ演算文抽出結果ファイル192を生成する。
S120の後、処理はS130に進む。
図9は、実施の形態1における論理回路109の一例を示す図である。
図10は、実施の形態1における演算文抽出結果ファイル192の一例を示す図である。
実施の形態1における演算文抽出処理(S120)の一例について、図9および図10に基づいて説明する。
論理回路109が加算文および減算文を含む場合、演算文抽出部120の算術演算文抽出部121は、論理回路109から加算文および減算文を抽出し、抽出した加算文および演算文を表す算術演算文抽出結果192aを生成する。
そして、演算文抽出部120は、算術演算文抽出結果192aを含んだ演算文抽出結果ファイル192を生成する。
例えば、加算演算子「+」を含む加算文は、Unixのgrepコマンド「grep ‘+’ sample.v」を用いて、論理回路109のファイル「sample.v」から抽出することができる。
同様に、減算演算子「−」を含む減算文は、grepコマンド「grep ‘−’ sample.v」を用いて抽出することができる。
なお、乗算演算子「*」を含んだ乗算文、除算演算子「/」を含んだ除算文またはその他の算術演算子を含んだ算術演算文についても、同様に抽出することができる。
図10に含まれる算術演算文抽出結果192aは、3つの項目「出力信号」「演算種類」「演算内容」を含んでいる。但し、算術演算文抽出結果192aは、その他の項目を含んでも構わない。「演算種類」は演算(演算子)の種類を示し、「演算内容」は演算処理の内容(演算式)を示す。
図11は、実施の形態1における論理回路109の一例を示す図である。
図12は、実施の形態1における演算文抽出結果ファイル192の一例を示す図である。
実施の形態1における演算文抽出処理(S120)の一例について、図11および図12に基づいて説明する。
論理回路109が論理積または論理和を含んだ論理演算文を含む場合、演算文抽出部120の論理演算文抽出部122は、論理回路109から論理積または論理和を含んだ論理演算文を抽出し、抽出した論理演算文を表す論理演算文抽出結果192bを生成する。
そして、演算文抽出部120は、論理演算文抽出結果192bを含んだ演算文抽出結果ファイル192を生成する。
例えば、論理積を表す演算子「&」を含んだ論理演算文は、Unixのgrepコマンド「grep ‘&’ sample.v」を用いて、論理回路109のファイル「sample.v」から抽出することができる。
同様に、論理和を表す演算子「|」を含んだ論理演算文は、Unixのgrepコマンド「grep ‘|’ sample.v」を用いて抽出することができる。
なお、その他の論理演算子を含んだ論理演算文についても同様に抽出することができる。
図12に含まれる論理演算文抽出結果192bは、3つの項目「出力信号」「演算種類」「演算内容」を含んでいる。但し、論理演算文抽出結果192bは、その他の項目を含んでも構わない。
図3に戻り、S130から説明を続ける。
S130において、抽出結果照合部130は、条件分岐文抽出結果ファイル191と演算文抽出結果ファイル192とを照合し、照合結果ファイル193を生成する。
照合結果ファイル193は、条件分岐文と演算文との両方に含まれる変数について、条件分岐文抽出結果ファイル191と演算文抽出結果ファイル192とを統合(結合)したものである。
S130の後、処理はS140に進む。
図13は、実施の形態1における抽出結果照合部130の構成図である。
図13に示すように、抽出結果照合部130は、出力信号変数抽出部131と、演算処理変数抽出部132と、統合対象変数選択部133(統合変数選択部の一例)と、統合分岐文選択部134(条件分岐文選択文の一例)と、統合対象変数統合部135(演算文選択部の一例)とを備える。
抽出結果照合部130の各構成の機能については、抽出結果照合処理(S130)と共に説明する。
図14は、実施の形態1における抽出結果照合処理(S130)を示すフローチャートの一例である。
実施の形態1における抽出結果照合処理(S130)の一例について、図14に基づいて説明する。
S131において、出力信号変数抽出部131は、条件分岐文抽出結果ファイル191から出力信号用の変数(以下、出力信号変数という)を抽出する。
例えば、条件分岐文抽出結果ファイル191が、図5のassign文抽出結果191aと図7のif文抽出結果191bとを含んでいるものとする。
この場合、出力信号変数抽出部131は、図5のassign文抽出結果191aから出力信号変数「test_signal_1」を抽出し、図7のif文抽出結果191bから出力信号変数「test_signal_2」「test_signal_4」を抽出する。
そして、出力信号変数抽出部131は、図15に示すような出力信号変数一覧表194を生成する。
図15は、実施の形態1における出力信号変数一覧表194の一例を示す図である。
S131の後、処理はS132に進む。
S132において、演算処理変数抽出部132は、演算文抽出結果ファイル192から演算演算式(演算文の右辺)に用いられている変数(以下、演算処理変数という)を抽出する。
例えば、演算文抽出結果ファイル192が、図10の算術演算文抽出結果192aと図12の論理演算文抽出結果192bとを含んでいるものとする。
この場合、演算処理変数抽出部132は、図10の算術演算文抽出結果192aから演算処理変数「test_signal_4」「test_signal_21」を抽出する。また、演算処理変数抽出部132は、図12の論理演算文抽出結果192bから演算処理変数「test_signal_2」「test_signal_40」「test_signal_60」「test_signal_61」「test_signal_80」「test_signal_81」「test_signal_82」を抽出する。
そして、演算処理変数抽出部132は、図16に示すような演算処理変数一覧表195を生成する。
図16は、実施の形態1における演算処理変数一覧表195の一例を示す図である。
S132の後、処理はS133に進む。
S133において、統合対象変数選択部133は、S131で抽出された出力信号変数のうち、S132で抽出された演算処理変数と同じ変数を選択する。以下、S133で選択する出力信号変数を「統合対象変数」という。
例えば、S131で図15の出力信号変数一覧表194が生成され、S132で図16の演算処理変数一覧表195が生成されたものとする。
この場合、統合対象変数選択部133は、出力信号変数一覧表194に含まれる出力信号変数「test_signal_2」「test_signal_4」を統合対象変数として選択する。
S133の後、処理はS134に進む。
S134において、統合分岐文選択部134は、S133で選択された統合対象変数と同じ出力信号変数を用いている条件分岐文を条件分岐文抽出結果ファイル191から選択する。以下、S134で選択する条件分岐文を「統合分岐文」という。
例えば、S133で統合対象変数として出力信号変数「test_signal_2」「test_signal_4」が選択されたものとする。
この場合、統合分岐文選択部134は、図7のif文抽出結果191bから出力信号変数「test_signal_2」を含んだ項番1の情報と、出力信号変数「test_signal_4」を含んだ項番2の情報とを統合分岐文の情報として取得する。
S134の後、処理はS135に進む。
S135において、統合対象変数統合部135は、S133で選択された統合対象変数と同じ演算処理変数を用いている演算文(以下、統合演算文という)を選択する。
統合対象変数統合部135は、統合演算文の情報に、S134で選択された統合分岐文の情報を統合することによって、照合結果ファイル193を生成する。
例えば、S133で図7のif文抽出結果191bから出力信号変数「test_signal_2」を含んだ項番1の情報と、出力信号変数「test_signal_4」を含んだ項番2の情報とが選択されたものとする。
この場合、統合対象変数統合部135は、図7の項番1の情報と図12の項番1の情報とを統合した情報を照合結果(1)として生成し、図7の項番2の情報と図10の項番1の情報とを統合した情報を照合結果(2)として生成する。各照合結果(1)(2)の演算内容に含まれる演算処理変数は出力値に置き換えられている。
そして、統合対象変数統合部135は、図17に示すように照合結果(1)と照合結果(2)とを含んだ照合結果ファイル193を生成する。
図17は、実施の形態1における照合結果ファイル193の一例を示す図である。
S135の後、抽出結果照合処理(S130)は終了する。
図3に戻り、S140から説明を続ける。
S140において、解析結果出力部140は、解析結果ファイル199に含まれる情報を示す解析結果ファイル199を生成し、生成した解析結果ファイル199を出力する。
例えば、解析結果出力部140は、解析結果ファイル199を装置記憶部190に記憶し、ディスプレイに表示する。
但し、解析結果出力部140は、条件分岐文抽出結果ファイル191または演算文抽出結果ファイル192を用いて解析結果ファイル199を生成しても構わない。
例えば、解析結果出力部140は、以下のような解析結果ファイル199を出力する。
(1)解析結果出力部140は、照合結果ファイル193(図17参照)を解析結果ファイル199として出力する。
(2)解析結果出力部140は、条件分岐文抽出結果ファイル191(図5、図7、図8参照)を解析結果ファイル199として出力する。
(3)解析結果出力部140は、演算文抽出結果ファイル192(図10、図12参照)を解析結果ファイル199として出力する。
(4)解析結果出力部140は、照合結果ファイル193と条件分岐文抽出結果ファイル191と演算文抽出結果ファイル192とのうち2つ以上のファイルを組み合わせて解析結果ファイル199を生成し、生成した解析結果ファイル199を出力する。
なお、出力する解析結果ファイル199の種類は、ユーザによって指定されてもよいし、予め決められていてもよい。
図18は、実施の形態1における論理回路解析装置100のハードウェア資源の一例を示す図である。
図18において、論理回路解析装置100(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905(通信装置)、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ914は、FD(Flexible Disk)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ914は記憶装置の一例である。キーボード912、マウス913および通信ボード905は入力装置の一例である。ディスプレイ911および通信ボード905は出力装置の一例である。
通信ボード905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム(例えば、電子回路解析プログラム)は、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
実施の形態1により、論理回路(電子回路の一例)のハードウェア記述を解析した解析結果ファイル199として、条件分岐文と演算文とを対応付けた情報を生成することができる。
そして、ユーザは、検証項目一覧表102と解析結果ファイル199とを比較することによって、検証項目の抽出漏れまたは論理回路109の設計ミスを検出することができる。
実施の形態1において、例えば、以下のような電子回路解析装置(100)について説明した。括弧内に、対応する構成の符号または名称を記す。
電子回路解析装置は、条件分岐文抽出部(110)と、条件分岐内容抽出部(110)と、演算文抽出部(120)と、演算内容抽出部(120)と、統合変数選択部(133)と、条件分岐文選択部(134)と、演算文選択部(135)と、解析結果出力部(140)とを備える。
条件分岐文抽出部は、電子回路の動作が記述されたハードウェア記述(109)から1つ以上の条件分岐文を抽出する。
条件分岐内容抽出部は、前記条件分岐文抽出部によって抽出された条件分岐文毎に、条件分岐文の分岐条件を満たした場合に値が設定される設定変数(出力信号変数)を抽出する。
演算文抽出部は、前記ハードウェア記述に含まれる1つ以上の演算文を抽出する。
演算内容抽出部は、前記演算文抽出部によって抽出された演算文毎に、演算文に含まれる演算変数(演算処理変数)を抽出する。
統合変数選択部は、前記条件分岐内容抽出部によって抽出された設定変数のうち前記演算内容抽出部によって抽出されたいずれかの演算変数と同じ設定変数を統合変数(統合対象変数)として選択する。
条件分岐文選択部は、前記条件分岐文抽出部によって抽出された条件分岐文のうち前記統合変数選択部によって選択された前記統合変数に対応する条件分岐文(統合分岐文)を選択する。
演算文選択部は、前記演算内容抽出部によって抽出された演算文のうち前記統合変数と同じ演算変数に対応する演算文(統合演算文)を選択する。
解析結果出力部は、前記条件分岐文選択部によって選択された前記条件分岐文と、前記演算文選択部によって選択された前記演算文とを対応付けた情報を前記ハードウェア記述の解析結果(193、199)として出力する。
前記条件分岐内容抽出部(110)は、前記条件分岐文抽出部によって抽出された条件分岐文の分岐条件毎に、分岐条件(条件信号、条件値)と設定変数(出力信号)と設定変数に設定される設定値とを抽出する(図5、図7、図8参照)。
前記演算内容抽出部(120)は、前記演算文抽出部によって抽出された演算文毎に、演算変数(演算処理変数)を含んだ演算式(演算内容)と、演算式の演算結果が設定される出力変数(出力信号)を抽出する(図10、図12参照)。
前記解析結果出力部(140)は、前記条件分岐文選択部によって選択された前記条件分岐文の分岐条件と、前記条件分岐文選択部によって選択された前記条件分岐文の設定値と、前記演算文選択部によって選択された前記演算文の演算式と、前記演算文選択部によって選択された前記演算文の出力変数と、を対応付けて前記解析結果(193)を生成する(図17参照)。
前記解析結果出力部(140)は、前記演算文の前記演算式に含まれる演算変数のうち前記統合変数と同じ演算変数を前記条件分岐文の前記設定値に置き換えることによって、前記条件分岐文の前記設定値と前記演算文の前記演算式とを対応付ける(図17参照)。
100 論理回路解析装置、101 仕様書、102 検証項目一覧表、103 検証パタン、104 検証結果ファイル、109 論理回路、110 条件分岐文抽出部、111 assign文抽出部、112 if文抽出部、120 演算文抽出部、121 算術演算文抽出部、122 論理演算文抽出部、130 抽出結果照合部、131 出力信号変数抽出部、132 演算処理変数抽出部、133 統合対象変数選択部、134 統合分岐文選択部、135 統合対象変数統合部、140 解析結果出力部、190 装置記憶部、191 条件分岐文抽出結果ファイル、191a assign文抽出結果、191b if文抽出結果、192 演算文抽出結果ファイル、192a 算術演算文抽出結果、192b 論理演算文抽出結果、193 照合結果ファイル、194 出力信号変数一覧表、195 演算処理変数一覧表、199 解析結果ファイル、901 CPU、902 バス、903 ROM、904 RAM、905 通信ボード、911 ディスプレイ、912 キーボード、913 マウス、914 ドライブ、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。

Claims (7)

  1. 電子回路の動作が記述されたハードウェア記述から1つ以上の条件分岐文を抽出する条件分岐文抽出部と、
    前記条件分岐文抽出部によって抽出された条件分岐文毎に、条件分岐文の分岐条件を満たした場合に値が設定される設定変数を抽出する条件分岐内容抽出部と、
    前記ハードウェア記述に含まれる1つ以上の演算文を抽出する演算文抽出部と、
    前記演算文抽出部によって抽出された演算文毎に、演算文に含まれる演算変数を抽出する演算内容抽出部と、
    前記条件分岐内容抽出部によって抽出された設定変数のうち前記演算内容抽出部によって抽出されたいずれかの演算変数と同じ設定変数を統合変数として選択する統合変数選択部と、
    前記条件分岐文抽出部によって抽出された条件分岐文のうち前記統合変数選択部によって選択された前記統合変数に対応する条件分岐文を選択する条件分岐文選択部と、
    前記演算内容抽出部によって抽出された演算文のうち前記統合変数と同じ演算変数に対応する演算文を選択する演算文選択部と、
    前記条件分岐文選択部によって選択された前記条件分岐文と、前記演算文選択部によって選択された前記演算文とを対応付けた情報を前記ハードウェア記述の解析結果として出力する解析結果出力部と
    を備えることを特徴とする電子回路解析装置。
  2. 前記条件分岐内容抽出部は、前記条件分岐文抽出部によって抽出された条件分岐文の分岐条件毎に、分岐条件と設定変数と設定変数に設定される設定値とを抽出し、
    前記演算内容抽出部は、前記演算文抽出部によって抽出された演算文毎に、演算変数を含んだ演算式と、演算式の演算結果が設定される出力変数とを抽出し、
    前記解析結果出力部は、前記条件分岐文選択部によって選択された前記条件分岐文の分岐条件と、前記条件分岐文選択部によって選択された前記条件分岐文の設定値と、前記演算文選択部によって選択された前記演算文の演算式と、前記演算文選択部によって選択された前記演算文の出力変数と、を対応付けて前記解析結果を生成する
    ことを特徴とする請求項1記載の電子回路解析装置。
  3. 前記解析結果出力部は、前記演算文の前記演算式に含まれる演算変数のうち前記統合変数と同じ演算変数を前記条件分岐文の前記設定値に置き換えることによって、前記条件分岐文の前記設定値と前記演算文の前記演算式とを対応付ける
    ことを特徴とする請求項2記載の電子回路解析装置。
  4. 前記条件分岐文抽出部は、条件分岐文の種類毎に、前記ハードウェア記述に含まれる1つ以上の条件分岐文を抽出する
    ことを特徴とする請求項1から請求項3いずれかに記載の電子回路解析装置。
  5. 前記演算文抽出部は、前記ハードウェア記述に含まれる1つ以上の演算文として、1つ以上の算術演算文と1つ以上の論理演算文とを抽出する
    ことを特徴とする請求項1から請求項4いずれかに記載の電子回路解析装置。
  6. 条件分岐文抽出部と、条件分岐内容抽出部と、演算文抽出部と、演算内容抽出部と、統合変数選択部と、条件分岐文選択部と、演算文選択部と、解析結果出力部とを備える電子回路解析装置を用いる電子回路解析方法であって、
    前記条件分岐文抽出部は、電子回路の動作が記述されたハードウェア記述から1つ以上の条件分岐文を抽出し、
    前記条件分岐内容抽出部は、前記条件分岐文抽出部によって抽出された条件分岐文毎に、条件分岐文の分岐条件を満たした場合に値が設定される設定変数を抽出し、
    前記演算文抽出部は、前記ハードウェア記述に含まれる1つ以上の演算文を抽出し、
    前記演算内容抽出部は、前記演算文抽出部によって抽出された演算文毎に、演算文に含まれる演算変数を抽出し、
    前記統合変数選択部は、前記条件分岐内容抽出部によって抽出された設定変数のうち前記演算内容抽出部によって抽出されたいずれかの演算変数と同じ設定変数を統合変数として選択し、
    前記条件分岐文選択部は、前記条件分岐文抽出部によって抽出された条件分岐文のうち前記統合変数選択部によって選択された前記統合変数に対応する条件分岐文を選択し、
    前記演算文選択部は、前記演算内容抽出部によって抽出された演算文のうち前記統合変数と同じ演算変数に対応する演算文を選択し、
    前記解析結果出力部は、前記条件分岐文選択部によって選択された前記条件分岐文と、前記演算文選択部によって選択された前記演算文とを対応付けた情報を前記ハードウェア記述の解析結果として出力する
    ことを特徴とする電子回路解析方法。
  7. 請求項1から請求項5いずれかに記載の電子回路解析装置としてコンピュータを機能させるための電子回路解析プログラム。
JP2013050413A 2013-03-13 2013-03-13 電子回路解析装置、電子回路解析方法および電子回路解析プログラム Expired - Fee Related JP6053581B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013050413A JP6053581B2 (ja) 2013-03-13 2013-03-13 電子回路解析装置、電子回路解析方法および電子回路解析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013050413A JP6053581B2 (ja) 2013-03-13 2013-03-13 電子回路解析装置、電子回路解析方法および電子回路解析プログラム

Publications (2)

Publication Number Publication Date
JP2014178726A JP2014178726A (ja) 2014-09-25
JP6053581B2 true JP6053581B2 (ja) 2016-12-27

Family

ID=51698648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013050413A Expired - Fee Related JP6053581B2 (ja) 2013-03-13 2013-03-13 電子回路解析装置、電子回路解析方法および電子回路解析プログラム

Country Status (1)

Country Link
JP (1) JP6053581B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4445517B2 (ja) * 2007-05-14 2010-04-07 株式会社東芝 回路設計検証方法および回路設計検証のためのプログラム
JP5267434B2 (ja) * 2009-11-19 2013-08-21 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法

Also Published As

Publication number Publication date
JP2014178726A (ja) 2014-09-25

Similar Documents

Publication Publication Date Title
US11169906B2 (en) Extraction of problem diagnostic knowledge from test cases
US9733901B2 (en) Domain specific language design
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US9372779B2 (en) System, method, apparatus and computer program for automatic evaluation of user interfaces in software programs
US9390374B2 (en) Adaptive testing for answers in a question and answer system
US10255046B2 (en) Source code analysis and adjustment system
JP5176478B2 (ja) データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム
JP2006106865A (ja) 論理回路設計検証装置および方法、プログラム
US12001325B2 (en) Test data generation apparatus, test data generation method and program
US20170131973A1 (en) Software specification dependence relation verification apparatus and software specification dependence relation verification method
JP6053581B2 (ja) 電子回路解析装置、電子回路解析方法および電子回路解析プログラム
EP3570173A1 (en) Equivalence checking device and equivalence checking program
JP6002507B2 (ja) ソフトウェア検証用プログラムおよびソフトウェア検証システム
US20220164523A1 (en) Resembling transition identifying apparatus, resembling transition identifying method and program
JP6547345B2 (ja) テストケース生成プログラム、テストケース生成方法およびテストケース生成装置
WO2016189721A1 (ja) ソースコード評価装置及びソースコード評価方法及びソースコード評価プログラム
JP2014115960A (ja) 検証装置、検証方法及び検証プログラム
JP2013246599A (ja) ソースコード解析支援方法およびソースコード解析支援システム
JP2018049492A (ja) 解析装置、解析プログラムおよび解析方法
JP2015179369A (ja) リファクタリング装置及びプログラム
JP2560800B2 (ja) 諭理回路検証装置
CN111324757A (zh) 地图数据的问题处理方法及装置
JP2012059039A (ja) コマンド管理装置、その方法及びそのプログラム
WO2015140997A1 (ja) プログラム管理装置及びプログラム管理方法及びプログラム
JP2011159008A (ja) プログラムテスト装置およびプログラムテスト方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161129

R150 Certificate of patent or registration of utility model

Ref document number: 6053581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees