<7年ぶりにSystemC>

| | コメント(0)

先日、またミュージカルに行ってきました。
今度のタイトルは「リトルプリンス(星の王子様)」です!

20110627_1_nagasawa.jpg

 

今回はかなり前の席で表情まではっきり見えてすごく良かったです。
この写真は、写りが悪くてすみません。安寿さん、福田さん、社長!m(_”_)m
真ん中の方が安寿(あんじゅ)さんです。本名です(驚)!今回の役どころはです。王子との会話があるのですが、花なのでずっと座っているのに音量も王子と同じくらいでした。さすがヨガで鍛えているだけありますねぇ(^^)
表情が見えて何が良かったかと言うと、全身を使って感情を表現していることは前からすごいと感動していたのですが、表情でも常にシグナルを送っていたんだなぁと感じることが出来てますますミュージカルにハマりました(^^)
今回は、前回の「ホーム」のほのぼのした感じプラス童心に帰れる感じです。
中でも一番印象に残ったのは、「大切なことは目には見えない」と言う言葉です。
D-CLUEに入っていなければ、そのままふ~んでやり過ごしていたかも知れませんが、D-CLUEで培った(鍛えられた)思いや意志を根底に考えると日頃社長に言われている心の動体視力を鍛えることが目には見えないものを見えるようにするし、それが見えてきた時にすぐに反応が出来るようになるのだなぁと考えられるようになりました。感謝です!

 

さて今回は、SystemCについて書いてみたいと思います。
めちゃくちゃ詳しいと言う訳ではありませんが、ソフト(プログラム)が苦手なディジタルエンジニアが日本では多いと感じているので、そんな人たちにお役に立てればと思います(^^)
実は、D-CLUE創立当時にまだディジタルメンバがほとんどいない時に論理検証するのにSystemCって有効(おもしろ)そうだなぁと思って使って見たことがあります。
実際にそれがすぐに役に立って良かったと思った記憶があります。

しばらく使わないうちに検証ライブラリなどが増えていて使いこなせてはいないけど、使えれば有効だと思っています。

さて、SystemCって良くVerilogやVHDLと比較されますが、C++のクラスライブラリって表現を良くします。これがソフトに詳しくない人はピンと来ないのだと思います。
私もソフトの専門用語など熟知している訳ではないので自分なりの言葉で説明してみたいと思います。
C++はオブジェクト指向の言語で、オブジェクト (class) を定義するのと、そのオブジェクトに付随する変数と関数を定義します。
それらを集めたものをクラスライブラリと言います。(たぶん)
MFCライブラリって言うのが有名ですね。MFCはMicrosoft Foundation Classの略で
「Windows用のアプリケーション構築のためのアプリケーションフレームワーク(クラスライブラリ)である」ってWikipediaにあります。

つまり、C++のコンパイラがあれば、SystemC記述をコンパイル、リンクしてシミュレーションを実行出来る訳です。
Linuxであれば、g++を使って環境を構築出来ますし、Windows上であればVC++で環境を構築出来ます。ただ、VC++の場合にはバージョンに左右されるみたいなのでVC++について詳しい知識が必要になるかもしれません。
SystemCがクラスライブラリと言う説明が終わったところで、では、SystemCの文法ってどのようなものかをVerilogと比較してみたいと思います。左側がVerilogで右側がSystemCです。
まず、大きな違いはSystemCはファイルを2つに分けます。VHDLもそうする場合がありますが、目的がちょっと違います。
VHDLの場合にはentityとarchitectureでファイルを分けていて1つのentityに複数のarchitectureを関連付けるためです。
SystemCの場合には、上位階層にヘッダファイルをincludeする必要があるためで、includeしないとコンパイルでエラーになります。
2つのファイルとは、
1つは、ヘッダファイルでSC_MODULE宣言を記述します。
もう1つは、ソースファイルで動作を記述します。

 

20110627_2_nagasawa.pngSC_CTOR(xxx)は、C++でコンストラクタと呼ばれる宣言でsensitivity listや下位階層の接続を定義します。
今回は、SystemCの構造について説明しました。
次回は、具体的なRTL記述や上位階層の接続記述などを説明したいと思います。

繰り返しになりますが、ネットで流れている資料はハード屋さんにはちょっと理解しづらいと思っている人に理解しやすいように説明したいと思います。

以上です。

コメントする

このブログ記事について

このページは、dclueblogが2011年6月27日 15:53に書いたブログ記事です。

ひとつ前のブログ記事は「<仕事の合間のリフレッシュ(^^)>」です。

次のブログ記事は「<SystemC>」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01