[AMD/Xillinx] Vivado on WSL

oerreoยท6์ผ ์ „

FPGA

๋ชฉ๋ก ๋ณด๊ธฐ
4/4

๐Ÿ’ก๋‚˜์ค‘์— ๋‚ด๊ฐ€ ํ™˜๊ฒฝ ๋ฐ”๋€Œ์—ˆ์„ ๋•Œ, ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ธฐ์— ์šฉ์ดํ•˜๋ผ๊ณ  ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ.

  • ๊ฐ€๋…์„ฑ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Œ.

๐Ÿ”—์ฐธ๊ณ  - ์œ„ํ‚ค๋…์Šค
๐Ÿ”—์ฐธ๊ณ  - ์œ ํŠœ๋ธŒ

1. WSL ๋‹ค์šด๋กœ๋“œ

  • Ubuntu 22.04 LTS๋กœ ๋ฐ›์Œ.

2. Vivado ๋‹ค์šด๋กœ๋“œ

  • WSL์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— 24.01์ด ์•ˆ์ •๋œ ๊ฑฐ ๊ฐ™์•„์„œ ๊ทธ๊ฑธ๋กœ ๋ฐ›์Œ
  • WSL์ด๋ผ Linux์šฉ Bin ํŒŒ์ผ๋กœ ๋ฐ›์•„์•ผ๋จ

3. MobaXterm ๋‹ค์šด๋กœ๋“œ

MobaXterm ๋‹ค์šด๋กœ๋“œ ๋งํฌ

  • ๋‹ค์šด๋กœ๋“œ ๋“ค์–ด๊ฐ€์„œ Free
  • Linux ์“ฐ๋ฉด์„œ ๋””๋ ‰ํ† ๋ฆฌ GUI๋„ ์“ธ ์ˆ˜ ์žˆ์–ด์„œ ํŽธํ•จ.
    • ์˜์—ญ ์„ ํƒํ•˜๊ณ  ๋ณต๋ถ™๋„ ๋จ.

๊ทธ๋ƒฅ ํ„ฐ๋ฏธ๋„ ์—ด์–ด์„œ ํ•˜๋Š” ๊ฒŒ ๋” ํŽธํ•œ ๊ฑฐ ๊ฐ™๊ธด ํ•จ..?

4. MovaXterm์œผ๋กœ WSL ์—ด๊ธฐ

  • ๋‚ด๊ฐ€ ๋‹ค์šด๋กœ๋“œํ•œ ์šฐ๋ถ„ํˆฌ ์—ด๋ฉด ๋จ.

5. Vivado Bin ํŒŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ

  • ๋‹ค์šด๋กœ๋“œํ•œ vivado bin ํŒŒ์ผ์„
  • home/์œ ์ €๋ช…์— ๊ฐ–๋‹ค๋‘๋ฉด ๋จ.
    • explorer.exe .ํ•˜๋ฉด ๋””๋ ‰ํ† ๋ฆฌ ์—ด๋ฆฌ๋Š”๋ฐ ๊ฑฐ๊ธฐ์— ๋“œ๋ž˜๊ทธํ•ด์„œ ๊ฐ–๋‹ค๋‘๋ฉด ๋จ.

6. Bin ํŒŒ์ผ์— ์‹คํ–‰ ๊ถŒํ•œ ์ฃผ๊ธฐ

chmod +x FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin

  • ์ดˆ๋ก์ƒ‰์œผ๋กœ ์‹คํ–‰๊ถŒํ•œ ์ƒ๊ธด ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Œ.

7. WSL ๊ธฐ๋ณธ ์„ธํŒ… + Vivado ๊ตฌ๋™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

sudo apt-get install libtinfo5 libncurses5 libxrender1 -y
sudo apt install libncurses5-dev libncursesw5-dev libtinfo-dev -y

8. Vivado ์„ค์น˜

1) xilinx ๊ณ„์ •ํ† ํฐ์ƒ์„ฑ

โ†’ ๊ณ„์ • ์ •๋ณด๋Š” ์„ค์น˜ ์‹œ ์‚ฌ์šฉํ•œ ๊ณ„์ •

./FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin -- -b AuthTokengen

2) config ํŒŒ์ผ ์ƒ์„ฑ

  • vivado standard๋กœ
./FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin -- -b ConfigGen

3) config ํŒŒ์ผ ์ˆ˜์ •

  • config ํŒŒ์ผ ๋“ค์–ด๊ฐ€์„œ ์„ค์น˜ ์œ„์น˜๋ž‘ ํ•„์š”์—†๋Š” ๋ถ€๋ถ„ 0์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ
    • vertex, kintex ์ด๋Ÿฐ ๊ฑฐ
~/.Xilinx/install_config.txt

  • destinaion์—์„œ /tools๋ฅผ ๋‚ด ๊ณ„์ • /home/oreo/tools์œผ๋กœ ์˜ฎ๊ฒจ์ฃผ๊ธฐ

4) ์„ค์น˜

./FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin -- -a XilinxEULA,3rdPartyEULA -b Install -c ~/.Xilinx/install_config.txt

9. ์„ค์น˜ ํ›„ ์…‹ํŒ…

  • ์„ค์น˜ํ•œ Vivado์˜ ํ™˜๊ฒฝ์„ ์žก์•„์ฃผ๋Š” shell script ์ ์šฉ
source ~/tools/Xilinx/Vivado/2024.1/settings64.sh
  • terminal open ์‹œ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๊ฒŒ ์„ค์ •.
    • ~/.zshrc์—์„œ ์„ค์ •
echo 'source ~/tools/Xilinx/Vivado/2024.1/settings64.sh' >> ~/.zshrc
source ~/.zshrc
  • ์•„๋ž˜ ~/.bashrc ์—ด์–ด์„œ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Œ.
    • ์ด๊ฑด ์•ˆ ๋˜๋˜๋ฐ?
code ~/.bashrc

# ์ด๊ฑฐ ์ถ”๊ฐ€
source ~/tools/Xilinx/Vivado/2024.1/settings64.sh

10. ์‹คํ–‰

  • background mode ๋กœ vivado ์‹คํ–‰
    • ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ํ•ด์•ผ ํ„ฐ๋ฏธ๋„์ด๋ž‘ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ์Œ.
vivado &

11. ํ„ฐ๋ฏธ๋„ ๊ด€๋ฆฌ

  • vivado๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์—ด์–ด๋„ ํ„ฐ๋ฏธ๋„ ๊บผ๋ฒ„๋ฆฌ๋ฉด ๊ฐ™์ด ๊บผ์ง€๊ณ 
    • ๊ณ„์† ๋กœ๊ทธ๋ฅผ ๋‚จ๊น€
    • ์•„๋ž˜ ์ฝ”๋“œ๋กœ ์‹คํ–‰ํ•˜๋ฉด ๊ทธ๋Ÿฐ ๋ฌธ์ œ ํ•ด๊ฒฐ
nohup vivado > /dev/null 2>&1 &
  • nohup vivado &๊ฐ€ ์•ˆ ๊บผ์ง€๊ฒŒ ํ•˜๋Š” ๊ฑฐ

  • ํŽธํ•˜๊ฒŒ ๋ช…๋ น์–ด(๋ณ„์นญ) ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์„œ ์‹คํ–‰ํ•˜๊ธฐ

    • ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ~/.zshrc์— ์ถ”๊ฐ€
VIVADO_PATH=$(which vivado)

# 1. ์ผ๋ฐ˜ ์‹คํ–‰ (ํ„ฐ๋ฏธ๋„ ๋„๋ฉด ๊ฐ™์ด ๊บผ์ง)
alias viv='mkdir -p logs && $VIVADO_PATH -log logs/vivado.log -journal logs/vivado.jou'

# 1. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ + ํ„ฐ๋ฏธ๋„ ๊บผ๋„ ๊ดœ์ฐฎ์Œ.
alias v='mkdir -p logs && nohup $VIVADO_PATH -log logs/vivado.log -journal logs/vivado.jou > logs/nohup.out 2>&1 &'

0๊ฐœ์˜ ๋Œ“๊ธ€