์๋ ํ์ธ์! ์ด๋ก ๊ณผ ์ค์ต์ ๋ชจ๋ ๊ฒช์ ์์ผ๋ก ์ค๊ณํ๋ RISC-V ๊ธฐ๋ฐ ์์คํ ๊ฐ๋ฐ์์ ๋๋ค.
๐ซ ๊ฐ์๋ํ๊ต ์ ๊ธฐ์ ์๊ณตํ๊ณผ
๐ ์์ธ๊ธฐ์ ๊ต์ก์ผํฐ Harman Semicon Academy ์๋ฃ
๐ ๊ฐ์๋ํ๊ต IT๋ํ ์กธ์ ์ํ ๊ฒฝ์ง๋ํ ์ฐ์์ ์์
๐ง Email | cong2738@gmail.com
๐ก ์ ๋ RTL Design / Verification์ ๋ถ์ผ์ ์ด์ ์ ๊ฐ์ง HW ์์ง๋์ด ๋ฐํธ์ค ์ ๋๋ค!
- ํ๋์จ์ด ๊ธฐ๋ฐ ๊ณ ์ ์์์ฒ๋ฆฌ(ISP)ํ๋ก์ ํธ๋ฅผ ์ค๊ณํ๊ณ ์งํํ ๊ฒฝํ์ด ์์ต๋๋ค.
- FPGA ๊ธฐ๋ฐ ๋ฉํฐ์ฌ์ดํด RV32I CPU ๋ฐ SoC ์ค๊ณ ๊ฒฝํ์ด ์์ต๋๋ค.
- SPI, I2C, APB ๋ฒ์ค ๋ฑ ๋ค์ํ ํต์ ๋ชจ๋์ RTL๋ก ๊ตฌํํ๊ณ , SystemVerilog๋ก ๊ฒ์ฆ ํ๊ฒฝ์ ๊ตฌ์ถํ ๊ฒฝํ์ด ์์ต๋๋ค.
- Testbench ์์ฑ, ํํ ๋ถ์, ๋จ์/ํตํฉ ๊ฒ์ฆ์ ๋ฅ์ํ๋ฉฐ, ๊ตฌ์กฐ์ ์ด๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฒ์ฆ ์์คํ ์ ์ค๊ณํ ์ ์์ต๋๋ค.
- ๋์งํธ ํ๋ก์ ํ๋ฆ๊ณผ ์ ์ด ๋ก์ง์ ๊น์ด ์๊ฒ ์ดํดํ๊ณ ์์ผ๋ฉฐ, ์ค๊ณ โ ์๋ฎฌ๋ ์ด์ โ ๊ฐ์ ์ ๊ณผ์ ์ ์ฒด๊ณ์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค.
- ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ์์ ๋ ผ๋ฆฌ์ ์ฌ๊ณ ์ ๋๋ฒ๊น ์ญ๋, ๊ทธ๋ฆฌ๊ณ ํ์ ์ ์ํ ๋ช ํํ ์ปค๋ฎค๋์ผ์ด์ ์ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ๋ฉํฐ์ฌ์ดํด RV32I CPU๋ฅผ ์ง์ ์ค๊ณํ์ฌ ์ปดํจํฐ ๊ตฌ์กฐ์ ๋ํ ๋์ ์ดํด๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค.
- APB(Advanced Peripheral Bus) ๋ฒ์ค ์ค๊ณ๋ฅผ ๋ค๋ค๋ณธ ๊ฒฝํ์ ํตํด CPU์ ์ฃผ๋ณ์ฅ์น ๊ฐ์ ์ฐ๊ฒฐ ํ๋กํ ์ฝ๊ณผ ๋์ ๋ฐฉ์์ ๊น์ด ์๊ฒ ์ดํดํ๊ณ ์์ต๋๋ค.
- AXI Peripheral IP์ ์ง์ ๋ง๋ค๊ณ ๋ธ๋ก์ ์ค๊ณํ ๊ฒ ํ์ด ์์ต๋๋ค.
- UART, SPI, I2C ๋ฑ ํต์ ๋ชจ๋์ ์ง์ ๊ตฌํํ๊ณ , ๊ธฐ๋ฅ ๋จ์ ํ ์คํธ๋ฒค์น๋ฅผ ํตํด ๋ช ํํ ๊ฒ์ฆํ์ต๋๋ค.
- ํตํฉ ์ผ์ ์์คํ ์์ ๊ฐ ์ผ์ ๋ชจ๋์ Verilog๋ก ๊ตฌํํ๊ณ ์ํธ ์ฐ๋์ ์ํ ๊ตฌ์กฐ์ ์ค๊ณ๋ฅผ ์ํํ์ต๋๋ค.
- FSM ๊ธฐ๋ฐ ์ ์ด ์ค๊ณ, ๋ชจ๋ํ, ์๋ฎฌ๋ ์ด์ ํํ ํด์ ๋ฅ๋ ฅ์ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- SystemVerilog๋ก ๋ณต์กํ ํ ์คํธ๋ฒค์น ํ๊ฒฝ์ ๊ตฌ์ถํ๊ณ , ๋ค์ํ ๋ช ๋ น์ด/๋ชจ๋์ ๊ฒ์ฆ์ ์ํํ ๊ฒฝํ์ด ์์ต๋๋ค.
- RISC-V APB ์์คํ , SPI/I2C ๋ชจ๋, ์์์ฒ๋ฆฌ ์์คํ ์ ๋ํ ํ ์คํธ ํ๊ฒฝ์ ์ง์ ์์ฑํ์์ต๋๋ค.
- I2C ํต์ ๋ชจ๋์ ๋์์ผ๋ก UVM(Universal Verification Methodology)์ ์ ์ฉํ์ฌ, ๋จ์ ๋ชจ๋ ๋ฐ ์์คํ ํตํฉ ์์ค์ ๊ฒ์ฆ ํ๋ฆ ๊ตฌ์ฑ ๊ฒฝํ์ด ์์ต๋๋ค.
- STM32 (Cortex-M4)๋ฅผ ํ์ฉํ ์์คํ ์ ์ด ๊ฒฝํ์ด ์์ผ๋ฉฐ, ์ผ์ ์ ์ด, UART/I2C/SPI ํต์ ๊ตฌํ ๋ฑ์ ์ง์ ๊ฐ๋ฐํ์ต๋๋ค.
- ์๋ฒ ๋๋ ์์คํ ์ RTOS๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํฐ์ค๋ ๋ฉ ํ๊ฒฝ์์์ ์์คํ ์ค๊ณ์ ๋์์ธํจํด ์ ์ฉํ ๊ฒฝํ์ด ์์ต๋๋ค.
- ํ๋์จ์ด ์ค๊ณ ์ธ์๋ Python์ ํ์ฉํ API ๊ธฐ๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฒฝํ์ด ์์ผ๋ฉฐ, ์ถํด๊ทผ ์๋ด ๋ณด์กฐ ์์คํ ์ ๊ตฌํํ์ต๋๋ค.
- ๋ฐ์ดํฐ์ํธ ๊ธฐ๋ฐ ์์คํ ์ค๊ณ ๋ฐ ๋ก์ฐ๋ ๋ฒจ ํต์ ๊ตฌํ์ ์ต์ํฉ๋๋ค.
- ๋จธ์ ๋ฌ๋ ์์ด Verilog๋ง์ผ๋ก ์์ ์ถ์ถ ๊ธฐ๋ฐ ๋ง์ปค ํธ๋ํน ์์คํ ์ ๊ตฌํํ์ต๋๋ค.
- FPGA์ ์ฐ๊ฒฐ๋ ์นด๋ฉ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ ์ฒญ๊ธฐ๋ฐฑ๊ธฐ ๊ฒ์ ๋ฑ ์ธํฐ๋ํฐ๋ธ ์์คํ ์ ์์ฑํ์ต๋๋ค.
- RGB-HSV ์์ ๊ณต๊ฐ ์ฒ๋ฆฌ, ๋ง์ปค ์์น ์ถ์ , ์๋ ์ถ์ ๋ฑ ๊ฐ๋จํ ๋น์ ๋ก์ง์ HDL๋ก ์ง์ ๊ตฌํํ ๊ฒฝํ์ด ์์ต๋๋ค.
-
HandBand>> https://github.com/cong2738/HandBand
|SystemVerilogverilogISPCPythonRTLEmbeddedMultithreadingMIPIVDMAAMBA AXI
- ์์์ฒ๋ฆฌ ๋ชจ์ ์ธ์ ๋ฌด๋์ฅ์น ์ ์ด์์คํ
-
FlagGame>> https://github.com/cong2738/FlagGame
|SystemVerilogRTLISPVGA
- ์์์ฒ๋ฆฌ ๋ง์ปค ํธ๋ํน ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ FlagGame RTL Design
-
RTOS-Winecellar>> https://github.com/cong2738/wine_celler
|CEmbeddedRTOSARM Coretex M
- RTOS ๊ธฐ๋ฐ ์์ธ์ ๋ฌ
- RTOS ๋ฉํฐ์ค๋ ๋ฉ์ ์ ์ฉ ํ์ฅ์ฑ๊ณผ ๋์ ์ ์ถ๋ ฅ, ๋ฐ์ดํฐ์ฒ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ค
-
I2C/SPI Team Project>> https://github.com/cong2738/May_team_project_I2C_SPI
|SystemVerilogCRTLUVM
- I2C, SPI ํต์ RTL ์ค๊ณ/๊ฒ์ฆ with AMBA AXI
- ํต์ ํ๋กํ ์ฝ์ ์ง์ RTL์ค๊ณํ๊ณ UVM๊ฒ์ฆํ๋ค
-
SmartFarmSensorSystem>> https://github.com/cong2738/SmartFarmSensorSystem
|SystemVerilogRTLCAMBA APB
- My AMBA APB Interface, My RISC-V์ ํ์ฉํ ์ค๋งํธํ ์ผ์ ์์คํ
- AMBA APB Interface๋ฅผ ์ง์ ๊ตฌํํ๋ค
-
my_RISC-V>> https://github.com/cong2738/my_RISC-V
|VerilogRTLC
- ๋ฉํฐ์ฌ์ดํด RISC-V CPU ์ค๊ณ
- RISC-V๋ฅผ ์ง์ RTL์ค๊ณํ๋ฉฐ CPU๊ตฌ์กฐ์ ๋์์ ๋ํด ์ดํดํ๋ค
-
์ถ๊ทผ๋น์>> https://github.com/cong2738/HarmanCA_project1
|PythonAPI
- Python API๋ฅผ ํ์ฉํ์ถ๊ทผ๋น์
-
์ค์๊ฐ ์์์ฒ๋ฆฌ๋ฅผ ์ด์ฉํ ๋ก๋ด ์ ์ด์ ๋ฐฉ๋ฒ๊ณผ ํ์์ฑ>> https://github.com/cong2738/Kangwon_university_senior_project
|PythonDeeplearning
- ๋จธ์ ๋ฌ๋ ์์์ฒ๋ฆฌ๋ฅผ ํ์ฉํ ๋ก๋ด์ ์ด
-
์ ์ฒด ๋ ํฌ์งํ ๋ฆฌ https://github.com/cong2738?tab=repositories