SystemC シミュレーション
SystemC シミュレーション
SystemCは、ハードウェアをモデリングするためのもう1つの優れたツールです。 世界中で使用されているC ++のすべての機能と、システム設計用に特別に設計されたC ++クラスライブラリが含まれています。 SystemCにはオープンソースの無料実装があり、無料のMicrosoftのVisual Studio Community C ++コンパイラを使って非常に効率的な実行可能バイナリコードにコンパイルできます。 SystemCでは、他のHDLよりも高い抽象化レベルでハードウェアをモデル化できます。そのため、マイクロコントローラなどの非常に複雑なハードウェアをモデル化する場合は、VHDLやVerilogなどの他のHDLよりも使いやすく効率的です。
TINAのv11以降のバージョンでは、System Cでモデル化されたコンポーネントをTINAとTINACloudの両方で作成して使用することもできます。 以下は、System CをTINAと共に使用するための要件です。
フィルタの特性とCコードは以下の無料ツールで設計されています。
http://t-filter.engineerjs.com/
生成されたCコードはfir.cppファイルに配置されました。
ラン解析/フーリエ解析/フーリエスペクトル…
ダイアグラムウィンドウのボタンをクリックします。 ポストプロセッサが表示されます。 伝達関数を描きます。
その他 ボタン。 タイプ 出力/入力 ライン編集で。 新しい関数名にHと入力します。 押す 創造する。 押す OK。 選択する 曲線の表示/分割.
結果は以下の通りです。
SystemCマクロの最も重要な部分
void fir::proc()
{
double u, y;
if (CLK.read() == SC_LOGIC_1) {
sc_logic sc_val;
// CALC
x[0] = SAMPLE; y = 0;
for (int k=0; k < M; k++){
y += b[k]*x[k];
}
// SHIFT
for (int k=M-1; k>=1; k—)
x[k] = x[k-1];
// SET VALUE
RESULT = y;
n++;
}
}
You can find this example in the Examples/Fir folder of the systemc_model.zip.