第5回「検証項目の作成方法」(201209)

検証項目の作成は、検証環境の構築や実行時間の検討を行うためにも事前に作成したいものです。 効率よく項目を抽出するには、「機能のリストアップ」、「入出力/レジスタのリストアップ」、「動作フローのリストアップ」を行い、これらの組合せを考える必要があります。




「機能のリストアップ」は機能の大半は要求仕様書から抽出され、一部実装仕様に依存する機能を実装仕様書から抽出します。これらを大項目・中項目・小項目に分類します。


次に「入出力/レジスタのリストアップ」を行います。「入出力」は、検証対象の入出力のビット幅、データ範囲、タイミングを明記します。「レジスタ」は設定値の範囲、設定タイミングを明記します。その他としてRAM やFIFOなどが存在する場合は、種類及び使用数をリストアップし、それぞれのアドレス範囲やデータ範囲を明記します。


「動作フローのリストアップ」は検証対象の考えられるユースケース(使用方法)をリストアップします。まずは基本動作をベースに考え、次に応用動作を考察します。データ設定/レジスタ設定順番の変更などは別途組合せの検討段階で考えます。


これら3つのリストアップ情報を元に組合せを考え、テスト項目を作成していきます。この段階で「複数の機能が同時動作した場合の動作チェック」等がテスト項目として抽出されてきます。これらは最初は基本動作をベースにテスト項目を作成しますが、基本動作のテスト項目を作成した後に、それぞれの機能における「例外処理」のテスト項目を検討する必要があります。重要なのは例外的(異常)な入力を与えた場合の動作が、仕様通り(意図通り)になっていることです。


抽出したテスト項目は表形式でまとめ、検証時のチェックリストとして活用します。最後にテスト項目を元にテスト仕様書を作成します。この段階で項目をテストするために必要な操作、環境などを明確にします。


まとめとして、

・「機能」「入出力/レジスタ」「動作フロー」をリストアップします。

・組合せを検討することで機能の同時動作及び衝突や例外動作を抽出し、検証漏れを無くします。

・作成したテスト項目とテスト仕様書を明確にリンクすることで検証作業の円滑化を図ります。



テスト項目作成のスキルは一人前の設計者になるための必須項目です。検証作業の工数見積もりにも影響してきますので是非ともチャレンジしてみてください。




今回ご紹介した内容については、以下の講座、書籍で詳しく解説しています。


●講座

RTL設計上級 機能検証講座

●書籍

RTL設計スタイルガイド
XILINX
教育サービス
HDLABトレーニング(SystemC)
HDLABトレーニング(SystemVerilog)
HDLABトレーニング(Verilog HDL)
HDLABトレーニング(フレッシュマン向け)
HDLABトレーニング(専門分野)
HDLABトレーニング(組込み分野)
HDLABトレーニング(XILINX認定)
HDLABトレーニング日程表
HDLABトレーニング開催リクエスト
設計スキルアセスメント
設計技能検定試験「ESA」
設計技能検定試験「ESA Basic」
設計・コンサルティング
ARM CPUモデル環境
SystemC
Design Style Guide
e-Learning System「STIL」
設計・検証のワンポイント
購入・見積もり
ダウンロード
お問い合わせ

XAP