スポンサーサイト

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

SCJ2011:ユーザー事例(その2)

7/15(金)に開催された「SystemC Japan2011」に行ってきました。

今回はルネサス マイクロシステムの「大規模設計へのSystemC設計適用事例」です。
Agendaとして以下の流れで講演されていました。
・SystemC設計フロー
・SystemC設計適用事例
・設計で問題となった事例
・問題点・EDAベンダへの期待

今回の講演では、SystemCを書いたことのない&動作合成も経験のない 2人のエンジニアが見事、SystemC設計+動作合成を行い実チップまで実現することが出来たということです。結果は以下の通りです。
・設計期間 8ヶ月
・約17[MGate](見積もりでは 20[MGate])
・約650MHzの動作周波数を達成
・実チップでも問題なし
動作合成としてツールとして Cadence社の C-to-Silicon Compilerを使用したとのこと。また等価性検証として SLECを使ったようです。

通信系の受信回路のC言語のアルゴリズムを SystemCへ詳細化(Clock追加、モジュール分割、インターフェース設計)し、動作合成へ。このSystemC設計&動作合成までの期間で約 6ヶ月。その期間内にツール不具合などもあったようです。また、どうしてもモジュール分割を行ったこともあり、機能検証としてRTLシミュレーションを実施したこの期間は前の設計期間とかぶっているが、約 5ヶ月。また、論理合成の期間も同じくらいかかってプロジェクトが完了したようだ。

SystemC設計&動作合成では、データパス系に効果が高いということと、RTL設計に比べてタイミング違反(動作周波数未達成)の場合にTATが短くなることを言っていた。筆者も同じ意見で、動作合成を使うメリットはそこにあると考えています。本当に設計者が考えてないといけない部分とそうでない部分を意識しないと効果は出ないと思います。今回はQ&Aにて「マルチクロック部分があるか?」という質問が出て、「ある。そのメタス対策はSystemCで細かく記述した」というような回答もあった。
検証部分では、「アルゴリズム」「SystemC」「RTL」といった検証を行う必要があったため、テストベンチを共有化したとのこと。具体的には入力、期待値に関して同じデータを使用出来る環境にした。SystemCでのシミュレーションTATはRTLに比べて約3倍早い ということだった。(筆者的にはもっと早くてもいいと思ったが)

動作合成での問題点としては、設計スタイル(どういう記述を書くか)により生成物の結果(RTL)に違いが出ることや、レイアウト時にタイミング違反が発生したりしたようです。特にメモリにアクセスするとなると、メモリのレイアウト位置により配線が厳しかったり、アクセスが集中したような記述になると厳しいと思いました。

最後にベンダへの期待として、
・パイプライン処理の改善
・レイアウトを意識した動作合成
・CtoSから出力するSLECのスクリプトの充実
・動作合成前後の機能等価性検証
・大規模での等価性
を挙げていた。

今回の事例では、大規模&高速な回路生成といった非常に良い結果が出た発表でした。
今後の取り組みとして書いてあるのですが、メモリ制御は動作合成にはとても厳しいです。なので、内部にメモリが入っているようなデザインだと更に難しいのではないかと予測します。
懇親会で発表者の方とお話させていただきましたが、やはりRTL設計からSystemC設計を行う際には意識(主にタイミング考慮)を変える必要があると言ってました。しかし、初めてで 9ヶ月で実チップまでというのはとてもすごいと思います。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

カレンダー
09 | 2017/10 | 11
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 31 - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。