SystemC를 사용하여 회로 분석

SystemC를 사용하여 회로 분석

SystemC는 하드웨어 모델링을위한 또 하나의 훌륭한 도구입니다. 전 세계에서 사용되는 C ++의 모든 기능과 시스템 설계를 위해 특별히 고안된 C ++ 클래스 라이브러리를 포함합니다. SystemC는 오픈 소스 무료 구현을 제공하며 Microsoft의 무료 Visual Studio Community C ++ 컴파일러를 사용하여 매우 효율적인 실행 가능 바이너리 코드로 컴파일 할 수 있습니다. SystemC에서는 다른 HDL보다 높은 추상화 수준에서 하드웨어를 모델링 할 수 있으므로 매우 복잡한 하드웨어 (예 : 마이크로 컨트롤러)를 모델링 할 때 VHDL 또는 Verilog와 같은 다른 HDL보다 사용하기가 쉽고 효율적입니다.

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 파일에 저장됩니다.

분석 / 푸리에 분석 / 푸리에 스펙트럼 실행 ...
를 누르십시오 버튼을 클릭합니다. 포스트 프로세서가 나타납니다. 이제 전달 함수를 그립니다.

를 누르십시오 단추. 유형 출력 (들) / 입력 (들) 라인 편집에서. 새 함수 이름에 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.