Study/SoC 구조 설계

[SoC 구조 및 설계] 07 - RISC-V, RVX (eXpress) 개념 활용

도엔 2025. 2. 2. 11:53
728x90

1. RISC-V 코어란?

1.1 SoC 설계 트렌드

  1. 최근 SoC 설계의 핵심 트렌드:
    1) AI-SoC (인공지능 기반 SoC)
    2) PIM(Processor-in-Memory) / CIM(Computing-in-Memory)
    3) DDN(Deep Neural Network) 기반 설계
    4) NPU(Neural Processing Unit) 활용
  2. PIM (Processor-in-Memory)의 필요성
  • 기존 폰 노이만 아키텍처의 병목현상 해결을 위한 접근 방식
  • CPU와 메모리 간 데이터 이동을 줄이기 위한 솔루션

_

1.2 RISC-V 코어의 개요

  • 2015년 UC Berkeley에서 오픈소스로 개발
  • 기존 ARM 대비:
    1) 칩 면적: ARM 대비 30%
    2) 소비 전력: ARM 대비 40%
  • 적용 사례:
    • Qualcomm: IoT MCU
    • Nvidia: GPU 메모리 제어
    • Western Digital: 저장장치 프로세서
    • Samsung: RF 신호 처리

_

1.3 RISC-V가 주목받는 이유

  • 오픈소스 기반의 자유로운 활용
  • "CPU계의 리눅스"로 불리며 개방성 강조
  • Android Open Source Project(AOSP)가 RISC-V 아키텍처로 포팅됨
  • SpaceX, Alibaba 등 다양한 기업에서 사용


==========𝔼𝔼𝟚𝟚==========

 

2. RVX(RISC-V eXpress)

2.1 RVX란?

  • RVX(RISC-V eXpress)는 SoC 설계를 위한 RISC-V 기반 설계 프레임워크
  • SoC 개발을 간소화하고 필요한 하드웨어 IP들을 자동으로 통합해주는 플랫폼
  • 제공 기능:
    1) Essential IPs (기본적으로 필요한 IP 제공)
    2) Special IP 개발 및 추가 가능
    3) 자동 통합을 통한 SoC 생성

_

2.2 RVX 특징

  • SoC 설계를 위한 다양한 IP 라이브러리를 제공
  • 주요 특징:
    1) Silicon-proven(10회 이상 검증된 IP 제공)
    2) 다양한 프로세서 코어 지원: ORCA, Rocket, SweRV, PULP 등
    3) 자동 NoC 연결 지원: μNoC(Micro Network-on-Chip)
  • 필수 주변장치(Peripherals) 제공
  • 예시)
    • Reset controller, Boot ROM, JTAG controller
    • Interrupt controller, SRAM controller
    • UART, SPI, I2C, I2S, DMA 등

_

2.3 RVX의 구조 및 설계 흐름

  • 설치 필요 요소: Python, Java, Git Repo
  • 입력 요소: Essential IPs, 기능 정의 및 Special IP 추가
  • 출력 결과: RTL 코드, SDK, Simulation 환경, Prototype

_

2.4 GUI 지원

  • 기본적으로 Linux 환경에서 명령어 기반 실행
  • Windows 환경에서는 GUI 지원 제공
  • 대학 강의 및 연구 프로젝트에서도 활용 가능


==========𝔼𝔼𝟚𝟚==========

 

3. RISC-V 코어 활용

3.1 RISC-V의 한계

  • RISC-V 프로세서를 개발하는 것 자체가 쉽지 않음
  • 주요 문제점:
    1) 코어 사용 경험 부족
    2) 새로운 환경에 대한 익숙하지 않음
    3) 설치 및 설정이 어려움

_

3.2 RISC-V eXpress (RVX) 개발 동기

  • RISC-V 기반 EDA(전자설계자동화) 도구 개발 프로젝트
  • SoC 개발의 현실적인 문제 해결:
    • 특수 IP는 자체 개발하지만 일반적인 IP는 재사용됨
    • IP 검증 환경 개발이 매우 어려움
  • RISC-V eXpress (RVX)의 역할
    • IP 통합 및 설계의 복잡성 해결
    • Essential IPs 문제 해결을 목표로 함

_

3.3 SoC 설계에서 필수적인 IP (Essential IPs)

  • SoC 개발자가 반드시 설계해야 하는 IP 종류:
    1) CPU (+Cache, MMU)
    2) 온칩 인터커넥트
    3) 디버거
  • NoC (Network-on-Chip)
    • 비교적 덜 복잡하지만 높은 신뢰성이 요구됨
    • 리셋 컨트롤러, 부트 ROM, JTAG 컨트롤러
    • 인터럽트 컨트롤러, SRAM 컨트롤러
    • 클럭 도메인 크로싱, 동기화 로직

_

3.4 특수 IP (Special IPs)

  • 하드웨어 가속기와 같은 특수 기능을 수행하는 IP
  • 성능 향상을 위한 활용
  • 예시)
    • 비디오/오디오 코덱
    • 이미지 프로세싱
    • 모뎀
    • 보안 프로세서
    • 뉴럴 코어 (Neural Core)

_

3.5 SoC 설계 시 고려해야 할 사항

  1. IP 통합 문제
    • IP 간 리셋 순서, 초기화 방법, 부팅 후 활성화 문제 해결 필요
  2. 부팅 과정
    • 초기 부팅 시 코어의 동작 방식
    • 애플리케이션의 저장 위치 및 로딩 방법
    • JTAG을 통한 애플리케이션 로딩
  3. 메모리 관리
    • 캐시할 변수의 결정
    • 변수의 SRAM 또는 DRAM 할당
    • 메모리 힙 관리 및 데이터 일관성 유지


==========𝔼𝔼𝟚𝟚==========

 

4. SoC 설계 개요

  1. SoC(System on a Chip)의 설계 목적
    • 고성능, 저전력, 고집적 회로 설계 목표
    • 다양한 애플리케이션에 최적화된 SoC 개발
  2. SoC 설계 과정 (Design Flow)
    1) 요구사항 분석
    2) 아키텍처 설계
    3) 마이크로아키텍처 설계
    4) 검증 및 시뮬레이션
    5) FPGA/ASIC 구현
    6) 테스트 및 양산
  3. SoC 아키텍처의 구성 및 검증
    • 하드웨어 및 소프트웨어의 유기적 결합
    • 검증 과정에서의 주요 이슈 해결


==========𝔼𝔼𝟚𝟚==========

 

5. 정리

  • RISC-V 코어는 오픈소스 기반의 SoC 설계에 있어 큰 장점이 있지만, 초기 도입이 쉽지 않음
  • RISC-V eXpress (RVX)는 이러한 문제를 해결하고 RISC-V 기반 SoC 설계를 단순화하는 강력한 도구로 개발됨
  • SoC 설계는 필수 IP와 특수 IP를 통합하고 최적화하는 과정이 중요함
  • RISC-V 기반의 초저전력 프로세서 설계가 가능하며, 향후 다양한 응용 가능성 보유
728x90
반응형