SystemC仿真
SystemC仿真
SystemC是另一個用於建模硬件的強大工具。 它包括C ++的所有功能,在世界各地使用,以及專為系統設計而設計的C ++類庫。 SystemC有一個開源的免費實現,您可以使用Microsoft的免費Visual Studio Community C ++編譯器將其編譯為非常有效的可執行二進制代碼。 在SystemC中,您可以在比其他HDL更高的抽象級別對硬件進行建模,因此,對於一些非常複雜的硬件(例如微控制器)的建模,它比其他HDL(如VHDL或Verilog)更容易和更有效。
在v11和更高版本的TINA中,您還可以在TINA和TINACloud中創建和使用在SystemC中建模的組件。 以下是使用SystemC和TINA的要求。
Low-pass filter example
Open the ExamplesSystemCsc lpf.TSC example.
濾波器特性和C代碼由免費工具設計
http://t-filter.engineerjs.com/
生成的C代碼放在fir.cpp文件中。
運行分析/傅立葉分析/傅里葉譜...
按 圖表窗口中的按鈕。 後處理器將出現。 現在繪製傳遞函數。
按 更多 按鈕。 類型 輸出(S)/輸入(S) 在行編輯中。 在新函數名稱中鍵入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.