1236支队伍、5045名参赛者,用它做出了水面清洁机器人、数字听诊器和森林监测系统。而你,只需要一块Artix-7开发板,就能把整套64位RISC-V SoC跑起来。
你有没有想过,一块几百块钱的FPGA开发板,里面能装下一颗完整的64位RISC-V处理器?
不是跑一个软核Demo,不是点亮几个LED就结束——而是一颗6级顺序流水线、支持RV64IMACSU、带256MB DDR内存、跑得动RT-Thread和Zephyr操作系统的完整SoC。
2026年9月19日,新德里,SEMICON India 2026闭幕式。

Digital India RISC-V(DIR-V)Grand Challenge的最终结果公布:1236支队伍、5045名参赛者参与角逐,三支队伍分享了₹600万奖金。
拿下一等奖的,是SASTRA大学团队用IIT Madras的SHAKTI处理器做的自主水面清洁机器人。这台机器人被设计用来清理池塘、寺庙水池等内陆水体。
但真正让我觉得有意思的,不是那个机器人。是SHAKTI背后的东西。
01 它不是“教学Demo”,是国家级竞赛的官方平台
SHAKTI是印度理工学院马德拉斯分校(IIT Madras)RISE实验室主导的开源处理器项目,由印度电子和信息技术部(MeitY)赞助。它的目标很明确:用RISC-V指令集,构建一个完整的开源处理器生态。
GC2025是SHAKTI为DIR-V Grand Challenge发布的官方FPGA平台。参赛的1236支队伍,用的就是这套平台。
你拿到的,不是某个大学实验室里跑通就封存的“教学Demo”,是经过5045名参赛者实战验证的完整SoC平台。仓库里包含硬件、软件、SDK和比特流资源,文档提供了把SHAKTI烧录到Arty板上的完整步骤。

02 硬件规格拆到骨头里
GC2025仓库包含两个核心,对应两种应用场景:
Ganga(64位) :RV64IMACSU,6级顺序流水线,带MMU,能跑Linux和Sel4。
Yamuna(32位) :RV32IMAC,同样6级流水线,面向中端控制类负载。
以Ganga为例,SoC集成的外设清单如下:
| 模块 | 规格 |
|---|---|
| 内存 | 256MB DDR + 8KB Boot ROM |
| GPIO | 16个 |
| 定时器 | 2个通用定时器 |
| SPI控制器 | 2个 |
| UART控制器 | 2个 |
| I2C控制器 | 1个 |
| 中断 | 平台级中断控制器 + 核心本地中断器 |
| 调试 | 板载FTDI调试接口 |
| 网络 | Xilinx Ethernet Lite IP |
16个GPIO、2个SPI、2个UART、1个I2C——这不是一个“能跑就行”的最小系统,这是一个可以接传感器、接存储、接通信模块的完整嵌入式平台。
地址映射也分配得很清楚:DDR从0x80000000开始,UART0在0x00011300,I2C在0x020C0000,GPIO在0x020D0000,PLIC在0x0C000000。每一个外设的基地址都明确可查,写驱动不需要猜。

03 软件栈:从HelloWorld到RT-Thread
SHAKTI提供了一套完整的软件开发工具链。shakti-tools文件夹里有RISC-V GNU工具链、指令集模拟器(spike)、OpenOCD调试器和RISC-V GDB。SDK提供了板级支持包(BSP)、驱动库和示例程序,还附带了一批集成不同传感器的示例应用。
你可以跑通的层级很清晰:
裸机HelloWorld——用riscv64-unknown-elf-gcc编译C程序,通过FTDI调试接口加载到FPGA。
中断测试——理解PLIC和CLINT的工作机制,这是嵌入式系统最核心的知识点之一。
RT-Thread或Zephyr启动——SHAKTI C-Class被设计为能运行FreeRTOS、Zephyr和eChronos等RTOS。Zephyr项目已经正式添加了对SHAKTI Ganga SoC的支持,Nexys Video板上的Ganga SoC可以直接作为Zephyr的板级目标。
04 为什么这套平台值得你花时间?
第一,它让你从“写Verilog”变成“搭系统”。
大多数FPGA学习停留在模块级别——写一个FIFO、写一个UART。但SHAKTI让你在一个完整的SoC上工作:CPU核心、总线仲裁、外设接口、中断控制、调试通路,全部打通。你要做的不是“设计CPU”,而是理解整个系统如何协同工作。
第二,它有国家级竞赛的实战验证。
1236支队伍用这套平台做出了水面清洁机器人、数字听诊器和森林环境监测系统。这意味着平台足够稳定、文档足够完整、外设足够丰富,能支撑从消费级到工业级的多种应用。
第三,RISC-V SoC是就业市场的稀缺技能。
国内FPGA招聘JD中,“熟悉RISC-V软核集成”正在成为加分项。SHAKTI让你可以在简历上写“在Artix-7上部署了64位RISC-V SoC,跑通RT-Thread和Zephyr”——这不是“我学过”,是“我做出来了”。
05 学习路径:从零到跑通
准备阶段:一块Digilent Arty A7-100T开发板,一根micro-USB线,一台装了Ubuntu 22.04的电脑(8GB内存以上)。
第一步:环境搭建。 安装Vivado(用于烧录比特流)、SHAKTI SDK和RISC-V工具链。SDK的Docs文件夹里有完整的工具安装手册和SDK用户手册。
第二步:烧录Ganga比特流。 用Vivado把Ganga的比特流下载到FPGA。SHAKTI处理器以软IP形式实现在FPGA fabric内部,不需要物理SHAKTI芯片。加载完成后,你的Artix-7就变成了一台64位RISC-V计算机。
第三步:跑通第一个程序。 用SDK编译HelloWorld,通过FTDI调试接口加载。看到串口终端打印出字符的那一刻,你就完成了一个从RTL到运行时的完整闭环。
第四步:跑RTOS。 尝试启动RT-Thread或Zephyr,理解任务调度、中断处理和内存管理在RISC-V平台上的实现。
第五步:改SoC。 修改SoC配置——增加一个自定义外设,或者调整内存映射。这是从“用SoC”到“设计SoC”的跨越。
06 简历怎么写?面试能讲什么?
简历写法示例:
“基于SHAKTI GC2025开源RISC-V SoC平台,在Artix-7 100T FPGA上部署了64位RV64IMACSU处理器。使用SHAKTI SDK完成裸机程序开发和FTDI调试,跑通HelloWorld、中断测试和RT-Thread启动。理解六阶段顺序流水线设计和SoC外设集成。”
面试能讲什么(选一个方向,能讲20分钟):
方向A:RISC-V特权级架构。 M/S/U三种模式怎么切换?PLIC和CLINT的中断处理流程是什么?Sv39页表怎么遍历?
方向B:SoC总线与外设集成。 地址映射怎么分配?外设寄存器怎么读写?AXI总线握手时序是怎样的?
方向C:FPGA软核处理器的调试方法。 如何用OpenOCD和GDB调试运行在FPGA fabric里的RISC-V核心?FTDI调试接口的协议是什么?
SHAKTI不是一个“随便跑跑”的项目。它有完整的SoC、完整的SDK、完整的文档。你需要花时间搭环境、读手册、调程序。
但它给你的回报也很明确:一次从RTL到操作系统的完整工程闭环,以及一份可以在面试中讲20分钟的简历素材。
项目地址:gitlab.com/shaktiproject/cores/shakti-soc
平台文档:shaktiproject.gitlab.io/gc2025-shakti.html
先跑通HelloWorld,再跑RT-Thread,再改SoC。 每一步都有文档可查、有代码可读。

评论 0