[Flowrian2] SystemVerilog 문법 및 실습 (Coverage)
- 최초 등록일
- 2017.07.06
- 최종 저작일
- 2017.07
- 30페이지/ 어도비 PDF
- 가격 2,000원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
본 문서는 SystemVerilog 언어에서 사용하는 Coverage에 대해 설명하고 예제 코드를 제공한다.
각 코드는 시뮬레이션에 의해 검증되었고 문법과 같이 동작함을 증명하였다.
(주)시스템 센트로이드의 Flowrian2와 Mentor Graphics 사의 Questa 시뮬레이터를 이용하여 검증하였다.
목차
1. Coverage
2. Lab : Simple Coverage
3. Lab : Various Coverage Cases
4. Lab : Transition Coverages
5. Lab : Wildcard Coverages
6. Lab : Cross Coverages
본문내용
1. Coverage
커버리지 는 회로를 구성하는 요소들 중에서 시뮬레이션에 의해 테스트벤치가 기능을 검증하는 정도를 퍼센트로 나타내는 척도이다. 커버리지 는 크게 2 가지로 구분할 수 있는데 하나는 HDL 코드가 실행되는 정도를 시뮬레이션으로 자동으로 추출되는 코드 커버리지 와 설계자가 회로의 기능을 기술한대로 동작이 실행되는지 시뮬레이션으로 검출하는 기능 커버리지 가 있다. 후자가 본 장에서 다루는 주제이다.
검증 모델을 설계하여 기능 커버리지 코드를 기술하기 위한 설계자의 노력이 더 필요 하지만 정형화된 검증 모델을 제시하기 때문에 시뮬레이션 툴을 이용한 커버리지 검사 가 가능하며, 대용량 회로의 테스트를 용이하게 진행할 수 있으며, 테스트벤치의 재사 용이 가능한 장점을 제공한다.
covergro up
커버리지 모델은 키워드 ‘covergroup‘ 으로 설계자가 기술해야 한다. 클래스와 같이 한 번 정의하면 new() 생성자를 이용하여 인스턴스를 만들어 사용한다.
참고 자료
Stuart Sutherland, Simon Davidmann, Peter Flake, "SystemVerilog for Design”, Springer.
Chris Spear, "SystemVerilog for Verification”, Springer.
International Standard IEEE1800, “Standard for SystemVerilog ? Unified Hardware Design, Specification, and Verification Language”, IEC.