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

发布者:温馨的家庭最新更新时间:2017-06-08 关键字:freedom系列  coreplex  半导体  芯片  soc 手机看文章 扫描二维码
随时随地手机看文章

引言:伯克利大学于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。


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模式。


1.2 地址映射


Freedom E310的地址映射如表1所示。本文移植过程中使用到的主要有复位入口地址、ROM、GPIO。复位入口地址是Freedom E310启动后首先执行的指令,一般是一条转移指令。


1.3 Chisel语言


Freedom E310的大部分代码是采用Chisel(ConstrucTIng Hardware in an Scala Embedded Language)编写的,这也是伯克利大学设计的一种开源的硬件编程语言,是Scala语言的领域特定应用,可以充分利用Scala的优势,将面向对象(object orientaTIon)、函数式编程(funcTIonal programming)、类型参数化(parameterized types)、类型推断(type inference)等概念引入硬件编程语言,从而提供更加强大的硬件开发能力[4]。Chisel除了开源之外,还有一个优势就是使用Chisel编写的硬件电路,可以通过编译得到对应的Verilog设计,还可以得到对应的C++模拟器。本文在移植的过程中,由于Altera的QuartusII综合工具不支持Chisel,所以需要首先得到Freedom E310对应的Verilog HDL代码,然后才可以综合。


2 启动过程分析及bootrom设计


Freedom E310是可配置的SoC,可配置ROM、OTP、QSPI,依据其配置情况,有不同的启动过程,默认的启动过程是,从ROM处(0x0000_1000)开始执行,ROM处一般存储一条转移指令,转移到OTP,或者QSPI。Altera的DE2开发平台没有QSPI接口的flash,所以只能转移到OTP,为了进一步简化移植验证难度,本文并不使用OTP,而是在0x0000_1000处存储了一条转移指令,该转移指令转移到ROM中的另一处地址继续执行。ROM中的代码就是bootrom,其主要内容如下。


上述bootrom的代码在启动后转移到标记1处,开始配置GPIO,使其GPIO0为输出口,然后通过该接口送出一个高电平,等待一段时间后,在送出一个低电平,循环执行该过程。如果GPIO0连接到LED,将会发现该LED不停的点亮、熄灭。


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


3.1 实验环境


本文的实验平台是Ubuntu14.04,在Github上clone下列项目的代码:Rocket-chip、Freedom、Freedom-e-sdk。编译Rocket_chip的代码,得到对应的GCC工具。


3.3 生成Freedom E310对应的Verilog HDL文件


使用如下语句可以编译得到Freedom E310对应的Verilog HDL文件。

make -f Makefile.e300artydevkit verilog

生成的Verilog HDL文件位于builds/e300artydevkit/路径下,文件名是sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.v,并且其ROM的内容就是bootrom.img的内容。


3.4 建立QuartusII工程


建立QuartusII工程,添加如下文件到该工程,其中system是顶层模块。

freedom\fpga\e300artydevkit\src\system.v

freedom\sifive-blocks\vsrc\SRLatch.v

freedom\rocket-chip\vsrc\AsyncResetReg.v

freedom\rocket-chip\vsrc\DebugTransportModuleJtag.v

Freedom\builds\e300artydevkit\sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.v


3.5 修改system.v


System是顶层模块,其中例化了Freedom E310,但是system中使用了许多Xilinx平台的IP,需要进行针对Altera平台的修改。


3.5.2 修改sys_reset


sys_reset模块使用的是Xilinx的proc_sys_reset IP,其作用是生成复位信号,可以使用下列代码代替。


3.5.3 修改IOBUF


system.v中使用了大量的Xilinx IOBUF原语,IOBUF是单端双向缓冲器,由IBUF、OBUFT两个基本组件组成,当I/O端口为高阻时,其输出端口O为不定态,其输入输出真值表如表2所示。依据上述方法替换system.v中所有的IOBUF例化。


3.6 引脚设定


参考bootrom的功能,本文使用到了复位、时钟、GPIO0、SRST_N等几个端口,其在DE2平台的映射如图3所示。


