반응형
[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