
์ ์๊ณตํ๊ณผ ํ์์ผ๋ก์ ๋งฅ๋ถ์ ์ด ๋ ๊ฐ์ฅ ๊ณ ๋ฏผ๋์๋ ์ ์ ๋ฐ๋ก ๋ฒ ๋ฆด๋ก๊ทธ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋งฅ๋ถ ์ข์๊ฑด ๋ค ์๊ฒ ๋๋ฐ, ํ๊ต์์ ์ฐ๋ ๋ฒ ๋ฆด๋ก๊ทธ๋ฅผ ๋งฅ๋ถ์์๋ ๋๋ฆด ์๊ฐ ์์ผ๋๊น์.
์ธํ ๋งฅ์ด์๋ค๋ฉด ๊ทธ๋ฅ ์๋์ฐ๋ก ๋์ผ๋ถํ ํ๋ฉด ๋๋ ๋ฌธ์ ์๊ฒ ์ง๋ง, ์ ํ ์ค๋ฆฌ์ฝ ์นฉ๋ค์ด(M1, M2, M3, ...) ๋งฅ๋ถ์ ํ์ฌ๋๊ธฐ ์์ํ๋ฉด์ ๊ทธ๊ฒ๋ ํ๋ค์ด์ก์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค Docker๋ฅผ ์ด์ฉํด์ Apple Silicon ๋งฅ๋ถ์์๋ ๋น๋ฐ๋๋ฅผ ๋๋ฆด ์ ์๋ ๊นํ๋ธ ๋ ํฌ์งํ ๋ฆฌ๊ฐ ์๊ธธ๋ ๋ฐ๋ก ๋ฐ๋ผํด๋ดค์ต๋๋ค. ์ฐธ๊ณ ๋ก ์ ๊ฐ๋ฐํ๊ฒฝ์ ๋งฅ๋ถ ์์ด 13์ธ์น 2024, ๋จ 16GB ๋ชจ๋ธ์ ๋๋ค.
๊นํ๋ธ ๋ ํฌ์งํ ๋ฆฌ ๋งํฌ

๋ฐ๋ก ์ค์น๋ฐฉ๋ฒ๋ถํฐ ๋ณด๊ฒ ์ต๋๋ค. ์ฐ์ Docker์ XQuartz๊ฐ ํ์ํฉ๋๋ค. ๊ฐ๊ฐ ์ฌ์ดํธ์์ ๋ค์ด๋ก๋๋ฅผ ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
https://www.docker.com/products/docker-desktop/
์ค์น๋ฅผ ์๋ฃํ๊ณ ๋์๋ Docker Desktop์ ์ด์ด์ ๋์์๋๋๋ก ์ค์ ์ ํด์ค๋๋ค.
Use Virtualization framework์ ์ฒดํฌ, Start Docker Desktop when you sign in to your computer์ ์ฒดํฌ ํด์ , Use Rosetta for x86_64/amd64 emulation on Apple Silicon์ ์ฒดํฌ๋ Xilinx ํํ์ด์ง์ ๋ค์ด๊ฐ์
์ด๋ ๊ฒ ํ๋ฉด ์ค์น๋ฅผ ์ํ ๊ธฐ๋ณธ ์ค๋น๋ ๋ค ์๋ฃ๋์์ต๋๋ค!
๋ ํฌ์์ ์ ๊ณตํ๋ ๋งํฌ์์ ์ค์นํด์ ๋ค์ด๋ฐ์ต๋๋ค. ์์ถ์ ํ๊ณ , ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํด์ค๋๋ค.
cd Downloads/vivado-on-silicon-mac-main
caffeinate -dim ./install.sh
์ด๋, ์ฐ๋ถํฌ ๋ฒ์ ํธํ์ฑ ๋ฌธ์ ๋ก Dockerfile์ ์๋ ์ผ๋ถ ํจํค์ง๊ฐ ์ค์น๋์ง ์์ ์ ์๋๋ฐ์, (24.07.28 ๊ธฐ์ค ์ ๋ ๊ทธ๋ฌ์ต๋๋ค) ์ด๋ฐ ๋ฌธ์ ๋ฅผ ๋ง๊ธฐ ์ํด์ ๋ฆฌ๋
์ค ๋ฒ์ ์ 22.04๋ก ๋ฐ๊ฟ์ฃผ๊ฒ ์ต๋๋ค.

