SystemVerilog-based Verification Environment using SystemC Constructs

SystemC 구성요소를 이용한 SystemVerilog 기반 검증환경

  • Received : 2011.05.23
  • Accepted : 2011.11.01
  • Published : 2011.10.30

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의 동작 검증에 재사용할 수 있다.

Keywords

References

  1. Jason R. Andrews, Co-Verification of Hardware and Software for ARM SoC Design, pp.119-129, Elsevier Inc., 2005.
  2. Ando Ki, SoC Design and Verification: Methodologies and Environments, pp.2-8, Hongreung Science, 2008.
  3. 유명근, 송기용, "SystemVerilog와 SystemC 기반의 통합검증환경 설계 및 구현",신호처리.시스템 학회 논문지, 제10권, 4호, pp.274-279, 2009.
  4. 유명근, 오영진, 송기용, "시스템수준의 하드웨어 기능검증 시스템",신호처리.시스템 학회 논문지, 제11권, 2호, pp.177-182, 2010.
  5. T.Jozawa, L.Huang, T.Sakai., S.Takeuchi, M. Kasslin, "Heterogeneous co-Simulation with SDL and SystemC for protocol modeling", RWS, pp. 603-606, 2006,
  6. Stuart Sutherland, Simon Davidmann and Peter Flake, SystemVerilog for Design(2nd Edition): A Guide to Using SystemVerilog for Hardware Design and Modeling. pp. 1-6, Springer, 2006.
  7. Chris Spear, SystmVerilog for Verification(2nd Edition):A Guide to Learning the Testbench Language Features. pp. 15-24, Springer, 2007.
  8. Mike Mintz, Robert Ekendahl, Hardware Verification with C++:A Practitioner's Handbook, pp.67-88, Springer, 2006.
  9. SystemVerilog 3.1a Language Reference Manual: Accellera's Extensions to Verilog, Accellera, pp.7-21, Napa, California, 2004
  10. Stuart Sutherland, "SystemVerilog, ModelSim, and You", pp. 42-54, Mentor User2User, 2004.
  11. Stuart Sutherland, "Intergrating SystemC Models with Verilog and SystemVErilog Models Using the SystemVerilog Direct Programming Interlace", SNUG Boston, 2004.
  12. David C. Black, Jack Conovan SystemC:From the Ground Up, pp. 8-32, Eklectic Ally, Inc., 2004.
  13. Thorsten Grotker, Stan Liao, Grant Martin, Stuart Swan, System Design with SystemC, pp. 123-135, Kluwer Academic Publishers, 2002.
  14. Stuart Sutherland, The Verilog PLI Handbook: A Tutorial and Reference Manual on the Verilog Programming Language Interface, pp.27-54, Kluwer Academic Publishers, 2002.
  15. SystemC Language Reference Manual, http://www.systemc.org.
  16. ModelSim SE User's Manual, http://www.mentor.com