크리에이티브 커먼즈 라이선스
Creative Commons License
 
 요즘 틈틈히 베릴로그를 공부하고 있는데.....공부하는 동안에는 짤막짤막한 코드를 많이 짠다능. 이걸 일일히 쿼터스로 프로젝트 만들고 코딩하고 시뮬레이션 하기도 귀찬고 베릴로그는 icarus 라는 매우 좋은 오픈소스 시뮬레이터가 있기 떄문에 그걸 많이 쓰고 있삼.

 이 문서는 윈도우 환경에서 icarus verilog simulator를 사용할 수 있도록 환경을 꾸미는 방법을 설명하고 있삼. C 처음 배우는 사람이 빌드환경을 어떻게 꾸며야 되는지 궁금해하듯 hdl을 처음 배우는 사람은 어떻게 hdl 코드를 돌려볼 수 있는 환경을 꾸며야 되는지가 궁금할꺼삼. 내 생각에는 그러타는 얘기임.

 설치해야 될것은 총 세가지삼.

1. Icarus Verilog Simulator
2. GTKWave
3. Verilog Syntax Highlight가 되는 Editor

 3번 같은 경우에는 나는 VIM을 쓴다능. 각자 알아서 하도록 하고.....1번과 2번의 설치하고 환경변수를 설정하는 순서로 진행하자능. 1번과 2번은 모두 리눅스에서 돌아가는 바이너리가 배포될탠데...리눅스 사용자는 알아서 설치하삼.

 
 1. Icarus Verilog Simulator 설치

 
 저곳에서 가장 최신의 안정 버젼을 받아서 설치하자. 설치 과정중에 환경변수를 설정할지 말지 고르라고 하는데 지 멋대로 내 시스템의 환경변수를 만지면 기분나쁘니까 설정하지 말도로 하자능. 나는 아래와 같은 위치에 설치했심.

C:\iverilog

기본으로 설치되는 패스일꺼삼.


2. GTKWave 설치


 저곳에서 win32용 바이러를 받고 DLL이랑 TCL/TK 8.5 라이브러리도 받으삼. 다운받는 gtkwave.exe.gz는 gtkwave.exe로 이름만 바꾸면 된다능. 압축을 푸는게 아님 -_-;;;

 나머지 두개도 압축을 풀어서 나오는 파일들이랑 gtkwave.exe를 아래 폴더로 복사하라능.

C:\iverilog\bin


3. 환경변수 설정하기

C:\iverilog\bin

 위의 위치에 set_path.bat라는 파일을 하나 만들고 아래 내용을 복붙하삼.

@call :icarus_setup
@call :prompt_setup

@goto end

:icarus_setup
@echo Setting environment for Icarus Verilog Simulator
@set PATH=%PATH%;C:\iverilog\bin
@exit /B 0

:prompt_setup
@rem 자신만의 프롬프트 설정을 이곳에 적자. 아래는 내 설정임. 긔찬으면 안해도 상관없다.
@rem PROMPT $P$_$+$S$G$S
@exit /B 0

:end


명령 프롬프트의 바로가긔를 하나 만든다음에 그 바로가긔 속성을 아래처럼 고쳐주자능.


  적당한 위치에 폴더를 만들고 그 경로를 시작위치에 써주자. 저기가 베릴로그 프로젝트들의 루트 폴더가 될꺼라능. 바로가긔를 더블클릭했을 때 아래와 비슷한 화면이 나오면 OK삼 >_<.



4. Verilog HDL 코드 작성해보기

 먼져 DUT Design Under Test 의 코드를 짜보자능. 일단은 보구 배긔라능. 파일이름은 add.v이고 적당한 자리에 생성하면 되심.


 ㅎㅎ 됐고, Testbench의 코드를 짜자능. 파일이름은 testbench.v이고 add.v랑 같은 위치에 만들면 되삼.


!!!  testbench.v 의 맨 마지막에 endmodule 가 안 찍혔심. add.v를 참고에서 한줄 적어주라능.  !!!

 우리가 작성성 DUT인 add 모듈에 여러가지 인풋을 넣어보고 어떤 아웃풋이 나오는지 시뮬레이션 해보는 거라능. testbench의 역활은 그거라능. 일단 콘솔창에 다음 명령어를 쳐서 컴파일을 하고

