基于DE2的开源片上系统Freedom E310移植

基于DE2的开源片上系统Freedom E310移植,第1张

引言:伯克利大学于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可以复用,复用为UARTI2C、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模式。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2716902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存