시스템베릴로그 2

[Verilog] 베릴로그 function vs task

이번 포스팅에서는 베릴로그에서 function과 task에 대해 정리해보았다.Function과 task는 반복되는 코드를 줄이기 위해 베릴로그에서 제공하는 기능이다.비슷한 듯 하지만, function과 task에는 차이가 있으니 이에 유의하여 살펴보자.0. Overview베릴로그에서 function/task는 사용하고자 하는 모듈 내 혹은 별도의 파일에 정의할 수 있다. 별도의 파일에 함수를 define하는 경우, 해당 파일을 `include 구문을 통해 포함시켜야한다.FunctionTask최소 1개 이상의 input 존재함input 제약없음output/inout 없음output/inout 제약없음return 값 존재함output port를 통해 값 전달 가능함다른 function만 호출 가능함 (tas..

하드웨어 검증 언어, System Verilog 란? - Testbench, DUT

회로설계 엔지니어라면 System Verilog가 익숙할 것이라 생각된다. System Verilog는 하드웨어 검증용 프로그래밍 언어이다. Verilog, VHDL과 같은 hardware description language (HDL)로 설계된 하드웨어 설계물을 검증하기 위한 객체 지향 기반 프로그래밍 언어 (Object-Oriented Programming) 이다. 본 포스팅에서는 System Verilog의 기초에 대해 알아보도록 하자. 0. 개요 Verilog, VHDL과 같은 hardware description language를 통해 설계된 하드웨어 모델을 HDL을 사용하여 검증하는 데에는 한계가 있다. 설계에서 검증의 중요성이 커짐에 따라 이를 위해 기존 verilog가 확장된 System ..