3.7 编译下载


经过上述修改后,在QuartusII中编译下载,保持SW0为高电平输入,SW1为低电平输出,就可以观察到GLED0灯不停的点亮、熄灭。说明Freedom E310运行正常。资源占用情况如图4所示。


结语


Freedom E310是第一款基于RISC-V指令集架构的开源商业SoC,具有丰富的外设,满足多种应用场景,并且具有可配置的特性,适合根据应用进行裁剪,本文给出了将Freedom E310移植到Altera DE2开发平台的步骤,对于其他计划使用Freedom E310的用户具有一定的借鉴意义。


参考文献


[1]Waterman, A. et al. The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Version 2.1[S], 2016


[2]SiFive, Inc. SiFive E3 Coreplex Series Manual, Version1.2[S], 2016


[3]SiFive, Inc. SiFive FE310-G000 Manual, Version1.0.1[S], 2016


[4]Chisel 2.2 Tutorial[EB/OL]。 https://chisel.eecs.berkeley.edu/2.2.0/chisel-tutorial. 2016-10


作者简介:


雷思磊:通信公司工程师,研究方向为处理器架构,嵌入式处理器应用等

关键字:freedom系列  coreplex  半导体  芯片  soc 引用地址:基于DE2的开源片上系统Freedom E310移植

上一篇:LCD的ARM编程方式,LCD Linux程序如何写入
下一篇:日本借深度神经网络破译人类思维 人工智能走近大脑

推荐阅读最新更新时间:2024-05-03 01:14

