すべては、SystemC v0.9公開から始まった。

最新トピックス

すべては、1999年にOpen SystemC(OSCI)が創設され、SystemC v0.9(1999.9)を公開されたことが始まりでした。

SystemCは,米Synopsys, Inc.,米CoWare, Inc.,ベルギーFrontier Design社の製品や技術をベースに開発されました。

その後、v0.91(2000.3)、v1.0(2000.4)、v1.1(2000.6)の公開されました。

v1.0が公開され、やっとHDLのRTLと同様な記述がサポートされたものの機能的にはHDLとそれほど変わりませんでした。

私は、v0.9が公開されたときからSystemCをダウンロードし、実際に、ソースコードからコンパイルし、例題を動かしてきました。

SystemCではどのようにハードウェアを表現できるのか?SystemCで表現するとどんなメリットがあるのか?

確かにハードウェアを表現はできるものの、HDLよりも大きなメリットを見いだすことはできませんでした。

(HDLシミュレータよりも実行速度は明らかに速いという点は、実感できましたが)

そうこうしているうちに、v1.2beta(2001.1)とv2.0の仕様が公開されました。

v0.9からv1.2betaまでソースコード(実装)が公開されたわけですが、

v2.0ではソースコードではなく、仕様が公開されたのがいままでと違っていました。

v2.0では、通信部分を自由に記述できだけでなく、抽象度を上げることができるなるというものでした。

この通信部分は、チャネルと呼ばれ、その後、TLM-2.0が導入されるまで、SystemCの主な通信手段になりました。

v2.0のソースコードは、beta1(2001.7)、beta2(2001.9)、正式版が2001.10に公開されました。

仕様が公開され、半年で最初のベータ版を、その後、3ヶ月で正式版をリリースするという非常に速いペースで行われていました。

そんな中、日本でも2001年2月に、第1回Japan System C User Forum(2001.2)が開催されました。

このときは、ユーザ事例発表ではなく、ユーザとEDAベンダによるパネルディスカッションでした。

次の年(2002.1)には、研究会(第2回SystemCユーザフォーラム)が開かれました。

この研究会が日本で初めての公開されたユーザ事例発表会でした。

その後、2009年(第9回)までEDSFairの時期に、SystemCユーザフォーラムとして開催されました(今年、2010年は残念ながら開催されませんでした)

第8回までの資料は、JEIDA EDA Technical Committeeのサイト (2008年の資料のみこちら)からダウンロードできます。

2001.10にv2.0がリリースされた後は、下記のように、LRM、v2.1 & TLM 1.0、そして、IEEE 1666での標準化。

その後、TLM 2.0をリリースし、TLM 2.0 LRMを2009.7にリリースして、ほぼ完成の領域に達成しました。

(平行して、2002年から検討されていた、AMS(Analog/Mixed Signal)も2010.2にリリースされました)

・ v2.0.1 (2002.4)

・ v2.0.1 LRM(Language Reference Manual) (2003.6)

・ SCV(SystemC Verification Library) v1.0 (2003.12)

・ v2.1 beta (2004.10)

・ TLM(Transaction-Level Modeling) 1.0 beta (2004.11)

・ v2.1 (2005.5)

・ v2.1 LRM & TLM 1.0 (2005.6)

・ IEEE 1666-2005(v2.1ベース) (2005.12)

・ TLM 2.0 draft-1 (2006.12)

・ v2.2 (2007.3)

・ TLM 2.0 draft-2 (2007.10)

・ TLM 2.0 (2008.6)

・ AMS Extensions Whit Paper (2008.6)

・ TLM 2.0 LRM (2009.7)

・ AMS Extensions (2010.2)

このようにSystemCは、約10年かけて現在のようなものに進化してきましたが、3つのステップに分けられるのではないでしょうか?

Step 1: v0.9~v2.0、実用レベル (1999-2001)

Step 2: v2.1~IEEE 1666-2005、標準化 (2002-2005)

Step 3: TLM 2.0 & v2.2 (2006-2009)

関連ツール (Open Source)

GreenSocs :Building Blocks for Tool Independent ESL SystemC

sister : オープンソースの動作合成ツール ( SystemC => Verilog HDL )

ArchC : オープンソースのアーキテクチャ記述言語 ( 最新版 v2.0 )

・ ブログ : Arch 2.0

・ ブログ : Arch 2.0 (その2)

・ ブログ : Arch 2.0 (その3)

KCachegrid : Profiling Visualization

EVAN : シミュレーション統合環境 (SystemC v2.1、SCV 1.02p、TLM 1.0、AVM 2.0サポート)

V2SC : Verilog HDL => SystemC トランスレータ (IEEE 1364-2001 to IEEE 16666-2005)

ツールベンダー

CoFluent Design

関連資料

SystemC Japan

DAC (Design Automation Conference)

DVCon (Design & Verification Conference & Exhibition)

NASCUG ( North American SystemC User Group )

ESUG ( European SystemC Users Group )

LASCUG ( Latin American SystemC User's Group )

JSCUF ( Japan SystemC Users Forum、2009年までJEIDA、2010年からOSCI)

SystemC 2.2 (doxygen)

SystemC AOP : ブログ

SystemC動作合成スタイルガイド ( hdLab )

Welcome To SystemC Page ( ASIC World )

SystemC Tutorial

Interfacing With HDL Simulator

bambooflow Note : SystemC

いまさら聞けない SystemC入門 (塚田雄一)

CQ出版のDWMの記事

著書のSystemCプログラミング基礎講座

ITクラスタ交流会 プレゼンテーション資料

SCDsource (最近は、記事がアップされません)

Bringing virtual platforms into mainstream design by Eugene Zhang, Jeda Technologies

TLM 2.0 promising, but interoperability isn’t proven by Eugene Zhang, Jeda Technologies

イベント (SystemC関連)

EDSFair (1月末、パシフィコ横浜)

SystemC Japan (7月頃、新横浜)

Verify 201X Japan (9月頃、品川)

Cynthesizer ユーザー交流会 (11月頃、新横浜)

Cynthesizer ユーザー交流会2008の内容

書籍

Design Wave Magazine (休刊)の SystemC関連記事は、こちら

SystemC TLM活用入門、第1回 (2008年6月号)

SystemC TLM活用入門、第2回 (2008年9月号)

SystemC TLM活用入門、第3回(最終回) (2009年3/4月号)

洋書

Virtual Platform関連

書評:『ESL Models and their Application: Electronic System Level Design and Verification in Practice』ブログ

和書

C++の知識として読むべき書籍

・Effective C++ - Scott Meyers

・More Effective C++ - Scott Meyers