(57)【要約】【課題】本発明は、仕様書やＨＤＬ記述等から抽出したパラメータデータを用いて検証パターンの設定値を検証することで、従来に比べて検証時間の短縮及びＬＳＩのバグの低減を実現することにある。【解決手段】情報処理装置は、集積回路に関する機能仕様１に基づいて機能回路モデルを作成するモデル作成部６と、検証仕様５に基づいて検証パターンを作成するとともに作成された検証パターンに基づいて機能回路モデルを検証する検証パターン作成部４と、機能仕様１に基づいてパラメータデータを抽出するパラメータ抽出部２と、パラメータ抽出部２において抽出されたパラメータデータに基づいて検証パターンを検証する検証パターン検証部３とを備えている。【選択図】図１
2014135031.tif 000002
【特許請求の範囲】
【請求項１】
集積回路に関する機能仕様に基づいて機能回路モデルを作成するモデル作成部と、検証仕様に基づいて検証パターンを作成するとともに作成された当該検証パターンに基づいて前記機能回路モデルを検証する検証パターン作成部と、前記機能仕様に基づいてパラメータデータを抽出するパラメータ抽出部と、前記パラメータ抽出部において抽出された前記パラメータデータに基づいて前記検証パターンを検証する検証パターン検証部とを備えている情報処理装置。
【請求項２】
前記モデル作成部は、複数の機能仕様及びシステム仕様に基づいて集積回路のシステムモデルを作成し、前記パラメータ抽出部は、前記機能仕様に対応して複数のパラメータデータを抽出し、前記検証パターン検証部は、システムモデルに対応する検証パターンを複数のパラメータデータで検証する請求項１に記載された情報処理装置。
【請求項３】
前記パラメータ抽出部は、前記システム仕様に基づいてパラメータデータを抽出し、前記検証パターン検証部は、抽出されたパラメータデータで検証する請求項２に記載された情報処理装置。
【請求項４】
前記パラメータ抽出部は、パラメータデータをＩＰ−ＸＡＣＴにより記述する請求項１から３のいずれかに記載された情報処理装置。
【請求項５】
前記検証パターン作成部は、前記検証仕様に基づいて前記検証パターンを作成する請求項１から４のいずれかに記載された情報処理装置。
【請求項６】
集積回路に関する機能仕様に基づいて機能回路モデルを作成し、検証仕様に基づいて検証パターンを作成するとともに作成された当該検証パターンに基づいて前記機能回路モデルを検証する回路設計データの検証処理方法において、前記機能仕様に基づいてパラメータデータを抽出し、抽出された前記パラメータデータに基づいて前記検証パターンを検証する回路設計データの検証処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の設計に好適な情報処理装置及び回路設計データの検証処理方法に関する。
【背景技術】
【０００２】
大規模集積回路（Large Scale Integration：ＬＳＩ）は、一般にハードウェア記述言語（Hardware Description Language：ＨＤＬ）を用いて設計されている。しかし、ＬＳＩの回路規模の増大及び複雑化によって、検証時に各検証パターンに合わせて設定すべきパラメータ数(レジスタ数)が増大及び複雑化している。
検証パターンにおけるこれらのパラメータの設定方法を誤ることで、検証時間が増大したり、ＬＳＩに含まれるバグの見逃しが生じていた。そのため、検証パターンのパラメータ設定方法が妥当かどうかを検証することが求められている。
【０００３】
他方、ＨＤＬにアサーション記述（ＬＳＩの動作条件、制約、禁則条件等を記述したもの）を追加し、検証時に制約違反を検出したり、アサーション記述からパラメータを抽出し、ＬＳＩ記述を自動生成したりする手法は既に知られている。例えば、特許文献１には、ＨＤＬ変換装置に入力されるアサーション記述ファイルからプロパティを抽出するアサーションプロパティ抽出部と、アサーション記述言語とハードウェア記述言語との変換に用いる変換情報を記憶したアサーション言語−ＨＤＬ言語変換データベースと、抽出したプロパティを変換情報に基づいて、ハードウェア記述言語の動作記述に変換し、該動作記述を含むＨＤＬファイルとして出力するＨＤＬ変換部とを備える情報処理装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のアサーション記述を用いた検証手法では、ＨＤＬ内に記述されたアサーション記述を処理する場合に、ＨＤＬと共にアサーション記述も処理する必要がある。そのため、検証時間が増大するといった問題や、検証パターンに対しては検証をしていないために、検証パターン自体の間違いに気づかず、ＬＳＩに含まれるバグを見逃すという問題があった。
本発明は、こうした従来技術の課題に鑑みてなされたものであり、その目的は、検証パターンを、仕様書やＨＤＬ記述等から抽出したパラメータデータを用いて検証パターンの設定値を検証することで、従来に比べて検証時間の短縮及びＬＳＩのバグの低減を実現することにある。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、集積回路に関する機能仕様に基づいて機能回路モデルを作成するモデル作成部と、検証仕様に基づいて検証パターンを作成するとともに作成された当該検証パターンに基づいて前記機能回路モデルを検証する検証パターン作成部と、前記機能仕様に基づいてパラメータデータを抽出するパラメータ抽出部と、前記パラメータ抽出部において抽出された前記パラメータデータに基づいて前記検証パターンを検証する検証パターン検証部とを備えている。
【発明の効果】
【０００６】
本発明は、集積回路の機能仕様に対応する検証パターンを機能仕様から抽出したパラメータデータで検証して、従来に比べて検証工程の削減及び集積回路のバグの低減を実現することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明に係る実施形態である情報処理装置に関する概略構成図である。
【図２】情報処理装置をＡＳＩＣのシステム設計及び検証の処理に用いた場合に関する概略構成図である。
【図３】ＩＰ−ＸＡＣＴを用いたパラメータデータの記述例に関する説明図である。
【図４】検証パターンの記述例に関する説明図である。
【図５】ＬＳＩの設計における検証処理に関するフローである。
【図６】図５に示すステップＳ１０６の検証パターンの検証処理に関するフローである。
【発明を実施するための形態】
【０００８】
図１は、本発明に係る実施形態である集積回路の情報処理装置に関する概略構成図である。この例では、ＡＳＩＣのモジュール設計及び検証の処理に用いている。情報処理装置は、ＡＳＩＣの機能を定めた機能仕様１からパラメータデータを抽出するパラメータ抽出部２、検証仕様５から検証パターン４０１〜４０Ｘを作成する検証パターン作成部４、機能仕様１から機能回路モデルを作成するモデル作成部６、及び、パラメータ抽出部２において抽出されたパラメータデータを用いて検証パターン４０１〜４０Ｘを検証する検証パターン検証部３を備えている。そして、検証パターン作成部４において作成された検証パターン４０１〜４０Ｘは、検証パターン検証部３により検証された後モデル作成部６において作成された機能モデルの検証処理に使用される。なお、機能仕様１及び検証仕様５は、図示しない記憶部に記憶されて必要に応じて読み出される。情報処理装置は、こうした構成を備えることで、ＬＳＩ等の集積回路に関する機能回路モデル等の回路設計データの作成処理を行うとともに作成された回路設計データの検証処理に関する情報処理を行う。
【０００９】
パラメータ抽出部２は、機能仕様１より、各ポート名とポートのタイプ（master、slave、in、out等）、各レジスタ名とアドレス、アクセスタイプ（read_write、read_only等）や初期値といったパラメータを抽出してパラメータデータを生成する。例えば、パラメータデータは、ＩＰ−ＸＡＣＴにより記述される。ＩＰ−ＸＡＣＴは、ＩＰ（ＬＳＩ）のバス名やレジスタ名、各々のビット幅やＩ／Ｏ等の動作を伴わない部分のデータを抜き出したものをＸＭＬ（Extensible Markup Language）形式で記述する規格であり、ＩＥＥＥ標準規格（ＩＥＥＥ１６８５）において規定されている。
【００１０】
モデル作成部６は、機能仕様１より、ＨＤＬ、ＳｙｓｔｅｍＣ等で記述されたＨＤＬモデルや、高位合成モデル、仮想プロトタイプといった機能回路モデルを作成する。検証パターン４０１〜４０Ｘは、検証仕様５により１つ又は複数作成される。検証パターン４０１〜４０Ｘには、一般に機能回路モデルのポートからデータを入力する記述、出力されたデータを参照する記述などが含まれる。レジスタ名の情報が含まれない場合、どのレジスタにアクセスしているのか特定できるようにレジスタ名がコメントで記述される。
【００１１】
検証パターン検証部３では、パラメータ抽出部２において抽出されたパラメータデータに含まれる上記のようなデータを用いて、検証パターン４０１〜４０Ｘを検証する。検証パターンの検証処理では、検証パターン４０１〜４０Ｘの検証記述に対し、パラメータデータに含まれるポート名及びポートのタイプに反する記述がないか、検証パターン４０１〜４０Ｘが参照しようとしているアドレスが、意図したレジスタにアクセス可能なアドレスであるか、レジスタのアクセスタイプや初期値がパラメータデータの内容と一致するか、といった点を検証する。
【００１２】
図２は、情報処理装置をＡＳＩＣのシステム設計及び検証の処理に用いた場合に関する概略構成図である。機能仕様１は、ＡＳＩＣの機能を定めた複数の機能仕様１０１〜１０Ｎを備えている。そして、パラメータ抽出部２は、機能仕様１０１〜１０Ｎに対応するパラメータデータ２０１〜２０Ｎを抽出する。
【００１３】
パラメータデータ２０１〜２０Ｎには、機能仕様１０１〜１０Ｎより抽出された、各ポート名とポートのタイプ（master、slave、in、out等）、各レジスタ名とアドレス、アクセスタイプ（read_write、read_only等）や初期値、システム全体のレジスタマップといったデータが含まれている。そして、これらのパラメータデータは、図１に示す例と同様に、ＩＰ−ＸＡＣＴにより記述される。
【００１４】
モデル作成部６は、機能仕様１０１〜１０Ｎに対応する複数の機能回路モデル６０１〜６０Ｎを作成するとともに、システム仕様７に基づいて、ＣＰＵモデル８、記憶装置モデル９等を、バスモデル１０を介して機能回路モデル６０１〜６０Ｎと接続したＡＳＩＣシステムモデルを作成する。作成される機能回路モデル６０１〜６０ＮやＡＳＩＣシステムモデルは、図１に示す機能回路モデルと同様に、ＨＤＬ、ＳｙｓｔｅｍＣ等で記述されたＨＤＬモデルや、高位合成モデル、仮想プロトタイプである。
なお、システム仕様７は、機能仕様１及び検証仕様５とともに図示しない記憶部に記憶され、必要に応じて読み出される。
【００１５】
検証パターン作成部４は、図１に示す例と同様に、検証仕様５により１つ又は複数の検証パターン４０１〜４０Ｘを作成する。検証パターン４０１〜４０Ｘには、一般にバスモデル１０の仕様に沿った命令が記述されており、ＣＰＵモデル８によって参照される。
検証パターン４０１〜４０Ｘには、命令を送信する機能回路名とそのベースアドレス、各機能回路に含まれるレジスタ名が含まれている。こうしたデータはコメントとして記述することもできる。
【００１６】
検証パターン検証部３は、複数のパラメータデータ２０１〜２０Ｎに含まれる上記のデータを用いて、検証パターン４０１〜４０Ｘを検証する。検証パターンの検証処理では、検証パターン４０１〜４０Ｘの検証記述に対し、パラメータデータ２０１〜２０Ｎに対応する機能回路モデル６０１〜６０Ｎに含まれるポート名とポートのタイプに反する記述がないか、検証パターン４０１〜４０Ｘが参照しようとしているアドレスが、意図した機能回路モデルの意図したレジスタにアクセス可能なアドレスであるか、レジスタのアクセスタイプや初期値がパラメータデータ２０１〜２０Ｎの内容と一致するか、といった点を検証する。
【００１７】
このように、図１に示す検証処理は、仮想プロトタイプ設計やシステム設計にも適用可能で、機能回路モデルの検証時に利用したパラメータデータファイルを仮想プロトタイプ設計やシステム設計に再利用できる。そして、機能仕様から抽出したパラメータデータファイルを用いることで、検証パターンをレジスタアクセスまで細かく検証することができる。また、パラメータ抽出部２は、システム仕様からパラメータデータを抽出してもよく、この場合には１つのパラメータデータファイルに基づいて検証パターンを検証することで、パラメータデータファイルの作成が簡単になって検証時間を短縮することができる。
【００１８】
図３Ａ〜図３Ｃは、ＩＰ−ＸＡＣＴを用いたパラメータデータの記述例に関する説明図である。図３Ａは機能回路モデルのブロック図であり、図３Ｂはブロック図のメモリマップのビットフィールドを示しており、図３Ｃはブロック図のＩＰ−ＸＡＣＴに基づく記述である。ここで、ＩＰ−ＸＡＣＴとは、上述したように、ＩＰのメタデータを記述するためのＩＥＥＥ標準規格（ＩＥＥＥ１６８５）であり、ＥＤＡ（Electronic Design Automation）ツール環境を問わないＩＰの相互運用性の実現を目指し策定されたものである。ＸＭＬ形式で記述されているため、他の記述方法（ＨＤＬやＳｙｓｔｅｍＣ、アサーション記述言語等）に比べて検索を容易に行えるというメリットがある。
【００１９】
図３Ｃに示すＩＰ−ＸＡＣＴに基づく記述２５の内容は、以下の通りである。
（１）ブロック図２０に書かれたソケット（バス接続に用いるポート）２１及び２２のポートのタイプの定義
（２）ソケット２２のポートによって参照されるメモリマップ２３の定義
（３）メモリマップ２３に定義されているレジスタの各ビットフィールド２４に関する定義
【００２０】
記述部分Ｄ２０（タグで囲まれた部分)には、ソケット２１及び２２の名前やその種類が定義されている。具体的には、ソケット２１にはinitiator_socketという名前が付けられ、masterポートであることが定義されている。また、ソケット２２にはtarget_socketという名前が付けられ、slaveポートであることが定義されている。そして、ソケット２２は、メモリマップ（reg_memMap）を参照してレジスタアクセスするように設定されている。
【００２１】
記述部分Ｄ２１（タグで囲まれた部分）には、ソケット２２のメモリマップ２３が定義されている。具体的には、ベースアドレスが０×０、１６ｂｉｔアドレスの３２ｂｉｔデータ、レジスタとして定義されており、read-writeが可能であると設定されている。
記述部分Ｄ２２及びＤ２５（タグで囲まれた部分）はメモリマップ２３に含まれるレジスタの定義例である。記述部分Ｄ２２では、レジスタ名がcontrolであり、アドレスオフセットが０×００１０、write-onlyであるレジスタ、初期値が０×０であることが設定されている。記述部分Ｄ２５では、レジスタ名がdata_sizeであり、アドレスオフセットが０×００２０、read-writeであるレジスタ、初期値が０×０であることが設定されている。
【００２２】
記述部分Ｄ２３、Ｄ２４及びＤ２６（タグで囲まれた部分）はレジスタのビットフィールド２４の定義例である。記述部分Ｄ２３では、ビットフィールド名がstartであり、ビットオフセットが０×０、ビット幅が１であることが設定されている。記述部分Ｄ２４では、ビットフィールド名がclr_irqであり、ビットオフセットが０×８、ビット幅が１であることが設定されている。記述部分Ｄ２６では、ビットフィールド名がinput_data_sizeであり、ビットオフセットが０×０、ビット幅が１６、最小ビットが０×０、最大ビットが０×１ＦＦＦであることが設定されている。
これらの設定されたパラメータデータに基づいて、検証パターン検証部３では、検証パターンに記述されたレジスタアクセスの方法や値が適切か否かをチェックする。
【００２３】
図４は、検証パターン３０の記述例に関する説明図である。記述部分Ｄ３０は、各レジスタにアクセスする際のアドレスの定義である。この例では、この定義を記述部分Ｄ３１等のレジスタにアクセスする記述に利用することで、どのレジスタにアクセスしようとしているか（レジスタ名は何か）が特定できるようになっている。記述部分Ｄ３１は、レジスタにアクセスする記述の例である。記述部分Ｄ３２は、write-onlyであるレジスタをreadしようとしている、検証パターンバグの例である。記述部分Ｄ３３は、レジスタに書き込める最大値を超えた値を書き込もうとしている、検証パターンバグの例である。
記述部分Ｄ３２及びＤ３３のようなバグを検証する場合に、その基となる設定データが正しいか否かを図３に示すパラメータデータを用いてチェックする。
【００２４】
図５は、ＬＳＩの設計における検証処理に関するフローである。まず、機能仕様１を作成する（Ｓ１０１）と共に、それに併せて検証仕様５を作成する（Ｓ１０２）。作成した機能仕様１に基づいて機能回路モデル６０１〜６０Ｎを作成する（Ｓ１０３）と共に、パラメータデータ２０１〜２０Ｎを生成する（Ｓ１０４）。機能回路モデル６０１〜６０Ｎの作成は自動でも手作業でも作成することができるが、パラメータデータ２０１〜２０Ｎは、機能仕様１より自動で作成する。
【００２５】
作成した検証仕様５に基づいて検証パターン４０１〜４０Ｘを作成する（Ｓ１０５）。検証パターン４０１〜４０Ｘの作成は自動でも手作業でもよいが、各検証ステップにおいて、レジスタアクセスが発生する場合には、必ずデータを転送するレジスタのレジスタ名が特定できるようになっていなければならない。
【００２６】
次に、ステップＳ１０４で生成されたパラメータデータ２０１〜２０Ｎに基づいてステップＳ１０５で作成した検証パターン４０１〜４０Ｘを検証する（Ｓ１０６）。パラメータデータ２０１〜２０Ｎに基づいて検証パターン４０１〜４０Ｘの設定値が正しいか否かチェックし(Ｓ１０７)、設定値が正しくない場合には（Ｓ１０７；ＮＯ）ステップＳ１０５に戻り、検証パターン４０１〜４０Ｘを修正する。検証パターン４０１〜４０Ｘの設定値が正しい場合には（Ｓ１０７；ＹＥＳ）、検証パターン４０１〜４０Ｘに基づいて機能回路モデル６０１〜６０Ｎの検証を実行し（Ｓ１０８）、機能回路モデル６０１〜６０Ｎの検証結果が正しいか否かチェックする（Ｓ１０９）。検証結果が正しい場合には（Ｓ１０９；ＹＥＳ）検証処理を終了する。検証結果が正しくない場合には（Ｓ１０９；ＮＯ）、ステップＳ１０３に戻り、機能回路モデル６０１〜６０Ｎを修正する。
【００２７】
図６は、図５に示すステップＳ１０６の検証パターン４０１〜４０Ｘの検証処理に関するフローである。まず、パラメータデータファイルを開き（Ｓ２０１）、検証パターンファイルも開く（Ｓ２０２）。そして、開いた検証パターンファイルからレジスタアクセスをしている記述部分を１レジスタ分選択する（Ｓ２０３）。その際に、アクセスしたいレジスタのレジスタ名やレジスタに含まれるビットフィールド名が特定できるように選択する。
【００２８】
ステップＳ２０３で選択した記述部分によってアクセスしたいレジスタに対し、パラメータデータファイルからパラメータデータを抽出する（Ｓ２０４）。抽出するパラメータデータは、以下の通りである。
（１）ポート名、ポート型、ベースアドレス
（２）レジスタ名、レジスタアドレスオフセット、レジスタＩ／Ｏ、レジスタ初期値
（３）ビットフィールド名、ビットオフセット、ビット幅
ステップＳ２０４で抽出したパラメータデータに基づいてステップＳ２０３で選択したレジスタアクセスのポートの設定が正しいか否かチェックする(Ｓ２０５）。具体的には、Ｉ／Ｏの整合性（マスターポートにアクセスしようとしていないか、等）、ベースアドレスは正しいか、といった点をチェックする。正しく設定されていない場合には（Ｓ２０５；ＮＯ）ステップＳ２１２に進み、エラー表示し、パラメータデータファイルを閉じて（Ｓ２１１）検証処理を終了する。
【００２９】
レジスタアクセスのポート設定が正しい場合には（Ｓ２０５；ＹＥＳ）、チェックしたレジスタアクセス記述に対し、レジスタの設定が正しいか否かチェックする（Ｓ２０６）。具体的には、レジスタ名から検索し、レジスタアドレスオフセットの値、Ｉ／Ｏ、初期値が正しいかどうかをチェックする。正しく設定されていない場合には（Ｓ２０６；ＮＯ）ステップＳ２１２に進み、エラー表示し、パラメータデータファイルを閉じて（Ｓ２１１）検証処理を終了する。
【００３０】
レジスタの設定が正しい場合には（Ｓ２０６；ＹＥＳ）、確認したレジスタアクセス記述に対し、ビットフィールドの設定が正しいかどうかをチェックする（Ｓ２０７）。具体的には、ビットフィールド名から検索し、親となるレジスタが正しいか否か、ビットオフセットやビットフィールド幅が正しいか否かチェックする。正しく設定されていない場合には（Ｓ２０７；ＮＯ）ステップＳ２１２に進み、エラー表示し、パラメータデータファイルを閉じて（Ｓ２１１）検証処理を終了する。
【００３１】
ビットフィールドの設定が正しい場合には（Ｓ２０７；ＹＥＳ）、選択したレジスタについてポート、レジスタ及びビットフィールドに誤りのないことが確認され、検証パターンファイルに、次のレジスタアクセスの記述があるか否かチェックする（Ｓ２０８）。次のレジスタアクセスの記述がある場合には（Ｓ２０８；ＹＥＳ）、ステップＳ２０３に戻り、次のレジスタアクセスの記述を選択して、記述内容のチェック処理を続行する。次のレジスタアクセスの記述がない場合には（Ｓ２０８；ＮＯ）、検証パターンファイルを閉じる（Ｓ２０９）。そして、次の検証パターンファイルが存在するか否かチェックし（Ｓ２１０）、次の検証パターンファイルが存在する場合には（Ｓ２１０；ＹＥＳ）、ステップＳ２０２に戻り、次の検証パターンファイルを開く。次の検証パターンファイルが存在しない場合には（Ｓ２１０；ＮＯ）、パラメータデータファイルを閉じて（Ｓ２１１）検証処理を終了する。
【００３２】
以上説明した検証処理について、具体的に図４に示す検証パターンファイルを図３に示すパラメータデータファイルで検証する場合を説明する。まず、ステップＳ２０１及びＳ２０２に示すように、図３に示すパラメータデータファイル及び図４に示す検証パターンファイルを開く。
図４に示す検証パターン３０から、レジスタへアクセスする記述部分Ｄ３１を選択する（ステップＳ２０３）。記述部分Ｄ３１では、ポートtarget_socket経由でdata sizeレジスタ（アドレスBASE_ADRS+DATA_SIZE_ADRS=0x0020）に０×０００００１００を書き込もうとしている。
【００３３】
記述部分Ｄ３１の記述内容に基づいて、図３に示すパラメータデータファイルから、以下のデータを抽出する(ステップＳ２０４)。
（１）ポート名target_socket
（２）ポートタイプslave
（３）ベースアドレス０×０（メモリマップreg_memMapを参照して値を抽出する）
（４）レジスタ名data_size
（５）レジスタアドレスオフセット０×００２０
（６）レジスタＩ／Ｏ read_write
（７）レジスタ初期値０×０
（８）ビットフィールドinput_data_size
（９）ビットオフセット０×０
（10）ビット幅１６
（11）ビットフィールドの最小値０×０
（12）ビットフィールドの最大値０×１ＦＦＦ
【００３４】
抽出したパラメータデータに基づいて、ポートtarget_socketの設定が正しいか否かチェックする(ステップＳ２０５）。ここでは、target_socketポートがslaveポートであり、レジスタマップを持つことから、レジスタにアクセスできることがわかる。また、ベースアドレスの値も、記述部分Ｄ３１が参照している定義BASE_ADRSの値が０×０あることから、パラメータデータファイルから抽出した値と同一であることがわかる。こうして、ステップＳ２０５において、レジスタのポート設定は正しいと判断され、ステップＳ２０６に進む。
【００３５】
抽出したパラメータデータに基づいて、レジスタdata_sizeの設定をチェックする（ステップＳ２０６）。ここでは、data_sizeレジスタのレジスタアドレスオフセットが０×００２０であり、記述部分Ｄ３１が参照している定義DATA_SIZE_ADRSの値が０×００２０であることから、パラメータデータファイルから抽出した値と同一であることがわかる。また、レジスタＩ／Ｏがread_writeであることから、レジスタdata_sizeに値を書き込めることがわかる。こうして、ステップＳ２０６においてレジスタの設定は正しいと判断され、ステップＳ２０７に進む。
【００３６】
次に、抽出したパラメータデータに基づいて、ビットフィールドinput_data_sizeの設定が正しく反映されているかどうかをチェックする(ステップＳ２０７)。検証パターンの記述部分Ｄ３１で書き込もうとしている値０×０００００１００から、ビットフィールドのビットオフセット０×０、ビット幅１６の部分を抜き出すと、０×０１００であり、これはビットフィールドの最小値０×０と最大値０×１ＦＦＦとにより規定される範囲内であることがわかる。こうして、ステップＳ２０７においてビットフィールドの設定は正しいと判断され、ステップＳ２０８に進む。
ステップＳ２０８で、検証パターンファイルには次のレジスタアクセスがあるため、ステップＳ２０３に戻り、検証処理が繰り返し実行される。
【００３７】
以上説明したように、本実施形態によれば、検証仕様から作成された検証パターンのデータを機能仕様から抽出したパラメータデータで検証して、アクセス制御ミスや閾値設定ミス等をチェックする。これにより、検証工程の削減及びＬＳＩのバグの低減を実現できる。また、検証仕様より自動生成された検証パターンを、機能仕様より自動生成されたパラメータデータで検証する、という異なる仕様で検証することで、検証精度を向上させることが可能となる。
【符号の説明】
【００３８】
１・・・機能仕様、２・・・パラメータ抽出部、３・・・検証パターン検証部、４・・・検証パターン作成部、５・・・検証仕様、６・・・モデル作成部、７・・・システム仕様。
【先行技術文献】
【特許文献】
【００３９】
【特許文献１】特開２０１１−０８１７６０号公報
【図１】
2014135031.tif 000003
【図２】
2014135031.tif 000004
【図３】
2014135031.tif 000005
【図４】
2014135031.tif 000006
【図５】
2014135031.tif 000007
【図６】
2014135031.tif 000008