中島 大輝(9.1-3)

Report
6311653 中島大輝

テストベンチとは…


設計が正確かどうか検証するための仮想的環境
結果として出力された値と事前に算出しておいた
値とを比較することで電子回路の性能を評価
組み込みプロセッサとHW accelerationを組
み合わせることで,テスト設備やテスト環境を
構築可能
 ストリームプログラムモデルを用いることで,新
たなテストが生成された場合も,正確にHWモ
ジュールを検証可能

Impulse CのSWプロセスを利用したテストベ
ンチ作成
 HW-SW混在の組み込みシステムでは,テス
トベンチの作り方も重要
 この章では,triple-DESアルゴリズムを使用
したテストベンチを作成


SW-HW混在システムの考察





それぞれを相対的なメリット・デメリットで評価
HW,SWの組み込みプロセッサとFPGAHWに
おいて,同じアルゴリズムで実装
これによって,HWに対するSWの相対的メリット
などを分析
アルゴリズムのパフォーマンスとSW,HWインタ
フェースの処理にかかる負荷を評価可能
評価はシステム設計者の経験に依存
評価の主な要因は,既存のマイクロプロセッ
サやハードウェアへアルゴリズムをコンパイル
する能力である
 C-to-HWコンパイルは,システム設計を容易
にする



ソフトウェア開発者にとって様々な評価が容易と
なる
ハードウェアに関連したパーティショニング,設計,
実装など低次でのハードウェアの設計が必要なく,
相対的な評価のための膨大な計算も必要ない

データ転送時のオーバーヘッド


データのストリームを処理するアルゴリズムにおい
ては,処理自体とデータ通信のオーバーヘッドを
考慮
HW approachの利点の評価においては,既
存のプロセッサ上で動くソフトウェアの一部と
専有化されたハードウェア間に起こるデータ
転送コストを考慮し,できるだけ直接的に測定
しなければならない

HW approachにおける効果的なアルゴリズ
ム





入出力処理で過度な制限なし
計算上集約されている
低レベル(ex.ループ内での状態のスケジューリン
グによって実現可能)での並列可能性
パイプライン処理又は並列処理のレベルでの並
列可能性
SWアルゴリズム→FPGA

直接コンパイルすることは効果的で,よりリスクを

テスト/デバッグに組み込みコアプロセッサを
用いるのは非常に有効


最終的に組み込みプロセッサを利用しない場合
にも有効
Impulse Cでは,上記により性能のよいSWHW混在テストベンチが実世界に即した形で
実行できる

この手法を用いるには,標準化されたSWHWインターフェイスが必要


ex.MicroBlaze→Xilinxから提供されるFSLバス
しかし、インターフェイスは各FPGAで異なるメ
カニズムを持つ


ターゲットとしたプラットフォームで使用できる
communication channelsを活用するように設計
その利用は事前によく調査・検討されなければな
らない
このようなインターフェイスを“単体テスト”の考
え方に沿って利用することで、アプリケーショ
ンンの各コンポーネントの高速な検証,HWSWの境界をテストし、最適化することが可能
 最終的にアプリケーションの質の向上につな
がる

ユニットテストの考え方
 アプリケーション内の重要なモジュールの単
体テストを作ることが重要
 ex.HDLシュミレータの使用



特定モジュールのテストは比較的簡単
実世界に即していなかったり非常に時間のかかる
ものもある

単体テスト





○想定していない条件や境界条件のテスト
×システム全体のテスト
特定の処理のみのテストや総当たりではなく境界
値や特殊なケースのテストが実際のHW上(テスト
目的)で可能
鍵となるのはSWによるテストベンチの高速な生成
と必要なHWのプロトタイプの開発(Cレベル設計
ではこれが可能)
C-to-RTL コンパイルを使用することで,楽にHW,
SW混在のテスト手順を作成可能
デスクトップシミュレーションに対する組み込
みテストベンチ
 Cレベル設計の特徴



HW,SWともにIDEで開発・デバッグ・コンパイ
ル・実行可能
組み込みテストベンチ


プラットフォームの制限
組み込みプロセッサに軽快なOSを組み込むこと
で容易に構築できる(詳細は後のChapter)
データスループットとプロセッサの選定
 in-systemテスト用のプロセッサの選定


FPGA内の領域確保


FPGAが限界使用率に達していた場合



アプリケーションの一部のみをテストジェネレータとして
使う場合は必要なし
より大きなデバイスに変更
組み込みハードプロセッサを含むFPGAに変更
設計時間の短縮

ハードコアプロセッサの使用

データスループット

ソフトウェアプロセッサの使用



ex.FSLバスを用いたXilinx MicroBlaze
SW・HW間のデータストリームによりよい効果
Impulse Cライブラリの使用


SW・HW間の通信に使用
FPGAベースのプロセッサとバスプロトコルの相違をよ
り抽象化

HWのテストジェネレータを動かす

パフォーマンスの向上


テスト機能(stimulus generatorなど)をHWに組み込
む
HWの生成


VHDLやVerilogだと再実行に時間がかかる
automated C-to-RTLコンパイラを用いて高速化
In-systemテストをアプリケーションに組み込
みのは面倒
 HWシミュレーションの利点



コンパイル/論理合成/マッピングの際にHWモ
ジュールをin-systemでテスト可能
エラーをなくす機能


テスト設計の可視化
Single-steppingの提供
 プログラムのデバックの際に、命令ごともしくは1ス
テートメントごとに実行させること
細かいタイミングでテストするならば,ソフトコ
アプロセッサでテストデータを作成したほうが
よい
 post-route simulation modelsを用いたシ
ミュレーションでは,どんなクロック数でも対応
できる
 テスト対象の規模によっては,シミュレーション
に数時間~数日かかる


組み込みプロセッサを用いたin-systemテスト




シミュレーションベースのテストをうまく支援
HWインタフェースや入力により各HW(低クロッ
ク)により実世界に即したテストを施す
RTLシュミレーション環境よりも高速にシュミレート
C-to-HWコンパイルツール

システム全体をC言語で記述
→HDLに移植可能
→Cレベルの最適化可能

similar documents