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