상세 컨텐츠

본문 제목

verilog 이해하기 1 (verilog module의 몸체)

프로그래밍

by 스터디올 2021. 10. 28. 22:01

본문

반응형

<함께 읽으면 좋은 글>

2021.10.28 - [IT정보] - Verilog 인터넷에서 무료 사용하는 법(EDA Playground)

 

Verilog 인터넷에서 무료 사용하는 법(EDA Playground)

1. Verilog 란 무엇인가? Digital 회로 및 시스템에 사용되는 하드웨어 기술 언어이다. Verilog는 회로 설계, 검증, 구현 등으로 사용할 수 있다. Verilog는 C언어와 비슷한 문법을 가졌기 때문에 사람들이

jun-study.tistory.com

Verilog module의 구성

앞선 글에서 verilog로 만드는 digital system 이란 set of modules라고 언급한 적이 있다. 그만큼 verilog내에서 module은 전부라고 할 수 있다. 그렇다면 그 module은 어떻게 구성이 되는지 알아보자. 

 

1. Declaration of wire, and other variables

2. Dataflow Statements (Continous assign)

3. Behavioral Statements (Always and initial blocks)

4. Lower level modules 

5. Task and Function Definition 

 

1. Declaration of wire and other variables 

module 안에서 사용할 변수들을 선언해 준다. module은 기본적으로 input / output으로 외부와 연결 한다. 또한 module안에서만 사용하는 변수들도 선언해 주는 부분이 필요하다. 대부분 모듈의 첫 부분에 변수 선언으로 시작한다. 이는 C와 비슷하다. 

 

2. Dataflow Statements

continuous assign으로 계속해서 설명하겠지만 이는 시간의 흐름과는 상관없이 변수가 변화할때마다 계속해서 할당해 주는 것이라고 생각하면 된다. 예를들어 

 

assign A=B;

assign C=D+F;

 

라고 하면 위에 변수중 B,D,F 하나라도 값이 변경되면 해당 assign이 다시 시작된다. 

 

3. Behavioral Statements 

위에 글에서 언급한 시간의 흐름을 기술할 수 있는 부분이다.

 

4. lower level modules

Set of modules 라는 말을 계속 언급 중이다. 즉 module이 여러개 쓰인다. 하나의 모듈에서 다른 모듈 즉 lower level module이 instance되고 사용될 수 있다. 

 

5. Task and Function Definition

해당 task , function definition이 있다.

반응형

관련글 더보기

댓글 영역