초록
최근 SoC 가 주목받으면서 검증이 더욱 중요해졌다. SoC 설계 추세는 구조 및 RTL(Register Transistor Logic) 레벨의 HW(Hardware) 설계 및 내장형 프로세서에서 수행 될 SW(Software) 개발을 동시에 진행하는 HW/SW 통합 설계이다. 테크놀로지가 DSM(Deep-Submicron)으로 가면서 SoC 내부 상태를 확인하는 것은 매우 어려운 일이 되었다. 이와 같은 이유 때문에 SoC 디버거는 매우 어려운 분야이며 디버깅에 매우 많은 시간이 소모된다. 즉 신뢰성이 있는 디버거 개발이 필요하다. 본 논문에서는 JTAG을 기반으로 하는 하드웨어 디버거 OCD를 개발하였다. OCD는 Core-A를 대상으로 하여 개발 된 것이다. 개발된 OCD는 Core-A에 내장하여 SW 디버거와 연동하여 검증까지 마치고 디버거로서의 기능 및 신뢰성을 확인하였다. Core-A에 내장한 OCD는 약 14.7%의 오버헤드를 보이며 OCD의 2% gate count를 차지하는 DCU를 수정함으로써 다른 프로세서에도 쉽게 적용할 수 있는 디버거 유닛으로 사용할 수 있다.
Nowadays, the SoC is watched by all over the world with interest. The design trend of the SoC is hardware and software co-design which includes the design of hardware structure in RTL level and the development of embedded software. Also the technology is toward deep-submicron and the observability of the SoC's internal state is not easy. Because of the above reasons, the SoC debug is very difficult and time-consuming. So we need a reliable debugger to find the bugs in the SoC and embedded software. In this paper, we developed a hardware debugger named OCD. It is based on IEEE 1140.1 JTAG standard. In order to verify the operation of OCD, it is integrated into the 32bit RISC processor - Core-A (Core-A is the unique embedded processor designed by Korea) and is tested by interconnecting with software debugger. When embedding the OCD in Core-A, there is 14.7% gate count overhead. We can modify the DCU which occupies 2% gate count in OCD to adapt with other processors as a debugger.