<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/systemc/">
    <title>systemc @ ウィキ</title>
    <link>http://w.atwiki.jp/systemc/</link>
    <atom:link href="https://w.atwiki.jp/systemc/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>systemc @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2014-02-11T13:14:07+09:00</dc:date>
    <utime>1392092047</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/27.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/26.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/systemc/pages/18.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/27.html">
    <title>SystemCと高位合成</title>
    <link>https://w.atwiki.jp/systemc/pages/27.html</link>
    <description>
      **高位合成
　高位合成の定義は、学会でも業界でもきちんと定まっていないように思える。ここでは、高位合成（High Level Synthesis）は、RTL（Register Transfer Level）からの論理合成よりも抽象度の高い記述から自動的に論理回路を生成することと定義する。
　入力がC言語などのプログラム言語であっても、HDL（Hardware Discription Language）で表現できるような内容のものしか受け付けないものが高位合成として市販されている場合もあるので、ユーザとしてはツールの機能をしっかり確認する必要がある。

**動作合成
　また、高位合成と同様な場面で使われる動作合成（Behavioral Synthesis）を、データパスに対するスケジューリングとリソースシェアリング（複雑な演算を時分割して演算器とレジスタを共用する）を自動生成する機能と定義する。

**SystemCの高位合成ツールに望まれる機能
　SystemCを用いた高位合成には、下記の機能が望まれる。
・動作合成
・インタフェース合成
・関数型かオブジェクト指向による表現の抽象化
・並列処理、処理タイミング、モジュール化、外部端子を表現する手段

**高位の記述とは
　データパスの記述であれば、スケジューリングとリソースシェアリングを行う前の動作合成される記述が高位合成用の記述と考えられる。高位合成の価値はそれだけではないので、データパスのない制御系の記述で考えてみる。
***汎用性の高い記述
動作の目的を明確にする。具体的な実装については、別の場所で定義する。
 信号で進めと合図する。
 signal.show(sign_go);

***具体的な記述
動作を表現する。しかし、これでもまだ具体的な実装については、別の場所で定義する。
 信号を青にする。
 signal.set(color_blue);

***詳細な記述
実装をそのまま記述する。ここまで記述するのであれば、高位合成は必要ない。
 信号の青色灯を点灯する。黄色灯と赤色灯を消す。
 signal.blue = true; signal.yellow = false; signal.red = false;

**参考
動作合成 ht    </description>
    <dc:date>2014-02-11T13:14:07+09:00</dc:date>
    <utime>1392092047</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/26.html">
    <title>時間軸解析</title>
    <link>https://w.atwiki.jp/systemc/pages/26.html</link>
    <description>
      sc_mainに以下の関数を記述する。

-時間解像度の設定
 sc_core::sc_set_time_resolution(単位となる時間、時間の単位);
時間の単位はsc_core::SC_FS, sc_core::SC_PS, sc_core::SC_NS, sc_core::SC_USなど

-トレースファイルの設定
VCD形式
 sca_util::sca_trace_file* tf=sca_util::sca_create_vcd_trace_file(&quot;ファイル名&quot;);
表形式
 sca_util::sca_trace_file* tf=sca_util::sca_create_tabular_trace_file(&quot;ファイル名&quot;);

-トレースする信号の設定
 sca_util::sca_trace(tf, 信号名, &quot;信号名&quot;);

-時間軸シミュレーションの開始
 sc_core::sc_start(時間, 時間の単位);

&amp;update()    </description>
    <dc:date>2012-01-31T20:54:53+09:00</dc:date>
    <utime>1328010893</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/25.html">
    <title>小信号(周波数)解析</title>
    <link>https://w.atwiki.jp/systemc/pages/25.html</link>
    <description>
      sc_mainに以下の関数を記述する。

-トレースファイルの設定
 sca_util::sca_trace_file* tf = sca_util::sca_create_tabular_trace_file(&quot;ファイル名&quot;);

-トレースするノードや信号の設定
 sca_util::sca_trace(tf, ノード, &quot;ノード名&quot;);
 sca_util::sca_trace(tf, 信号名, &quot;信号名&quot;);

-周波数軸シミュレーションの開始
 sca_ac_analysis::sca_ac_start(開始周波数、終了周波数、ポイント数、スケール表現はリニアかログか);
スケール表現は、sca_ac_analysis::SCA_LIN または sca_sc_analysis::SCA_LOG

