Study/SoC 구조 설계
[SoC 구조 및 설계] 07 - RISC-V, RVX (eXpress) 개념 활용
도엔
2025. 2. 2. 11:53
728x90
1. RISC-V 코어란?
1.1 SoC 설계 트렌드
- 최근 SoC 설계의 핵심 트렌드:
1) AI-SoC (인공지능 기반 SoC)
2) PIM(Processor-in-Memory) / CIM(Computing-in-Memory)
3) DDN(Deep Neural Network) 기반 설계
4) NPU(Neural Processing Unit) 활용 - 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 설계 시 고려해야 할 사항
- IP 통합 문제
- IP 간 리셋 순서, 초기화 방법, 부팅 후 활성화 문제 해결 필요
- 부팅 과정
- 초기 부팅 시 코어의 동작 방식
- 애플리케이션의 저장 위치 및 로딩 방법
- JTAG을 통한 애플리케이션 로딩
- 메모리 관리
- 캐시할 변수의 결정
- 변수의 SRAM 또는 DRAM 할당
- 메모리 힙 관리 및 데이터 일관성 유지
==========𝔼𝔼𝟚𝟚==========
4. SoC 설계 개요
- SoC(System on a Chip)의 설계 목적
- 고성능, 저전력, 고집적 회로 설계 목표
- 다양한 애플리케이션에 최적화된 SoC 개발
- SoC 설계 과정 (Design Flow)
1) 요구사항 분석
2) 아키텍처 설계
3) 마이크로아키텍처 설계
4) 검증 및 시뮬레이션
5) FPGA/ASIC 구현
6) 테스트 및 양산 - SoC 아키텍처의 구성 및 검증
- 하드웨어 및 소프트웨어의 유기적 결합
- 검증 과정에서의 주요 이슈 해결
==========𝔼𝔼𝟚𝟚==========
5. 정리
- RISC-V 코어는 오픈소스 기반의 SoC 설계에 있어 큰 장점이 있지만, 초기 도입이 쉽지 않음
- RISC-V eXpress (RVX)는 이러한 문제를 해결하고 RISC-V 기반 SoC 설계를 단순화하는 강력한 도구로 개발됨
- SoC 설계는 필수 IP와 특수 IP를 통합하고 최적화하는 과정이 중요함
- RISC-V 기반의 초저전력 프로세서 설계가 가능하며, 향후 다양한 응용 가능성 보유
728x90
반응형