使用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.