1. Verilog 개요

2023. 4. 7. 10:22· Verilog
반응형

Verilog는 다양한 수준의 추상화에서 디지털 회로 및 시스템을 모델링, 설계 및 검증하는 데 사용되는 HDL(하드웨어 설명 언어)입니다. 1980년대에 Gateway Design Automation에 의해 처음 도입되었으며 이후 디지털 디자인의 산업 표준이 되었습니다. Verilog를 사용하면 엔지니어와 설계자는 디지털 시스템의 구조와 동작을 설명할 수 있으므로 전자 설계 자동화(EDA) 분야의 필수 도구가 됩니다.

 

Verilog의 주요 목적은 설계자가 디지털 회로를 생성 및 시뮬레이션하고, 기능을 테스트하고, FPGA(Field Programmable Gate Array) 및 ASIC(Application-Specific Integrated Circuit)와 같은 하드웨어에 설계를 구현하는 수단을 제공하는 것입니다. 이 언어를 사용하면 구조, 데이터 흐름 및 동작의 세 가지 주요 모델링 스타일로 디지털 시스템을 표현할 수 있습니다.

 

Structural modeling(구조적 모델링)은 디지털 시스템을 생성하기 위해 게이트 및 모듈과 같은 구성 요소의 상호 연결을 설명합니다. 이 모델링 스타일은물리적 레이아웃(physical layout)과 하드웨어 요소의 연결에 중점을 둡니다.

module and_gate(input wire A, B, output wire Y);

  and (Y, A, B);

endmodule

데이터 흐름 모델링(Dataflow modeling)은 디지털 시스템 내의 레지스터와 논리 연산 간의 데이터 흐름에 중점을 둡니다. 이 모델링 스타일을 통해 엔지니어는 연속 할당문 및 표현식을 사용하여 입력과 출력 간의 관계를 정의할 수 있습니다.

module and_gate(input wire A, B, output wire Y);

  assign Y = A & B;

endmodule

 

 

동작 모델링(Behavioral modeling)은 더 높은 수준의 추상화를 제공하여 디자이너가 loops, conditional statements, task 및 funtion과 같은 하위 프로그램과 같은 절차적 구성을 사용하여 디지털 시스템의 전반적인 기능과 작동을 설명할 수 있도록 합니다.

module and_gate(input wire A, B, output reg Y);

  always @(*) begin
    Y = A & B;
  end

endmodule
반응형
저작자표시 (새창열림)
'Verilog' 카테고리의 다른 글
  • 4. 데이터 유형 선언
  • 3. 포트 선언
  • 2. 모듈(Module) 선언
kyw6416
kyw6416
kyw6416
kyw6416
kyw6416
전체
오늘
어제
  • 분류 전체보기 (103)
    • PCB 설계 (16)
    • C언어 (6)
    • FPGA (15)
    • 하드웨어_ETC (0)
    • 임베디드_ETC (2)
      • 임베디드_통신 (1)
    • Qt Creator (4)
    • Tool (1)
      • Verdi (1)
    • Verilog (9)
      • i2s (5)
      • hdlbits (0)
    • DRAM (15)
      • DDR2 SDRAM (8)
      • DDR3 SDRAM (0)
      • DDR5 SDRAM (3)
    • DDR PHY (6)
      • DDR PHY 2.1 (6)
    • Makefile (10)
    • Vim (17)
    • 노션 (2)
    • SoC 설계 (0)
반응형
kyw6416
1. Verilog 개요
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.