&amp;update()    </description>
    <dc:date>2012-01-30T22:54:50+09:00</dc:date>
    <utime>1327931690</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/24.html">
    <title>ELNのモジュール</title>
    <link>https://w.atwiki.jp/systemc/pages/24.html</link>
    <description>
      ELNのモジュールは、下記の表に用意されたものを使用する。信号源と受動部品が用意されている。

|ELNモジュール名|機能|
|sca_eln::sca_r|抵抗|
|sca_eln::sca_c|容量(コンデンサ)|
|sca_eln::sca_l|インダクタ|
|sca_eln::sca_vcvs|電圧制御電圧源|
|sca_eln::sca_vccs|電圧制御電流源|
|sca_eln::sca_ccvs|電流制御電圧源|
|sca_eln::sca_cccs|電流制御電流源|
|sca_eln::sca_nullor|ナラー、理想オペアンプ|
|sca_eln::sca_gyrator|ジャイレータ|
|sca_eln::sca_ideal_transformer|理想変圧器|
|sca_eln::sca_transmission_line|伝送線路|
|sca_eln::sca_vsource|電圧源|
|sca_eln::sca_isource|電流源|
|sca_eln::sca_tdf_r|TDF信号で制御する可変抵抗|
|sca_eln::sca_tdf_c|TDF信号で制御する可変容量|
|sca_eln::sca_tdf_l|TDF信号で制御する可変インダクタ|
|sca_eln::sca_tdf_rswitch|TDF信号で制御するスイッチ|
|sca_eln::sca_tdf_vsource|TDF信号で制御する可変電圧源|
|sca_eln::sca_tdf_isource|TDF信号で制御する可変電流源|
|sca_eln::sca_tdf_vsink|電圧をTDF出力へ変換|
|sca_eln::sca_tdf_isink|電流をTDF出力へ変換|
|sca_eln::sca_de_r|離散信号で制御する可変抵抗|
|sca_eln::sca_de_c|離散信号で制御する可変容量|
|sca_eln::sca_de_l|離散信号で制御する可変インダクタ|
|sca_eln::sca_de_rswitch|離散信号で制御するスイッチ|
|sca_eln::sca_de_vsource|離散信号で制御する可変電圧源|
|sca_eln::sca_de_isource|離散信号で制御    </description>
    <dc:date>2012-01-30T20:57:02+09:00</dc:date>
    <utime>1327924622</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/23.html">
    <title>LSFのモジュール</title>
    <link>https://w.atwiki.jp/systemc/pages/23.html</link>
    <description>
      LSFのモジュールは、下記の表に用意されたものを使用する。アナログ演算を行うためのモジュールが用意されている。

|LSFモジュール名|機能|
|sca_lsf::sca_add|2つのLSF信号を重み付け加算|
|sca_lsf::sca_sub|2つのLSF信号を重み付け減算|
|sca_lsf::sca_gain|LSF信号に固定ゲインを乗じる|
|sca_lsf::sca_dot|LSF信号を微分|
|sca_lsf::sca_integ|LSF信号を積分|
|sca_lsf::sca_delay|LSF信号を遅延|
|sca_lsf::sca_source|LSF信号源|
|sca_lsf::sca_ltf_nd|分数形式時間ドメイン表記の伝達モジュール|
|sca_lsf::sca_ltf_zp|極零形式時間ドメイン表記の伝達モジュール|
|sca_lsf::sca_ss|状態空間表現の伝達モジュール|
|sca_lsf::sca_tdf_gain|LSF入力にTDF信号ゲインを乗じる|
|sca_lsf::sca_tdf_source|TDF信号をLSF信号に変換|
|sca_lsf::sca_tdf_sink|LSF信号をTDF信号に変換|
|sca_lsf::sca_tdf_mux|2つのLSF入力から1つ選んで出力、TDF信号で制御|
|sca_lsf::sca_tdf_demux|1つのLSF入力を2つのLSF出力のどちらかへ出力、TDF信号で制御|
|sca_lsf::sca_de_gain|LSF入力に離散信号ゲインを乗じる|
|sca_lsf::sca_de_source|離散信号をLSF信号に変換|
|sca_lsf::sca_de_sink|LSF信号を離散信号に変換|
|sca_lsf::sca_de_mux|2つのLSF入力から1つ選んで出力、離散信号で制御|
|sca_lsf::sca_de_demux|1つのLSF入力を2つのLSF出力のどちらかへ出力、離散信号で制御|

&amp;update()    </description>
    <dc:date>2012-01-30T19:34:37+09:00</dc:date>
    <utime>1327919677</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/22.html">
    <title>TDFのモジュール</title>
    <link>https://w.atwiki.jp/systemc/pages/22.html</link>
    <description>
      TDFモジュールの中では、ポートと初期化と時間解析時および周波数解析時の動作を記述する。
