๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ธฐ๋ณธ ์ ํ์ ์ ๊ณตํ๋ฉฐ, ์ด๋ ๊ฑฐ์ ํญ์ ๋์ผํฉ๋๋ค. int, float, boolean, struct, record, char ๋ฑ 1995๋ ์ดํ์ ๋ง๋ค์ด์ง ์ธ์ด๋ผ๋ฉด string๋ ์์ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ ํํ์ง ์์ ๊ธฐ๋ณธ ์ ํ์ด ์์ต๋๋ค. ๋ฐ๋ก ์ค๋์ค์ ๋๋ค. ์ด๋ฒ ์ฃผ์๋ ๊ฐ์ฅ ์ค์ํ ๋ด์ฅ ์ ํ์ด ์ค๋์ค์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด ์ธ์ด์ ์ด๋ฆ์ Faust์ด๋ฉฐ ๋์งํธ ์ ๊ธฐ, ์ํํธ์จ์ด ์ ๊ธฐ, ์ํฅ ํจ๊ณผ ์์ฑ๊ธฐ์ ๊ฐ์ ์ค๋์ค ์ฒ๋ฆฌ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ฌํ ์ค๊ณ ์๊ตฌ ์ฌํญ์์ ๋์จ ์ธ์ด๋ ์ ๋ง ํฅ๋ฏธ๋กญ์ต๋๋ค. ๋ง์น ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์์ ์คํ๋์ค์ ๊ฐ๋ํ ์์์ ์ผ์ด๋ธ์ด ๋ง๋ ๊ฒ ๊ฐ์ต๋๋ค. Faust๊ฐ ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ์๋ํ๋์ง ์์๋ณด๊ธฐ ์ํด ํ๋์ค ๊ตญ๋ฆฝ ์์ ์ฐฝ์ ์ผํฐ์์ ๊ฐ ์จ Faust ๊ฐ๋ฐ์, ์ฐ๊ตฌ์, ๊ต์ก์์ธ Romain Michon๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ๋ณด์์ต๋๋ค. ๊ทธ๋ Faust๊ฐ ๋ฌด์์ด๋ฉฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ค๋ช ํด ์ค ๊ฒ์ ๋๋ค. ์ ๋ ์ด ๋ํ ์ ์ฒด๋ฅผ ์ค๋์ค ํ์ดํ๋ผ์ธ ํ๋ก๊ทธ๋๋ฐ์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด์ ๋ณด๋ด๋ ค๊ณ ํ์ต๋๋ค. ํ์ง๋ง Faust๋ C, Rust, JavaScript, WASM์ผ๋ก ์ปดํ์ผ๋๊ณ ๊ณง ์นฉ์ ๋ก์ง ๊ฒ์ดํธ๋ฅผ ์ง์ ๊ตฌ์ฑํ๋ ๋ช ๋ น์ด๋ก ์ปดํ์ผ๋ ์ ์๋ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ์คํ ์ ์ฒด๋ฅผ ์ดํด๋ณด๋ฉด์ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅํ ํ๋์จ์ด๊น์ง ๋ค๋ฃจ๊ฒ ๋์์ต๋๋ค. ์ด ์ํผ์๋์์๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๋ถํฐ 1๊ณผ 0๊น์ง, ๊ทธ ์ฌ์ด์ ์ค๋์ค๋ฅผ ๋ค๋ฃจ๋ ๋ชจ๋ ๊ฒ์ ๋ค๋ฃน๋๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ด ๋ง์ผ๋ ๋ฐ๋ก ์์ํด ๋ณด๊ฒ ์ต๋๋ค. ์ ๋ ์ฌ๋ฌ๋ถ์ ํธ์คํธ Kris Jenkins์ด๊ณ , ์ค๋์ Developer Voices๋ Romain Michon์ ๋ชฉ์๋ฆฌ์ ๋๋ค.
์ค๋ Romain Michon๊ณผ ํจ๊ปํฉ๋๋ค. Romain, ์๋ ํ์ธ์?
์ ์ง๋ด์, Kris. ํด๊ฐ ํ ๋ง ๋์์์ ํธ์ํด ๋ณด์ด์๋ค์.
ํด๊ฐ๋ ์ข์์ด์. ์ ์ทจํฅ์๋ ์กฐ๊ธ ์งง์์ง๋ง ๋ค์ ์ผ์ ์์ํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๋น์ ์ ์ผ์ ์ด ํฅ๋ฏธ๋ก์ด Faust ์ธ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ด์ฃ . ๊ทธ๋ผ ๊ฑฐ๊ธฐ์๋ถํฐ ์์ํด ๋ณผ๊น์? Faust๋ ๋ฌด์์ด๋ฉฐ ์ ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ง๋ค์๋์?
Faust๋ ์ค์๊ฐ ์ ํธ ์ฒ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ์ฆ, DSL(Domain Specific Language)์ ๋๋ค. Faust๋ ๋ฒ์ฉ ์ธ์ด๊ฐ ์๋๋๋ค. Faust๋ ํ ๊ฐ์ง ์์ , ์ฆ ์ค์๊ฐ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
์๊ฒ ์ต๋๋ค. ์ค์๊ฐ์ด๋ผ๋ ๊ฒ์ด ์ด๋ ค์ด ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ ๋ง๋์?
๋ค, ๋ง์ต๋๋ค. Faust๊ฐ ๋ง๋ค์ด์ง ์ด์ ๋ ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ค๋์ค ํ๋ก๊ทธ๋๋ฐ์ ๋ ๋์ ์์ค์์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๊ธฐ ์ํด์์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ค์๊ฐ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ๋ ค๋ฉด C, C++ ๋๋ Rust๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ปดํ์ผ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์๋ํ๋ฉด ์ด๋ฌํ ์ข ๋ฅ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ง ์ ์ง์ฐ ์ค๋์ค ์ฒ๋ฆฌ์ ๊ฐ์ ์์ ์ ์ํํ๋ ๋ฐ ํ์ํ ์ค์๊ฐ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ์ค๋์ค ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค๊ฑฐ๋ ๋ฐ์คํฌํฑ ์ปดํจํฐ์์ ์ค์๊ฐ ์ค๋์ค ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ ๋ ๋ฆฝ ์คํํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด C, C++ ๋๋ Rust๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Rust๋ ์ด๋ฅผ ์ํํ๋ ์๋ก์ด ๋ฐฉ๋ฒ์ด์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์ปดํ์ผ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์์๋ค์ํผ ์ด๋ฌํ ์ธ์ด์ ๋ฌธ์ ์ ์ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๊ณ ์ปดํจํฐ ๊ณผํ์ ๋ํ ๋ฐฐ๊ฒฝ ์ง์์ด ์ ํ์ ์ธ ์ฌ๋๋ค์ด ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ Faust๊ฐ ๋ง๋ค์ด์ง ์ด์ ๋ ์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ ๊ณตํ๊ธฐ ์ํด์์์ต๋๋ค. Faust๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๋์ ์์ค์ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ ๊ณตํ์ง๋ง ์ปดํ์ผ๋ ์ธ์ด์ ๋์ผํ ์ข ๋ฅ์ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์๊ฒ ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ค๋ช ํด ์ฃผ์๊ฒ ์ด์? ์ด ํ์บ์คํธ๋ฅผ ๋ น์ํ ๋ ๋ฐฉ์ ์ํฅ์ ์ ๊ฑฐํ๋ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ํฅ์์ ์ค๋์ค์์ ๋ถ๋ฆฌํ๋ ค๋ ๊ทธ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ์ฌ๋์ ์ํ ๊ฒ์ธ๊ฐ์?
๋ค, ๋ง์ต๋๋ค. ์ค๋์ค ์ฒ๋ฆฌ์ ์๋ ๋งค์ฐ ๋ง๊ณ , ์ง๊ธ ๋ง์ํ์ ๋๋ก ์ด ๋ น์์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์ฝ๋ฅผ ์ ๊ฑฐํ๊ฑฐ๋ ๋ฐฉ์ ์์ฐ์ค๋ฌ์ด ์ํฅ์ ์ ๊ฑฐํ๊ธฐ ์ํด ์๋นํ ์์ ์ค๋์ค ์ฒ๋ฆฌ๊ฐ ์งํ๋๊ณ ์์ ๊ฒ์ ๋๋ค. ๋๋ ๋ค์ด๋ด๋ฏน ๋ ์ธ์ง ์์ถ์ด๋ ํํฐ๋ง, ์ฌ์ง์ด ์ผ๋ถ ๊ฒฝ์ฐ์๋ ์ฌ์ด๋ ํฉ์ฑ์ ์ ์ฉํ ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์์ฑ ํฉ์ฑ๊ณผ ๊ฐ์ ์์ ์ ์ํํ๋ ค๋ฉด ์ฌ์ด๋๋ฅผ ํฉ์ฑํด์ผ ํ๋ฉฐ, ์ด๊ฒ์ด ์ค์๊ฐ ์ค๋์ค ์ฒ๋ฆฌ์ ๋ ๋ค๋ฅธ ์ฌ์ฉ ์ฌ๋ก์ ๋๋ค.
์ ์์ฌ์ด์ ์ ๊ฐ์ ๊ฒ๋ ๋ง์ํ์๋ ๊ฑด๊ฐ์?
๋ค, ์ง์ ์๋ ํค๋ณด๋ ์ ์์ฌ์ด์ ์ ๊ฐ์ด ํค๋ฅผ ๋๋ฅด๋ฉด ์๋ฆฌ๊ฐ ๋๋ ๊ทธ๋ฐ ๊ฒ์ Faust๋ก ๋ง๋ค ์ ์์ต๋๋ค.
๊ทธ๋ ๊ตฐ์. Faust ์ฌ์ฉ์๋ ๋๋ถ๋ถ ์ ์์ค C ์์ง๋์ด๋ง ํ๋ก๊ทธ๋๋จธ๋ ์๋์ง๋ง ํ์ด๋ธ๋ฆฌ๋ ํ๋ก๊ทธ๋๋จธ ๊ฒธ ์์ ๋์์ด๋์ ๊ฐ์ ํ๋ก๊ทธ๋๋จธ์ธ๊ฐ์?
์ข์ ์ง๋ฌธ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค๊ฑฐ๋ ์ด๋ฐ ์ข ๋ฅ์ ์์ ์ ํ๋ ํ์ฌ์์ ์ผํ๋ ๊ฒฝ์ฐ ๋ ๊ฐ์ง ์ ํ์ ์์ง๋์ด๊ฐ ์์ต๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฐํ๋ ์ฌ๋๊ณผ ๊ธฐ๋ณธ์ ์ผ๋ก DSP ์์ง๋์ด๋ผ๊ณ ๋ถ๋ฅด๋ ์ฌ๋์ด ์์ต๋๋ค. ์ด๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ด๋๋ฅผ ์ฒ๋ฆฌํ๋ ์ํ์ ์ฐ๊ตฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์ฌ๋๋ค์ด ํ๋ ์ผ์ ๊ฐ์ ธ๋ค๊ฐ ์ปดํจํฐ๋ ์ค๋งํธํฐ ๋ฑ์์ ์ค์๊ฐ์ผ๋ก ์๋ํ๋๋ก ๊ตฌํํ๋ ์ํํธ์จ์ด ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด ๋ ์ฌ๋์ ์ด ์์ ์ ์ํํ๋ ๋ฐ ๋์ผํ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. DSP ์์ง๋์ด๋ MATLAB์ด๋ Python๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์๊ณ ๋ฆฌ์ฆ ํ๋กํ ํ์ ์ ์ ์ํ๊ณ , ์์ ํ์ ๊ตฌํํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ C, C++, Rust, JavaScript, ์น์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์น ์ด์ ๋ธ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ธ์ค์์ ์ด๋ฌํ ๋ ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค. Faust๊ฐ ์ ๊ณตํ๋ ๊ฒ์ DSP ์์ง๋์ด๊ฐ Python์ด๋ MATLAB์์ ์ป์ ์ ์๋ ๊ฒ๊ณผ ๋์ผํ ์์ค์ ์ ๊ทผ์ฑ์ ๋๋ค. ํ์ง๋ง ๊ตฌํ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ฉด ๋ฐ๋ก ๋ ๋ฎ์ ์์ค์ ๊ฒฐ๊ณผ๋ฌผ์ ์ป์ ์ ์์ต๋๋ค. ์ด๋ค ์๋ฏธ์์๋ ๋ ๊ฐ์ง ์ฅ์ ์ ๋ชจ๋ ์ป๋ ์ ์ ๋๋ค.
๊ทธ๋ ๊ตฐ์. ์์ ์ ํนํ๋ ํํ๋ ฅ์ ๊ฐ์ถ ์ธ์ด์ C์ ์ฑ๋ฅ์ผ๋ก ์ปดํ์ผ๋๋ ์ธ์ด๋ฅผ ๋ชจ๋ ๊ฐ์ถ ์ธ์ด๊ฐ ์๋ค๋ฉด ์ด๊ฒ์ด ๋ชฉํ๊ฐ ๋๋๊ตฐ์.
๋ค, ๋ง์ต๋๋ค. ์ ๊ฐ ์์ง ๋ง์๋๋ฆฌ์ง ์์ ์ค์ํ ์ ์ด ํ๋ ์์ต๋๋ค. Faust๋ ํธ๋์คํ์ผ๋ฌ๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋ ๋ฎ์ ์์ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ปดํ์ผํฉ๋๋ค. ์ฆ, Faust๋ ๋ ๋ฎ์ ์์ค์ ์ธ์ด๋ก ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust๋ก ์ฝ๋๋ฅผ ์์ฑํ ๋ค์ C, C++, ์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ Rust, ์น ์ด์ ๋ธ๋ฆฌ, Java, JavaScript๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. Faust์ ๋์์ ๋งค์ฐ ๋ง์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust๋ก ์์ฑํ ๋ชจ๋ ๊ฒ์ ๋ ๋ฎ์ ์์ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ Faust ์์ฒด๊ฐ ๋ฐ๋์ ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์๋๋๋ค. ํ์ง๋ง Faust๋ ๋ ๋ฎ์ ์์ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ด๋ฌํ ์ธ์ด๋ ์์ฒด์ ์ผ๋ก ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๊ทธ๋ ๊ตฐ์. Faust๋ฅผ ์ฌ์ฉํ์ฌ C๋ฅผ ์์ฑํ ๋ค์ ์๋ ์ปดํ์ผ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์ต์ข ์ ํ์ ๋ง๋๋๊ตฐ์.
๋ค, ์ฌ๋ฌ ์ธ์ด๋ก ๋ด๋ณด๋ด๋ ๊ฒ์ ๊ณ ๋ คํ๋ฉด ๊ด๋ฆฌ๊ฐ ๋ฌธ์ ๊ฐ ๋ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ง๋ง ๊ทธ ๋ถ๋ถ์ ์ดํด๋ณด๊ธฐ ์ ์ Java๋ผ๊ณ ๋ง์ํ์ ์ ๋๋์ต๋๋ค. ์ด ๋๋ฉ์ธ์๋ ์ปดํ์ผ๋ ์ธ์ด๊ฐ ํ์ํ๋ค๋ ๊ฒ์ ์ ์ ์์ง๋ง ์ผ์ ์ค์ง๊ฐ ํ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋น์ง ์์ง๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ธ์ด๋ ํ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋ค, Faust ์ปดํ์ผ๋ฌ๊ฐ ์ฒ์ ์ค๊ณ๋์์ ๋๋ ์ฌ๋ฌ ์ธ์ด๋ก ๋ด๋ณด๋ผ ์ ์๋๋ก ์ค๊ณ๋์๊ธฐ ๋๋ฌธ์ Faust ์ปดํ์ผ๋ฌ์ ์๋ก์ด ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ์ฝ์ต๋๋ค. ์ฆ, ์๋ก์ด ์ธ์ด๊ฐ ๋ฑ์ฅํ๋ฉด ํด๋น ์ธ์ด๋ฅผ ์ง์ํ๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ๋ณต์กํ์ง ์์ต๋๋ค. ์ค์ง์ ์ธ ๊ด์ ์์ Java๋ก ์ฝ๋๋ฅผ ๋ด๋ณด๋ด๋ ๊ฒ์ ์ค์ ๋ก C++๋ก ์ฝ๋๋ฅผ ๋ด๋ณด๋ด๋ ๊ฒ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ต๋๋ค. ๊ตฌ๋ฌธ์ ์ผ๋ก ๋งํ๋ฉด Java์ C++๋ DSP ์๊ณ ๋ฆฌ์ฆ์ ํํํ๋ ๋ฐ ์์ด์ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ต๋๋ค. ๋ฐ๋ผ์ Java๋ฅผ ์ง์ํ๋ ์ด์ ๋ ์ด๋ค ์์ ์ ๋๊ตฐ๊ฐ๊ฐ ์์ฒญํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง Faust์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋์์ ์๋๋๋ค. ์ฌ์ค, ์ต์ ๋ฒ์ ์ Faust ์ปดํ์ผ๋ฌ๋ ๋ ์ด์ Java๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด ๋ถ๋ถ์ ์์ด๋ฒ๋ฆฌ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ํ์ง๋ง JavaScript๋ ๋น์ทํ ๊ฒฝ์ฐ์ฃ . ์น ์ด์ ๋ธ๋ฆฌ๋ ๊ฐ๋น์ง ์์ง๊ธฐ๊ฐ ์์ง๋ง ์ฝ๊ฒ ์ง์ํ ์ ์๋ค๊ณ ๋ง์ํ์๋๊ตฐ์. ๋ฐํ์์ผ๋ก๋ ์ต์ ์ ์ ํ์ด ์๋ ์๋ ์์ง๋ง ์ง์ํ ์๋ ์์ต๋๋ค.
๋ค, ๋ฐํ์ ์ธก๋ฉด์์ ์ต์์ ์ฑ๋ฅ์ ์ป์ผ๋ ค๋ฉด ์ ํ์ ํญ์ด ๊ทธ๋ ๊ฒ ๋์ง ์์ต๋๋ค. ์์ ๋ง์๋๋ฆฐ ๋๋ก ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์น ์ด์ ๋ธ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๊ณ , ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ธฐ์กด์ ์ปดํ์ผ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์์ฆ ์ฌ๋๋ค์ด ์ฌ์ ํ ์ฌ์ฉํ๋ ์ปดํ์ผ๋ ์ธ์ด๋ ๊ทธ๋ ๊ฒ ๋ง์ง ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก C, C++, Rust๊ฐ ์ ๋ถ์ ๋๋ค.
์์ฑ์๊ฐ ์ค๋์ค ์ํฌ์คํ ์ด์ ์ ๋ง๋ค๋ ค๊ณ ํ๋ค๊ฐ ์ฐ์ฐํ ๋ง๋ค์ด์ง ์ธ์ด๊ฐ ์๋๋ฐ, ๊ทธ ์ธ์ด๋ ์ง์ํ๋์? ์์งํ ๋ง์๋๋ฆฌ์๋ฉด ๊ทธ ์ธ์ด์ ๋ํด ๋ค์ด๋ณธ ์ ์ ์์ง๋ง ์ ํํ ์ด๋ป๊ฒ ์๋ํ๋์ง, ๋ฌด์์ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ค, ๊ทธ๋ ๊ตฐ์. ๊ทธ๋ผ Faust ์์ฒด๋ก ๋์๊ฐ์ ์ค๋์ค ์ฒ๋ฆฌ์ ์ ํฉํ ์ธ์ด๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํ๋์? ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์? ์ด๋ป๊ฒ ๋ค๋ฅด๊ฒ ๋ณด์ด๋์?
์ด๋ ค์ด ์ง๋ฌธ์ด๋ค์. ์๋ง๋ ๋งค์ฐ ๊ธด ๋ต๋ณ์ด ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ต๋ํ ์งง๊ฒ ๋ต๋ณํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค. Faust์ ๋ํด ๊ฐ์ฅ ๋จผ์ ์์์ผ ํ ๊ฒ์ ํจ์ํ ์ธ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๋ช ๋ นํ ์ธ์ด๊ฐ ์๋๋๋ค. ๋ฐ๋ผ์ ๋ช ๋ นํ ์ธ์ด์ธ C, C++, Rust์๋ ๋งค์ฐ ๋ค๋ฆ ๋๋ค. Faust๋ ์ด๋ฌํ ๋ฉด์์ ๋งค์ฐ ๋ค๋ฆ ๋๋ค. ๋ ํ ๊ฐ์ง ๋ง์๋๋ฆฌ๊ณ ์ถ์ ๊ฒ์ Faust๋ ์๋ Yann Orlarey๋ผ๋ ์ฌ๋์ด ๋ง๋ค์๋ค๋ ๊ฒ์ ๋๋ค. Yann์ ์ง๊ธ๋ Faust ์์ ์ ํ๋ฐํ ํ๊ณ ์์ต๋๋ค. ์ฌ์ค, ์ ํฌ๋ ์ฌ๊ธฐ ๊ฐ์ ํ์ ์ํด ์์ด์ ์๋ก ์์ฃผ ๋ด ๋๋ค. Yann์ ํญ์ ํจ์ํ ์ธ์ด๋ฅผ ์ฐ๊ตฌํด ์๊ณ ๋๋ค ๋ฏธ์ ๋ถ์ด๋ผ๋ ๊ฐ๋ ์ ๋งค์ฐ ๊ด์ฌ์ด ๋ง์ ์ฌ๋์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Yann์ ์ด๋ฌํ ์์น์ ๊ฒฐํฉํ ์ค๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ง๋ค๋ ค๊ณ ํ์ต๋๋ค. Faust๋ ๋๋ค ๋ฏธ์ ๋ถ์ ์์น์ ์ฐจ์ฉํ์ผ๋ฉฐ ๋งค์ฐ ํจ์ํ์ ์ธ ์ธ์ด์ ๋๋ค. Yann์ด ์ด ์ธ์ด๋ฅผ ๋ง๋ค์์ ๋์ ์ฃผ์ ํ์ ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณด๋ค ์ค๋์ค ์๊ณ ๋ฆฌ์ฆ์ ์ฝ๋ฉํ๋ ๋ฐ ๋ ๋์ ํจ๋ฌ๋ค์์ ์ ๊ณตํ๋ค๋ ๊ฒ์ด์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ทธ ์ด์ ๋ ๋ฌด์์ผ๊น์? ์๋ ์๋ ์ฌ๋๋ค์ด ์ค๋์ค ์ฒ๋ฆฌ๋ฅผ ํ ๋ ๋ฐ๋์ ๋์งํธ ๊ธฐ์ ์ ์ฌ์ฉํ์ง๋ ์์์ต๋๋ค. ์๋ ๋ก๊ทธ ํ๋ก๋ฅผ ์ฌ์ฉํ์ฃ . ๋ค, ๋ง์์. ๊ทธ๋์ ์ ํญ, ํธ๋์ง์คํฐ, ํธ๋์ง์คํฐ๋ ์๋์ง๋ง ์ปคํจ์ํฐ์ ๋ค์ํ ๋ถํ์ ํจ๊ป ์ฐ๊ฒฐํ์ฌ ํํฐ๋ ์ฌ์ด๋ ์ ์์ฌ์ด์ ์ ๊ฐ์ ๊ฒ์ ๊ตฌํํ์ต๋๋ค. ์ด๋ฅผ ํํํ๊ธฐ ์ํด ํ๋ก์ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๊ทธ๋ ธ์ต๋๋ค. ์ด๋ค ์๋ฏธ์์ ํ๋ก์ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ์์ ์ด ์์ฐจ์ ์ผ๋ก ๋ฐ์ํ๋ ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณด๋ค ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ๋ ๊ฐ๊น์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust๋ ์ด๋ฌํ ์ ์ ์ผ๋์ ๋๊ณ ์ค๊ณ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust๋ ๋ฐ์ดํฐ ํ๋ฆ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ณผ ์ ์์ต๋๋ค. ๋ฉ์ง๋ค์. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ธ๋ก์ ๋ธ๋ก์, ๋ธ๋ก์ ๋ธ๋ก์ ์ฐ๊ฒฐํ๊ณ ๋ธ๋ก์ ๊ฒฐํฉํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํฉ๋๋ค. ๋ช ๋ นํ ์ธ์ด์์๋ ๊ทธ๋ ๊ฒ ํ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ ํ๋ฆ ์ฐ๊ฒฐ์ ๋ง๋ค ์๋ ์์ง๋ง ์ธ์ด์ Faust๋งํผ ๊น์ด ๋ด์ฅ๋์ด ์์ง๋ ์์ต๋๋ค. ๊ทธ๊ฒ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋๋ค.
๋ฐ์ดํธ ๋ฐฐ์ด์ ๋ฐ๋ณตํ ๋ค์ ๋ฐ์ดํธ ์ฒญํฌ๋ก ์ฒด์ธ์ ๋ค์ ํจ์๋ฅผ ํธ์ถํ๋ ๋์ ๋งต ์คํธ๋ฆผ ์ฒ๋ฆฌ ์คํ์ผ ํ๋ก๊ทธ๋๋ฐ์ ๋ ๋ง์ด ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
Faust๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๊ตฌ์ถํ ์ ์๋ ์ธ์ด์ ๋๋ค. Faust ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ํ๋ ์ผ์ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ์ค๊ณํ๋ ๊ฒ์ ๋๋ค. ์ค์ ๋ก ์ธ์ด์ ์๋ฏธ๋ก ์ ๋๋ฌด๋ ๊น์ด ๋ด์ฅ๋์ด ์์ด์ ์คํฌ๋ฆฝํธ ์ธ์ด์ธ Faust ํ๋ก๊ทธ๋จ์ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. Faust ์น IDE(faustide.grame.fr์์ ์ฐพ์ ์ ์์)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Faust ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ํ์ด์ง ํ๋จ์ ์์ฑ ์ค์ธ ํ๋ก๊ทธ๋จ์ ํด๋นํ๋ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ด ์๋์ผ๋ก ํ์๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust์์ ์์ฑํ๋ ๋ด์ฉ์๋ ํญ์ ๊ทธ๋ํฝ ๋์ ๊ด๊ณ๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ Faust์ ์ค๋์ค ์ฒ๋ฆฌ์ ์ฌ์ฉํ ์ ์๋ ๋ค๋ฅธ ์ธ์ด์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ค ํ๋๋ ์ด๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. Faust์์๋ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๊ตฌ์ถํ๋ฏ๋ก ์ค๋์ค ํ๋ก์ธ์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ด๋ค ์ข ๋ฅ์ ์์ ์ ๋ค๋ฅธ ์์ ์ ์ฐ๊ฒฐํ๊ณ , ๋ ๋ค๋ฅธ ์์ ์ ์ฐ๊ฒฐํด์ผ ํ๋ฉฐ, ํญ์ ์ด์ ํด๋นํ๋ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ด ์์ต๋๋ค.
๊ธฐํ ํ๋ฌ ๋ณด๋๋ฅผ ๋๋ฌด ๋ง์ด ์ค๊ณํ ๊ฒ์ ๋ ์ฌ๋ฆฌ๊ฒ ํ๋ค์. ๊ธฐํ๋ฅผ ์์ฝ, ์ปดํ๋ ์ ๋ฑ์ ์ฐ๊ฒฐํฉ๋๋ค.
๋ฐ๋ก ๊ทธ๊ฑฐ์์. ๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋ ์ผ์ด ๋ฐ๋ก ๊ทธ๊ฒ๋๋ค. ํํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๋ณธ ์ํ ์ฐ์ฐ์ ์กฐํฉ์ ๋๋ค. ๋ง์ , ๋บ์ , ๋๋ก๋ ๊ณฑ์ ๊ณผ ์ง์ฐ์ด์ฃ . Faust์์ ํํฐ๋ฅผ ์ฝ๋ฉํ๋ ค๋ฉด ๋ง์ , ๋บ์ , ๊ณฑ์ , ์ง์ฐ์ ๊ฒฐํฉํ ์ฌ๋ฐ๋ฅธ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๋ง๋ค๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์ด๋ค ์๋ฏธ์์๋ ์ด๋ฌํ ์์ ์ ์ํํ๋ ๋ฌผ๋ฆฌ์ ํ๋ก์ ์ ์ฌํฉ๋๋ค. ์ปคํจ์ํฐ๋ ์ง์ฐ์ ๋ฐ์์ํค๊ณ , ์ ํญ์ ๊ณฑ์ ์ด๋ ๋๋์ ๊ณผ ๊ฐ์ต๋๋ค. ์ด๋ฌํ ๊ฒ๋ค์ ์กฐํฉํ์ฌ ๋ง๋ค ์ ์์ต๋๋ค.
๋ค, ๋ง์์. ๊ทธ๋ผ ์ด๊ฑธ ์์ ๊ด๋ จ ์์ ์๋ง ์ฌ์ฉํ๋์? ์๋๋ฉด ์ ๊ฐ ๋ชจ๋ฅด๋ ๋ค๋ฅธ ์ข ๋ฅ์ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ๊ฐ ์๋์?
์, ์ด ์ง๋ฌธ์ ๋ํ ๋ต์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ ํต์ ์ผ๋ก ์ค๋์ค DSP๋ ํญ์ ์์ ๊ณผ ๋ฐ์ ํ ๊ด๋ จ์ด ์์์ต๋๋ค. ์๋ํ๋ฉด 20์ธ๊ธฐ ํ๋ฐ์ ์์ ๊ธฐ์ ์ ์ฐ๊ตฌํ ์ฌ๋๋ค์ด ์ง๊ธ ์ฐ๋ฆฌ๊ฐ ์ปดํจํฐ, ์๋์ฐจ, ์คํผ์ปค ๊ธฐ์ ๋ฑ์์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ค๋์ค ๋์งํธ ์ธํ๋ผ๋ฅผ ๊ฐ๋ฐํ ์ฌ๋๋ค๊ณผ ๊ฐ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์์ ์ด ์ ์ผํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋๋๋ค. ์ค๋งํธํฐ์๋ ์ฌ์ด๋๊ฐ ์๊ณ , ํค๋ํฐ์๋ ์ฌ์ด๋๊ฐ ์๊ณ , ์คํผ์ปค์๋ ์ฌ์ด๋๊ฐ ์์ต๋๋ค. ์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ์ง๊ธ์ฒ๋ผ ํ์ ํ์๋ฅผ ํ ๋๋ ์ฌ์ด๋๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ๋น์ฐํ ์ง๊ธ ์ฐ๋ฆฌ๊ฐ ๋งํ๋ ๋์์๋ ์ฌ์ด๋ ์ฒ๋ฆฌ๊ฐ ์งํ๋๊ณ ์์ต๋๋ค. ์ด ํ์ ๋ นํ๋ฅผ ํ๋ ๋์์๋ ๋ง์ด์ฃ . ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ด๋๊ฐ ์๋ ๊ณณ์ด๋ผ๋ฉด ์ด๋๋ ์ด๋ค ์ข ๋ฅ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ฉฐ, Faust๋ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ง ๊ตญํ๋์ง ์๊ณ ์ฌ์ด๋ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๋ชจ๋ ์ข ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ , ์ฆ ์ค๋๋ ์ฐ๋ฆฌ ์ฃผ๋ณ์ ๋ชจ๋ ๊ณณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค, ๋ง์์. ๋ช ๋ ์ ์ iOS์ฉ Objective-C ์ค๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ๋ณด๋ ค๊ณ ํ๋ ๊ธฐ์ต์ด ๋๋๋ฐ, ๋๋ฌด ์ ์์ค์ด์๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์ด์ง ์๋ ๊ฒฝํ์ด์์ต๋๋ค. ๋ค, ์ ํฌ ๋ชจ๋ ๊ทธ๋ฐ ๊ฒฝํ์ ํด๋ดค์ ๊ฑฐ์์.
๋ ๋์ ์์ค์ ๋ฌด์ธ๊ฐ๊ฐ ํ์ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋์ ๊ถ๊ธํ ์ ์ด ์๊ฒผ์ต๋๋ค. ์ด ์ธ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์์ ํ๊ฐ์? ์ ํ ์์ ํ๊ฐ์? ๊ทธ๋ฐ ๋ฌธ์ ์ ๋ํด ๊ฑฑ์ ํ์๋์?
๊ทธ๋ ์ง๋ ์์ต๋๋ค. Faust๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ธก๋ฉด์์ ์์ ํ์ง ์๋ค๋ ๋ง์ ์๋์ง๋ง ์ ํ ์ธก๋ฉด์์ Faust๋ ํ๋์ ์ ํ๋ง ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ฐ๋ก ์ค๋์ค ์ ํธ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust์์ ํํํ ์ ์๋ ๊ฒ์ ์ค๋์ค ์ ํธ๋ฟ์ด๋ฉฐ, Faust ์ปดํ์ผ๋ฌ๊ฐ ์ ์์ค์์ int, float ๋ฑ ๋ฌด์์ด ๋ ์ง ์๋์ผ๋ก ๊ฒฐ์ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust ์ปดํ์ผ๋ฌ๋ Faust์์ ์์ฑํ ๋ด์ฉ์ ์๋์ผ๋ก ์ต์ ํํ์ฌ C, C++ ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๊ฐ์ฅ ์ต์ ํ๋ ์ฝ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ ์ ํ ์ธก๋ฉด์์ Faust๋ ํ๋์ ์ ํ๋ง ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์์ ํ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ๋ ๋ฎ์ ์์ค์์ ์ด๋ฃจ์ด์ง๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust ์ปดํ์ผ๋ฌ๋ C, C++ ๋๋ Faust์์ ์ง์ํ๋ ๋ชจ๋ ์ธ์ด๋ก ๊ฐ์ฅ ์ต์ ํ๋ ์ฝ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ก ์ ์ผ๋ก Faust ์ปดํ์ผ๋ฌ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๊ด๋ จํ์ฌ ์๋ชป๋ ๊ฒฐ์ ์ ๋ด๋ฆฌ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ Faust์์๋ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ฐ ๊ฒ์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ต๋๋ค.
๊ฐ๋น์ง ์์ง๊ธฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ด ์๋๋ผ ์ค๋์ค ์ ํธ๋ฅผ ์ฒด์ธ ์๋๋ก ์ ๋ฌํ ๋์ฏค์ด๋ฉด ๋ ์ด์ ๊ฑฑ์ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํํ ์ ์๋ ํน๋ณํ ๊ฒฝ์ฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ค, ๋ง์ต๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ๊ฐ๋น์ง ์์ง๊ธฐ๊ฐ ๊ผญ ํ์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์๊ฐ ์ค๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ฐํด ๋ณด๋ฉด ๋ชจ๋ ๊ฒ์ด ํญ์ ์คํ๋๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ค์ ์ ์ ํ๋ก์ ํจ๋ฌ๋ค์์ ์๋ก ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ํ๋ก์ ์ผ์ชฝ์์ ๋ฌด์ธ๊ฐ๊ฐ ๋ค์ด์ค๋ฉด ํญ์ ์ค๋ฅธ์ชฝ์์ ๋ฌด์ธ๊ฐ๊ฐ ๋์ค๊ณ ๊ทธ ์ฌ์ด์ ์๋ ๋ชจ๋ ๊ฒ์ด ํญ์ ์๋ํฉ๋๋ค. ๋ฐ๋ผ์ ์ค๋์ค ์ฒ๋ฆฌ์์๋ ๊ฐ๋น์ง ์์ง์ ๋ง์ด ํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ํญ์ ์คํ๋๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค, ๋ง์์. ๋ผ์ด๋ธ ์คํ ํ๋ก์ธ์ค๊ฐ ์๊ณ , ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๋ฉด ๋ฐ์ดํฐ๊ฐ ์ ์ก๋ฉ๋๋ค. ๋ค, ๋ง์ต๋๋ค.
์ด์ ๋ด๋ถ ์ํคํ ์ฒ๋ฅผ ์ดํด๋ณด๊ณ ์ถ์ง๋ง, ํ ๊ฐ์ง ์ง๋ฌธ์ด ๋ ์์ต๋๋ค. ๋ณ๋ ฌํ๊ฐ ๊ฐ๋ฅํ๊ฐ์? ์ฌ๋ฌ ์ฝ์ด์์ ์ฝ๊ฒ ๋ณ๋ ฌํํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ๋ต์ '์'์ด๊ธฐ๋ ํ๊ณ '์๋์ค'์ด๊ธฐ๋ ํฉ๋๋ค. ๊ฐ์ฅ ๋จผ์ ๊ณ ๋ คํด์ผ ํ ์ ์ ์ผ๋ฐ์ ์ผ๋ก ์ค์๊ฐ ์ค๋์ค ์ฒ๋ฆฌ์ ๊ฒฝ์ฐ ๋๋ฌด ๋ง์ ๋ณ๋ ฌํ๋ฅผ ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ ํต์ ์ผ๋ก ์ฌ๋๋ค์ ์ค์๊ฐ ์ค๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ณ๋ ฌํ๋ฅผ ๋ง์ด ํ์ง ์์์ต๋๋ค. ์๋ํ๋ฉด ์ค์๊ฐ ์ค๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค๋ ๋ ์์ ์ฑ์ ํ๋ณดํ๋ ๊ฒ์ด ๊ผญ ํ์ํ์ง๋ ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ค์๊ฐ ์ค๋์ค๋ ํ๋ก๊ทธ๋๋ฐ์์ ๋งค์ฐ ํน์ํ ๊ฒฝ์ฐ์ ๋๋ค. ์๋ํ๋ฉด ์ค์๊ฐ ์ค๋์ค ์ฒ๋ฆฌ๋ฅผ ์ํํ ๋ ์ค์๊ฐ ์ ์ฝ ์กฐ๊ฑด์ด ๋งค์ฐ ๊น๋ค๋กญ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ ๋น๋์ค ์ฒ๋ฆฌ์ ๊ฐ์ ์์ ์ ์ํํ๋ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ์ด๋น 30๋ฒ, ๋๋ก๋ ์ด๋น 60๋ฒ ์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ฌํด์ผ ํฉ๋๋ค. ํ์ง๋ง ์ด ๊ฒฝ์ฐ์๋ ์ค์๊ฐ ์ ์ฝ ์กฐ๊ฑด์ด ๊ทธ๋ ๊ฒ ๊น๋ค๋กญ์ง ์์ต๋๋ค. ์ค์๊ฐ ์ค๋์ค ์ฒ๋ฆฌ์ ๊ฒฝ์ฐ ์ด๋น 48,000๋ฒ ์ ์ํ์ ์ ๋ฌํด์ผ ํฉ๋๋ค. ์ํ ํ๋๋ฅผ ๋์น๊ฑฐ๋ ์ํ์ด ์ ์๊ฐ์ ์ ๋ฌ๋์ง ์๊ฑฐ๋ ์กฐ๊ธ์ด๋ผ๋ ๋ฆ์ผ๋ฉด ์๋ฆฌ๊ฐ ๋ค๋ฆฝ๋๋ค. ์ฌ์ด๋์ ๋ฏธ์น๋ ์ํฅ์ ์ฆ๊ฐ์ ์ด๋ฉฐ ์ฌ๋๋ค์ ์ด๋ฅผ ๋งค์ฐ ์ ๋ค์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ค๋์ค ์ฒ๋ฆฌ๋ฅผ ์ํํ ๋๋ ์ค์๊ฐ ์ ์ฝ ์กฐ๊ฑด์ด ๋งค์ฐ ๊น๋ค๋กญ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ด๋๋ฆฌ๋ก ์ง์ ์ปดํ์ผ๋๋ ์ ์์ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ์ง๋ง ๋ฌด์จ ์ง๋ฌธ์ ํ์ จ๋์ง ์์ด๋ฒ๋ ธ๋ค์.
๊ธฐํ ํ๋ฌ ๋ณด๋์ ๊ฐ์ ๋น์ ๋ฅผ ๋ ์ฌ๋ฆฌ๊ณ ์์ต๋๋ค. ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ์ฐ๊ฒฐํ์ฌ ํ์ดํ๋ผ์ธ์ ๋ง๋ค์์ต๋๋ค. ์ด๋ฌํ ํ๋ฌ ์ค ํ๋๋ฅผ ๋ค๋ฅธ CPU์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ด๋ ค์ด๊ฐ์?
์, ์ด์ ์ง๋ฌธ์ด ๊ธฐ์ต๋ฌ์ต๋๋ค. Faust๋ Faust๋ก ์์ฑํ ๋ด์ฉ์ ์๋์ผ๋ก ๋ณ๋ ฌํํ ์ ์์ต๋๋ค. Faust ์ปดํ์ผ๋ฌ์๋ ์ฌ์ฉํ ์ ์๋ ์ปดํ์ผ ํ๋๊ทธ๊ฐ ์์ผ๋ฉฐ, ์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ Faust ์ปดํ์ผ๋ฌ์์ ์์ฑ๋๋ ์ฝ๋์ ๋ค์ํ ์ต์ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ Faust ์ปดํ์ผ๋ฌ์์ ์์ฑ๋๋ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋ฒกํฐํํ๊ณ ๋ณ๋ ฌํํ๋๋ก ์์ฒญํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฝ 10๋ ์ ์ Faust ์ปดํ์ผ๋ฌ์ ๊ตฌํ๋์์ผ๋ฉฐ ์ผ์ข ์ ์คํ์ ์ธ ๊ธฐ๋ฅ์ด์์ต๋๋ค. ์ผ๋ถ ์ฌ๋๋ค์ ๋ค์ํ ์๋๋ฆฌ์ค, ํนํ GPU๋ฅผ ์ฌ์ฉํ์ฌ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํด ๋ณด๋ ค๊ณ ํ์ต๋๋ค. GPU์์๋ ๋น์ฐํ ๋ง์ ๊ฒ์ ๋ณ๋ ฌํํ ์ ์์ง๋ง ์ค์ ๋ก ์ฌ๋๋ค์ Faust์ ์ด ๊ธฐ๋ฅ์ ๋ง์ด ์ฌ์ฉํ์ง ์์์ต๋๋ค. Faust ์ปดํ์ผ๋ฌ์์ ์์ฑ๋๋ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋ณ๋ ฌํํ๋ ๊ธฐ๋ฅ ๋ง์ด์ฃ . ๋ฐ๋ผ์ ํ์ฌ ์ธ์ด์ ๋ฉ์ธ ๋ธ๋์น์์ ์ง์๋๋ ๊ธฐ๋ฅ์ด ์๋๋ฉฐ, ์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ์ผ๋ฐ์ ์ผ๋ก ์ค์๊ฐ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ๋ฅผ ์ํํ ๋๋ ๋ณ๋ ฌํ๋ฅผ ๋ง์ด ํ์ง ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋์งํธ ์ค๋์ค ์ํฌ์คํ ์ด์ ์ ์ฌ์ฉํ๊ณ , ์ด ๋์งํธ ์ค๋์ค ์ํฌ์คํ ์ด์ ์์ ์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ์ ๋ณ๋ ฌ๋ก ์คํํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก DAW๋ ํ๋์ ์ฝ์ด์์ ํ๋ฌ๊ทธ์ธ์ ์คํํ๊ณ , ๋ค๋ฅธ ์ฝ์ด์์ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ ์คํํ๋ ค๊ณ ํ์ง๋ง, ํ๋์ ํ๋ฌ๊ทธ์ธ์์ ์ฌ๋ฌ ์ฝ์ด์์ ์ฌ๋ฌ ๊ฐ์ง ์์ ์ ์คํํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ด์ง ์์ต๋๋ค. ์๋ํ๋ฉด ์ค๋ ๋ ์์ ์ฑ์ด ๊ทธ๋ ๊ฒ ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์ข ๋ฅ์ ํจ์นญ์ ๋์งํธ ์ค๋์ค ์ํฌ์คํ ์ด์ ์์ ์ง์ ์ํํ์ง๋ง, ์์ฑ ์ค์ธ ํ๋ฌ๊ทธ์ธ์์ ์ง์ ์ํํ๋ ค๊ณ ํ๋ ๊ฒ์ ์๋๋๋ค. ๋ฐ๋ผ์ Faust ์ปดํ์ผ๋ฌ์ ํด๋น ๊ธฐ๋ฅ์ ๋ง์ด ์ฌ์ฉ๋์ง ์์์ต๋๋ค.
๊ทธ๋ ๊ตฐ์. ๊ธฐ์ ์ ์ผ๋ก๋ ๊ฐ๋ฅํ์ง๋ง ์ฌ์ฉ์์ ์์๊ฐ ๋ง์ง ์๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์ฝ์ด๋น ํ๋์ ์ ๊ธฐ๋ฅผ ์คํํ๋๊ตฐ์. ๋ค, ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ ์ต๋๋ค.
์ด์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๊ณ ์ถ์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํ์ดํ๋ผ์ธ์ฒ๋ผ ๋ณด์ด๋ Faust ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ปดํ์ผ๋ฌ์ธ ๋น์ ์๊ฒ ์ ๋ฌํ๋ฉด ๋ค์ ๋จ๊ณ๋ ๋ฌด์์ธ๊ฐ์?
Faust ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ์ฅ ๋จผ์ ํ๋ ์ผ์ Faust ํ๋ก๊ทธ๋จ์ ๋ถ์ํ์ฌ DSP ๊ทธ๋ํ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust ํ๋ก๊ทธ๋จ์ ๊ฐ์ ธ์์ ํ๋ซ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. DSP ์ฝ๋ ๋ด์์ ๋ฐ์ํ๋ ๋ชจ๋ ์ํ ์ฐ์ฐ์ ํ๋ซ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. Faust๋ ๋ค๋ฅธ ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ๋ชจ๋ ๊ฒ์ด Faust ํ๋ก๊ทธ๋จ์ ์ง์ ์์ฑ๋๋ ๊ฒ์ ์๋๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ผ๋ฉฐ, ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ํจ์์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ, ์์ฑ ์ค์ธ Faust ํ๋ก๊ทธ๋จ, Faust ์ธ์ด์์ ์ด๋ฌํ ํจ์๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
Faust ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ์ฅ ๋จผ์ ํ๋ ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ๋ชจ๋ ํจ์๋ฅผ ํ๋์ ํฐ ํ์ผ๋ก ๊ฐ์ ธ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ด ํฌํจ๋ ์ธ๋ผ์ธ Faust ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด ๋จ๊ณ๊ฐ ๋๋๋ฉด Faust ์ปดํ์ผ๋ฌ๋ ์์ ๋ง์๋๋ฆฐ DSP ๊ทธ๋ํ๋ฅผ ๋ง๋ญ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ ํํํ๊ฒ ๋ง๋ค๊ณ ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ ๋ ฅ์ ์๋จ์, ์ถ๋ ฅ์ ํ๋จ์ ์์ผ๋ฉฐ, ๊ทธ ์ฌ์ด์ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค๋ฅผ ํฌํจํ์ฌ DSP ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ํ ์ฐ์ฐ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ๋๋ค. ์ด ๋จ๊ณ์ ๋๋ฌํ์ฌ DSP ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ฌํ ์ ์์ค ํํ์ ์ก์ธ์คํ ์ ์๊ฒ ๋๋ฉด Faust ์ปดํ์ผ๋ฌ๋ ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ด์ฉ์ ๋ฐ๋ผ Faust ์ฝ๋์์ ์์ฑ๋ DSP ๊ทธ๋ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
๊ทธ๋ ๊ตฐ์. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๋จ๊ณ๊ฐ ๋๋๋ฉด C, C++, ์น ์ด์ ๋ธ๋ฆฌ ๋๋ Faust ์ปดํ์ผ๋ฌ์์ ์ง์ํ๋ ๋ชจ๋ ๋ฐฑ์๋, ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์์ฑํ๋๋ก ์ง์ ํ๊ณ , Faust ์ปดํ์ผ๋ฌ๋ DSP ํธ๋ฆฌ์ ์ ์์ค ํํ์ ๊ธฐ๋ฐ์ผ๋ก ์ด ์์ ์ ์ํํฉ๋๋ค.
๋ค, ๋ง์ต๋๋ค. ๋ค๋ฅธ ๋ง์ ์ธ์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ ๋๋ ์ถ์ ์ค๋์ค ์ฒ๋ฆฌ ํธ๋ฆฌ๋ก ๋ณผ ์ ์๋ ๊ฒ์ผ๋ก ์ ๋ฌํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ ์์ค ํธ๋ฆฌ๋ฅผ ์ฝ๊ณ C, C++๋ก ๋ณํํ๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ค, ๋ง์ต๋๋ค.
๊ถ๊ธํ ์ ์ด ์๋๋ฐ, Zig๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ๋ฉ์ธ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ํดํนํด์ผ ํ๋์, ์๋๋ฉด ๋ณ๋์ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํ๋ฉด ๋๋์?
์ค๋์ค DSP ํ๋ก๊ทธ๋จ์ ๊ฒฐ๊ตญ ๊ทธ๋ ๊ฒ ๋ณต์กํ์ง ์์ต๋๋ค. ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๋จํ ๊ธฐ๋ณธ ์ํ ์ฐ์ฐ์ผ ๋ฟ์ ๋๋ค. ๋ฐ๋ผ์ ๋ง์ , ๋บ์ , ๊ณฑ์ , ๋๋์ , ์ผ๊ฐ ํจ์ ์ฐ์ฐ์ ์ํํ๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ ์๋ง ์๋ค๋ฉด ์ธ์์ ์กด์ฌํ๋ ๊ฑฐ์ ๋ชจ๋ ์ค๋์ค ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ DSP ์๊ณ ๋ฆฌ์ฆ์ ์ ์์ค DSP ํํ์ ๋ค๋ฅธ ์ธ์ด๋ก ๋ด๋ณด๋ด๋ ๊ฒ์ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ๋ณต์กํ์ง ์์ต๋๋ค. ์ฆ, Faust์ ์๋ก์ด ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ๋ ค๋ ๊ฒฝ์ฐ, ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ํ๋ ค๋ ๊ฒฝ์ฐ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ๋ณต์กํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด ๊ฒฐ๊ตญ ์์ฑ๋๋ ๋ด์ฉ์ด ์ธ์ด๋ง๋ค ํฌ๊ฒ ๋ค๋ฅด์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ง๋ง ์์ธ๊ฐ ๋ช ๊ฐ์ง ์์ต๋๋ค. ์ด๋ฌํ ์์ธ์ ๋ํด ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค. ์๋ํ๋ฉด ๊ฝค ํฅ๋ฏธ๋ก์ด ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ต๊ทผ์ ์ ํฌ๋ Faust๋ฅผ ์ฌ์ฉํ์ฌ FPGA๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์์ต๋๋ค. FPGA๋ ํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅ ๊ฒ์ดํธ ์ด๋ ์ด์ ๋๋ค. FPGA์ ๋ํด ๋ค์ด๋ณธ ์ ์ด ์๊ฑฐ๋ ๋ค์ด๋ณธ ์ ์ ์์ง๋ง ์ ํํ ๋ฌด์์ธ์ง ๋ชจ๋ฅด๋ ๋ถ๋ค์ ์ํด ์ค๋ช ํด ๋๋ฆฌ๊ฒ ์ต๋๋ค. FPGA๋ ํ๋ก์ธ์์ ์ํคํ ์ฒ๊ฐ ๊ณ ์ ๋์ด ์์ง ์๊ณ ํ๋ก์ธ์๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ ๋ฐฉ๋ฒ์ด ๋ด๋ถ ์ ์ ํ๋ก๋ฅผ ์ฌ๊ตฌ์ฑํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋ ๋งค์ฐ ํน์ํ ์ข ๋ฅ์ ํ๋ก์ธ์์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก FPGA๋ก ํ๋ก๊ทธ๋จ์ ๊ตฌํํ๋ ค๋ฉด ์์ฒด ํ๋ก์ธ์๋ฅผ ์ค๊ณํด์ผ ํฉ๋๋ค. ์ฆ, FPGA๋ ํ๋์ ์์ ๋ง ์ํํ๋๋ก ์ฌ์ฉ๋๋ฉฐ, ํ๋ก๊ทธ๋๋ฐ๋ ์์ ๋ง ์ํํฉ๋๋ค. CPU์ ๋ฌ๋ฆฌ ๋ฒ์ฉ์ ์ด์ง ์๊ณ ํ ๊ฐ์ง ์์ ๋ง ์ํํ๋ฉฐ, ๊ตฌํํ ์์ ๋ง ์ํํฉ๋๋ค.
Intel์์ CPU๋ฅผ ๊ฐ์ ธ์์ ์กฐ๊ธ ๋ค๋ฅด๊ฒ ์๋ํ๋๋ก ํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. FPGA๋ฅผ ํ๋์ฑํ์ฌ ์ฝ๊ฐ ๋ค๋ฅธ ์ค๋ฆฌ์ฝ ์ํคํ ์ฒ์ฒ๋ผ ์๋ํ๋๋ก ํ ์ ์์ต๋๋ค. ๋ค, ๋ง์ต๋๋ค.
FPGA์์ ์ก์ธ์คํ ์ ์๋ ๋ฆฌ์์ค๋ ๋ก์ง ๊ฒ์ดํธ, RAM ๋ธ๋ก, ๊ณฑ์ ๊ธฐ ๋ฑ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก FPGA๋ ๋งค์ฐ ์ ์์ค์ ๋๋ค. ๋ค, ๋ง์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก FPGA๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ ค๋ฉด ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ ํ๋ก๊ฐ FPGA์ ๋ฐฐ์น๋ ํ ์ด๋ป๊ฒ ๋ณด์ผ์ง ์ค๋ช ํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ํ๋์จ์ด ์ค๋ช ์ธ์ด์์๋ ์ด ๋ก์ง ๊ฒ์ดํธ๋ฅผ ์ด ๋ก์ง ๊ฒ์ดํธ์ ์ฐ๊ฒฐํ๊ณ ์ด ์ ๋ ฅ์ ๊ฐ์ ธ์ค๋ฉฐ, ์ด ์ ๋ ฅ์ ์๋ง๋ 1๊ณผ 0์ ์คํธ๋ฆผ์ผ ๊ฒ์ด๋ผ๊ณ ๋งํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด 1๊ณผ 0์ ์ด์์ ์ํํ๋ ค๋ ์์ ์ ๋๋ค. ๋งค์ฐ ์ ์์ค์ ๋๋ค. ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ ์ธ์์ ๊ทธ๋ ๊ฒ ๋ง์ง ์์ต๋๋ค. ์ฃผ์ ์ธ์ด๋ Verilog์ VHDL์ ๋๋ค. ์ ๊ฐ ๋ง์๋๋ฆฌ๊ณ ์๋ ์ด ํ๋ก์ ํธ์ ๋ชฉํ๋ Faust์์ ์ง์ VHDL ์ฝ๋ ๋๋ Verilog ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋๋ค.
์ ๋ง ์ ๋ง ์ด๋ ต์ต๋๋ค. ์ ๋ง ์ ๋ง ์ด๋ ต์ต๋๋ค. ๊ทธ๋์ ์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ์์ธ๊ฐ ์๋ค๊ณ ๋ง์๋๋ฆฐ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ธ ํ์ค ์ธ์ด์ ์๋ก์ด ๋ฐฑ์๋๋ฅผ Faust์ ์ถ๊ฐํ๋ ค๋ฉด ์ฝ์ง๋ง VHDL ๋๋ Verilog๋งํผ ์ ์์ค์ธ ์ธ์ด์ ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ํจ์ฌ ๋ ๋ณต์กํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ํฌ๋ ์์ง๋ ์ด ๋ฌธ์ ๋ก ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋์ ์ธ์ด์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
Faust์์ ๊ฟ์ ์ ์์ฌ์ด์ ๋ฅผ ์์ฑํ ๋ค์ ์คํ ํ๋ก๊ทธ๋จ์ผ๋ก ์ปดํ์ผํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ํ๋์จ์ด์ ๊ตฌ์์ ํ๋์จ์ด ์ ์์ฌ์ด์ ๋ก ๋ง๋ค ์ ์๋ค๋ ์์ด๋์ด๊ฐ ๋ง์์ ๋ญ๋๋ค. ๋ก์ง ๊ฒ์ดํธ ์ธก๋ฉด์์ ์ค๋ช ํ๋ ๊ฒ์ด ์ด์ํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ๋ง์ ์ฐ์ฐ์ ์ธก๋ฉด์์ ์ค๋ช ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ด๋ ค์ด ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
์ด ์ง๋ฌธ์ ๋ํ ๋ต๋ณ๋ ๋งค์ฐ ๊น๋๋ค. ์ฃ์กํฉ๋๋ค. ๊ฐ์ฅ ์ด๋ ค์ด ์ ์ ๊ณ ์ ์์์ ์ฐ์ฐ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฐ ์ข ๋ฅ์ ์์ ์ ์ํํ ๋ ๊ฐ์ฅ ํฐ ์ด๋ ค์ ์ค ํ๋์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ค์๊ฐ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ๋ฅผ ์ํํ๊ณ ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ํํํ๋ ค๋ฉด ๋ถ๋ ์์์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์๋ํ๋ฉด ์ ํธ, ์ฆ ์ ์์ ๋ณํ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ ๋ก๊ทธ ํ๋ก๋ฅผ ๋ค์ ์๊ฐํด ๋ณด๋ฉด ๋ถ๋ ์์์ ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ ์ ํธ์ ๋ํด ์ํํ ์ฐ์ฐ์ ์ฝ๊ฒ ํํํ ์ ์์ต๋๋ค.
๊ณ ์ ์์์ ์ ๋ณต์กํฉ๋๋ค. ์๋ ์๋, ๊ทธ๋ฆฌ๊ณ ์ง๊ธ๋ ๊ณ ์ ์์์ ์ ์ฌ์ฉํ์ฌ ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์๋ DSP ์์ง๋์ด๊ฐ ์์ต๋๋ค. ๊ทธ ์ด์ ๋ DSP(๋์งํธ ์ ํธ ํ๋ก์ธ์)์ ๊ฐ์ด ๊ณ ์ ์์์ ์์๋ง ์๋ํ๋ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ์ฉ ์นฉ์ด ์์ง๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์นฉ์ ์ ๋ ดํ๊ฑฐ๋ ์๋์ง ์๋น๋ฅผ ์ต์ํํ๋๋ก ์ต์ ํ๋์ด ์์ต๋๋ค. ๋ถ๋ ์์์ ์ฐ์ฐ๊ณผ ๊ณ ์ ์์์ ์ฐ์ฐ์ ์๋์ง ์๋น๋์ด ๋ค๋ฆ ๋๋ค.
์ง๋ฌธ์ ๋ํ ์ฒซ ๋ฒ์งธ ๋ต๋ณ์ ๊ธฐ๋ณธ์ ์ผ๋ก Faust์์ ๋ถ๋ ์์์ ์ ์ฌ์ฉํ์ฌ ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ํํํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์๋ํ๋ฉด ๋ถ๋ ์์์ ์ธก๋ฉด์์ ์๊ฐํ ํ์์กฐ์ฐจ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ญ์ง์๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒ์ ๋๋ค. Faust์์๋ ์ด ์์ ์ ์ํํ ์ ์์ผ๋ฉฐ, Faust ๊ตฌ๋ฌธ์ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. ๊ฐ๋จํ ์ซ์๋ฅผ ํํํ ์ ์๋ ๊ฒ์ ๋๋ค.
FPGA์๋ ์ญ์ง์๋ผ๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ์๋ํ๋ฉด ๋งค์ฐ ์ ์์ค์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ง ๊ทธ๋๋ก ๋ฐ์ด๋๋ฆฌ ์์ค๊น์ง ๋ด๋ ค๊ฐ๋ ๊ฒ์ ๋๋ค.
๋ค, ๋ง์ต๋๋ค. ๋ก์ง ๊ฒ์ดํธ์ ๋ํด ์ด์ผ๊ธฐํ ๋ ๋น์ฐํ ๋ถ๋ ์์์ ์ซ์์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ์๋๋๋ค. ๋ฐ๋ผ์ FPGA์ ์ ํฉํ๊ฒ ์ต์ ํ๋ HDL ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด Faust ์ปดํ์ผ๋ฌ ๋ด์์ ์ง์ ๋ถ๋ ์์์ ์์ ๊ณ ์ ์์์ ์ผ๋ก ์๋ ๋ณํ์ ์ง์ํด์ผ ํ๋ฉฐ, ์ด ์์ ์ ๊ฐ๋จํ์ง ์์ต๋๋ค.
๋ค, ์ถ๊ฐ ์์ ์ด ์๋นํ ๋ง์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๊ฒ ์ฒซ ๋ฒ์งธ ์ด์ ์ด๊ณ , ๋ค๋ฅธ ์ด์ ๋ ๋ง์ต๋๋ค. ๋ค๋ฅธ ์ด์ ๋ FPGA๋ฅผ ์ฌ์ฉํ ๋ ์ผ๋ฐ์ ์ผ๋ก ์ํํ๋ ์ต์ ํ์ ๊ด๋ จ์ด ์์ต๋๋ค.
FPGA๋ฅผ ์ฌ์ฉํ ๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ํ๋ก๋ฅผ ์ค๊ณํ ๋ ์ํํ ์ ์๋ ๋ ๊ฐ์ง ์ฃผ์ ์ต์ ํ๋ ๊ณ์ฐ ๋ณ๋ ฌํ์ ํ์ดํ๋ผ์ด๋์ ๋๋ค. ๊ณ์ฐ ๋ณ๋ ฌํ๋ CPU ๋๋ DSP๋ฅผ ์ฌ์ฉํ ๋ ์ฝ๊ฒ ์ํํ ์ ์๋ ์์ ์ด ์๋๋๋ค. ์ํํ ์๋ ์์ง๋ง CPU ๋๋ DSP๋ ๋ณ๋ ฌํ๋ฅผ ์ํด ์ค๊ณ๋ ๊ฒ์ด ์๋๋๋ค. FPGA์์๋ CPU ๋๋ DSP์์๋ ๋ถ๊ฐ๋ฅํ ๋๊ท๋ชจ ๋ณ๋ ฌํ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ดํ๋ผ์ด๋์ ๊ธฐ๋ณธ์ ์ผ๋ก FPGA์ ์ด๋ฏธ ํ ๋น๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋์ผํ ์์ ์ ๋ฐ๋ณตํด์ ์ํํ๊ธฐ ์ํด FPGA์ ์ด๋ฏธ ํ ๋น๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์๊ณ ๋ฆฌ์ฆ์ ๋์ผํ ์ผ๋ จ์ ์์ ์ด ์๊ณ ์ด ์์ ์ ๋ณ๋ ฌ๋ก ์ฌ๋ฌ ๋ฒ ์คํํด์ผ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. FPGA์ ํด๋ญ์ด ์ถฉ๋ถํ ๋น ๋ฅด๋ค๋ฉด ์ ์ฌ์ ์ผ๋ก ํด๋น ์์ ์ฒญํฌ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ฌ์ฌ์ฉํ์ฌ ๋ณ๋ ฌ๋ก ์คํ๋๋ ๋ค๋ฅธ ๋ชจ๋ ํํฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ํ์ดํ๋ผ์ด๋์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก FPGA์์ ์ข์ ์ฑ๋ฅ์ ์ป์ผ๋ ค๋ฉด ๋ณ๋ ฌํ์ ํ์ดํ๋ผ์ด๋์ ์ํํด์ผ ํ๋ฉฐ, ์ด๋ฌํ ์ข ๋ฅ์ ์์ ์ CPU๋ฅผ ๋ค๋ฃฐ ๋๋ ์ ํ ์์ฐ์ค๋ฝ์ง ์์ต๋๋ค. ์ฆ, C, C++ ๋๋ ๋ ํ์ค์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋์์ผ๋ก ํ ๋ Faust์์ ์ผ๋ฐ์ ์ผ๋ก ์ํํ๋ ์ต์ ํ๋ VHDL ๋๋ Verilog๋ฅผ ๋์์ผ๋ก ํ ๋๋ ๋ ์ด์ ์ ์ฉ๋์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ณต์กํฉ๋๋ค. ํ์ดํ๋ผ์ด๋, ๋ณ๋ ฌํ, ๊ณ ์ ์์์ ์ซ์ ์ฒ๋ฆฌ๊ฐ ๋ฐ๋ก ์ด๋ฌํ ํน์ ์ธ์ด๋ฅผ ์ง์ํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช๋ ์ด์ ์ ๋๋ค.
๋ค, ์ดํด๊ฐ ๋ฉ๋๋ค. ์ค๊ฐ ํํ์ด ์๋ค๋ ๊ฒ์ ์ฒด์ธ์ ์๋ถ๋ถ์ผ๋ก ๋์๊ฐ์ ์ต์ ํ๋์ง ์์ ๋ฒ์ ์ ๊ฐ์ ธ์์ ๊ธฐ์กด ์ธ์ด์ ๋ง๊ฒ ํธ๋ฆฌ๋ฅผ ์ต์ ํํ๊ฑฐ๋ ํ๋์จ์ด์ ๋ง๊ฒ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ํธ๋ฆฌ๋ฅผ ์ต์ ํํ ์ ์๋ ๋ ๊ฐ์ ์ปดํ์ผ๋ฌ๊ฐ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋์?
์ํ๊น๊ฒ๋ ๊ทธ๋ ๊ฒ ํ ์๋ ์์ต๋๋ค. ์ ๋ง ๊ทธ๋ ๊ฒ ํ ์ ์์ผ๋ฉด ์ข๊ฒ ์ง๋ง, ํ ์ ์์ต๋๋ค. ์ง๊ธ๊น์ง ์ด ํน์ ํ๋ก์ ํธ์์ Faust๋ฅผ ๋ง๋ Yann Orlarey๋ ๊ธฐ๋ณธ์ ์ผ๋ก Faust ์ปดํ์ผ๋ฌ๋ฅผ ๋ค์ ์์ฑํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ด๋ถ ํํ์ด ๋ฐฉ๊ธ ์ธ๊ธํ ๋ชจ๋ ๊ฒ๊ณผ ํธํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค์ ๋ง์๋๋ฆฌ์ง๋ง, ์ด๊ฒ์ ์๋ก์ด ์ข ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ์๋ํ๋ฉด ์ผ๋ง ์ ๊น์ง๋ง ํด๋ ์ฌ๋๋ค์ ์ค์๊ฐ ์ค๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ FPGA๋ฅผ ์ฌ์ฉํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ์ด๋ค ์๋ฏธ์์๋ ์๋ก์ด ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ์ข ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ์๊ฐํด ๋ณธ ์ ์ด ์๊ณ , ์ ํธ ์ฒ๋ฆฌ์ ๋ํด ๊ทธ๋ฐ ์์ผ๋ก ์๊ฐํด ๋ณธ ์ ์ด ์์ต๋๋ค. FPGA์ ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ฅผ ๋ค๋ฃฐ ๋๋ ์ฌ๋ฌ ๋ฉด์์ ์๊ณ ์๋ ๋ชจ๋ ๊ฒ์ ์์ด๋ฒ๋ ค์ผ ํฉ๋๋ค. ์ํํธ์จ์ด ํ๋ก๊ทธ๋๋จธ์๊ฒ๋ ๋งค์ฐ ํ๋ ์ผ์ ๋๋ค. ๋ฐ๋ผ์ ์ด ํ๋ก์ ํธ๋ฅผ ์ํํ๊ธฐ ์ํด ์ ํฌ๋ ๋ชจ๋ ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํ์ต๋๋ค. ์ ๋ง ์ ๋ง ํ๋ค์์ต๋๋ค.
์ํํธ์จ์ด ํ๋ก๊ทธ๋๋จธ๋ FPGA์ฉ ์ํํธ์จ์ด ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ถ์ ์ ํน์ ๊ฐํ๊ฒ ๋๋ผ์ง๋ง, ์ด๋ ์ ํ ๋ถ๊ฐ๋ฅํ ์ผ์ ๋๋ค. ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ ์ถฉ๋ถํ ๊ณ ์์ค์ด๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ ์ผ๋ก C ๋๋ C++ ์ฝ๋์ ๊ฐ์ ์ฝ๋, ์ฆ ๋งค์ฐ ์ ์์ค์ C ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ํ์ง๋ง ๊ทธ๋ ๊ฒ ํ๋ฉด ์ต์ ํ๋์ง ์์ ํ๋ก๊ทธ๋จ์ด ์คํ๋์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์ต๋๋ค. ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๋ฉด ์ํํธ์จ์ด ํ๋ก๊ทธ๋๋จธ์๊ฒ๋ ์ ํ ์์ฐ์ค๋ฝ์ง ์์ ๋๋ฌด๋ ๋ง์ ์ต์ ํ๋ฅผ ์ํํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๋ชจ๋ ์ด์ ๋ก Faust ์ปดํ์ผ๋ฌ์ ์ผ๋ถ๋ฅผ ๋ค์ ์์ฑํด์ผ ํ์ต๋๋ค.
๋ค, ์ดํด๊ฐ ๋ฉ๋๋ค. ์ ๊ณ์์๋ 40๋ ๋์ 50๋ ๋์ ๋ก์ง ๊ฒ์ดํธ๋ฅผ ๋ค๋ฃจ๊ณ ์๋ค๋ ์ฌ์ค์ ์จ๊ธฐ๋ ค๊ณ ๋ ธ๋ ฅํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ ์ด๋ฌํ ์ข ๋ฅ์ ํ๋์จ์ด๋ฅผ ๋ค๋ฃจ๋ ค๋ฉด ๋ก์ง ๊ฒ์ดํธ๋ฅผ ๋ค์ ๋ฐ์๋ค์ฌ์ผ ํฉ๋๋ค. ๋ค, ๋ง์ต๋๋ค. ์ด๋ค ์๋ฏธ์์๋ C ๋๋ C++ ์ปดํ์ผ๋ฌ๋ฅผ ์ค๊ณํ๋ ์ฌ๋๋ค์ด ์ต์ํ ์ผ์ ๋๋ค. ์๋ํ๋ฉด ๊ฐ์ฅ ๋ฐ๋ฐ๋ฅ์์ ์ผ์ด๋๋ ์ผ์ด ๋ฐ๋ก ๊ทธ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ํํธ์จ์ด ํ๋ก๊ทธ๋๋จธ๋ ๊ทธ๋ฐ ๋ชจ๋ ๊ฒ์ ์์ด๋ฒ๋ฆฝ๋๋ค. C ํ๋ก๊ทธ๋๋จธ์กฐ์ฐจ๋ ๋จธ์ ์ฝ๋๋ก ๋ณํํ๋ ๊ฒ์ ๋ํด ์๊ฐํ์ง, ๋ฐ๋์ AND ๊ฒ์ดํธ์ ๋ํด ์๊ฐํ์ง๋ ์์ต๋๋ค. ์์ ๊ฐ๊ฐ ์์ฑํ ์ ์์ ๋งํผ ์ถ์์ ์ธ ๊ฒ๋ถํฐ 1๊ณผ 0๊น์ง ๋ค๋ฃจ๋ ค๊ณ ํ๋ค๋ ๊ฒ์ ์๊ฐํด ๋ณด๋ฉด ์ ๋ง ๋๋์ต๋๋ค. ์ง๊ธ๊น์ง ๋ค๋ฃฌ ํ๋ก์ ํธ ์ค ๊ฐ์ฅ ๊ด๋ฒ์ํ ํ๋ก์ ํธ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ๋ค์ ๋ง์๋๋ฆฌ์ง๋ง ์ ํฌ์๊ฒ๋ ์ฝ์ง ์์ต๋๋ค.
๊ทธ๋ด ๋ง๋ ํฉ๋๋ค. ์์์ผ ํ ๊ฒ์ด ์ ๋ง ๋ง์ต๋๋ค. ์ด ๋ถ๋ถ์ ๋ง๋ฌด๋ฆฌํ์๋ฉด, ํ์ฌ Faust ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ค์ FPGA์์ ์คํํ๋ ๋ฐฉ๋ฒ์ ๊ณ ์์ค ํฉ์ฑ์ด๋ผ๋ ๊ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ฌ์ด๋ ํฉ์ฑ์ด๋ผ๋ ์๋ฏธ์ ํฉ์ฑ์ด ์๋๋ผ ์์ ํ ๋ค๋ฅธ ๊ฒ์ ๋๋ค. ํ์ง๋ง 20~30๋ ์ ์ ์ด๋ค ์ฌ๋๋ค์ C ๋๋ C++๋ฅผ ์ฌ์ฉํ์ฌ FPGA๋ฅผ ํ๋ก๊ทธ๋๋ฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ๋๋ถ๋ถ์ FPGA ๊ณต๊ธ์ ์ฒด๋ HLS(๊ณ ์์ค ํฉ์ฑ) ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋์จ์ด ์ค๋ช ์ธ์ด๊ฐ ์๋ ๋ ๋์ ์์ค์ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ FPGA๋ฅผ ํ๋ก๊ทธ๋๋ฐํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์ธ์ด๋ C, C++, ๊ฒฝ์ฐ์ ๋ฐ๋ผ Python์ ๋๋ค. MATLAB๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค, ํ์ง๋ง ๋ฌธ์ ๋ ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, ๊ณ ์ ์์์ ์ฐ์ฐ, ํ์ดํ๋ผ์ด๋, ๋๊ท๋ชจ ๋ณ๋ ฌํ๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ C ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ FPGA์์ ์คํํ ์๋ ์์ต๋๋ค. FPGA์ฉ์ผ๋ก ํน๋ณํ ์ค๊ณ๋ C ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ฉฐ, ํด๋น C ์ฝ๋๋ ์๋ง๋ ๊ณ ์์ค ํฉ์ฑ ๋๊ตฌ์์ ์ ๊ณตํ๋ ํ๋ผ๊ทธ๋ง๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๊ฐ ์คํ๋ ์ ์๋๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์ต์ ํํด์ผ ํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ํ์ฌ Faust์์ ์ด๋ฌํ ๋งฅ๋ฝ์์ ์ํํ๋ ์์ ์ ๋ค์ ๋ง์๋๋ฆฌ์ง๋ง Faust์์ ์ง์ HDL ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ์ง๊ธ๊น์ง ์ฌ์ฉํด ์จ ๋์์ ์ธ ๋ฐฉ๋ฒ์ด๋ฉฐ ๋งค์ฐ ์ ์๋ํ๊ณ ์์ต๋๋ค. ๋ฐ๋ก ์ด๋ฌํ ๊ณ ์์ค ํฉ์ฑ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ Faust์์ C ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
๊ณ ์์ค ํฉ์ฑ์ ์ต์ ํ๋ C ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Faust ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ , Faust๋ ๊ณ ์์ค ํฉ์ฑ์ ์ต์ ํ๋ ํน์ C ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ํด๋น C ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ FPGA ๊ณต๊ธ์ ์ฒด์์ ์ ๊ณตํ๋ HLS ๋๊ตฌ์ ๋ฃ์ผ๋ฉด FPGA์ ์ ํฉํ๊ฒ ์ต์ ํ๋ FPGA ํ๋ก๊ทธ๋จ์ ์ป์ ์ ์์ต๋๋ค. VHDL ๋๋ Verilog๋ก ์ง์ ์์ฑํ ๊ฒ๋งํผ ์ข์ง๋ ์๊ฒ ์ง๋ง CPU๋ฅผ ์ฌ์ฉํ์ ๋๋ณด๋ค ํจ์ฌ ์ข์ต๋๋ค.
ํ ๋ฒ์ ์ด๋ํ ์ ์๋ค๋ฉด ๋ ๋ฒ์ ๊ฑธ์ณ ์ด๋ํ๋ฉด ๋ฉ๋๋ค.
๋ค, ํ์ง๋ง ๊ทธ๋๋ ์ด๋ ต์ต๋๋ค. ์๋ํ๋ฉด Faust ์ปดํ์ผ๋ฌ์์ ์ง์ ํ์ดํ๋ผ์ด๋๊ณผ ๋ณ๋ ฌํ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. HLS์์ ์ ๊ณตํ๋ ๋๊ตฌ๊ฐ ํ์ดํ๋ผ์ด๋๊ณผ ๋ณ๋ ฌํ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ๋์์ด ๋์ง๋ง, Faust ์ปดํ์ผ๋ฌ์์ ์์ฑ๋๋ ์ฝ๋์ ์ง์ ํฌํจํด์ผ ํฉ๋๋ค. ์ฝ์ง ์์ต๋๋ค.
Yann์ด ๋ค์ ๋ฒ์ ์ ์ถ์ํ๋ฉด ๋ ๊น๋ํด์ง๊น์? ์๋๋ฉด ํญ์ ์ด๋ ค์ธ๊น์?
์ข์ ์ง๋ฌธ์ ๋๋ค. ์ ํฌ ํ์ FPGA์ ๋งค์ฐ ๊ด์ฌ์ด ๋ง์ต๋๋ค. ์๋ํ๋ฉด CPU๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ์ฐ์ฐ ๋ฅ๋ ฅ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋ฉด์์ FPGA์ ์ฑ๋ฅ์ ๊ธฐ์กด ํ๋ซํผ๋ณด๋ค ๋ฐ์ด๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ค๋์ค ์ง์ฐ ์๊ฐ์ด ํฐ ์ฅ์ ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก FPGA๋ ์ง์ฐ ์๊ฐ์ด ๊ฑฐ์ ์์ต๋๋ค. ์ฝ๊ฐ์ ์ง์ฐ ์๊ฐ์ ์์ง๋ง CPU์ ๋นํด ํจ์ฌ ์งง์ต๋๋ค. ์ฆ, FPGA์์ ์ฌ์ด๋๋ฅผ ๊ฐ์ ธ์์ FPGA ์ธ๋ถ๋ก ์ถ๋ ฅํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋งค์ฐ ์งง์ต๋๋ค. CPU, ๋์งํธ ์ ํธ ํ๋ก์ธ์ ๋๋ ๋ค๋ฅธ ์ฒ๋ฆฌ ์์คํ ์ ๋นํด ๋ง์ด์ฃ . FPGA๋ฅผ ์ฌ์ฉํ๋ ๋ ๋ค๋ฅธ ์ด์ ๋ ์ ์ฌ์ ์ผ๋ก ๋งค์ฐ ๋์ ์ํ๋ง ์๋(์ ํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ํฌ๋กํค๋ฅด์ธ ๋ฒ์๊ฐ ์๋ ๋ฉ๊ฐํค๋ฅด์ธ ๋ฒ์)๋ก ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ์คํํ๋ ค๋ ๊ฒฝ์ฐ์ ๋๋ค. FPGA์์๋ 20MHz๋ก ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ์คํํ ์ ์์ต๋๋ค. ์ค์ ๋ก ๋ ๋ฎ์ ์ํ๋ง ์๋๋ก ์คํํ๋ ๊ฒ์ ๋นํด ์ฐ์ฐ ์ธก๋ฉด์์ ๊ทธ๋ ๊ฒ ๋น์ธ์ง ์์ต๋๋ค.
ํฅ๋ฏธ๋กญ๋ค์. ์ง๋ฌธ์ด ์๋๋ฐ, ๊ฐ๋ฅํ ๊ฐ์ฅ ๋์ ์ํ๋ง ์๋๋ฅผ ์ํ๋ ๊ทน๋จ์ ์ธ ์ค๋์ค ์ ํธ๊ฐ๋ง์ ์ํ ๊ฒ์ ์๋ ๊ฒ์ ๋๋ค. ๋ฌด์ ์ ํธ ์ฒ๋ฆฌ์ ๊ฐ์ ๊ฒ์ ์ํ ๊ฒ์ธ๊ฐ์?
๋งค์ฐ ํ์์์ฅ์ด๊ณ ํน์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐ์ ์๋ ๋ก๊ทธ DSP ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์๋ ๋ก๊ทธ ์ ์ ํ๋ก์ฒ๋ผ ์๋ํ๋ ์ฌ์ด๋ ์ ์์ฌ์ด์ ๋๋ ์๋ ๋ก๊ทธ ์ ์ ํ๋ก์ฒ๋ผ ์๋ํ๋ ํํฐ๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก DSP ์ธ๊ณ์์ ์ด๋ฌํ ์์ ์ ์ํํ๋ ค๊ณ ํ๋ฉด ์ ํธ์ ๋ถ์ฐ์์ฑ์ด ๋ฐ์ํ์ฌ ์จ๋ฆฌ์ด์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ ํธ์ ๊ธ๊ฒฉํ ๋ณํ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์จ๋ฆฌ์ด์ฑ์ ์ด๋ํฉ๋๋ค. ์จ๋ฆฌ์ด์ฑ์ DSP ์์ง๋์ด๊ฐ ํญ์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. ์จ๋ฆฌ์ด์ฑ์ ์ ๊ฑฐํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ํ๋ง ์๋๋ฅผ ๋์ด๋ ๊ฒ์ ๋๋ค. ์ํ๋ง ์๋๋ฅผ ๋์ด๋ฉด ๋์ดํด์คํธ ์ฃผํ์๋ผ๊ณ ํ๋ ์์คํ ์์ ์ํ๋งํ ์ ์๋ ๊ฐ์ฅ ๋์ ์ฃผํ์๊ฐ ๋์์ง๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๊ฒ์ ์ด๋ฏธ ์ค๋์ค ์ ๊ณ์์ ์ํ๋๊ณ ์๋ ์์ ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋งค์ฐ ๋ฉ์ง ์ค๋์ค ๋ น์ ์คํ๋์ค๋ผ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค DSP ์ํฌ์คํ ์ด์ ์ ์ฌ๋์ ๊ท๊ฐ ์ค์ ๋ก ์ฒ๋ฆฌํ ์ ์๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋์ ์ํ๋ง ์๋๋ก ์คํํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก... ์ฐ๋ฆฌ ๋จธ๋ฆฌ์๋ ํ๋์จ์ด ์ ํ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ค, ์ฐ๋ฆฌ ๋จธ๋ฆฌ์ ํ๋์จ์ด ์ ํ์ ๊ธฐ๋ณธ์ ์ผ๋ก 40kHz ์ด์์ ์ํ๋ง ์๋๋ ์ฐ๋ฆฌ ๊ท์๋ ์๋ฏธ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค.
ํ์ง๋ง ์จ๋ฆฌ์ด์ฑ์๋ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ํ๋ง ์๋๊ฐ ์ถฉ๋ถํ ๋์ง ์์ผ๋ฉด ํญ์ ์จ๋ฆฌ์ด์ฑ์ด ๋ฐ์ํ ์ํ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์จ๋ฆฌ์ด์ฑ์ ์ ๊ฑฐํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ํ๋ง ์๋๋ฅผ ๋์ด๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ์ ์จ๋ฆฌ์ด์ฑ์ด ๋ฐ์ํ์ง ์๋๋ก ์ต์ ํ๋์ด ์์ง๋ง ์จ๋ฆฌ์ด์ฑ์ด ์กฐ๊ธ ๋ฐ์ํ๋ ์ค๋์ค DSP ์๊ณ ๋ฆฌ์ฆ๋ ์์ต๋๋ค. ๊ฐ์ ์๋ ๋ก๊ทธ๋ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ์ค ํ๋์ ๋๋ค. ๋ฐ๋ผ์ ์จ๋ฆฌ์ด์ฑ์ ๋ฐฉ์งํ๋ ค๋ฉด ์ํ๋ง ์๋๋ฅผ ๋์ด๋ ๋ฐฉ๋ฒ๋ฐ์ ์์ต๋๋ค. ์์ค์๋ FPGA์ ์ด๋ฌํ ํน์ฑ์ ํ์ฉํ๋ ๋์งํธ ํค๋ณด๋๊ฐ ๋ช ๊ฐ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Novation Summit ํค๋ณด๋๊ฐ ์์ต๋๋ค. Novation Summit ํค๋ณด๋๋ ๋ด๋ถ์ ์ผ๋ก FPGA๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ถ ์ค์ค๋ ์ดํฐ(20MHz ๋๋ ๊ทธ์ ๋น์ทํ ์๋๋ก ์คํ๋๋ ๋์งํธ ์ค์ค๋ ์ดํฐ)๋ฅผ ์คํํฉ๋๋ค. ๊ทธ ์ด์ ๋ ๋์งํธ ์ค์ค๋ ์ดํฐ๊ฐ ์์ ํ ์จ๋ฆฌ์ด์ฑ์ด ์๋๋ก ํ๊ธฐ ์ํด์์ ๋๋ค.
๊ทธ๋ ๊ตฐ์. ์ํ๋ง ์๋๊ฐ ๋๋ฌด ๋์์ ์๋ ๋ก๊ทธ ํ๋ก์์ ์์ฐ์ ์ผ๋ก ์ ๊ณต๋๋ ๊ฒ๊ณผ ๊ฑฐ์ ๋์ผํฉ๋๋ค. ๋ค, ๊ฑฐ์ ๊ทธ๋ ์ต๋๋ค.
์ดํด๊ฐ ๋ฉ๋๋ค. ์ค๋์ค ์ธ๊ณ์์ ์์ญ ๋ ๋์ ๊ณ์๋๋ ๊ฒฝ์์ ๋ณผ ์ ์์ต๋๋ค.
๋ค, ๋ง์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ ์ด์ ๋ก FPGA๋ ๋งค์ฐ ๋งค๋ ฅ์ ์ ๋๋ค. ๋ฐ๋ผ์ ์ ํฌ๋ ์ด๋ฌํ ์ข ๋ฅ์ ํ๋ซํผ์ ์ง์ํ๊ธฐ ์ํด ์ ๋ง ๋ ธ๋ ฅํ๊ณ ์ถ์ต๋๋ค. ์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ํ์ฌ ์ด ์์ ์ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ์์ผ๋ก ์ํํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ HLS๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์๋ง๋ ๋ฏธ๋์๋ Verilog ๋๋ VHDL์ ์ง์ํ ์ ์์ ๊ฒ์ ๋๋ค. ํ์ง๋ง ํ์ฌ๋ ์ฌ์ ํ HLS ๋๊ตฌ์ ์์กดํด์ผ ํฉ๋๋ค. ์ด๋ ๋ฐ๋์ ์ข์ ์ผ๋ง์ ์๋๋๋ค. ์๋ํ๋ฉด ์ด๋ฌํ ๋๊ตฌ๋ ๋ ์ ์ ์ด๊ณ FPGA ๊ณต๊ธ์ ์ฒด์์ ์ ๊ณตํ๋ฉฐ ํน์ ๋ธ๋๋์ FPGA์์๋ง ์๋ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ, HLS ๋๊ตฌ์ฉ์ผ๋ก Faust๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ ํ๋ C ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ํน์ ๋ธ๋๋์ FPGA์์๋ง ์ ๋๋ก ์๋ํฉ๋๋ค. ์ฆ, Xilinx, Intel ๋ฑ ์ฌ๋ฌ ๋ธ๋๋์ FPGA๋ฅผ ์ง์ํ๋ ค๋ฉด ๋งค๋ฒ ์ฒ์๋ถํฐ ๋ค์ ์์ ํด์ผ ํ ๊ฒ์ ๋๋ค. ํ์ง๋ง Faust์์ ์ง์ VHDL ์ฝ๋ ๋๋ Verilog ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค๋ฉด VHDL ์ฝ๋๋ FPGA๋ง๋ค ๋์ผํ๊ฒ ์๋ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ฌธ์ ์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ต๋๋ค.
VHDL ์ฝ๋๋ FPGA ๋ธ๋๋์ ๊ด๊ณ์์ด ๋์ผํ๊ฒ ์๋ํฉ๋๋ค.
๋ค, ๊ทธ๋ ๊ตฐ์. ์ ์กฐ์ ์ฒด์์ ๋ง๋ ๊ฒ์ด ์๋๋ผ ์ค๋ซ๋์ ํ๋ฆฝ๋ ํ์ค์ด๊ธฐ ๋๋ฌธ์ธ๊ฐ์?
๋ค, ๋ง์ต๋๋ค. ๋ค์ ๋ง์๋๋ฆฌ์ง๋ง, FPGA๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก FPGA์์ ๋์ผํ๊ฒ ์๋ํ๋๋ก ์ค๊ณ๋ ํ๋์จ์ด ์ค๋ช ์ธ์ด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ฌ๋ฏธ์๋ค์. ๊ทธ๋ํฝ ์นด๋์ ๋ฐ์ ๊ณผ ๋น์ทํ ๋ถ๋ถ์ด ์์ต๋๋ค. ์ ์ฉ ํ๋์จ์ด, ์ ์ฉ ์ธ์ด๊ฐ ์์ด์ ์ฌ๋๋ค์ด C#์ด๋ Java์์ ํธ์ถํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, "๋ค, ์์ ํ ๋์ํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ ์์ค๊น์ง ๋๋ฌด ๊น์ด ๋ค์ด๊ฐ ๊ฒ ๊ฐ์ผ๋ ๋ค์ ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค." ์ธ์ด ์์ฒด๋ก ๋์๊ฐ ๋ณด๋ฉด, ์ด ๊ณ ์์ค ํจ์ํ ์ธ์ด๋ฅผ ์์ฑํ์ฌ ์ค๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ๋ถํฐ ์์ ํ์จ์ด๋ฅผ ๊ตฝ๋ ๊ฒ๊น์ง ๋งค์ฐ ๊ด๋ฒ์ํฉ๋๋ค. ์ง์ ์ ์ผํ์ผ๋ก ์ด๋ฌํ ๋ด์ฉ์ ๊ฐ๋ฅด์น๊ณ ๊ณ์ ๋ฐ, ์ผ๋ง๋ ๊น์ด ์๊ฒ ๋ค๋ฃจ์๋์? ์ ํต์ ์ธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋ ์ฌ๋๋ค์๊ฒ ์ด๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ด๋ป๊ฒ ๊ฐ๋ฅด์น์๋์?
์์งํ ๋ง์๋๋ฆฌ๋ฉด ๊ฐ๋ฅด์น์ง ์์ต๋๋ค. ์ค๋์ค DSP ์์ฒด๊ฐ ๋งค์ฐ ๊ด๋ฒ์ํ ๋ถ์ผ์ ๋๋ค. ์ต๊ณ ์์ค์ ๋ํ๊ต์ ๋ค๋๋ ๋งค์ฐ ์ฐ์ํ ํ์์ด๋ผ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ๊ธฐ์ ์ด์ผ๊ธฐํ ๋ชจ๋ ๊ฒ์ ๊ฒํฅ๊ธฐ์์ผ๋ก๋ง ๋ฐฐ์ธ ์ ์์ต๋๋ค.
์ปดํ์ผ, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค๊ณ ๋ฑ์ ๊ด์ฌ ์๋ ํ์๊ณผ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ์ ๊ด์ฌ ์๋ ํ์์ ๋ค๋ฆ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค DSP๋ฅผ ํ๋ ํ์์ ์ ๊ธฐ ๊ณตํ ์ ๊ณต ํ์์ด๊ณ , ์ปดํ์ผ๋ฌ ์ ์๊ณผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฑ์ ๊ด์ฌ ์๋ ํ์(์์ฆ์๋ ๊ทธ๋ ๊ฒ ๋ง์ ํ์์ด ๊ด์ฌ์ ๊ฐ์ง์ง ์์ต๋๋ค)์ ์ผ๋ฐ์ ์ผ๋ก ์ปดํจํฐ ๊ณผํ ์ ๊ณต ํ์์ ๋๋ค. ๋ฐ๋ผ์ ์ ๋ ์ด๋ฌํ ๋ด์ฉ์ ๊ฐ๋ฅด์น ๋ Faust์์์ ๊ฐ์ด ํ ์์ ์์ ๋ชจ๋ ํจ๊ป ๊ฐ๋ฅด์น๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ต๋๋ค. ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋๋ก ์ปดํจํฐ ๊ณผํ ์์ ์ ๊ฐ๋ฅด์น ๋ ์ธ์ด ์ค๊ณ ์ธก๋ฉด์ ์ง์คํด์ผ ํฉ๋๋ค. ํ์ง๋ง Faust์์์ ๊ฐ์ด ์ด ๋ชจ๋ ๊ฒ์ ๊ฒฐํฉํ ์ ์๋ ๊ฒฝ์ฐ๋ ๋งค์ฐ ๋๋ญ ๋๋ค. ์ ํธ ์ฒ๋ฆฌ, ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅด์น๋ ๋๊ตฌ๋ก Faust๋ฅผ ์ฌ์ฉํ๋ ์์ ์ ๊ฐ๋ฅด์น๊ธฐ๋ ํฉ๋๋ค. ํ์ง๋ง Faust๊ฐ ์ค์ ๋ก ์ด๋ป๊ฒ ์๋ํ๋์ง ์์ธํ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ๋ ๋งค์ฐ ๋๋ญ ๋๋ค. ์๋ํ๋ฉด ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ ์์ฒด๋ฅผ ๋ฐฐ์ฐ๋ ๋ฐ ์ด๋ฏธ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์ด ์์ ์ ์ด๋ฏธ ์์ฌ ๊ณผ์ ํ์ ์ค ์กธ์ ์ ๋ง์ง๋ง ํด ๋๋ ๊ทธ ์ ํด์ ํ์์ ๋์์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ํฌ๊ฐ ํ๋ ์ผ์ ๋ํ ์ฒญ์ค์ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ๋์ง ์์ต๋๋ค.
์ดํด๊ฐ ๋ฉ๋๋ค. ํ์๋ค์ ์ ๋ฌธํ ๋จ๊ณ์ ์์ ๊ฒ์ ๋๋ค. ์ง๊ธ๊น์ง ์ด์ผ๊ธฐํ ๋ด์ฉ์ ์๋ง๋ 4๊ฐ์ง์ ๋ค๋ฅธ ์ง๋ก๋ฅผ ๋ค๋ฃจ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ๊ฑฐ์ ๊ทธ๋ ์ต๋๋ค. ์ด๋ฌํ ๋ถ์ผ์์ ์ผํ๊ฒ ๋๋ ํ์๋ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ฌ ๊ณผ์ ํ์์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฌํ ์์ ์ ์ค์ ๋ก ์ํํ๊ธฐ ์ํด ์์์ผ ํ๋ ์ถ๊ฐ์ ์ธ ๋ด์ฉ์ ๋ฐฐ์ธ ์๊ฐ์ด ์๋ ํ์๋ค์ ๋๋ค.
์ด๋ฌํ ๋ด์ฉ์ ํ ์์ ์์ ๊ฐ๋ฅด์น๋ ๊ฒ์ ์ ๋ง ์ด๋ ต์ต๋๋ค.
๋ค, ๊ทธ๋ด ๋ง๋ ํฉ๋๋ค. ์๋ง๋ ์ค์ต๋ถํฐ ์์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์๋ํ๋ฉด Faust๋ ๋งค์ฐ ์ค์ต์ ์ธ ์ธ์ด์ด๊ณ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ง์ ๋ค์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค, Faust์ ์ฅ์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์น ๋ธ๋ผ์ฐ์ ์์ ํ ์ค์ ์ฝ๋๋ง ์์ฑํด๋ ์ค์ ๋ก ์๋ฆฌ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ ๋ ๊ฐ์ธ์ ์ผ๋ก ๊ทธ๋ ๊ฒ ํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด ๊ทธ๋ ๊ฒ ํ ์๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ ์คํ๊ต์ ๊ณ ๋ฑํ๊ต์์ ์ค์ ๋ก ์ด๋ฌํ ์์ ์ ํ๋ ๋๋ฃ๊ฐ ์์ต๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ด๋ ์ค๋์ค ์ ํธ ์ฒ๋ฆฌ์ ๋ํ ๋ฐฐ๊ฒฝ ์ง์์ด ์๋ ์คํ์๋ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ์ธ์ด๊ฐ ๋ฐฐ์ฐ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ํ๋ ์ค์ ์ฝ๋๋ง์ผ๋ก๋ ๊ฐ๋จํ ์ ๊ธฐ๋ ์ค๋์ค ํจ๊ณผ ํ๋ก์ธ์๋ฅผ ์ํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ช ๋ ์ ์ AmstrumGram์ด๋ผ๋ ํ๋ก์ ํธ๋ฅผ ์งํํ์ต๋๋ค. AmstrumGram์ ๋ชฉํ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅํ ์ ๊ธฐ๋ฅผ ํ๋ก๊ทธ๋๋ฐํ์ฌ ์คํ์์๊ฒ ๊ณผํ์ ๊ฐ๋ฅด์น๋ ๊ฒ์ ๋๋ค.
์ด ํ์บ์คํธ๋ฅผ ๋ฃ๊ณ ์๋ ๋ถ๋ค์ ์ดํดํ๊ธฐ ์ด๋ ค์ธ ์๋ ์์ง๋ง, ๋ณด๊ณ ๊ณ์ ๋ถ๋ค์ ์ํด ์ ๊ฐ ๋งํ๋ ์ ๊ธฐ๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฃ๊ณ ๊ณ์ ๋ถ๋ค์ ์ํด ์ค๋ช ํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ด์ ๋น๋์ค ํ์บ์คํธ์ ๋ผ๋์ค ํ์บ์คํธ๊ฐ ๊ฒฐํฉ๋์์ต๋๋ค.
์ด๊ฒ์ด ๊ทธ๋ผ๋ชจํฐ์ ๋๋ค. ๊ทธ๋ผ๋ชจํฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ธ๋ฃจํฌ์ค ์คํผ์ปค์ฒ๋ผ ์๊ฒผ์ต๋๋ค.
๋ธ๊ธฐ์ผ ๋ณ์ ๋ ธ๋ธ๊ฐ ๋ฌ๋ฆฐ ๊ฒ์ฒ๋ผ ์๊ฒผ๋ค์. ๋ค, ๊ฑฐ์ ๊ทธ๋ ์ต๋๋ค. ์ด๋ ๊ฒ ์์ ๋ค ์ ์์ต๋๋ค. ๋ท๋ฉด์ ๋์ด ์์ต๋๋ค.
๋์ ์ฌ์ฉํ์ฌ ๋ธ๊ธฐ์ผ ๋ณ์ ์์ ์ง์ ๋ค๊ณ ๋ค์ํ ๋ฒํผ๊ณผ ๋ ธ๋ธ๋ฅผ ์กฐ์ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ์ฅ์น๋ Faust๋ก ํ๋ก๊ทธ๋๋ฐํ ์ ์์ต๋๋ค. ๋ฐฐํฐ๋ฆฌ๋ก ์๋ํ๊ธฐ ๋๋ฌธ์ ์์ ํ ๋ ๋ฆฝ์ ์ ๋๋ค. ๋ฐฐํฐ๋ฆฌ๋ ์ฝ 20์๊ฐ ๋์ ์ง์๋ฉ๋๋ค. ์ฆ, ๊ฝค ์ค๋ซ๋์ ์ฐ์ฃผํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ์ฅ์น๋ Faust๋ก ํ๋ก๊ทธ๋๋ฐํ ์ ์์ต๋๋ค.
ํ์๋ค์ ์ด ์ฅ์น๋ฅผ ํ๋ก๊ทธ๋๋ฐํ์ฌ ์๋ฆฌ๋ฅผ ๋ด๊ณ , ์ ๊ธฐ์ ์๋ ๋ค์ํ ์ผ์๋ฅผ ํน์ Faust ํ๋ก๊ทธ๋จ์ ๋งคํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค. ์ ๊ธฐ ๋ณธ์ฒด์ ์ฅ์ฐฉ๋ ๋ฌผ๋ฆฌ์ ์ผ์๊ฐ ์์ต๋๋ค. ๋ ธ๋ธ, ์ ์์ฐจ๊ณ ๋ฑ์ด ์์ต๋๋ค. ํ์ง๋ง ์ด ์ ๊ธฐ์๋ ๊ฐ์๋๊ณ, ์์ด๋ก์ค์ฝํ, ๋์นจ๋ฐ ๋ฑ์ ๋ชจ์ ์ผ์๋ ๋ด์ฅ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ ์ผ์๋ฅผ ์ฌ์ด๋ ํฉ์ฑ ๋งค๊ฐ๋ณ์์ ๋งคํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ด ์ ๊ธฐ์์ ์ฌ์ธํ ์ค์ค๋ ์ดํฐ๋ฅผ ์คํํ๊ณ ์ฌ์ธํ ์ค์ค๋ ์ดํฐ์ ์ฃผํ์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์๋๊ณ์ x์ถ์ ๋งคํํ๋ ค๋ ๊ฒฝ์ฐ ๋งค์ฐ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค. Faust์์ ํ ์ค์ ์ฝ๋๋ง ์์ฑํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋น ์ ๊ธฐ๋ฅผ ์ ์์ ๋ค๊ณ ์๋ ๊ทธ๋ผ๋ชจํฐ์ผ๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ ์ฌ์ ์ผ๋ก ๊ฐ์๋๊ณ์ x์ถ์ ์ฌ์ฉํ์ฌ ์ฃผํ์๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ์๋ง๋ ๊ณต๊ฐ์์ ๊ทธ๋ผ๋ชจํฐ์ ๋ฐฉํฅ์ ๋ฐ๋ผ ์๋ฆฌ๊ฐ ๋ค๋ฅด๊ฒ ๋ค๋ฆด ๊ฒ์ ๋๋ค.
์ ๋ง ์ฌ๋ฏธ์๋ ํ๊ต ์์ ์ด ๋ ๊ฒ ๊ฐ๋ค์. ๊ทธ๋ฆฌ๊ณ ์ ๋ง ์๋ง์ง์ฐฝ์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ์ผ๋ฐ์ ์ผ๋ก ์์ด๋ค์ ์ด๊ฑธ ์ข์ํฉ๋๋ค. ์๋ํ๋ฉด ์ด๋ค ์๋ฏธ์์๋ ๋งค์ฐ ์ค๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์คํ์ 30๋ช ์ด ์ด๋ ๊ฒ ํฐ ์คํผ์ปค๊ฐ ์๋ ๊ฐ์ ๋ฐฉ์์ ์ฌ์ธํ์ ์ฃผํ์๋ฅผ ๋ชจ๋ ํจ๊ป ์กฐ์ํ๋ค๊ณ ์๊ฐํด ๋ณด์ธ์. ์ ๋ง ํ๋ญ๋๋ค. ์๋ง๋ ์ ๊ฐ ์ด ์์ ์ ๋ด๋นํ์ง ์๋ ์ด์ ์ค ํ๋์ผ ๊ฒ์ ๋๋ค.
์ ์ฒ์ ๋ ์ ์๋์ธ๋ฐ, ์์ด๋ค์ ํฅ๋ฏธ๋ฅผ ์ ๋ฐํ๊ธฐ ์ํด ๋ ํ๋ ์ผ๋ ํด๋ดค์ต๋๋ค. ํ์ง๋ง ์ ๋ ๊ทธ ์ผ์ ์ ํ ๋ถ๋ฌ์ํ์ง ์์ต๋๋ค.
์, ๋ค, ์ ๋ ๊ทธ ์ผ์ ์ ๋ง ์กด๊ฒฝํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ์ธ๋ด์ฌ์ด ๊ฐํ ๋๋ฃ๊ฐ ์์ด์ ์ ๋ง ๋คํ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํ์ง๋ง ์ ๋ง ์ ์ ์๋ ์ผ์ ๋๋ค. ์ด์จ๋ Faust๋ฅผ ๋ฐฐ์ฐ๊ณ ์ถ๊ฑฐ๋ Faust๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ ๋ฌธ๊ฐ๊ฐ ๋ ํ์๋ ์์ต๋๋ค. DSP ์์ง๋์ด๋ผ๋ฉด ๋งค์ฐ ์ ์์ค์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ง๋ง, ์คํ์์ด๊ณ Faust์ ์ด๋ฏธ ๊ตฌํ๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ์ ์์ฐจ๊ณ์ ๊ฐ์ ๊ฒ์ ๋งคํํ๊ธฐ๋ง ํ๋ฉด ์ ๋ง ์ ๋ง ์ฝ์ต๋๋ค. ๋ฐ๋ผ์ ์ ๋ฌธ๊ฐ๋ฟ๋ง ์๋๋ผ ๋๊ตฌ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ข๋ค์. ๋ง์ง๋ง์ผ๋ก ์ด ํ์บ์คํธ์ ์ฒญ์ทจ์๋ฅผ ์ํ ์ง๋ฌธ์ ๋๋ค. ์๋ จ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ด ๋ ํนํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์๋ก์ด ๋ถ์ผ์์ ์คํํด ๋ณด๊ณ ์ถ๋ค๋ฉด ์ด๋์๋ถํฐ ์์ํด์ผ ํ ๊น์?
๊ฐ์ฅ ๋จผ์ Faust ์น์ฌ์ดํธ(Faust.grame.fr)๋ฅผ ๋ฐฉ๋ฌธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ผ ๋ ธํธ์ ๋งํฌ๋ฅผ ๋จ๊ฒจ ๋๊ฒ ์ต๋๋ค.
๋ค, ์ด ์น์ฌ์ดํธ์์ Faust๋ฅผ ์์ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ข ๋ ๊ณ ๊ธ ์์ ์ ํ๊ณ ์ถ๋ค๋ฉด, ๋ช ๋ ์ ์ Faust๋ฅผ ๋ง๋ Yann๊ณผ ํจ๊ป Kadenze ํ๋ซํผ์ Faust์ ๋ํ ์จ๋ผ์ธ ๊ฐ์ข๋ฅผ ๋ นํํ์ต๋๋ค. Kadenze๋ K-A-D-E-N-Z-E๋ก ํ๊ธฐํฉ๋๋ค. ๋ฏธ๊ตญ์ ๊ธฐ๋ฐ์ ๋ ํ๋ซํผ์ด๊ณ , ๋น์ ์ ๊ฐ ๊ฐ๋ฅด์น๊ณ ์๋ ์คํ ํผ๋ ๋ํ๊ต๊ฐ ์ด ํ๋ซํผ๊ณผ ํ๋ ฅํ์ฌ ์จ๋ผ์ธ ๊ฐ์ข๋ฅผ ์ ์ํ๊ณ ์์์ต๋๋ค. ๋ฐ๋ผ์ ์ด ํ๋ซํผ์์ Faust์ ๋ํ ์จ๋ผ์ธ ๊ฐ์ข๋ฅผ ๋ฌด๋ฃ๋ก ์๊ฐํ ์ ์์ต๋๋ค. ์ด ๊ฐ์ข๋ 5~6๋ ์ ์ ์ ์๋์๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ ์ค๋๋์์ง๋ง ์ฌ์ ํ ์๋นํ ์ต์ ๋ด์ฉ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. Faust ์น์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ ํ Faust๋ฅผ ๋ฐฐ์ฐ๋ ๋ค์ ๋จ๊ณ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ค, ๊ฑฐ๊ธฐ์๋ถํฐ ์์ํด ๋ณด์ธ์. ๊ทธ๋ฆฌ๊ณ ๋ช ๋ ํ์๋ ๋น์ ์ ๋ ํนํ ๋ฌผ๋ฆฌ์ ํ๋์จ์ด ์ ๊ธฐ๊ฐ ๋ค์ Taylor Swift ํฌ์ด์ ์ฌ์ฉ๋ ์๋ ์์ต๋๋ค.
๊ธ์์, ๋๊ฐ ์๊ฒ ์ด์?
์ง์ง ๋์ด ๋๋ ๊ณณ์ด ๋ฐ๋ก ๊ฑฐ๊ธฐ์ฃ .
๋ค, Taylor Swift๋ฅผ ์ง์ ์๋ ๋ถ์ด ๊ณ์๊ณ Taylor Swift๊ฐ ์ ํฌ์ ํ๋ ฅํ๋ ๋ฐ ๊ด์ฌ์ด ์์ ๊ฒ ๊ฐ๋ค๋ฉด ์ธ์ ๋ ์ง ์ ์ํด ์ฃผ์ธ์.
์ข์ต๋๋ค. Taylor, ๋น์ ์ด ์ด ์ผ์ ์ด๋ ฌํ ํฌ์ด๋ผ๋ ๊ฑธ ์๊ณ ์์ต๋๋ค. ์ฐ๋ฝ ์ฃผ์ธ์. ๊ทธ๋๊น์ง Romain, ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์ ์์๋ณด๋ค ํจ์ฌ ๋๊ณ ํฅ๋ฏธ๋ก์ด ์ด์ผ๊ธฐ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๋ค, ๊ฐ์ฌํฉ๋๋ค. ์ด๋ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ ๋ง ์ฆ๊ฑฐ์ ์ต๋๋ค.
Romain, ๊ฐ์ฌํฉ๋๋ค. ์ผ ๋ ธํธ์์ ๋ชจ๋ ๋งํฌ๋ฅผ ํ์ธํ์ธ์. ์ด๋ฒ ์ฃผ์๋ ์ ๋ง ๋ง์ ๋ด์ฉ์ ๋ค๋ฃจ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋งํฌ๋ ๋ธ๋ผ์ฐ์ ์์ ์คํ๋๋ Faust ํ๊ฒฝ์ผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. ์ง๊ธ ๋ฐ๋ก ์ค๋์ค ํ์ดํ๋ผ์ธ์ ์ฝ๋ฉํด ๋ณผ ์ ์์ต๋๋ค. ์ ๋ง ์ฌ๋ฏธ์์ต๋๋ค. ์์ฆ์๋ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ง์์ ์ผํ๊ธฐ ๋๋ฌธ์ ์ง๊ธ ๋ฐ๋ก ์ด์ํ ์๋ฆฌ๋ฅผ ํ๋ก๊ทธ๋๋ฐํด๋ ์ฌ๋ฌด์ค์ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๋ฐฉํด๊ฐ ๋์ง ์์ต๋๋ค. 5๋ถ๋ง ์๊ฐ์ ๋ด์ด ์ฐ์ฃผํด ๋ณด์ธ์. ์ ๋ ์ค์ ๋ก ์ด๊ฒ์ ์ฌ์ฉํ์ฌ ์ ์์ฌ์ด์ ์ ์์ฝ ํจ๊ณผ๋ฅผ ํ๋ก๊ทธ๋๋ฐํ์ต๋๋ค. ์ ๋ง ์ฌ์ ์ต๋๋ค. ํ๋ฒ ์๋ํด ๋ณด์ธ์.
์ด ์ํผ์๋๊ฐ ๋ง์์ ๋์ จ๋ค๋ฉด ๊ฐ์๊ธฐ ์ ์ ์ข์์, ํ์ ์ ๋จ๊ฒจ ์ฃผ์๊ณ ์น๊ตฌ์ ๊ณต์ ํด ์ฃผ์ธ์. Developer Voices์ ํฅํ ์ํผ์๋๋ฅผ ์ง์ํ๊ณ ์ถ๋ค๋ฉด Patreon์ ๊ฐ์ ํด ์ฃผ์ธ์. Taylor, ๋น์ ์ ๋ณด๊ณ ์์ต๋๋ค. ๋น์ ์ ์ถฉ๋ถํ ๊ฐ๋นํ ์ ์๋ค๋ ๊ฑธ ์๊ณ ์์ต๋๋ค. Eras Tour๊ฐ ๋๋๋ฉด ๋ฐ๋ก ๊ฐ์ ํ์ธ์. ์ด์ ๊ทธ๋ง ๋ง๋ฌด๋ฆฌํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๋ ์ฌ๋ฌ๋ถ์ ํธ์คํธ Kris Jenkins์์ต๋๋ค. ์ง๊ธ๊น์ง Romain Michon๊ณผ ํจ๊ปํ Developer Voices์์ต๋๋ค. ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.