Abstract
As a system becomes more complex, a design relies more heavily on a methodology based on high-level abstraction and functional verification. SystemVerilog includes characteristics of hardware design language and verification language in the form of extensions to the Verilog HDL. However, the OOP of System Veri log does not allow multiple inheritance. In this paper, we propose adoption of SystemC to introduce multiple inheritance. After being created, a SystemC unit is combined with a SystemVerilog-based verification environment using SystemVerilog DPI and ModelSim macro. Employing multiple inheritance of SystemC makes a design of a verification environment simple and easy through source code reuse. Moreover, a verification environment including SysemC unit has a benefit of reconfigurability due to OOP.
시스템의 복잡도가 증가함에 따라 상위수준 추상화에 기반한 시스템수준 설계 및 하드웨어의 기능적 검증을 위한 방법론의 중요성이 부각되고 있으며, Verilog HDL(Hardware Description Language)에 하드웨어 검증기능이 추가된 SystemVerilog를 이용하는 시스템수준의 기능적 검증방법이 각광받고 있다. SystemVerilog는 Verilog HDL의 확장된 형태로 하드웨어 설계언어와 검증언어의 특징을 모두 포함하나, 다중상속을 허용하지 않는다. 본 논문에서는 SystemVerilog 기반의 검증환경과 다중상속을 허용하는 SystemC 의 구성요소를 SystemVerilog DPI(Direct Programming Interface) 및 ModelSim macro를 이용해 결합한 다중상속이 가능한 검증환경을 구성한다. 다중상속이 허용된 검증환경 시스템은 특정부분을 수정 후 재실행으로 DUT(Design Under Test)의 기능 검증을 쉽게 수행할 수 있으며, OOP(Object Oriented programming) 기법을 이용한 코드의 재사용성이 높아 또 다른 DUT의 동작 검증에 재사용할 수 있다.