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

Digital Circuit/HDL(Verilog, VHDL)2025. 3. 1. 22:53[Verilog] assign, initial, always문의 차이

안녕하세요. Verilog는 하드웨어 설계 언어(HDL)로, 신호의 흐름을 정의하는 여러 가지 문법이 존재합니다. 그중에서 assign, initial, always는 매우 중요한 역할을 합니다.하지만 각각의 목적과 동작 방식이 다르므로, 올바르게 이해하고 사용해야 합니다.  ※1. assign 문 – 조합 논리 회로(Combinational Logic) 설계▶1. 정의 assign 문은 연속할당문(Continuous Assignment)을 정의하며,wire 타입의 변수에만 사용됩니다.입력이 변하면 즉시 출력도 변합니다. ▶2. 특징 ✔ 항상 활성화되어 입력 신호가 변하면 즉시 반영됨✔ wire 타입 변수만 사용 가능 (reg 타입 불가)✔ 조합 논리(Combinational Logic) 구현에 적합✔ ..

Digital Circuit/HDL(Verilog, VHDL)2025. 2. 26. 00:01[Verilog] 연속할당문(Continuous Assignment) VS 절차할당문(Procedural Assignment)의 차이

안녕하세요. 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 타입 변수만 사용 가능 ..

[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