[Flowrian2] SystemVerilog 문법 및 실습 (Tasks & Functions)
- 최초 등록일
- 2017.07.06
- 최종 저작일
- 2017.07
- 16페이지/ 어도비 PDF
- 가격 2,000원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
본 문서는 SystemVerilog 언어에서 사용하는 태스크와 함수에 대해 설명하고 예제 코드를 제공한다.
각 코드는 시뮬레이션에 의해 검증되었고 문법과 같이 동작함을 증명하였다.
(주)시스템 센트로이드의 Flowrian2와 Mentor Graphics 사의 Questa 시뮬레이터를 이용하여 검증하였다.
목차
1. Tasks and Functions
2. Lab : Task
3. Lab : Function Return Value
4. Lab : Argument Passing by Ref
5. Lab : Argument Default Value
본문내용
1. Tasks and Functions
함수태스크
함수(Function) 과 태스크(Task) 는 동일한 기능을 반복적으로 사용해야 하는 경우 사용 하는 서브루틴 이다. 함수는 순차적으로 진행되는 행위 동작을 기술하며 전체 수행에 시뮬레이션 시간을 소요하지 않는다. 반면에 태스크는 내부에 시간과 이벤트 구문을 사용할 수 있는 점이 함수와의 차별점 이다. 함수는 ‘function‘ 과 ‘endfunction‘ 안에, 태스크는 ‘task‘ 와 ‘endtask‘ 키워드 안에 ‘begin‘ 과 ‘end‘ 없이 정의한다.
함수나 태스크로 전달되는 매개 변수들은 C 언어와 같이 소괄호에 모아서 표현될 수도 있고 Verilog 언어와 같이 입출력 단자와 같이 표현될 수도 있다.
function logic [15:0] myfunc1(int x, int y);
...
endfunction
function logic [15:0] myfunc2;
참고 자료
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.