SoC Design/SoC 설계
SoC 설계 (9월 9일, SoC 설계 입문 - (1))
유로 청년
2024. 9. 9. 20:30
1. SoC (System on Chip) 이란?
- SoC는 단일 집적 회로 (IC)내에 컴퓨터나 기타 시스템의 필수 구성 요소들을 포함시킨 칩을 의미한다.
- SoC는 일반적으로 다음과 같은 기능들을 포함하고 있다.
- CPU (중앙 처리 장치)
- GPU (그래픽 처리 장치, 필요한 경우)
- 메모리 (ROM, 비휘발성 메모리, 캐시 메모리 등)
- 주변 장치 컨트롤러 (UART, I2C 등)
- 타이머, 카운터, 전원 관리 유닛
- 블루투스, WIFI (필요한 경우) - 하나의 칩안에 위와 같은 기능들을 포함시켰기 때문에 공간, 시간, 비용을 절약할 수 있다.
- 특수한 목적 및 요구사항에 맞게 맞춤형 설계가 가능하다.
2. 원하는 기능 및 모듈 만을 선택하여 맞춤형 MCU (MicroController Unit) 설계
- RTL 디자인 수업 과정에서는 Basys3 보드 전체를 사용했지만, SoC 디자인을 통해 원하는 기능 및 모듈을 선택하여 맞춤형 MCU를 설계함으로서 효율적으로 활요할 수 있는 MCU를 만들어 낼 수 있다.
- 따라서 이번에는 원하는 기능 및 모듈들을 하나씩 추가해가며, 맞춤형 MCU를 설계해보도록 하겠다.
2.1. Basys3 기반으로 맞춤형 MCU 설계
< 1단계) Flow Navigator → IP INTEGRATOR → Create Block Design >
< 2단계) Create Block Design 에서 Design name 설정 >
< 3단계) Design → Board 메뉴창으로 이동 >
< 4단계) Board 메뉴창에서 필요한 기능 및 모듈을 선택한 뒤, Diagram 창으로 드레그 합니다. >
3. Reset, System Clock, MicroBlaze 모듈 추가하기
- Board 메뉴창에서 아래 선택창을 클릭한 뒤, Diagram 창으로 드래그 & 드랍하여 해당 기능을 맞춤형 MCU에 추가할 수 있다.
- 상단 메뉴창에서 Add IP 버튼을 클릭하여 맞춤형 MCU인 MicroBlaze을 추가할 수 있다.
4. Run Block Automation 선택창을 선택한 뒤, 메모리 크기를 설정한다.
- 이렇게 설계된 맟춤형 MCU는 위와 같은 Block diagram 구조를 갖는다.
5. MicroBlaze의 Configuration Setting 하기
- Select Configuration 창에서 Microcontroller Preset 항목 선택한다.