산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> verilog

Verilog 핵심 요약: 모듈, 데이터 타입, 할당문 3분 만에 익히기

Verilog 설계의 모든 행동 코드는 module~endmodule 안에 들어갑니다. 모듈은 입출력 포트로 외부와 통신합니다.

모듈 기본 구조

module testbench; endmodule  // 빈 모듈

module dff (input d, clk, rstb, output q); endmodule  // 포트 있는 모듈

데이터 타입: reg vs wire

타입비유할당 위치
reg변수 (값 저장)initial, always 블록 내부
wire전선 (연속 구동 필요)assign 문, 포트 연결, 모듈 인스턴스 출력
module testbench;
    reg d, rst_b, clk;  // 저장 필요 → reg
    wire q;             // 연결용 → wire
endmodule

3대 기본 블록

블록문법실행 조건
alwaysalways @(cond) ...조건 만족 시마다 반복 실행
initialinitial ...시뮬 시작 시 1회 실행
assignassign lhs = rhs;RHS 변경 시 LHS 연속 업데이트

필수 규칙 3가지

  1. reg 타입은 initial/always 블록에서만 할당 가능
  2. wire 타입은 assign 문으로만 할당 가능
  3. initial/always 블록에 문장 여러 개면 begin ... end 필수

최소 테스트벤치 예제

module testbench;
    reg d, rst_b, clk;
    wire q;

    initial begin
        d = 0; rst_b = 0; clk = 0;
        #100 $finish;  // 100시간 단위 후 종료
    end

    always begin
        #10 clk = ~clk;  // 10마다 토글 → 20 주기 클럭
    end
endmodule

포인트:

다음 학습 단계

  1. always @(posedge clk)로 순차 논리(플립플롭) 작성
  2. always @(*)로 조합 논리 작성
  3. assign으로 간단 조합 논리/넷 연결
  4. 모듈 인스턴스화로 계층 설계
  5. 테스트벤치로 기능 검증

verilog

  1. 버릴로그(Verilog) 입문: 디지털 회로 설계를 위한 하드웨어 기술 언어
  2. Verilog 결합(Concatenation) & 복제(Replication) 연산자 실전 가이드
  3. Verilog 할당문 이해: 유형, 문법, 모범 사례
  4. Verilog 차단 vs 비차단 할당: 핵심 차이점 완벽 이해
  5. Verilog 함수 마스터하기: 효율적인 RTL 설계를 위한 활용법
  6. Verilog 태스크 이해: 함수와의 차이점, 문법, 활용법
  7. Verilog 계층적 참조 범위 마스터하기: 모듈과 블록 간 이름 충돌 방지
  8. Verilog 클럭 생성기: 설계 및 구현 가이드
  9. Verilog 수학 함수 마스터하기: 효율적인 하드웨어 설계를 위한 활용
  10. Verilog $timeformat 마스터하기: 정밀도 및 표시 제어