반응형
Digital Circuit/HDL(Verilog, VHDL)2025. 3. 1. 23:04[Verilog] if문과 case문 형태

안녕하세요. Verilog에서는 조건문을 사용하여 회로의 동작을 제어할 수 있습니다. 그중 if문과 case문은 조건에 따라 신호를 설정하는 데 사용됩니다. 이번 포스트에서는 이 두 가지 문법의 형태와 사용 방법에 대해 간단하게 알아보겠습니다. ※1. if문 – 조건에 따라 동작 제어▶1. 정의 if문은 특정 조건이 참일 때 실행되는 블록입니다. 조합 논리 및 순차 논리 모두에 사용될 수 있습니다.   ▶2. 기본 형태 if (조건식) begin // 조건식이 참일 때 실행할 코드end else begin // 조건식이 거짓일 때 실행할 코드end  ▶3. 예제 always @(*) begin if (a > b) begin y = a; // a가 b보다 클 때 y에 a..

[Verilog]  "="(blocking)과 "<="(non-blocking) 할당의 차이
Digital Circuit/HDL(Verilog, VHDL)2025. 2. 25. 00:01[Verilog] "="(blocking)과 "<="(non-blocking) 할당의 차이

안녕하세요.Verilog에서는 값을 할당할 때 =(blocking assignment)과 이 둘의 차이를 잘 이해하지 못하면 예상치 못한 버그가 발생할 수 있으므로, 개념과 차이점을 확실히 정리해보겠습니다.※1. = (Blocking Assignment) 🔹 순차적으로 실행됨 (이전 연산이 완료된 후 다음 연산 실행)🔹 조합 논리 또는 초기화에 사용 always @(posedge clk) begin a = b; // b의 값을 a에 즉시 할당 c = a; // a의 현재 값을 c에 즉시 할당end [ 실행 과정 ]b의 값이 a에 복사됨a가 변경된 후 c = a;가 실행됨따라서, c는 변경된 a 값을 받음➡ 즉, =는 한 줄씩 순차적으로 실행되기 때문에 예상한 값과 다를 수 있음   ※2..

반응형
image