飞道的博客

【FPGA大赛作品】FPGA 上的RISC-V开发平台(一等奖)

540人阅读  评论(0)

本系列文章介绍一下2020届大学生FPGA创新设计大赛的一些获奖作品。这届比赛中的队伍均实力超前,创意无限,他们的作品十分值得学习与借鉴。

本次介绍来着重庆邮电大学的潘星雨团队的作品,该作品大赛一等奖,最佳创意奖,重庆邮电大学也被荣获优秀组织奖。潘星雨同学也作为参赛学生代表宣誓。

下面是作品介绍!


第一部分 设计概述

1.1 设计目的

随着可编程逻辑器件的发展,在计算机工程基础和数字逻辑课程上,灵活的HDL 代码和可编程逻辑器件取代传统固定逻辑芯片和硬核微处理器已成发展趋势。目前国内计算机科学教学用具主要是基于 80x86 系列和 8051 处理器的微机平台。然而,这些处理器架构日渐老旧,已经不适应未来的微机发展潮流。因此,为了方便老师教学和学生由浅入深地了解处理器和 SoC 设计,我们在 FPGA 上实现了一种开源的、简单的、同时使用了新型 ISA 的处理器,并且为该 SoC 提供一套完整的 PC 端开发环境。

1.2 应用领域

本作品可以运用到从数字逻辑基础实验到计算机组成及原理实验等多个教学场合。例如,在进行数字逻辑基础教学的时候,学生可以在该开发平台上设计各种逻辑系统,设计各种芯片对芯片的通信实验。在计算机组成及原理的课程上,老师可以通过本处理器配套的开发软件设计本系统适用的程序代码,设计完成后产生的二进制文件可以直接在 HDL 仿真平台上进行测试,最后还可以使用配套的 FPGA 开发板进行上板调试。

1.3 主要技术特点

本作品简单易用且功能强大。在硬件平台上不仅自主研发了一个简单的处理器内核—PRV464SX,而且基于这个内核搭建了一个 SoC—PVS464。在硬件方面,我们设计并制作了一款基于 EG4D20EG176 和 ELF1A650 可编程逻辑器件的FPGA 开发板。此开发板不仅适用于本作品制作的软核 SoC,还可以进行其他数字系统开发。在软件方面,我们开发了一个简单易用且功能强大的 IDE—Eve IDE。该 IDE 集成了全套 RISC-V 工具链,可以实现从 C 语言编译到汇编代码链接的全部功能:不仅可以联合仿真软件进行汇编代码仿真,而且可以直接生成机器码文件上开发板调试。

1.4 关键性能指标

(1)本作品中的 RISC-V 64 位处理器内核全面支持 64 位 RISC-V 位基础指令和 A 指令拓展,具有 8K 字节 L1 同步指令缓存、8K 字节 L1 同步数据缓存、Sv39 虚拟内存、4+4 快速分页表(TLB)以及 M、S、U 三种权限模式。其核心工作频率 40MHz,L1 缓存带宽 320MByte/s,并且在 EG4 平台上仅占用 8K LUT资源。

(2)基于该处理器集成了一个 SoC。此 SoC 有两对 UART 收发器、一个 I2C收发器、一个 SPI 收发器、32 位四通道 PSRAM 控制器、串行 NOR FLASH 控制器、16 个通用定时器、FSB16 总线控制器、可编程 IO 处理器以及 4K 字节片上内存。这些外设通过纯 64 位的 AHB 和 APB 总线连接起来,最大数据吞吐量为 266MByte/S。SoC 工作频率为 33MHz,在 EG4D20 平台山占用 14K LUT 资源。

(3)配套研制了一个集成开发环境-Eve-IDE。这种 IDE 集成了整套 RISC-V GCC 工具链和诸如串口助手之类的常用调试工具,IDE 安装包大小仅 48Mbyte。

1.5 主要创新点

(1)本团队专为小容量 FPGA 设计了一款 64 位 RISC-V 处理器内核—PRV464。该处理器内核的技术特点有:精简的四级流水线、8KByte+8KByte 同 步 L1 缓存、基于 Sv39 分页方案的虚拟内存、原子指令(Atom)拓展。内核对外总线为 64 位 AHB 总线,核心构建简单,占用资源量小,可移植性高,在 Anlogic EG4D20EG176 平台上只占用 8K 逻辑资源。

(2)基于上述 64 位 RISC-V 处理器内核设计了一款 SoC—PVS464。这种SoC 集成了 2 个全功能 UART 收发器、SPI 收发器、IIC 收发器、兼容 SPI 接口的 NOR Flash 控制器、16 位并行外置总线控制器、32 位四通道 PSRAM 控制器、 4 个通用定时器组、中断控制器、GPIO 控制器等外设。该 SoC 体积小,使用纯手写的 Verilog 代码构成,具备良好的可移植性,在 Anlogic EG4D20EG176 FPGA上仅占用资源 13K,工作速度 40MHz。 

(3)本团队不仅设计了 SoC,还开发编写出了 PC 端开发环境—Eve IDE。这种 IDE 由跨平台框架 pyqt 编写,核心算法使用 lua 编写。不仅运行速度快,而且在各个平台均能移植打包并获得可执行文件,方便各类开发者使用。同时6 / 167IDE 还有内部自建的 makefile 逻辑,提高了使用者的开发效率。Eve IDE 相比其他嵌入式 IDE 增加了.coe、.mif 等文件格式输出的能力,方便开发者在 FPGA 平台上调试软核处理器。 

(4)本团队还制作了搭载有 EG4D20 FPGA 的开发板。这种开发板由一片EG4D20EG176 FPGA 和一片 ELF1A650 CPLD 构成,不仅可以搭载本团队设计的 SoC,亦可使用该开发板完成其他基于 FPGA 的设计。同时,开发板上的外设还有 ENC28J60 网卡、SODIMM144 内存卡槽、GD32VF103 板载微控制器,提供了各类开发资源。开发板还使用了简单的双层板布局,极大地优化了成本。

本系统总体上可以分为 PC 机端和硬件端,硬件部分为本团队基于安路EG4D20 FPGA 制作的开发板,PC 机端为配套的集成电子开发环境—Eve IDE,系统总体框图如图所示。

作品一览:

下面是获得的奖项证书。

潘星雨同学也作为参赛学生代表宣誓的场面。

【QQ交流群】

各位对数字IC和FPGA设计感兴趣的盆友们,我们搭建了一个QQ交流群。经过这一段时间的发展,群聊中已经有1000多个志同道合的同学加入。QQ群里已经整理了许多的资料,其中包含有视频,资料,教程,芯片手册,软件安装包,虚拟机环境。覆盖了从FPGA开发,数字前端,电路设计等等一系列的内容。QQ群号为810689010 ,进群暗号:公众号。欢迎进群交流!

QQ群二维码

期待与您的添加!

‧  END  

长按识别图中二维码关注

欢迎关注微信公众号【数字积木】,更精彩的内容等着你!


转载:https://blog.csdn.net/weixin_42905573/article/details/110914273
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场