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에 추가할 수 있다.

Board 메뉴창에서 System Clock, Reset 선택창을 선택한다.
Diagram 메뉴창에서 해당 모듈이 추가되었음을 확인할 수 있다.

 

 

  • 상단 메뉴창에서 Add IP 버튼을 클릭하여 맞춤형 MCU인 MicroBlaze을 추가할 수 있다.

Add IP 버튼을 클릭하여 MicroBlaze 를 추가할 수 있다.
Diagram 메뉴창에 MicroBlaze 모듈이 추가 되었음을 확인할 수 있다.

 

 

 

 

 

 

4. Run Block Automation 선택창을 선택한 뒤, 메모리 크기를 설정한다.

녹색 창에서 "Run Block Automation"를 클릭한 뒤, Options에서 맞춤형 MCU의 메모리 크기를 설정한다.

  • 이렇게 설계된 맟춤형 MCU는 위와 같은 Block diagram 구조를 갖는다.

 

 

 

 

 

5. MicroBlaze의 Configuration Setting 하기

Block Diagram에서 MicroBlaze 모듈을 더블 클릭하기.

 

Select Configuration 창에 MicroController Preset 항목 선택

  • Select Configuration 창에서 Microcontroller Preset 항목 선택한다.

 

 

 

 

6. Diagram의 메뉴창에서 아래 버튼을 통해 블록 회로 최적화 및 디버깅을 할 수 있다.