引言:伯克利大学于2014年发布了开源指令集架构RISC-V,其目标是成为指令集架构领域的Linux,应用覆盖IoT(Internet of Things)设备、桌面计算机、高性能计算机等众多领域[1]。RISC-V自发布以来受到多方关注和参与,围绕RISC-V的生态环境逐渐完善,并涌现了众多开源处理器及SoC(System on Chip)采用RISC-V架构,其中Rocket-Chip就是由伯克利大学发布的基于RISC-V的可配置SoC,通过配置不同的参数可以得到不同性能、应用不同场合的SoC。RISC-V的迅速发展还激励其设计人员成立了SiFive公司,专注于定制化SoC设计,其产品线包括如下:
(1)开源处理器核Coreplex IP系列
包括Coreplex U、Coreplex E两个系列。其中Coreplex U系列目前有U5 Coreplex子系列,其是64位RISC-V架构处理器,支持多核、多级缓存、硬件支持的单精度与双精度浮点运算;Coreplex E系列目前有E3 Coreplex子系列,其是32位的RISC-V架构处理器,依据应用环境可配置支持RV32E、乘法、除法、浮点运算等,目标是低功耗的嵌入式控制器。
(2)开源SoC Freedom系列
包括Freedom Unleashed、Freedom Everywhere两个系列。其中Freedom Unleashed系列是基于U5 Coreplex的SoC,包括U500子系列,其外设控制器包括DDR3/DDR4 DRAM 控制器、PCIe 3.0控制器、1Gb Ethernet控制器、USB 3.0控制器等,支持Unix等多种 *** 作系统;Freedom Everywhere系列是基于E3 Coreplex的SoC,包括E300子系列,其具有片上debug单元、平台级中断控制器等,支持FreeRTOS等多种 *** 作系统。
(3)Freedom E310
Freedom E310是Freedom Everywhere的子系列E300的一个流片实例,目标应用场合是微控制器、IoT、可穿戴设备等,其处理器核是E3 Coreplex子系列的一个实例——E31,支持RV32IMAC指令集。其采用180nm工艺成功流片,主频可以达到320MHz以上。
(4)开源开发板HiFive1
HiFive1是第一款采用Freedom E310作为核心控制芯片的Arduino兼容开发板。作为深度开源的代表,其微控制器对应的RTL代码、电路图设计文件、PCB设计文件等完全开源。
SiFive给出的Freedom E310的RTL代码,目前仅支持Xilinx的Arty开发平台,本文在简单介绍Freedom E310的基础上,给出了将其移植到Altera的DE2开发平台的详细步骤。
1 Freedom E310介绍1.1 Freedom E310的结构设计
Freedom E310的结构设计如图1所示。处于核心的是单发射、顺序执行处理器E31,支持RV32IMAC指令集,具有16K的指令缓存,16K的数据SRAM。
图1 Freedom E310的结构设计
Freedom E310有多个外设,通过TIleLink互连总线将这多个外设连接到处理器。主要外设包括:
l AON(Always-on Domain):AON的意思就是始终在线,不受处理器核心电源管理的影响,包括实时计数器、看门狗、复位与电源管理等子模块。
l GPIO(General Purpose Input/Output)控制器:通用输入输出,每一个引脚都可以设置输入或者输出,并可以设置是否能够引发中断。Freedom E310的GPIO可以复用,复用为UART、I2C、SPI、PWM等。
l PLIC(Platform-Level Interrupt Control):平台级中断控制器,用于接受外部的中断信号,然后按照优先级送给处理器,支持52个外部中断源,7个中断优先级。
l Debug Unit:调试单元,支持外部调试器通过标准JTAG接口进行调试,支持2个硬件断点、观察点。
l QSPI(Quad-SPI):QSPI flash控制器,用于访问flash,可以支持eXecute-In-Place模式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)