sky 发表于 2020-9-25 10:49:27

RISC-V核PULPino简介

本帖最后由 sky 于 2020-9-25 10:49 编辑

PULPino是一款开源单核微控制器系统,基于苏黎世联邦理工学院开发的32位RISC-V内核PULP开发的。Pulpino具有功耗低面积小的特点,可配置为使用RISCY或zero-riscy核心。
RISCY是一个有序的单一核心,具有4个流水线阶段,其IPC(Instructions Per Clock)接近1,完全支持基本整数指令集(RV32I),压缩指令(RV32C)和乘法指令集扩展(RV32M)。它可以配置为具有单精度浮点指令集扩展(RV32F)。
它实现了几个ISA扩展,例如:硬件循环,后递增加载和存储指令,位操作指令,MAC(Multiply Accumulate)操作,支持定点操作,打包SIMD指令和点积。它的设计旨在提高超低功耗信号处理应用的能效。 RISCY实现了1.9特权规范的一个子集。下图是RISC-V RI5CY核心的结构:

两个核使用相同的外围接口,插件兼容。
核心使用非常简单的数据和指令接口与数据和指令存储器进行通信。为了与AXI接口,在PULPino中实例化了core2axi协议转换器。出于调试目的,所有核心寄存器都已经过存储器映射,允许通过AXI总线访问它们。 内核中的调试单元通过该总线处理请求,并读取/设置核心寄存器和/或停止核心。
zero-riscy是一个具有2个流水线阶段的有序,单发核心,它完全支持基本整数指令集(RV32I)和压缩指令(RV32C)。它可以配置为具有乘法指令集扩展(RV32M)和减少的寄存器扩展数(RV32E)。它旨在针对有超低功耗和超低区域的限制的应用场景设计处理器。zero-riscy实现了1.9特权规范的子集。

当内核处于空闲状态时,平台可以进入低功耗模式,只有一个简单的事件单元处于活动状态,其他所有内容都是时钟门控(clock-gate)的,并且功耗最低(泄漏,leakage)。事件/中断到达时,专门的事件单元唤醒核心。
为了与外界沟通,PULPino包含一系列外设,包括I2S,I2C,SPI和UART。可以通过JTAG和SPI从外部访问平台内部器件,从而允许用可执行代码预加载RAM。
在独立模式下,平台从内部引导ROM引导,并从外部SPI闪存加载其程序。
PULPino平台可用于RTL仿真以及FPGA。
2016年1月,PULPino作为UMC 65nm ASIC被采用。
它对所有目标都有全面的调试支持。此外,我们还支持通过RTL仿真中的KCacheGrind,可通过源代码注释执行时间进行扩展分析。

SoC使用AXI作为其主要互连,并具有到APB的桥接器,用于简单的外围设备。BootLoad从SPI闪存中加载程序。
SPI从器件是一个有源外设,它在没有内核协助的情况下接收/发送数据。
其预期目的是用作外部接口,系统的用户可以通过该外部接口从外部访问内部存储器。
此机制可用于将程序预加载到存储器中,启动系统,等待程序已终止的确认,然后检查结果。
Pulpino在ZedBoard上的SoCs设计:
RI5CY核的性能测试:
页: [1]
查看完整版本: RISC-V核PULPino简介