スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Book:SystemCを使ったハードウェア設計

SystemCを使ったハードウェア設計―システム・レベル・モデリングからビヘイビア合成まで」を読みました。


今まで、所々は読んでいたのですが、真面目に全部読みました。

○目次
- はじめに
- 第1章 SystemCの概要と設計フロー
- 第2章 導入記述例
- 第3章 SystemC基本構文
- 第4章 C++モデリング構文
- 第5章 システム検証とチャネル・モデル
- 第6章 ビヘイビア合成
- 第7章 ビヘイビア記述例
- 第8章 SystemCによるRTL記述
気になった部分だけメモ代わりに。

はじめに


○p3 - 引用:
しかし、SystemCを用いる...(省略)を期待できません。
ハードウェア化にHDL記述が必要なら、わざわざSystemCを使わなくても、
慣れているHDLを使ったほうがいいかもしれません。
SystemCを用いて検証期間が短くなるかは疑問ですが、
設計に関しては、確かにそうだと思います。
やはり慣れている(得意とする)言語で設計すべきかと思います。

第1章 SystemCの概要と設計フロー


○p23 -「設計資産の再利用が容易」:クロック周波数を変えるや機能変更はRTLと比べると容易かと思います。

第2章 導入記述例


導入記述例ということで、アルゴリズム→TLMモデル→BCAモデル→ビヘイビアモデルと記述例が載っているのですが、最初に来ると初心者にはわかりづらい。。。
出来れば、概要レベルで最終章に一連で示してほしかった。
○p35 - アルゴリズムの出力結果がGolden結果になり、後工程での期待値となる。

第3章 SystemC基本構文


題目通り基本構文。
○p48 - 記述例(リスト3-4)で goto文を使っていることにちょっと驚いた。
○p53 - 注意書き*1「bool型はC++では符号付きのため、sc_int<2>にマッピングする場合も」
○p55 - sc_signal(デルタ遅延の概念)は重要
○p58 - wait_untilなんてあるのか?って思ったら筆者サイトにコメントあった。
    「SystemC実行環境(HDL設計入門)
     watching -> reset_signal_is, wait_until文は削除。(便利そうだったのに)
○p60 - sc_simulation_time()/sc_time_stamp()
○p62 - VCD以外にも、wif, isdbの波形トレースが可能。

第4章 C++モデリング構文


SystemCで必要なC++の知識をつけましょう(章)。
「オーバーロード、構造体、クラス、テンプレート、継承」と紹介してます。

第5章 システム検証とチャネル・モデル


sc_fifoチャネルとモジュラ・インターフェースについての解説。
概念としては重要なんだけど、TLM2.0もない時にこれは理解が厳しい。。。

第6章 ビヘイビア合成


○p113 - 引用:
RTL設計でもハードウェア構造を明確にしますが、ビヘイビア合成とは抽象度が異なります。
HDLによるRTL設計では...(省略)...ビヘイビア合成では、このような詳細なハードウェアの構造を決める必要はありません。
です!
○p117 - 引用:
ビヘイビア合成ではビット幅を最適化しようとしますが、
ビット幅の確定は...(省略)...適切な指定が必要です。
入出力信号だけでなく内部もちゃんとビット幅を決めるほうが良いです。
○p118 - 記述例(リスト6-4)のout_valid信号をもっとマクロで記述できればいいのに。「{}」でやるとか。
○p120 - 引用:
筆者はこうした質問に対して、「ハードウェアを意識してアルゴリズムを記述し、...(省略)...適切に指定すれば、
RTL設計者が設計したRTLデザインに匹敵するか、より性能の良いデザインを合成できます」と答えてます。
真理。

第7章 ビヘイビア記述例


記述例なので、あんまり。。。それぞれの書き方があると思います。
○p141 - テンプレートの部分特殊化使っている。

第8章 SystemCによるRTL記述


○p148 - 引用:
なお、SystemCでは、変数や信号には0で初期化されます。
一方、Verilog...(省略)...は不定xとして初期化されます。
...(省略)...注意してください。
注意が必要です。

コメント


本としては、2006年なので結構古い本になってしまったんですよね。
筆者が「改訂版を出したい」と言っていたので、みんな買ってください(笑)
で、SystemCを書いたことがある人であれば理解はしやすいと思いますが、
SystemCをこれから勉強しようと思っている方にはあまりお勧め。。。
関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。