それぞれを記述するメンバ関数の名前は決められている。

  class module_name : public sca_tdf::sca_module{
  public:
    // ポート宣言
    sca_tdf::sca_in&lt;double&gt; in;
    sca_tdf::sca_out&lt;double&gt; out;
    // コンストラクタ  必須
     module_name(sc_core::sc_module_name);
    //モジュールとポートの属性  オプション
     void set_attributes();
    // データメンバの初期化  オプション
     void initialize();
    // 信号時間解析プロセス  必須
     void processing();
    // 小信号周波数解析プロセス  オプション
     void ac_processing();
  };

&amp;update()    </description>
    <dc:date>2012-01-29T18:11:12+09:00</dc:date>
    <utime>1327828272</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/21.html">
    <title>SystemC-AMS名前空間</title>
    <link>https://w.atwiki.jp/systemc/pages/21.html</link>
    <description>
      SystemC-AMSライブラリのキーワードは&amp;bold(){sca_}で始まる。マクロは&amp;bold(){SCA_}で始まる。

AMSの基本的なクラスは名前空間&amp;bold(){sca_core}にある。

トレースやデータ型のようなユーティリティクラスは名前空間&amp;bold(){sca_util}にある。

モデル化の手法ごとに名前空間(namespace)が用意されている。
|モデル化の手法|名前空間|
|TDF|&amp;bold(){sca_tdf}|
|LSF|&amp;bold(){sca_lsf}|
|ELN|&amp;bold(){sca_eln}|
モデル化手法にかかわらず同等なクラスがある場合は、名前空間で区別される。
たとえば、TDF用のモジュールのクラスは&amp;bold(){sca_tdf::sca_module}である。

&amp;update()    </description>
    <dc:date>2012-01-30T21:04:15+09:00</dc:date>
    <utime>1327925055</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/20.html">
    <title>SystemC-AMS紹介</title>
    <link>https://w.atwiki.jp/systemc/pages/20.html</link>
    <description>
      *SystemC-AMSの紹介

SystemC-AMSは、Embedded Analog/Mixed-Signal(E-AMS) systemを取り扱う。デジタルの領域を扱うSystemCにアナログの領域を扱う手段を追加している。次のような目的で使われることを想定している。
-実行可能仕様書 (Executable specification)
-仮想試作 (Virtual prototyping)
-アーキテクチャ探索 (Architecture exploration)
-実装検証 (Integration validation)

SystemC-AMSのアナログシステムのモデル化の方法には次の3通りが用意されている。
-Timed Data Flow (TDF) &amp;space(2){}離散時間の非線形な表現が可能。時間軸と周波数軸の処理を別々に定義する。
-Linear Signal Flow (LSF) &amp;space(2){}連続時間の線形な数式を扱う。
-Electrical Linear Network (ELN) &amp;space(2){}線形なふるまいをする部品（抵抗、コンデンサ、コイルなど）で回路を表現する。

[[TDFのモジュール]]はユーザが定義するが、LSFとELNでは用意されたモジュールを利用する前提になっている。これらのモジュールを含む上位階層はsc_moduleである。時間軸解析と[[小信号(周波数)解析]]を行うことができる。SPICEのような非線形解析はできない。

[[SystemC-AMS名前空間]]
[[TDFのモジュール]]
[[LSFのモジュール]]
[[ELNのモジュール]]
[[小信号(周波数)解析]]
[[時間軸解析]]

&amp;update()
&amp;counter()    </description>
    <dc:date>2012-02-15T18:47:06+09:00</dc:date>
    <utime>1329299226</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/19.html">
    <title>boost::spirit</title>
    <link>https://w.atwiki.jp/systemc/pages/19.html</link>
    <description>
      Spirit V2には以下の４つのライブラリがある。
-boost::spirit::clasic V1.8以前に対する互換用ライブラリ
-boost::spirit::lex    字句解析Lex
-boost::spirit::qi     構文解析Qi
-boost::spirit::karma  生成Karma    </description>
    <dc:date>2010-08-14T19:49:13+09:00</dc:date>
    <utime>1281782953</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/systemc/pages/18.html">
    <title>boost研究</title>
    <link>https://w.atwiki.jp/systemc/pages/18.html</link>
    <description>
      -[[boost::spirit]]  字句解析Lex、構文解析Qi、生成Karma    </description>
    <dc:date>2010-08-14T19:49:56+09:00</dc:date>
    <utime>1281782996</utime>
  </item>
  </rdf:RDF>
