« A SystemC Primer, Second Edition | Main | SystemCの書籍 2007年1月 »

2007.01.04

SystemCプログラミング基礎講座

SystemCプログラミング基礎講座読みました。

多分、SystemCでガンガン突っ込んでいくといつか著者との接点がでてきそうな気がします。
( ・ω・)ノ<しすてむ開発。さんの所で、著者には突っ込み有り。
こことかこことか。

勝負かけて、思った事を書いてみます。

大きく気になったのが2点。一点目は、会社の名前を出して出版している割にはチェックが甘い。
もう一点は、著者は実践的なRTLを書いたことが無いんじゃないかという点。

今日日、サンプル回路で、
#include<stdio.h>
main()
{
printf("Hello!\n");
}
は無いと思うんですがどうでしょう・・・。
こことか
省略したらからintのルールを積極的に使っているのか、don't careなのか、どちらにしても
チェックする人はいなかったのでしょうか。

さらに、「#includeの行を削除するとエラーがでる」と書いてありますが、古いコンパイラ
は出さない。さらに、SystemCの標準とも言えるgccではエラーも出さずに、普通にlibcが
リンクされる。

p53の表3.3で、intは64bit、longが32bitになっているのは目を疑う。誤植かと思ったが、
本文中にこのような記載まである。
「この表の中で、intとunsigned intを64bit型として紹介していますが、このビット幅は
コンパイラによって異なります。しかし、現在多くのコンパイラでint型は64bitとして
コンパイルされるため、ここでは64bitと覚えてしまって良いでしょう」
よくねーよ!多くのコンパイラが、64bit intをサポートしているの間違いじゃないのか。

FIFOのアクセスには、.write()ではなく->write()を使わないとだめと書いてあったり、
全加算器のcarryを
CARRY.write((A.read() & B.read()) | (A.read() & C.read()) | B.read() & C.read()));
のように悪い癖が付きそうなコーディングだったり、教育的には良くない本です。
(上の記述は、A、B、Cがsc_inだから上手く行くけど、sc_fifoになったら上手く行かない。)

最初の一冊には良くないと思います。第二版に期待。

|

« A SystemC Primer, Second Edition | Main | SystemCの書籍 2007年1月 »

Comments

しまった。私の方が間違えている。

>FIFOのアクセスには、.write()ではなく->write()を使わないとだめと書いてあったり、

ここは私の勘違い。channelとしてFIFOにアクセスする場合は、.ではなく、->で無いと駄目だ。ground upにも書いてあった。

Posted by: なつたん | 2007.01.05 at 03:58 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18154/13328051

Listed below are links to weblogs that reference SystemCプログラミング基礎講座:

« A SystemC Primer, Second Edition | Main | SystemCの書籍 2007年1月 »