마땅한 Verilog Editor를 찾기가 어려웠다.
S/W 프로그래밍 언어들처럼 멋들어지고 강력한 기능을 제공하는 IDE나 편집기가 있었으면 했는데, 아쉽게도 Verilog에는 잘 없는 것 같다. notepad++는 예쁘지가 않고, Vivado나 Quartus는 무거워서 편집 환경으론 적합하지 않은 것 같았다.
VSCode에 Verilog Extension을 설치하는 것이 그나마 괜찮은 것 같아서, 이를 글로 정리하기로 하였다.
생김새는 대충 아래와 같다.
VSCode 설정 몇 개 건드리고, Verilog용 Extension 두어 개 설치하면 위 같은 모양이 된다.
편집은 편집기로 하고, 시뮬레이션은 밑에 있는 콘솔에서 하는 방식으로 비교적 원활히 개발할 수 있다.
추가로 iverilog + gtkwave를 이용한 Verilog 시뮬레이션 환경 구성 방법을 이전에 포스팅한 적이 있으니 참고하면 좋을 것 같다.
https://velog.io/@pikamon/Verilog-1
차례는 아래와 같다.
하나씩 따라 해보자.
아래 VSCode 공식 페이지에서 설치 파일을 다운로드한다.
https://code.visualstudio.com/
다운로드 후 설치한다.
메뉴 언어를 영어로 하는 것을 추천한다. 왜냐하면 Verilog Extension들이 다 영어로 되어 있어서, 사용법 따라서 설정하려면 메뉴가 영어로 되어있는 편이 더 편하기 때문이다.
(물론 한글로 써도 된다. 한글로 쓰고 싶다면 건너뛰어도 된다.)
키보드에서 Ctrl + Shift + P 를 입력하면 아래와 같이 입력창이 뜬다.
여기서 language 를 입력하면 "Configure Display Language" 또는 "표시 언어 구성" 이라는 항목이 나온다.
여기서 English 를 선택한다. 그러면 VSCode가 다시 시작되면서 메뉴 언어가 변경된다.
키보드에서 Tab을 입력하면 Space가 입력될 수도 있고 Tab이 입력될 수도 있는데, 필자는 Tab를 선호하므로 기본 설정을 변경해야 한다.
(Space가 더 좋다면 건너뛰어도 된다.)
상단의 메뉴 바에서 File - Preference - Settings 에 들어가면 아래와 같이 창이 뜬다.
여기서 insert space 라고 검색하면 "Editor: Insert Spaces" 라는 항목이 나오는데, 체크 해제해주면 된다.
Tab의 길이를 설정할 수 있다.
File - Preference - Settings 에서 tab size 라고 입력하면 "Editor: Tab Size" 라는 항목이 나오는데, 적절히 설정한다. (필자는 4로 설정하였다.)
필자는 Verilog Extension을 두 개 설치하였다.
Ericson Joseph - Verilog Format (포맷 적용)
mshr-h - Bluespec SystemVerilog (색깔 적용)
Verilog용 Auto Indent를 제공하는 확장 프로그램이다. Alt + Shift + F 를 입력하면 소스 코드가 Verilog 포맷으로 정렬된다.
Ctrl + Shift + X 를 입력하고 verilog format 을 검색하여 설치한다.
얘가 설치 방법이 까다로운데, Github에 들어가서 매뉴얼을 보면서 프로그램을 다운받으라고 한다.
https://github.com/ericsonj/verilog-format
프로그램을 다운받고, 그 경로를 VSCode에 입력해줘야 한다고 한다.
사실 필자도 제대로 설정한 게 맞는지 의문이 들어서, Github에 나와있는 가이드를 참고하는 것을 권장한다.
(2023.02.19, 설치 방법을 명확히 알아내서 아래에 추가함.)
공식 Github 페이지 들어가면 각 운영체제별 설치 방법이 설명되어 있다.
윈도우용 설치 방법을 한 번 따라해보자.
위 링크에 들어가면 verilog-format-WIN.zip 라는 파일을 다운받으라고 나와있다.
다운받아서 압축을 풀면 verilog-format.exe 라는 파일이 나온다. 이걸 원하는 경로에 위치시킨다.
그리고 아래 링크에 보면 포맷 규칙 옵션을 작성할 수 있는 파일이 있다.
https://github.com/ericsonj/verilog-format#verilog-format-style-options
위 Example의 내용을 긁어다가 .verilog-format.properties 라는 이름으로 텍스트 파일을 만든다.
(사실 이름이 꼭 .verilog-format.properties 일 필요는 없다.)
그리고 Ctrl + Shift + X 입력 후 Verilog Formatter를 검색해서 톱니바퀴 아이콘을 누른 후 Extension Settings를 누른다.
들어가면 아까 받은 exe 파일이랑 properties 파일의 경로를 지정해줄 수 있는 창이 뜬다. 거기에 두 파일의 경로를 적절히 입력해준다.
그리고 에디터로 넘어와서, Verilog 코드를 열어서 Alt + Shift + F 를 눌러보자.
이랬던 코드가
0.5초 정도 기다리면 요렇게 자동 줄맞춤되는 것을 볼 수 있다. ^^
이미 눈치 챘겠지만, 아까 Example에서 냅다 긁어온 properties 파일을 수정해서 원하는 형태의 Indent을 설정할 수 있다.
Verilog 포맷에 맞춰 코드에 색깔을 입혀주는 확장 프로그램이다. 설치 후 .v 및 .vh 파일을 열어보면 Verilog 문법에 맞춰 색깔이 입혀져 있는 것을 볼 수 있다.
Ctrl + Shift + X 를 입력하고 Bluespec SystemVerilog 을 검색하여 설치한다.
얘는 그냥 설치만 하면 바로 적용된다.
모든 설치 및 설정이 완료되면 .v 파일을 열어보자.
나름 고급 프로그래밍 언어에 준하는 스타일을 뽑아낼 수 있다.
Alt + Shift + F 를 입력하면 아래와 같이 Verilog 포맷으로 정렬되는 것을 볼 수 있다.
verilog formatter 다운 후 설정에 다운 파일들 경로 지정해주고 v 파일에서 alt+shift+f 눌러보았는데 <there is no formatter for 'plaintext' files installed>라는 에러 메시지가 떠서 문제에 빠졌는데 혹시 어떻게 해결할 수 있는지 알려주실 수 있으실까요..? 감사합니다 ㅜㅜ
verilog formatter 설치하는 것부터 막혔는데 도와주실 수 있나요 ,,, ??
경로를 입력하라고 하셨는데 어떻게 입력하는 건가요 ??
github 에 보면 maven이 필요하다고 되어있는데 혹시 이걸 설치해야 하는건가요 ??