三星计划2018年初量产7nm制造工艺芯片
据外媒PhoneArena报道,三星电子计划在2018年初量产7nm制造工艺芯片,届时预计会应用于其新一代旗舰机。 三星半导体集成电路部门高管表示,由于三星引入了下一代极端紫外线光刻设备,可以帮助缩小晶体管之间的差距,或许可以很快开始量产7nm工艺的处理器。 据了解,台积电已经计划从今年开始测试7nm芯片的制造工艺,并且计划明年开始大规模量产。 对此,三星在规划策略上更为“激进”,并会进一步完善10nm生产线,同时还将在今年中端设备上配备14nm工艺的产品。
[半导体设计/制造]
IM2605 type-c电源管理芯片设计原理图
IM2605集成了一个同步4开关Buck-Boost变换器,在输入电压小于或大于输出电压时保持输出电压调节。当输入电压足够大于输出电压时,它作为Buck变换器工作,并随着输入电压接近输出逐渐过渡到Buck-Boost模式。它还具有内部固定软启动功能,并提供保护功能包括输入UVLO、OCP、过载保护(OLP)、OVP和热关机。此外,它还具有可选择的FCCM或DCM操作,用于轻负载。IM2605还控制两个低N-MOSFET作为负载开关,有助于降低BOM成本。采用微处理器,可实现电源交换时的输入体电容放电。 IM2605应用 TYPEC拓展坞/扩展底座、USB电源传输、计算机 外围设备
[嵌入式]
IM2605 type-c电源管理<font color='red'>芯片</font>设计原理图
韩现代半导体产品大跳水 Q2盈利下滑35.5%
7月31日消息,作为世界第二大内存芯片制造商,韩国现代半导体日前发布了季度收益报告,数据表明在刚刚过去的2007年第二季度中,公司盈利足足下滑了35.5%,主要原因是产业范围供货量过高导致的产品价格大幅度跳水。 据国外媒体报道,韩国现代半导体表示,第二季度公司盈利只有2090亿韩元,折合2.276亿美元,要知道该数字在去年同期曾经达到3240亿韩元。
[焦点新闻]
豪威集团发布单芯片 LCOS 面板 OP03050,用于下一代智能 AR / XR / MR 眼镜
1 月 11 日消息,豪威集团今日在 CES 2024 展会发布了新品 OP03050。这是一款低功耗、小尺寸硅基液晶(LCOS)面板,在单个芯片中集成了 LCOS 阵列、驱动电路、帧缓冲器和接口,用于增强现实(AR)、扩展现实(XR)和混合现实(MR)眼镜和头戴式显示器。 OP03050 LCOS 面板的像素间距为 3.0 微米,显示分辨率为 1560x1200,频率为 120Hz,具有低延迟特性。它采用 0.23 英寸光学格式和小尺寸 FPCA 封装,支持 4 通道 MIPI-DSI 接口。 豪威集团表示,OP03050 现已经出样,将于 2024 年下半年投入量产。 豪威集团是一家中国半导体设计公司,总部位于上海,提
[物联网]
半导体行业翘楚联手促进RISC-V发展
成立新公司以推动 RISC-V 生态系统建设和硬件开发 【2023年8月10日,德国讯】 半导体行业翘楚博世集团(Robert Bosch GmbH)、英飞凌科技股份公司(Infineon Technologies AG)、Nordic Semiconductor、恩智浦半导体公司(NXP® Semiconductors)和高通技术公司(Qualcomm Technologies, Inc.)合资组建一家公司 ,旨在促进下一代硬件开发以推动 RISC-V 在全球范围的应用。 新公司在德国成立,目标是为基于开源RISC-V架构的未来产品加速商业化。这家公司将成为RISC-V兼容产品的单一来源,提供参考架构并帮助建立业界
[嵌入式]
<font color='red'>半导体</font>行业翘楚联手促进RISC-V发展
LED芯片价格陆续上涨5~10%
TrendForce旗下光电研究处发布报告指出,2021年苹果、三星等品牌大厂计划推出全面搭载Mini LED背光显示的笔记本电脑、平板计算机、电视等产品,供应链已提前于2020年第四季开始拉货,使Mini LED芯片需求量暴增,进而排挤到常规芯片的产能供给。在LED芯片面临结构性缺货的情况下,目前部分LED芯片厂商已陆续调涨非核心客户和低毛利产品的芯片价格,预估涨幅大约5~10%。 TrendForce进一步指出,为避免面临春节后原物料涨价,以及产能吃紧导致缺货的困境,目前下游厂商开始积极备货,然而部分型号与规格的产品现货已不足,针对采购量较少的中小型客户将率先被涨价;而议价能力较有弹性的一线客户若不接受涨价,则需接受长达2个月
[手机便携]
手机市场放缓 台湾芯片业出现整合并购潮
     腾讯科技讯 在过去三四年的智能手机普及浪潮中,台湾半导体产业也受益良多。除了众所周知的手机应用处理器供应商联发科之外,还有大量的台湾半导体厂商进入了手机上游供应链。不过据外媒报道,伴随着全球智能手机增速开始放缓,台湾芯片产业也开始主动调整,通过整合和并购,寻求提升市场份额,或是寻找手机之后新的芯片产业舞台。 在过去几年的爆发式增长背后,全球智能手机市场已经出现了放缓。美国科技市场咨询公司IDC预测说,2015年全球智能手机增速将会降到10.4%。在全球最大智能机市场中国,上半年已经出现了将近一成令人吃惊的萎缩。 据日经新闻报道,台湾半导体行业的整合和并购最近开始变得活跃起来。作为手机芯片两大巨头之一的联发科,计划收购逻辑
[手机便携]
HPC芯片市场需求旺盛 产业链将迎来高速成长期
4月17日,据钜亨网报道称,台积电首季来自HPC营收贡献达41%,首度超越手机,成为最大营收来源,象征HPC时代正式来临,市场看好,随着未来云端需求只增不减,连带推升HPC供应链,后段设计服务如创意、世芯 - KY,以及衍伸出的高速传输接口需求,成长动能同步看旺。 业界表示,HPC 属于高规格的运算效能,可在高速下处理大量数据,为平常个人电脑无法处理的运算,特别讲求高带宽、高效能与低功耗,因此除了晶圆制程不断微缩下,也需藉由先进封装方式,处理更即时的运算,并降低功耗。 台厂如创意、世芯 -KY长期与台积电合作,配合其晶圆先进制程、先进封装平台,开发自家IP,为想进入HPC领域的客户提供后段设计服务,创意今年就首度推出2.5、3D先
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved