본문 바로가기

실전! Verilog HDL RTL Design

[Verilog HDL] 1. Verilog란?

반응형
Verilog는 HDL(Hardware Description Language)의 하나로 디지털 논리 회로를 설계 하기 위한 언어이다. 설계라고 했지만 기능 검증을 위한 테스트 벤치 제작 등 검증 용도로도 사용된다.
 
문법 구조는 C언어와 매우 유사하다.  Verilog를 이용하여 디지털 논리 설계를 하여 반도체 chip으로 만드는 과정은 기본적으로 다음과 같다.
 
  • module 설계
  • testbenchh 설계
  • simulation
  • synthesis (합성)
  • placement & layout
  • wafer mask 제작
  • ASIC chip 제작
일반적으로 chip 제작 과정에서 설계와 기능 검증 까지 설계 혹은 front-end 단계라고 부르고 그 이후 단은 back-end단계라고 부른다. (다른 기준으로 나누는 경우도 있고 명칭 또한 회사마다 약간씩 다를 수 있음을 유의)
 
이 강의는 C언에 대한 기본적인 지식이 있다면 이해가 빠를 것이다.  verilog의 기본적인 문법을 알고 있으면 좋겠지만 모르더라도 진행하면서 기본적인 문법에 대한 설명도 같이 진행하므로 따라하기에 큰 문제는 없을 것이다.
 
verilog로 디지털 로직 설계를 하는 것을 RTL 설계라고도 하는데 RTL은 Register Transfer Level의 약자로 이는 설계 추상화 수준을 나타내는 것으로 레지스터 간의 데이터 전송을 모델링 하는 수준이라는 의미이다. RTL보다 하위 수준의 설계는 circuit level 설계라고 하고 더 높은 수준의 설계는 High Level 또는 Behavioral Level 설계라고 한다.
 
verilog로 설계를 마치면 설계한 블록이 제대로 동작하는 지 검증하기 위해 simulation을 진행한다.  이 때 검증하는 하드웨어 블록을 DUT(Design Under Test)라고 하고 dut에 입력을 가하고 출력을 받아 정상 동작 유무를 판단하는 verilog code를 testbench라고 한다.
 
simulation을 진행하는 software tool을 simulator라고 하고 verilog simulator를 만들어 파는 회사들을 EDA회사라고 하는데 대표적인 회사로 Synopsys, Cadence 그리고 Mentor가 있다. 이런 상용 tool들은 대부분 고가이기 때문에 학생들이나 개인이 사용하기에는 무리가 있다. 따라서 open source tool을 사용 하는데 대표적인 것이 iverilog라는 tool이다.
 
이 강의에서는 verilog simulation을 ubuntu linux 환경에서 진행한다. PC에 ubuntu를 직접 설치해도 되고 windows환경에서 WSL로 ubuntu를 설치해서 사용해도 된다.
 
여기 서는 WSL상에 ubuntu를 설치하여 강의를 진행한다.  WSL을 활성화 하고 ubuntu를 설치하는 방법은 아래 링크를 참조한다.  
간단하게 다시 설명하면 아래와 같다.

 

일단 windows에서 powershell을 관리자 모드로 실행한다.
위에서 관리자로 실행을 클릭하면 아래와 같이 powershell이 실행되고 prompt 상에서 wsl --install을 입력하면 wsl이 설치된다.

wsl이 설치되면 컴퓨터를 다시 시작한다. 다시 시작하면 아래와 같이 ubuntu을 설치하는 창이 열리게 된다.

설치가 다 끝나면 username과 password를 입력하라는 메시지가 나오는데 사용하고자 하는 사용자 명과 암호를 입력하면 된다.
 
이 후에 ubuntu terminatl을 실행 시키려면 윈도우 검색에서 ubunut를 입력하거나 윈도우 시작 화면에서 ubuntu app을 찾아 클릭하면 된다. 
 
ubuntu를 설치하였으면 명령어 창에서  아래와 같이 update/upgrade를 먼저 실행하여 최신 ubuntu 패키지를 설치한다.
>>sudo apt-get update
>>sudo apt-get upgrade​

 

 

iverilog 를 설치하려면 아래와 같은 명령어로 설치한다.
>>sudo apt-get install iverilog

 
명령어 창에서 iverilog를 입력 했을 때 아래와 같은 화면이 뜨면 정상적으로 설치 된 것이다.

 
simulation을 수행하고 결과를 확인할 때 하드웨어 블록의 각 신호를 오실로스코프 처럼 확인 할 수 있는 툴이 있는데 대표적인 open source tool로 gtkwave가 있다.

 

이는 아래와 같이 설치한다.
>>sudo apt-get install gtkwave

prompt 상에 서 y를 입력하면 설치가 진행 된다. 

설치가 끝나고 gtkwave를 입력했을 때 아래와 같은 화면이 뜨면 정상적으로 설치 된 것이다.

 

자, 이제 verilog module을 설계하고 시뮬레이션 할 수 있는 환경은 갖추게 되었다! 

이 블로그 강의에서는 verilog 학습서와 같이 문법 위주의 강의를 하지는 않을 것이다. 처음 부터 실제 ASIC에서 사용할 수 있는 deisgn을 직접 해 가면서 그 때 그때 필요한 문법을 배우는 형식으로 진행할 예정이다. 

외국어 공부에서 문법 공부만 주구장창 하다 말 한마디 못하는 경험을 많이 했을 것이다. 마찬가지로 문법 위주로 verilog 공부 하다 실제 설계를 할 때 해메는 경우가 많다. 현업에서 실제 설계할 때 필요한 내용과 팁 들도 배울 수 있도록 강의를 진행 하려고 한다.

 
반응형

'실전! Verilog HDL RTL Design' 카테고리의 다른 글

[Verilog HDL] 6. Simulation  (0) 2022.03.28
[Verilog HDL] 5. Testbench  (0) 2022.03.28
[Verilog HDL] 4. Adder 설계  (0) 2022.03.25
[Verilog HDL] 3. Combinational Logic/Sequential Logic  (0) 2022.03.25
[Verilog HDL] 2. Module  (0) 2022.03.25