1. 2 用語
本書で用いる用語について簡単に説明します。詳しい内容は 本書を読み進めるうちに理解していただけると思います。
- モジュール(module)
モジュールは、 設計をする上での基本構成部品を定義する要素です。 この中に、内部の処理を記述するプロセス、 状態を保存するための変数、 他のモジュールとの接続のためのポート を持てます。 内部には 他のモジュールを階層的に配置出来ます。 配置されたものはインスタンスと呼ばれることもあります。 下位モジュールの 配置は並列的にも階層的にも可能ですから、これにより 設計の構造的階層を表現できます。
- メソッド(method)
メソッドは C++でいうメンバ関数のことです。モジュールに対する操作、などを表現します。
- インタフェース(interface)
インタフェースは、モジュールが外部と通信する時の操作方法の種類の宣言です。 どのような操作があるかを宣言します。 つまり、 インタフェースは、実装すべきメソッドの型定義(仮想関数)のグループを定義します。その中ではメソッドの実装やデータは記述されません。
- チャネル(channel)
チャネルは一組以上のインタフェースの操作(関数)を実装し、通信機能を記述します。
- ポート(port)
ポートはモジュールと外部とのやりとりの口です。 System C のポートは、インタフェースに宣言された操作方法 を通してチャネルと通信します。
- UTF (Untimed Function Model)
記述に時間の考え方を含まないモデルです。 簡単な例としては、ファイルを入力して変換し、出力するような記述があります。
- PV (Programmer's View)
上記の UTF を PV と呼ぶこともあります。 ソフトウェアを書く人にとって充分な精度、という意味です。
- TF (Timed Function Model)
UTF に加えて、実行順序までを記述したモデルです。 プロセス間の同期を考慮する必要がありますから、何らかのシステムクロック が必要になります。
- PVT (Programmer's View + Timing)
ソフトウェアを書く人にとって充分な精度、に時刻の情報を加えたもの という意味です。上の TF と同じ意味です。 一時的・局所的にSAM と呼んでいたものと同じです。
- BCA (Bus Cycle Accurate)
バスのやりとりを忠実に再現出来るような精度の記述です。
- CA (Cycle Accurate)
クロックサイクル毎の状態を忠実に再現出来るような精度の記述です。
- CC (Cycle Callable)
上記の二つを合せて CC と呼ぶこともあります。 一時的・局所的 準RTL と呼んでいたものと同じです。
- TLM (Transaction Level Modeling)
トランザクションというのは、日本語で言えば、「やりとり」です。 TLM とは、 その「『やりとり』を再現出来るような記述」という意味です。 実際にはその「やりとり」の詳細度によって精度には幅があります。 Transaction Layer Modeling ということもあります。 これは、上に挙げた 7 種類の全てを含んだ総称です。 それらの関係を大まかに示せば、次のようになります。
UTF = PV
TF + BCA = PVT
CA = CC
http://medea.it.uc3m.es/2003/3.2_.pdf のスライド 21 に分りやすい図があり ましたので引用します。

- ISS (Instruction Set Simulator)
CPU の命令語を一つ一つ忠実に実行をするようなシミュレータです。
組込ソフトウェアをシミュレーションする場合、 それを実行する CPU の全ての内部回路を記述したモデル(RTL)を使うと、想像がつかない程時間 がかります。これに比べて その CPU の内部の動作をソフトウェアで表現すると、それより は何倍か高速に実行出来るものを作れます。これが ISS と呼ばれるものです。
しかしそのソフトウェア表現でも、 そのためには CPU の内部の状態を全て再現するようなしくみが必要なため、 実機(実際のハードウェア)で実行されるものから比べると、相当に 時間がかかります。
- RTOS (Real Time Operating System)
SoC を構成するソフトウェアのうち、基本となるソフトウェアです。 普通に OS と呼ばれるものと比較して 実時間の応答を重要視する設計が必要なため、このような名前が付いています。
- SoC (System on Chip)
一つの半導体シリコンチップの上にシステム全体を構成するような大規模な LSI を指します。