iverilog testbench.v -o testbench

 문제없이 컴파일이 되면 다음 명령어를 사용해서 실행하면 되삼. 그러면 결과가 화면에 나온다능.

vvp testbench

 아마 이런 화면이 나올꺼라능.


 아래 명령어를 쳐서 gtkwave를 실행시키면 wave form을 볼 수 있다능. gtkwave 사용법은 별로 어렵지 않으니 알아서 익히도록 하자능.

gtkwave wave.vcd



 끝이삼. 이제 당신도 베릴로그 hdl 사용자가 되었다능. 매우 축하한다능. 이젠 베릴로그 책을 사더 보던지 인터넷에서 튜토리얼 문서를 찾아서 보구 배우면 되는거심. 이카루스 베릴로그는 커맨드라인 명령어만 제공하니까..make 툴등을 사용해서 자동화된 빌드 환경을 꾸면 더욱 좋을꺼삼.
저작자 표시 비영리 동일 조건 변경 허락

'베릴로그' 카테고리의 다른 글

베릴로그 스니펫 MUX, Verilog Snippet MUX  (2) 2010/05/06
Verilog HDL 입문하기  (10) 2009/12/29
Posted by DMW

댓글을 달아 주세요

  1. -0-;; 2010/04/04 15:35  댓글주소  수정/삭제  댓글쓰기

    Icarus verilog를 저도 실행시켜보려하는데요
    저 testbench.v 화면을 어떻게 띄어야되는건가요??;;;
    저 설명만 보고는 도저히 모르겠어서 답답한 마음에 질문 해봅니다.

    • BlogIcon DMW 2010/04/06 17:10  댓글주소  수정/삭제

      저건 vim 이라는 텍스트 에디터를 사용해서 코드를 편집한 화면 이구요..메모장같은걸로 하셔도 됩니다

  2. 허준영 2010/05/05 15:55  댓글주소  수정/삭제  댓글쓰기

    바로가기 속성 고치는 부분에서 c:\project\verilog 이 path는 갑자기 어디서 나온건가요?
    설정이 안되네요..

  3. ^^; 2010/05/11 14:22  댓글주소  수정/삭제  댓글쓰기

    gtkwave wave.vcd 실행했더니
    프로그램이 너무 커서 메모리에 맞지 않습니다.
    라고 나오는데 어떻게 해야하나요... ^^;

    • BlogIcon DMW 2010/05/12 23:38  댓글주소  수정/삭제

      아규먼트없이 gtkwave를 실행해보세요. 그래도 실행이 안되면 ftp://icarus.com/pub/eda/gtkwave/Windows/gtkwave-1.3.12-setup.exe 이걸 받아서 한번 해보세요

  4. ㅜㅜ 2010/05/25 23:49  댓글주소  수정/삭제  댓글쓰기

    명령 프롬프트 실행시켜보니

    Setting environment for Icarus Verilog Simulator
    시스템이 지정된 일괄 레이블을 찾을 수 없습니다 - end

    라고 나오네요.. Visual Studio 2008이 설치되어 있어야 하는 건가요?

    • BlogIcon DMW 2010/05/26 22:17  댓글주소  수정/삭제

      배치 스크립트에 end 레이블을 빠져있네요. Visual Studio 2008은 없어도 괜찬습니다.
      왜 아무도 이거 얘기를 안해줬지??? -_-;;;
      수정해 놓았습니다.

  5. help me 2010/06/21 15:27  댓글주소  수정/삭제  댓글쓰기

    vvp까지는 되는데요. gtkwave vcd 파일 생성 방법 좀 알려주세요.

    또 'include "add.v" 이 줄이 에러라고 나오네요.ㅠㅠ

    • BlogIcon DMW 2010/06/21 19:10  댓글주소  수정/삭제

      거기 까지 하셨으면 설치는 잘 된거 같네요. 이제 베릴로그 문법을 익히셔서 코드를 잘 짜보세요.