์ด๋ ๊ฒ Dockerfile์ ์ด๊ณ , ์
์งธ ์ค์ ์๋
FROM --platform=linux/amd64 ubuntu
๋ฅผ
FROM --platform=linux/amd64 ubuntu:22.04
๋ก ๋ฐ๊ฟ์ค๋๋ค.
์คํ์ด ์ ๋๋ก ๋๋ค๋ฉด ์๊น ๋ค์ด๋ฐ์๋จ๋ ๋ฆฌ๋ ์ค์ฉ ๋น๋ฐ๋ ์ธ์คํจ๋ฌ๋ฅผ ํฐ๋ฏธ๋์ ๋๋๊ทธํด์ ๋ฃ๊ณ ์ํฐ๋ฅผ ๋๋ฌ์ฃผ์ธ์.

์ค์น๊ฐ ์ ๋๋ฌ๋ค๋ฉด ์ด๋ ๊ฒ Launch_Vivado๋ผ๋ ํ์ผ์ ์์ด์ฝ์ด ์๊ธด ๊ฒ์ ํ์ธํ ์ ์์ ๊ฑฐ์์. ์ด๊ฑธ ๋๋ฌ์ vivado๋ฅผ ์คํ์ํฌ ์ ์์ต๋๋ค.

์ ๊ฐ ํ ์คํธํด๋ณธ ๊ฒฐ๊ณผ, ํฉ์ฑ๊น์ง ์์ผ๋ณด์ง๋ ์์์ง๋ง ์ ์ด๋ ์๋ฎฌ๋ ์ด์ ๊น์ง๋ ์ ์๋ํ๋ ๊ฒ์ ํ์ธํ ์ ์์์ต๋๋ค. ์ด์ ๋งฅ๋ถ์์๋ ๋น๋ฐ๋๋ฅผ ์ฌ์ฉํ์ค ์ ์์ต๋๋ค!
๐ [๊ฒฝํ ๊ณต์ ] Apple Silicon์์ Vivado ์คํ๋ผ์ธ ์ค์น + ์คํ ์ฑ๊ณต ํ๊ธฐ (with Docker + Rosetta2)
๋จผ์ ์์คํ ์ ๋ณด๋ฅผ ๊ณต์ ํด์ฃผ์ @vantaa89 ๋๊ป ๊น์ด ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์คํฌ๋ฆฝํธ ์์ ๊ฒฐ๊ณผ๋ฌผ์
https://github.com/dsbaek2020/vivado-on-silicon-mac/tree/main ์ ์์ต๋๋ค.
๐ก ํ: Vivado๊ฐ ์ค๊ฐ์ ๋ฉ์ถ ๋
ํฉ์ฑ(Synthesis) ๋๋ ์ํ๋ฆฌ๋ฉํ
์ด์
(Implementation) ์ค ๋น์ ์ ์ข
๋ฃ๋๊ฑฐ๋ ๋นํธ์คํธ๋ฆผ ์์ฑ ์ค ํ๊ธฐ๋ ๊ฒฝ์ฐ๊ฐ ๊ฐํน ๋ฐ์ํ๋๋ฐ์,
์ด๋ด ๋ ๋จผ์ RTL Analysis ๋ฅผ ์ํํ๊ณ Design์ ์ด์ด๋ณธ ํ ์คํํ๋ฉด ์์ ์ฑ์ด ํฅ์๋์์ต๋๋ค.
๐ ๋ง๋ฌด๋ฆฌ
(Xilinx ํด๋์ ๋น๋ฐ๋ ํฌํจ Vitis ๋ ์๋ค์. Vitis IDE ๋ ์คํ์ ์๋จ.. ๋์ปค๋ฆฌ๋
์ค์ ๊ทธ๋ํฝ UI ์์ง์ด ์์ด์ ๊ทธ๋ฐ๊ฒ ๊ฐ์ต๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ด ์ค์น๋ Xilinx ํด๋๋ 50๊ธฐ๊ฐ ์ ๋ ์
๋๋ค.)
"์ฆ๊ฑฐ์ด RTL/์๋ฒ ๋๋ ์ค๊ณ ๐"
๊ฐ์ฌํฉ๋๋ค. ๐
ํน์ ์ง๊ธ์ ํฉ์ฑ๋ ํด๋ณด์ จ๋์? ํด๋ณด์ จ์ผ๋ฉด ๋ฌธ์ ์์ด ์ ๋์ จ๋์งโฆ ๊ทธ๋ฆฌ๊ณ ๋งฅ๋ถ SSD ์ฉ๋ ๊ถ๊ธํฉ๋๋ค!!