이글은, WSL2에 Xilinx Vivado 를 설치한 이후,
Vivado 실행 과 추가작업 및 SDK 사용 등입니다.
board support file 설치와, 실행시 필요한 최소 apt package 들을 설명합니다.
1. WebPACK, HL System 등 edition 변경, tools, device 추가,삭제
Vivado 설치 후, edition 변경이나, tools 설치, device추가가 필요할 수 있습니다.
다음의 그림과 같이, Vivado 의 help menu 에 있습니다.
그러나, 이 help menu add Design Tools or Devices... 을 실행할 때,
모든 선택 과정후, 설치과정으로 넘어가지 않는 부분이 있습니다.
이는, 관리자 계정을 필요로 하기 때문입니다.
default install directory 인 /tool/ 의 위치는 관리자 권한을 필요로 합니다.
그래서, Vivado 를, sudo 명령으로( 관리자 계정 ) 설치 하게 됩니다.
보안상 유리하기도 하지만, 불편하기도 합니다.
이러한 이유로, home directory 에 유저 계정으로 설치를 시도하기도 하고,
아예, 유저 계정없이, 관리자계정(root) 으로만 사용하기도 합니다.
또한, 권한과 그룹을 조정하여, 사용하기도 합니다.
Vivado 추가설치를 위해, 관리자 계정으로 vivado를 실행했다면,
project등, 작업부분은 일체 건드리지 말고, 설치만 하고 끝내시기 바랍니다.
필자가 추천하는 방법은, 아래의 방법처럼,
terminal 상에서, sudo 를 이용하여, 직접 Vivado 추가설치를 실행하는 것입니다.
source /tools/Xilinx/Vivado/2018.3/settings64.sh sudo /tools/Xilinx/.xinstall/Vivado_2018.3/xsetup
아래의 그림들은 추가설치 진행 과정입니다.
HL Design 이나, HL System Edition으로 upgrade시 더이상 나오지 않습니다.
제한 없이 선택/삭제 가능합니다.
user 계정으로 실행 되었을 시, Next> 로 진행되지 않습니다.
2. Xilinx FPGA family, 그리고 starter kit 나, evaluation board 의 support file 설치
Xilinx 또는 avnet, 3th party 등이 제작한 FPGA board로, 학습/개발 할 경우,
example code 가 제공되는데, 이 code들은 대부분 Board Support File 을
필요로 합니다.
또한, example code 의 분석/실행 은 개발과정의 필수요소이므로,
Xilinx board 사용시 설치되어 있어야 합니다.
먼저, 위에서 설명한 1. 추가설치 부분을 통해,
보드에 사용된 Xilinx device family를 추가해 보시기 바랍니다.
device family 추가시, 관련된 xilinx board 도 설치됩니다.
Vivado 를 재실행해야, 설치된 device family와 board들이 보여집니다.
Vivado를 재실행해서, 원하는 board가 없으면,
board vendor site 또는, 아래의 site에서 Board Support file을 받습니다.
https://github.com/Xilinx/XilinxBoardStore
전체를 받아서, 전부 설치할 수 있겠지만, 필요한 board file만 받으면 됩니다.
필요한 board 이름의 directory 포함, 내부 전체를 download 합니다.
2018.3 linux 버전의 경우, board file의 directory는 다음과 같습니다.
/tools/Xilinx/Vivado/2018.3/data/boards/board_files/
다음은, git 명령을 이용하여, avnet의 minized board file 만 받아와
설치(복사/이동) 하는 예제입니다.
user 계정의 home에, 임시 directory를 만들고, git 저장소 설정하고,
minized 를 clone (download) 한 후, Vivado board file에 넣어 주고,
임시 directory를 제거하는 과정입니다.
cd ~ mkdir temp_board cd temp_board git init git sparse-checkout init git sparse-checkout set "/boards/Avnet/minized/" git sparse-checkout list git remote add board https://github.com/Xilinx/XilinxBoardStore.git git pull board master sudo cp -rf boards/Avnet/minized/ /tools/Xilinx/Vivado/2018.3/data/boards/board_files/ cd .. rm -rf temp_board
Xilinx Board Store 로 이동하여 찾아 보고, 어느 위치에 원하는 board가 있는지
확인하여, board/Avnet/minized/ 부분을 수정 적용하면 됩니다.
git sparse-checkout list 는 /boards/Avnet/minized/ 의 확인 명령입니다.
Vivado version이 올라가면서, board file의 적용위치가 달라졌습니다.
각 버전별 위치는, 검색해 보시거나, 설치 된 Xilinx directory를 찾아보시기 바랍니다.
2021 버전의 경우, 최초 한번 실행해야 boardstore directory가 생기는 것 같습니다.
3. Vivado 및 Software Development Kit
SDK는 Xilinx FPGA로 hardware (logic) 만 개발할 때는, 사용하지 않는 부분입니다.
그렇지만, SOC ( CPU core ) 가 내장된 FPGA 를 사용할 때에는,
software 개발도 병행해야 하는데, 이 software 개발 tool을 SDK 라고 합니다.
eclipse 기반으로 동작하는데, 실행 및 구동을 위해서, library package가 필요합니다
이러한 의존성, 필요관계를 dependency 라는 용어로 사용하고 있습니다.
일반 linux 배포판 설치시는, 대부분 기본설치가 되는데,
WSL 이나, server 버전에서는 추적, 확인하여 별도로 설치해야 합니다.
WSL 의 Ubuntu-22.04 설치 후, Xilinx Vivado 의 SDK 를 정상 실행하려면,
다음의 과정으로, 필요 package를 설치해 주어야 합니다.
Ubuntu-22.04 가 아닌 경우, 다른 package가 필요할 수 있습니다.
sudo apt install gcc make sudo apt install libgtk2.0-0
gcc 는 simulation과 SDK 에 필요합니다.
make 는 eclipse 가 souce file을 compile할 때, 기본적로 사용하는 tool 입니다.
또한, eclipse 는 libgtk2.0 기반이기 때문에, GUI 동작에 필요한 package 입니다.
4. package update & upgrade
Ubuntu를 비롯한 linux에서는, 뭔가 새로운 application package를 설치할 때
또는 문제가 있을 때, 권고하는 부분이 있습니다. update 입니다.
설치된 package들의 update는 다음과 같이 합니다.
sudo apt update sudo apt upgrade
위쪽의 sudo apt update는 repository의 최신 버전의 정보를 가져오게 합니다.
아래의 sudo apt upgrade는 설치된 package들을 상위 버전으로 upgrade 합니다.
당연히, dependency 정보에 의해, 호환되지 않는 상위버전은, 설치되지 않습니다.
즉, 현재 설치된 package들과 호환 되는 것들만 알아서 upgrade 됩니다.
혹시나, 문제가 있으신 분들은, update & upgrade 해 보시기 바랍니다.
그리고 다음 #3 편은, WSL2 에서의 usb jtag 연결 방법입니다.
0 댓글