프로세서
VR-RISC-V 코어 IP (RV32IMAC)
모든 파이프라인 경계에 valid-ready 핸드셰이크를 적용하고 128 KB TCM을 내장한 32-bit RISC-V 소프트 프로세서.
개요
FPGA 구현을 목표로 설계한 32-bit RISC-V 소프트 프로세서로, Machine 모드에서 RV32IMAC + Zicsr를 구현합니다. 구조적 특징은 5단 인-오더 파이프라인의 모든 스테이지 경계에 valid-ready 핸드셰이크가 놓여 있다는 점입니다. 데이터는 valid로 전진하고, 후단이 ready를 내리면 back-pressure가 같은 사이클에 상류로 전파됩니다. 따라서 스톨이 별도의 스톨 FSM이 아니라 인터커넥트에서 자연히 도출되며, 각 모듈을 동일한 핸드셰이크 계약으로 단독 검증할 수 있습니다.
메모리는 128 KB True Dual-Port TCM입니다. Port A는 명령어 페치를 read-only 1사이클로, Port B는 byte-enable을 갖춘 load/store를 담당합니다. 두 포트가 경합하지 않으므로 전형적인 5단 구조의 명령어 버스 아비터가 사라지고 페치 지연이 1사이클로 고정됩니다. 0x4000_0000 이상은 주소 디코더가 AXI4-Lite 마스터로 라우팅하며, AW·W 채널을 병렬 발행해 직렬화하는 슬레이브에서도 데드락이 발생하지 않습니다. 미매핑 영역은 DECERR로 응답하고 정밀하게 트랩됩니다.
이 코어의 상태를 뒷받침하는 것은 검증입니다. 동일한 테스트 소스로 3개 ISA 구성(RV32IMAC · RV32IMC · RV32I)을 빌드해 모두 통과하고, MDU와 압축 명령 확장기는 단독 검증을 거쳤으며, 의도적으로 주입한 RTL 변이 8건을 회귀 스위트가 모두 검출했습니다. 확장 간 상호작용과 TCM 경계 조건은 지향 테스트로 커버하며, valid-ready 프로토콜은 파이프라인 전 구간 어서션으로 검사해 위반 0건입니다.
블록 다이어그램
파라메트릭 사양
| 용도 | FPGA SoC의 제어 평면·관리 프로세서 |
|---|---|
| ISA | RV32IMAC + Zicsr, Machine 모드 |
| 파이프라인 | 5단 인-오더(IF/ID/EX/MEM/WB), 단일 이슈, 전 경계 valid-ready |
| 포워딩 | EX/MEM · MEM/WB · WB 바이패스 → EX, load·AMO 완료 포워딩, load-use 1사이클 스톨 |
| 분기 | 정적 not-taken, EX 판정, 오예측 2사이클 페널티 |
| M 확장 | 32-cycle 반복형 곱셈·나눗셈 유닛, DSP 블록 미사용, EX와 valid-ready 연결 |
| A 확장 | LR/SC + AMO 9종, MEM 2-pass read-modify-write, 단일 hart 원자성 |
| C 확장 | 16-bit 압축 명령, IF halfword 정렬 버퍼 및 word 경계 straddle 처리 |
| 메모리 | 128 KB True Dual-Port TCM(32 K × 32-bit) — Port A 페치 read-only, Port B byte-enable load/store |
| 메모리 맵 | 0x0000_0000~0x0001_FFFF TCM · 0x4000_0000 이상 외부 AXI · 미매핑은 DECERR |
| 외부 버스 | AXI4-Lite 마스터 ×1, AW·W 병렬 발행, outstanding 깊이 1 |
| 예외 | 정밀 예외, MEM 커밋 — access fault · illegal · breakpoint · misaligned · ECALL |
| 인터럽트 | Machine 모드 MEI · MTI · MSI, 2-FF 동기화, 우선순위 MEI > MSI > MTI |
| 인터럽트 지연(실측) | 단일 사이클 명령 스트림 최악 6사이클, 나눗셈 중 최악 40사이클. T_irq(worst) = 6 + max(T_mdu, T_dbus), T_mdu = 34 |
| 구성 옵션 | M / A / C 확장 개별 비활성화로 면적 축소 가능, 리셋 벡터·TCM 크기·메모리 초기화 파일은 빌드 시점에 지정 |
| 클록·리셋 | 단일 클록 도메인, 비동기 어서트·동기 디어서트, active-low |
| 구현 | 순수 Verilog-2001 RTL — function · task · generate 미사용, 벤더 프리미티브 미사용 |
| 검증 | 3개 ISA 빌드 + 랜덤 시드 10종 통과, MDU·RVC 확장기 단독 검증, 변이 검출 8/8, 확장 상호작용 지향 테스트 10종, valid-ready 프로토콜 어서션 위반 0건 |
| 상태 | RTL 완성, 시뮬 검증 완료 — FPGA 특성화는 타깃 보드 확정 시 |
성능
변형
RV32IMAC
전체 구성 — 정수, 곱셈·나눗셈, 원자적 연산, 압축 명령.
RV32IMC
EN_A_EXT = 0 — 단일 스레드 펌웨어에 불필요한 원자 연산 유닛과 2-pass 메모리 경로 제거.
RV32I
EN_M/A/C_EXT = 0 — 최소 면적 구성. 제거된 명령은 illegal instruction 트랩 발생.
제공 항목
- 합성 가능 Verilog-2001 RTL — 코어, MDU, 압축 명령 확장기, 듀얼포트 TCM, DBus 디코더, AXI4-Lite 브리지, 최상위 통합
- AXI4-Lite 슬레이브 BFM(랜덤 ready 토글·응답 지연)을 포함한 테스트벤치와 3개 ISA 빌드를 모두 커버하는 자가 검사 테스트 프로그램
- 확장 상호작용 및 TCM 경계 조건 지향 테스트벤치
- iverilog 빌드·시뮬레이션 스크립트 및 ModelSim/Questa 실행 스크립트
- 데이터시트, RTL 구현 설명서, 통합 가이드(요청 시 제공)
지원 디바이스
타겟/검증 플랫폼. ASIC 공정 수치는 통합 단계에서 특성화됩니다.
범위를 암시하지 않고 명시합니다. 원자성은 단일 hart 내에서 보장되며, AXI4-Lite에는 exclusive 액세스가 없으므로 외부 멀티마스터 환경의 원자성은 주장하지 않습니다. 다중 사이클 명령 실행 중에는 인터럽트 수락이 지연되지만 그 지연은 유한·결정론적이며 실측되어 있고(인터럽트 지연 항목 참조), 예외의 정밀성은 어떤 경우에도 유지됩니다. TCM의 cross-port read-during-write 결과는 디바이스 의존이므로 코드 다운로드와 페치는 시간적으로 분리해야 합니다.
리소스 사용량과 Fmax는 여기에 기재하지 않습니다. 합성 옵션·제약에 따라 달라지므로 타깃 디바이스 확정 후 별도 합성 보고서로 제공합니다. 데이터시트와 레지스터 수준 상세, 검증 자료 일체는 문의 바랍니다.
문서
풀 데이터시트·통합 가이드·평가 파일은 문의 바랍니다. 아래에서 요청해 주시면 영업일 1일 내 회신드립니다.
데이터시트 요청응용 분야
견적 요청
견적 또는 평가 요청
프로젝트를 알려주세요. * 표시는 필수입니다. 영업일 1일 내 회신드립니다.