Microblaze - Terry4055/FPGA_HW GitHub Wiki
- ๋ง์ดํฌ๋ก ๋ธ๋ ์ด์ฆ๋, ๋ง์ดํฌ๋ก๋ธ๋ ์ด์ฆ ์๋ฒ ๋๋ ํ๋ก์ธ์ ์ํํธ ์ฝ์ด๋ฅผ ์๋ฏธํ๋ค. Xilinx FPGA ๋ด์์ ์ด๊ธฐ FPGA ๋ ์ง์คํฐ ์ ํ ๋ฑ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ Implementation์ฉ ์ต์ ํ๋ RISC(reduced instruction set computer)๋ค. ์์ CPU๋ผ๊ณ ์๊ฐํ์. Zynq๋ ARM core๊ฐ ์๋ฒ ๋๋ ๋์ด ์์ง๋ง, ํ ์๋ฆฌ์ฆ FPGA์๋ ์๊ธฐ ๋๋ฌธ์ ์ด ๊ฒ์ ์ฌ์ฉํ๋ค.
-
๊ตฌ์กฐ
- Program Counter๋ CPU๊ฐ ํ์ฌ ์คํํ๊ณ ์๋ Instruction ์ฃผ์๋ฅผ ๊ฐ๋ฅดํจ๋ค.
- Instruction Decode๋ ILMB๋ฅผ ํตํด ์ฝ์ด ๋๋ฆฐ Instruction ์ฆ Instruction Buffer์ ๋ด๊ธด Instruction์ ํด์ํ์ฌ CU ์ฆ Central Unit์๊ฒ ๋๊ธด๋ค.
- DLMB๋ฅผ ํตํ์ฌ, Data Register๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ค์ง์ ์ธ FPGA Logic๊ณผ๋ M_AXI_DP๋ฅผ ํตํด AXI4 ๋๋ AXI4-Lite๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
-
๋ง์ดํฌ๋ก ๋ธ๋ ์ด์ฆ๋ ๋จผ์ VIVADO ๋ธ๋ก ๋์์ธ์์ ๊ตฌ์ฑ์ ๋ง์น๊ณ , Export Hardware๋ฅผ ํตํ์ฌ Hardware Platform์ ์ถ์ถํ์ฌ SDK๋ก ์ดํ C์์ ์ ํ๋ค.
-
์ฃผ์ ๋ง์ดํฌ๋ก๋ธ๋ ์ด์ฆ ์ธํฐํ์ด์ค
- LMB : on-chip block RAM ์ ๊ทผ ํ๋๋ฐ ์ฐ์ด๋ Synchronous Bus
- DLMB : Data Interface, Local Memory Bus
- ILMB : Instruction Interface, Local Memory Bus
- M_AXI_DP : Peripheral Data Interface
- DLMB,ILMB๋ Local Memory Bus, Local BRAM Controller๋ฅผ ํตํด True Dual Port RAM์ ์ฌ์ฉํ๋ค.
-
SDK ๊ตฌ์ฑ
- BSP(board Support Package)
- I/O ์ฆ FPGA Logic๋ถ์ ์ฐ๊ฒฐ๋๋ ๋ถ๋ถ์ ๋ํ์ฌ ๋์์ด ๊ฐ๋ฅ์ผ ํ๋ ํ์จ์ด ๋ถ์ด๋ฉฐ .mss ํ์ผ๋ก ๊ด๋ฆฌ ๋๋ค.
- Hardware Platform
- VIVADO์์ Exportํ์ฌ .hdf ํ์ผ๋ก ๊ด๋ฆฌ ๋๋ฉฐ, Hardware IP์ Address ์ ๋ณด ๋ฑ์ ์์ ์์ผ๋ฉฐ, ์ค์ ๊ฐ๋ฅ
- C ํ์ผ
- ์ค์ง์ ์ธ ์ฝ๋ฉ ์ ์ด ๋ถ
- BSP(board Support Package)