SystemC
SystemCは、プログラム言語であるC++のクラスライブラリを提供している。独立した文法ではない。ライブラリにはハードウェア記述の為の機能、並列実行の概念やデータ型を扱う各種関数を定義している。プログラムはC++コンパイラでコンパイルすることができる。生成したオブジェクトはハードウェアのシミュレータとして動作する。
言語としては、VerilogやVHDLと類似点も持つ。C++に由来する抽象データ型やテンプレート、動的なメモリ割り当てなどを使った自由度が大きく、抽象度の高い記述が可能である。自由に、抽象的に記述したものを実際のハードウェア化するのは困難なことである。論理合成ツールの能力に依存する。VerilogやVHDLで論理合成可能な具体化は人手による介在が必要な場合がある。仕様あるいは、あるアルゴリズムを最初は純然たるソフトウェアとして記述、デバッグ、その後順次ハードウェアに変換していくということがC++という同じ枠内でできるということに意味があるということである。
SystemCは複数のEDAベンダーや大学などの研究機関により提案され仕様が策定されてきた。2005年時点でのバージョンは2.1、さらに2007年3月には、バージョン2.2を公開した。トランザクションレベル・モデルライブラリを検討した。 2011年、IEEE 1666 IEEE Standard for Standard SystemC Language Reference Manualとして規格になっている。
モジュールはSystemCによる設計の階層中で基本となるブロックである。SystemCのモデルでは、ポート(次項)を通じて通信する複数のモジュールから構成される。