Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SystemCとは? わかりやすく解説

SystemC

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/12 06:51 UTC 版)

ナビゲーションに移動 検索に移動

SystemC(システムシー)は、電子回路機器の機能設計への使用を目的としたハードウェア記述言語 (HDL) の一種である。SystemC登場以前より存在し、純然たるHDLであるVerilogVHDLに比べ、動作レベルモデリングなど、よりシステム寄りの記述言語である。

仕様

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

関連項目

外部リンク


System c

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/02 15:20 UTC 版)

System c


SystemC

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 02:05 UTC 版)

C言語」の記事における「SystemC」の解説

ハードウェア記述言語向けに拡張したもの。書式C++IEEE 1666-2005。ISO 8866:1991

※この「SystemC」の解説は、「C言語」の解説の一部です。
「SystemC」を含む「C言語」の記事については、「C言語」の概要を参照ください。

ウィキペディア小見出し辞書の「SystemC」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「System c」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SystemC」の関連用語

SystemCのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SystemCのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのSystemC (改訂履歴)、System c (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのC言語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS