본 시리즈는 "chipverify.com" 내용을 바탕으로 작성됨.
반복문 (repeat, while, for)
C언어와 마찬가지로. while(do ~ while), for 문을 지원하며, repeat은 조건 없이 반복 횟수만큼 실행되며, 반복 횟수가 정해져 있을 때 사용된다.
Task, Function
Function은 단일 값을 반환하는 순수한 계산 로직에 사용되며, Task는 시간 지연, forever, @(event) 처리가 가능해 복잡한 프로시저 처리 및 다중 출력 처리에 적합하다.
호출 방식 또한 차이가 있다.
// Function은 표현식 내 호출
int result = calculate_sum(a, b);
// Task는 독립적 문장으로 호출
generate_packet(pkt, delay);
EVENT
Mailbox
SystemVerilog의 mailbox는 프로세스 간 통신을 위한 FIFO(First-In-First-Out) 큐 역할을 한다. 주로 많이 사용되는 함수인 #()는 mailbox 생성 시 크기를 설정하는 옵션이며, .put()과 .get()은 데이터를 주고받는 함수이다.
'코딩 지식 > SYSTEM VERILOG' 카테고리의 다른 글
System Verilog Basics - 변수 (0) | 2025.02.11 |
---|---|
SystemVerilog - Task (0) | 2025.02.09 |