SystemCを利用したLSI設計の工程を追体験できる ―― 『C/C++によるVLSI設計―SystemCによるJPEGコーデック設計』

鮫島正裕

tag: 半導体

書評 2004年2月12日

SystemCを利用したLSI設計の工程を追体験できる


f1.jpg


大村正之,深山正幸 著
共立出版株式会社 刊
ISBN:4-320-12081-7
18.3×23.5cm
167ページ
3,200円(税別)
2003年11月(初版第1版)

 本書は,JPEG処理を題材として,Cベース設計の開発フローを紹介しています.開発の流れとしては,まずC/C++のアルゴリズム・レベルから始まり,SystemCによるUTF(untimed functional)レベルやBCA(bus cycle accurate)レベルのモデリング,検証を行います.その後,ビヘイビア合成を経てFPGAに実装されます.

 使用された4万行を超えるソース・コードは,序文で紹介されたURLからダウンロードできるようになっています.また,各サンプルにはMakefileやテスト用の画像データが用意されているので,本文を読みながらモデルの抽象レベルの変更やテストベンチの動作を実際に確認することができます.

 6章の「動作合成概要」では,いくつかの市販ツールの比較などにも踏み込んで書いてほしかった気もしますが,ビヘイビア合成ツールは守秘義務契約に基づく範囲でしか使用できない場合が多く,書きたくても書けないのがつらいところなのかもしれません.「動作合成を成功させるためには」という節では,ビヘイビア合成ツールとつき合うときにたいせつな心がまえと,SystemCと組み合わせて使うことのメリットが述べられています.

 7章ではJPEGコーデックの設計事例として,次のような項目について比較検討しています.

  • アルゴリズムの比較
  • 処理ビット長と画質の検証
  • すべての処理をソフトウェアで実行した場合と,DCT(離散コサイン変換)演算部をハードウェアで実行した場合の規模とサイクル数の比較

 ビヘイビア合成ツールとしては,米国Synopsys社の「CoCentric SystemC Compiler」を使用していますが,本書で紹介されているアルゴリズム記述は他社製のツールでも(部分的な変更は必要だが)合成可能なため,参考になると思います.

 最後に,3章の「SystemC文法」のインスタンスの説明で,newを使用しない場合は「上位モジュールから下位モジュールのインスタンス内部へアクセスする方法がない」とありますが,以下のようにすると可能になります.ただし,評者も本書で推奨されているポインタによる方法を使用しています.

SC_MODULE(モジュール名){

 下位モジュール名 インスタンス名;

  SC_CTOR(モジュール名):インスタンス名("インスタンス名"){
  
インスタンス名.ポート名(チャネル名);
  
}
};


鮫島正裕
設計コンサルタント

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日