초록
본 논문에서는 입력 동작에 대하여 상위수준 합성을 수행한 후, 합성결과를 SystemC 코드로 전환하는 C-to-SystemC 합성기를 설계 및 구현하였다. 구현된 합성기의 처리과정은 C 소스코드로 기술된 입력 동작을 list 스케줄링 알고리즘을 이용하여 스케줄링한 후, 스케줄링 결과에 left-edge 알고리즘을 이용하여 레지스터 할당을 수행한다. 레지스터 할당 정보를 이용하여 합성기는 채널 및 포트와 같은 SystemC 특성들로 표현된 SystemC 모듈의 코드를 최종적으로 생성한다. C-to-SystemC 합성기의 동작은 EWF(elliptic wave filter)의 합성결과인 SystemC 모듈의 코드를 시뮬레이션하여 검증한다. C-to-SystemC 합성기는 SystemC 설계방법론의 모델링단계부터 합성단계에 이르는 툴 체인의 한 부분으로 사용될 수 있으며, 생성된 SystemC 모듈은 C 모듈에 비해 재사용이 용이하고 다른 SystemC 모듈과 SystemC 채널을 통하여 별도의 추가처리 없이 통신할 수 있다.
A C-to-SystemC synthesizer which processes the input behavior according to high-level synthesis, and then transforms the synthesis result into SystemC module code is implemented in this paper. In the synthesis process, the input behavioral description in C source code is scheduled using list scheduling algorithm and register allocation is performed using left-edge algorithm on the result of scheduling. In the SystemC process, the output from high-level synthesis process is transformed into SystemC module code by combining it with SystemC features such as channels and ports. The operation of the implemented C-to-SystemC synthesizer is validated through simulating the synthesis of elliptic wave filter in SystemC code. C-to-SystemC synthesizer can be used as a part of tool-chain which helps to implement SystemC design methodology covering from modeling to synthesis.