SystemC によるハードウェア記述をもとにしたタイミング図生成 - LCS-CIT

SystemC によるハードウェア記述をもとにしたタイミング図生成
0422321 吉原 毅彦
指導教員
1. 背景と目的
本研究では、SystemC によるハードウェアの記述から、
UML の図表であるタイミング図を自動生成することを目
的とする。これにより、ハードウェアシステムの設計効率
を向上させることが可能となる。SystemC とは C++に対し
てハードウェア的なモデリングに必要な構文を追加した設
計記述言語である。主な特徴としてはオブジェクト指向の
概念を持つこと、抽象レベル記述が可能であることが挙げ
られる。UML はシステム設計に必要とされる図表群の表記
方法を標準化したものである。本研究では、このうち動的
側面を記述する図の一つであるタイミング図を生成する。
タイミング図とはハードウェア設計に使われる波形図に似
た表記法であり、システムの機能を時間的な側面から詳細
に表現することができる。
2.クロックに依存しないタイミング図の生成
2006 年度までの研究で SystemC から図 1 のようなタイ
ミング図を自動生成するシステムが開発されている。本研
究ではこのシステムの問題点とその解決案を提案する。
新井 浩志 准教授
位の指定を利用する。必要に応じてクロック同期より短い
時間間隔でシミュレーションを行うことにより、微小な時
間における変化にも対応できる。しかし、これを全シミュ
レーション時間に適用するとシミュレーションに必要な時
間とメモリが膨大になってしまう。そこでクロックを使用
してシミュレーションを進め、モジュール間で同期通信が
行われる部分のみ最小時間間隔でシミュレーションを実行
する。具体的な処理としては、まず従来手法を用いて、同
期通信が行われる箇所と、その内容の取得を行う。次に提
案手法を用いて再シミュレーションを行い、取得された詳
細なログより再描画を行う。
図 2 の左側に通信部分のログを、右側にタイミング図の
描画のイメージを示す。ログの左端が時間単位であり、従
来手法では 2 クロック目にAがBを 1 に、BがCを 1 に切
り替える通信が行われると記述される。しかし、実際には
それぞれの通信に僅かな遅延が存在する。提案手法では 2
クロック以降の時間単位をクロックから時間表現に切り替
え、詳細なログを取得することにより、これらのずれを表
現すること可能としている。
A
2 A write B 1
2 B write C 1
B
C
クロック
(a) 従来手法
図 1.現在のシステムによる描画
現在のシステムでは、まず SystemC のソースコードを解析
して、モジュールに関する静的な構造情報を取得する。次
に SystemC シミュレーターで実際に動作させ、ログから動
的情報を取得する。この静的情報と動的情報をもとにタイ
ミング図を生成している。
ログ生成とその解析にはシミュレーション上のクロック
を使用している。このため現状では 1 クロック以下の微細
な時間表現に対応できない。また、クロックを使用しない
抽象度の高い SystemC の記述に対応できない。これらの問
題の解決案として次のような方法を提案する。
まず時間表現に関しては、SystemC の機能である時間単
clock(単位切り替え)
2 A write B 0
2 B write C 0
3 A write B 0
…
4 A write B 1
…
7 B write C 1
A
B
C
クロック
時間単位
(b)提案手法
図 2.ログと描画イメージ
3.まとめと今後の課題
本年度の研究では微小な時間表現に対応するための提案
をした。しかし、抽象度の高い、クロックを持たないレベ
ルに対応するための手法は提案できていない。今後はこの
問題を解決するシステムの開発や改良を行う必要がある。