[Flowrian2] SystemVerilog 문법 및 실습 (Program Blocks)
- 최초 등록일
- 2017.07.06
- 최종 저작일
- 2017.07
- 12페이지/ 어도비 PDF
- 가격 1,000원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
본 문서는 SystemVerilog 언어에서 사용하는 Program Blocks에 대해 설명하고 예제 코드를 제공한다.
각 코드는 시뮬레이션에 의해 검증되었고 문법과 같이 동작함을 증명하였다.
(주)시스템 센트로이드의 Flowrian2와 Mentor Graphics 사의 Questa 시뮬레이터를 이용하여 검증하였다.
목차
1. Program Block
2. Lab : Simple Program Block
3. Lab : Program Block with Interface
본문내용
1. Program Block
프로그램 블록
Module 은 회로를 구성하는 기본 단위로서 기본적으로 설계를 위해 정의된 개념으로 서 하드웨어 모델링에 최적화 되어 있다. 하지만 테스트벤치는 하드웨어 설계를 위한 것이 아니고 회로를 검증하기 위한 환경을 모델링 하기 위한 것이기 때문에 모듈로 모 델링 하는 것이 자연스럽지 못하다. 이와 같은 문제점을 해결하기 위해 SystemVerilog 에 도입된 개념이 프로그램 블록 이다.
프로그램 블록은 회로와 테스트벤치를 명확하게 구분하며, 프로그램에 명시된 요소들 은 Reactive 영역에서 실행된다. 클럭킹 블록을 사용하면 회로와 테스트벤치 사이의 레 이스 문제를 해소할 수 있으며, 싸이클 혹은 트랜잭션 기반의 추상화가 가능해진다.
프로그램 블록은 특별한 기능을 수행하는 최하위 수준의 모듈과 같이 취급한다. 회로 의 계층 구조에서 임의 위치 (대개는 최상위 수준에 존재)에 인스턴스로 만들어져 port 로 다른 모듈들과 연결된다.
참고 자료
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.