c의 printf와 유사하다.// 현재 시뮬레이션 시간 230을 출력.$display($time);\-- 230// port_id 값 5를 2진수로 출력.reg 4:0 prot_id;$display("ID of the port is %b", port_id);\--
Verilog HDL에서 시뮬레이션의 중단과 종료 테스크 시뮬레이션을 하는 동안 중단을 하는 테스크이다. $stop 테스크는 상호 작용 모드의 시뮬레이션에서 사용된다. 이 때 상호작용 모드를 통해서 디버그를 할 수 있다. 보통 시뮬레이션 중단을 원하거나 신호
행위 수준 모델링에서 가장 기본적으로 사용되는 구문이다.initial 블록은 시간 0에서 시작하고, 시뮬레이션 동안 한 번만 수행된다. 여러 블록이 있을경우에도 각각의 블록은 시간 0에서 동시에 독립적으로 수행된다.위 처럼 여러개의 initial문이 있어도 모두 시간0
절차적 할당문의 두 가지 형태Blocking문은 순차적 블록에 열거된 순서대로 수행된다. "=" 연산자를 사용한다.// 모든 행위 수준 문장은 반드시 initial 또는 always블록 안에서 수행.initialbegin x = 0; // 스칼라 할당
모든 루프문장은 기본적으로 always, initial블록 안에 위치한다.이 루프는 while(수식)의 수식이 거짓이 될 때 까지 수행한다.c언어에서 조건을 주고 break를 넣어서 루프를 빠져나오는 것 처럼 조건 자체에 break되는 기준을 넣는 느낌인 것 같다.fo
병렬 처리 블록의 문장들은 동시에 수행된다.각 문장에 할당된 지연 기반 또는 사건 기반 제어에 의해서 문장의 순서가 조절된다.만약 지연 기반 또는 사건 기반 제어가 지정되었다면, 그것은 블록 안으로 들어가는 시간과 관계있다.블록 안으로 들어온 시간에 수행을 시작한다.
나중에 정리
코드의 반복을 줄이기 위해 사용한다. 사용 방법은 task와 endtask로 감싸서 사용한다. 행위 수준 문장만 포함 할 수 있다.특징내부에 다른 task와 function을 사용할 수 있다. non-zero 시뮬레이션 시간에 수행될 수 있다. delay, 사건 또는
두 개의 4-bit 숫자 a,b와 3-bit select 신호를 사용하는 5-bit result를 계산하는 8-함수 ALU를 정의하라.case문을 사용할 때 always블록을 사용하지 않아도 합성이된다.function내부에는 reg선언이 불가능해 always를 사용할수