SystemC
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/12 06:51 UTC 版)
ナビゲーションに移動 検索に移動SystemC(システムシー)は、電子回路機器の機能設計への使用を目的としたハードウェア記述言語 (HDL) の一種である。SystemC登場以前より存在し、純然たるHDLであるVerilogやVHDLに比べ、動作レベルモデリングなど、よりシステム寄りの記述言語である。
仕様
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のモデルでは、ポート(次項)を通じて通信する複数のモジュールから構成される。
ポート
ポートは、モジュール内部と外部とを接続する端子である。通常は別のモジュールのポートに接続される。
プロセス
プロセスは、メインとなる処理要素である。個々のプロセスは同時、並列に実行される。
チャネル
チャネルは通信の要素であり、単純な配線のこともあれば、FIFOのような複雑なメカニズムのこともある。
基本チャネル:
インターフェイス
ポートはチャネルとの通信にインターフェイスを使用する。
イベント
プロセス間の同期を取るために用いる。
データタイプ(型)
SystemCはモデリングを支援するいくつかのデータタイプを用意している。
C++標準の型を拡張したもの:
- sc_int<> 64-bitまでの符号付整数
- sc_uint<> 64-bitまでの符号無整数
- sc_bigint<> 可変精度符号付整数 (※1)
- sc_biguint<> 可変精度符号無整数 (※1)
論理型:
- sc_bit 2-値シングルビット (※2)
- sc_logic 4-値シングルビット
- sc_bv<> sc_bitのベクター(可変配列)
- sc_lv<> sc_logicのベクター
固定小数点型:
- sc_fixed<> 符号付固定小数点テンプレート
- sc_ufixed<> 符号無固定小数点テンプレート
- sc_fix 符号付固定小数点
- sc_ufix 符号無固定小数点
※1 sc_bigint<>, sc_biguintは、sc_int<>, sc_uint<>に比べ著しくシミュレーションスピードが遅い
※2 sc_bitは、IEEE1666ではdeprecated featuresであり、代わりにboolの使用が薦められている
例
加算器の記述例:
# include "systemc.h"
SC_MODULE(adder) // モジュール (クラス) 宣言
{
sc_in<int> a, b; // ポート
sc_out<int> sum;
void do_add() // プロセス
{
sum = a + b;
}
SC_CTOR(adder) // コンストラクタ
{
SC_METHOD(do_add); // カーネルへのdo_addの登録
sensitive << a << b; // do_addのセンシティビティリスト
}
};
参考文献
- Grötker, Thorsten 『SystemCによるシステム設計』柿本勝、河原林政道、長谷川隆(監訳)、丸善、2003年 ISBN 4-621-07144-0 C3055
- 1666-2011 - IEEE Standard for Standard SystemC Language Reference Manual
関連項目
- SpecC
- SystemVerilog
外部リンク
System c
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/02 15:20 UTC 版)
System c
- セガ・エンタープライゼスが開発したアーケードゲーム基板「Cボード」のエミュレーター「MAME」上の表記(「SEGA System C」)。
- SystemC - C++をベースとするLSIの回路設計を主な目的としたハードウェア記述言語の一種。
SystemC
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 02:05 UTC 版)
ハードウェア記述言語向けに拡張したもの。書式はC++。IEEE 1666-2005。ISO 8866:1991。
※この「SystemC」の解説は、「C言語」の解説の一部です。
「SystemC」を含む「C言語」の記事については、「C言語」の概要を参照ください。
「System c」の例文・使い方・用例・文例
- climbのbは発音しない
- 「鶏」はchickenで、「みぞれ」とはsleetという意味です。
- 今すぐ弊社のサイトcustomclosets.comをご覧になり、あなたのクローゼットを整理しましょう!
- Jackson瓶詰め工場まで、40分間バスに乗車。
- Jackson工場に到着。工場長Otis Cookeによる歓迎の言葉(Cooke氏による工場の歴史の簡単な説明。Cooke氏は見学の案内も担当)
- 工場の食堂にて休憩(Jackson工場で製造・瓶詰めされた飲料の試飲。ほかに軽食を提供)
- 議事録を取ったのは書記Grace Tanaka。
- 突然退職しなければならなくなったLucyの代理を務めていて、あなたは今とても忙しいとBenから聞きました。
- 2月10日の月曜日付けで、Monica RegisがCarla Yuの後任となりました。
- Monicaは、コピー用紙やプリンターカートリッジからホチキスの針やクリップまで、何か必要になったら連絡すべき人です。
- Monica Regisと直接会って歓迎する。
- Carla Yuの代わりにMonica Regisに連絡する。
- 今年からは、フィットネスセンターのNice-n-Fitチェーンと契約を結びました。
- 便利なことにNice-n-Fitの本店は隣のBlake Tower内にあり、街中にも4 つの店舗があります。
- Nice-n-Fit の会員になると、同チェーンのすべての施設に通うことができます。
- 今年の社員賞―Glenn Staceyが今年の賞の受賞者です。
- 興味のある方は、12月5日までに、履歴書と少なくとも2通の職務に関する推薦状を添付したEメールを、Singh金融サービスのMisa Takahama、mtakahama@singhfs.comまで送ってください。
- 面接を行う予定だった、営業部長のDon Richmanが、家庭の事情で突然呼び出されたことをお知らせするために、Eメールを差し上げています。
- 常勤でFashion Outletグループの一員になることに興味がおありなら、8 月20 日までに、私、lchang@fashionoutlet.comにご連絡ください。応募に関する詳細をお伝えします。
- 5 月15 日の午前8 時30 分から午後3 時まで、Oceanview公園で開催される、毎年恒例のWalk for Petsについてのお知らせです。
固有名詞の分類
- SystemCのページへのリンク