[Verilog] 연속할당문(Continuous Assignment) VS 절차할당문(Procedural Assignment)의 차이Digital Circuit/HDL(Verilog, VHDL)2025. 2. 26. 00:01
Table of Contents
반응형
안녕하세요.
Verilog에서 값을 할당하는 방식은 크게 연속할당문(Continuous Assignment)과 절차할당문(Procedural Assignment)으로 나뉩니다.
이 두 개념을 제대로 이해해야 Verilog 코드가 의도한 대로 동작하게 만들 수 있습니다.
※1. 연속할당문 (Continuous Assignment)
▶1. 개념
- 조합 논리(Combinational Logic) 회로를 표현할 때 사용
- assign 키워드를 이용하여 항상 즉시 값이 반영됨
- wire 타입 변수에만 사용 가능
▶2. 예제
wire a, b, y;
assign y = a & b; // y는 항상 a와 b의 AND 연산 결과를 반영
▶3. 특징
- assign을 사용하여 항상 즉시 반영됨
- wire 타입 변수만 사용 가능 (reg 불가능)
- 클럭 신호와 무관 (즉시 값 변경)
※2. 절차할당문 (Procedural Assignment)
▶1.개념
- 순차 논리(Sequential Logic) 또는 조합 논리에 사용
- always 블록 안에서 실행
- reg 또는 logic 타입 변수에 사용
▶2.예제
reg q;
always @(posedge clk) begin
q <= d; // clk이 상승할 때만 q가 d 값을 받음
end
▶3. 특징
- always 블록 안에서 실행됨
- reg 변수에 사용됨 (wire 사용 불가능)
- 클럭 신호가 있을 경우 플립플롭(Flip-Flop) 동작 가능
※3. 연속할당문 vs 절차할당문의 차이
비교 항목 | 연속할당문( assign ) | 절차할당문( always ) |
사용 위치 | 조합 논리 | 순차 논리 & 조합 논리 |
데이터 타입 | wire | reg, logic |
실행 방식 | 즉시 값 반영 | 클럭 또는 이벤트 발생 시 변경 |
주요 용도 | AND, OR 같은 조합 논리 회로 | 플립플롭 같은 순차 논리 회로 |
코드 예제 | assign y = a & b ; | always @(posedge clk) q <= d; |
상황 | 연속 할당문( assign ) | 절차할당문( always ) |
조합 논리 | 사용 가능 | 사용 가능 |
순차 논리 | 사용 불가능 | 사용 가능 |
즉시 반영 필요 | 사용 가능 | 사용 불가능 |
클럭 기반 동작 | 사용 불가능 | 사용 가능 |
※4. 예제 비교
▶1. 연속할당문을 사용한 조합 논리 예제
- assign을 사용하여 조합 논리를 표현
- wire 타입 변수 사용
- 입력 신호가 변하면 즉시 출력도 변함
module and_gate (
input wire a, b,
output wire y
);
assign y = a & b; // a와 b의 AND 결과를 즉시 반영
endmodule
▶2. 절차할당문을 사용한 순차 논리 예제
- always 블록을 사용하여 순차 논리를 표현
- reg 타입 변수 사용
- 클럭 신호가 발생할 때만 값이 변경됨
module d_flipflop (
input wire clk,
input wire d,
output reg q
);
always @(posedge clk) begin
q <= d; // clk 상승 시 d 값을 q에 저장
end
endmodule
이상으로 Verilog에서 연속할당문과 절차적할당문에 대한 차이 설명을 마치겠습니다. 감사합니다.

반응형
'Digital Circuit > HDL(Verilog, VHDL)' 카테고리의 다른 글
[Verilog] if문과 case문 형태 (0) | 2025.03.01 |
---|---|
[Verilog] assign, initial, always문의 차이 (0) | 2025.03.01 |
[Verilog] "="(blocking)과 "<="(non-blocking) 할당의 차이 (0) | 2025.02.25 |
[Verilog] wire와 reg 차이점 완벽 정리 (0) | 2025.02.24 |
Verilog vs VHDL: 차이점과 특징 비교 (1) | 2025.02.24 |
@SEMICIRCUIT :: SEMICIRCUIT
전자공학 블로그에 오신 것을 환영합니다! 최신 기술 동향, 회로 설계, 반도체 및 전자 부품에 대한 유용한 정보와 실습 팁을 제공합니다.