Cベース設計とは? 導入の課題は? ――人手による介入が必須,完全自動合成は幻想

藤田昌宏

tag: 半導体

技術解説 2003年3月 3日

●Cベース言語は一つではない

 以上,C言語ベース設計について説明してきましたが,最後にC言語や関連言語の比較を示したいと思います.表1に各種設計言語の比較をまとめました.これは,以下の観点から評価したものです.

  • 動作の階層的記述――設計の上位階層の一つの状態が下位階層の複数の状態になるなど,動作の階層を記述できるかどうかを示す.通常,特殊なくふうがなされていないと表現できない.
  • 構造の階層的記述――これは,ネットリストも含めて,通常の階層記述である.C言語そのままでは表現できない.
  • 並列表現――システムLSIのように多数の機能モジュールが並列動作するものを記述する際には,もっとも重要な項目の一つである.C言語そのままで並列動作を表現するのには無理がある.
  • 同期の表現――複数のものが並列動作しているので,それらの実行の同期を取るメカニズムが必要である.
  • 例外処理――これも実用的にはきわめて重要.
  • タイミング記述――プログラミング言語では表現しきれないものである.
  • 状態遷移記述――ハードウェアだけでなく,組み込みソフトウェアなどでも重宝する記述.C言語そのままでは,記述スタイルがアドホックに(その場その場の対応に)なってしまう.
  • 複合データ・タイプ――実用上重要.

 以上,関連言語を比較しましたが,単なるC言語だけでなく,それなりに拡張したりくふうされたSpecC言語やSystemC言語の利用が,実用上は必要になると考えられます.そうなると,それらの言語の標準化作業も重要になってきます.ただそれ以前に,EDAツールとしてどこまで支援できるかの見極めも,設計者の立場からは重要であると考えられます.

〔表1〕 各種設計言語の比較
○は対応,△は一部対応,×は非対応を示している.

  Cそのまま C++そのまま Javaそのまま Verilog HDL,VHDL Statechart SpecC,など SystemCなど
動作の階層的記述
×
×
×
×
構造の階層的記述
×
×
×
×
並列表現
×
×
同期の表現
×
×
例外処理
タイミング記述
×
×
×
状態遷移記述
×
×
×
複合データ・タイプ
×


ふじた・まさひろ
東京大学大学院 工学系研究科 電子工学専攻 教授

◆筆者プロフィール
藤田昌宏.1985年,東京大学大学院情報工学専門課程終了.工学博士.同年,富士通研究所入社.論理設計用CAD技術の研究開発に従事.1993年より米国富士通研究所へ出向,CAD研究グループを立ち上げる.2000年3月より東京大学大学院工学系研究科電子工学専攻教授.ディジタル・システム設計支援技術,特にシステム・レベル合成,論理合成,論理検証を中心に研究している.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日