[Flowrian2] SystemVerilog 문법 및 실습 (Array)
- 최초 등록일
- 2017.07.06
- 최종 저작일
- 2017.07
- 18페이지/
어도비 PDF
- 가격 2,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
본 문서는 SystemVerilog 언어에서 사용하는 배열에 대해 설명하고 예제 코드를 제공한다.
각 코드는 시뮬레이션에 의해 검증되었고 문법과 같이 동작함을 증명하였다.
(주)시스템 센트로이드의 Flowrian2와 Mentor Graphics 사의 Questa 시뮬레이터를 이용하여 검증하였다.
목차
1. Arrays
2. Lab : Packed and Unpacked Array
3. Lab : Dynamic Array
4. Lab : Associative Array
5. Lab : Queue
본문내용
1. Arrays
배열
배열은 동일한 크기의 요소들의 고정된 개수를 저장한다. 각각의 요소들은 인덱스에 의해 구분되는데 인덱스는 시작과 끝을 임의로 지정하여 증가 혹은 감소하는 방향으로 정의할 수 있다. 인덱스의 범위 만큼의 요소들이 배열에 포함된다.
아래 예제에서 첫 번째 배열 mem 은 32 비트 벡터가 256 개 모여 있는 reg 타입의 배 열이고, 두 번째는 int 타입의 2 차원 배열 ary 로서 0-7, 0-31 의 인덱스를 가진다.
reg [31:0] mem [0:255];
integer mx[8][32][16];
int ary[8][32]; // == int ary[0:7][0:31];
Packed Unpacked
배열을 선언할 때 배열 변수이름 앞에 정의된 인덱스는 packed 배열이라 부르고, 배열 이름 뒤에 정의된 인덱스는 unpacked 배열이라 부른다.
참고 자료
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.