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

藤田昌宏

tag: 半導体

技術解説 2003年3月 3日

●ステップ・バイ・ステップで抽象度を下げていく

 実際のシステムLSI設計では,通常,図3に示すような設計の抽象化レベルが定義され,使われています.

1)仕様レベル

 まず,通常,ソフトウェア工学などで述べられている要求仕様定義については,組み込み機器の設計ではMATLABやUML(Unified Modeling Language)などのツールや技術が利用されています.また,通信機器の設計では,SDL(Specification and Description Language)やUMLなどのツール,および技術が利用されています.設計対象のシステムLSIに対する要求を分析し,仕様が何らかの形で定義されます.組み込み機器の設計と通信機器の設計でツールが異なるのは,ツールや技術の特性だけでなく,過去の資産を無視できないといった理由もあります.

 Cベース設計では,これらの仕様をC言語またはその拡張言語で記述することになります.通常,この仕様レベルでは,実現すべき機能の表現としての関数が定義されています.この段階では全体として時刻の概念がなく,「untimed記述」と呼ばれます.もちろん,仕様レベルでも外部とのインターフェースの関係から,実時間(リアルタイム)制約などがある場合も多いのですが,そのような時間制約は部分的なものであって,記述全体としては時刻の概念のない設計記述となっています.このuntimedの設計記述は,C言語やその拡張言語では自然に表現できます.

f03_01.gif
〔図3〕設計の抽象化レベル
システムLSI設計の場合,従来からソフトウェア工学などで利用されてきた要求仕様の定式化技術の利用から始まり,時刻の概念がないuntimed記述である仕様レベル,内部処理方法を決定し,時刻の概念が現れるアーキテクチャ記述(timed記述),各モジュール間の通信の方法の詳細を決定した相対通信決定レベル,そして,各クロックで具体的に何を計算するかを決定した実装レベルへと設計が進んでいく.現状では,仕様レベルから実装レベルへの変換は,人手が介入した対話的な設計ツールで行うのが現実的である.

組み込みキャッチアップ

お知らせ 一覧を見る

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