초록
이 논문에서는 여러 개의 소프트웨어 혹은 하드웨어 컴포넌트가 존재하는 MPSoC(Multiprocessor-System-on-a-chip) 아키텍처를 빠르면서도 정확하게 통합시뮬레이션 하는 내용을 다룬다. 복잡한 시스템을 설계하기 위해서 MPSoC 아키텍처가 점점 일반화되고 있는데, 이러한 아키텍처를 통합시뮬레이션 할 때는 시뮬레이터의 개수가 증가하고 그에 따라 시뮬레이터들 간의 시간 동기화 비용도 증가하므로 전체적인 통합시뮬레이션 성능이 감소된다. 최근의 통합시뮬레이션 연구들에 의해서 등장한 SystemC 통합시뮬레이션 환경이 빠른 성능을 보이고 있으나, 시뮬레이터의 개수가 증가할수록 성능은 반비례한다. 본 논문에서는 효율적인 시간동기를 통해 통합시뮬레이션의 성능을 증가시키는 기법인 가상동기화 기법을 확장하여, (1) SystemC 커널을 수정하지 않고도 가상 동기화 기법을 적용한 SystemC 통합시뮬레이션을 수행할 수 있고, (2) 병렬적으로 가상동기화 기법을 수행할 수 있게 하였다. 이를 통해 SystemC 통합시뮬레이션의 병렬적인 수행이 가능해졌는데, 널리 알려진 상용 SystemC 통합시뮬레이션 도구인 MaxSim과 비교하였을 때, H.263 디코더 예제의 경우 11배 이상의 성능 증가를 얻었고 정확도는 5% 이내로 유지되었다.
This paper concerns fast and time accurate HW/SW cosimulation for MPSoC(Multi-Processor System-on-chip) architecture where multiple software and/or hardware components exist. It is becoming more and more common to use MPSoC architecture to design complex embedded systems. In cosimulation of such architecture, as the number of the component simulators participating in the cosimulation increases, the time synchronization overhead among simulators increases, thereby resulting in low overall cosimulation performance. Although SystemC cosimulation frameworks show high cosimulation performance, it is in inverse proportion to the number of simulators. In this paper, we extend the novel technique, called virtual synchronization, which boosts cosimulation speed by reducing time synchronization overhead: (1) SystemC simulation is supported seamlessly in the virtual synchronization framework without requiring the modification on SystemC kernel (2) Parallel execution of component simulators with virtual synchronization is supported. We compared the performance and accuracy of the proposed parallel SystemC cosimulation framework with MaxSim, a well-known commercial SystemC cosimulation framework, and the proposed one showed 11 times faster performance for H.263 decoder example, while the accuracy was maintained below 5%.