FPGA 串口中断_基于FPGA的轻量级RISCV SoC

31ce4e50caec19278509d41db1c45567.gif项目来源:2019年第三届全国大学生FPGA创新设计竞赛一、设计概述  1.1设计目的随着以RISC-V(RISC,精简指令集计算机;V表示为第五代)为代表的新型开源ISA(instruction set architecture,指令集架构)的出现,使得国内在处理器研发上有了新的ISA可供选择。国内在处理器研发方面的人才需求也越来越多。但是由于目前国内计算机科学教学用具主要是8086微机和51单片机等陈旧的架构,这些处理器不仅缺乏相关的底层逻辑实现,而且指令架构过于陈旧不具备参考价值。综上所述,为了方便老师教学和学生由浅入深地了解处理器设计,需要一种开源的,简单的,同时使用了新型ISA的处理器,并且基于此集成一个SoC。1.2应用领域本设计可以运用在从数字逻辑基础教学到计算机组成及原理等多个场合。例如在进行数字逻辑基础教学的时候,可以让学生设计一款自定义外设,由于本SoC的内部总线时序非常简单,学生可以轻松设计出外设,这样既锻炼了学生的数字逻辑设计能力,又可以让学生理解数字逻辑和计算机系统之间的联系。同时,在计算机组成及原理的课程上,老师可以通过本处理器配套的汇编软件和仿真器联合进行汇编代码仿真,并且还可以使用配套的FPGA硬件进行无缝上板调试。1.3主要技术特点本作品着眼简单、易学,在硬件平台上不仅自研了一个简单的处理器内核-PRV332SV0,同时也基于这个内核配套搭建了一个SoC-PVS332,底层HDL代码具备完全自主知识产权。在软件方面,我们同时重构了一个简单易用的IDE,该IDE包含汇编和链接的功能,不仅可以联合仿真软件进行联合汇编代码仿真,而且可以直接生成机器码文件上板调试。学生在学习的时候可以根据自己的需求对任意一个模块进行时序仿真,从根本上解决了处理器-汇编指令-操作外设 这一道难以理解的槛。1.4关键性能指标本作品实现了一个RISCV处理器内核,该处理器是使用状态机实现的,完全兼容RISCV32I指令集和A拓展指令,并且具有MMU和RISCV定义的大部分CSR。另外为了简单没有加入缓存和流水线等机制。该处理器的板上工作频率为33MHz,平均CPI为7,实测运行MIPS值为6MIPS。基于该处理器集成了一个SoC,SoC里面集成了4KB的片上内存、4KB的程序储存器、八个SPI收发器、最多支持128个中断源的中断控制器、系统定时器、两对具备FIFO功能的UART收发器、22个GPIO、最大寻址范围16MB的外置拓展卡控制器。这些外设通过类AHB总线和一个总线交换机连接起来,内部总线吞吐量最大为133MB/s。为了尽可能适应教学和轻量化的需求,上述模块均为自主研发。配套研制的IDE重构了汇编器和链接器,集成了包含汇编器-链接器等多项功能,不仅可以和仿真器配合进行汇编代码仿真,还可以直接生成机器码文件实现上板调试。除了上述功能,该IDE还可以和自主研制的调试器进行无线连接,可以实现回传系统板上数据和烧录外部flash的功能。 二、系统组成及功能说明  2.1系统介绍本系统总体可以分为硬件端和PC机端,其中硬件部分又可分为FPGA核心模块、系统主板和调试器,系统框图如图1所示: dcdcbb1818d377cc9ff2c17950a8b909.png图 1 系统框图硬件端的FPGA核心模块里面实现了了一个完全自主研发的SoC,内置一个33MHz的CPU核心和GPIO、SPI收发器、UART收发器、系统定时器、拓展卡控制器等多个外设。硬件端的系统主板上包含了可以插接FPGA核心板的插座、SPI和GPIO接口和板载的FLASH芯片,同时提供了一个自定义调试接口和自研的调试器相连接,系统可以通过这个自定义调试接口向调试器发送数据,然后调试器可以通过WIFI或蓝牙向PC端的IDE回传数据。调试器部分不仅可以回传主板送回来的数据,也可以根据电脑端的命令对系统复位和烧录系统主板上的外部flash,这样一来该系统具备两种启动方式:1、直接从内部的BOOTROM里面启动。2、 从内置的BOOTROM启动后运行预先设定好的BOOTLOADER程序,加在外部flash到内存里,然后执行加载进来的程序。PC端我们完全自主研制了一个IDE,完全重构了汇编器算法。同时我们添加了多项功能,不仅可以编辑RISCV汇编,还可以生成多种文件类型以供仿真和烧录。2.2 各模块介绍2.2.1 FPGA部分本次使用的FPGA核心板是XC7S15,FPGA芯片一共有8000可用LUT6,核心板一共有96个可用IO,核心板如图2所示: ec7b1f3ced729ad769e84a4585675827.png图 2 核心板FPGA中实现的SoC框图如图3所示: a724d5d103beaa92681ba1e9ea4be0f2.png图3 SoC原理框图在这个FPGA里面我们独立研发了一个RISCV处理器核心并基于这个核心自主搭建了一个SoC。该SoC集成了4KB的片上内存、4KB的程序储存器、八个SPI收发器、最多支持128个中断源的中断控制器、系统定时器、两对具备FIFO功能的UART收发器、22个GPIO、最大寻址范围16MB的外置拓展卡控制器。这些外设通过类AHB总线和一个总线交换机连接起来,内部总线吞吐量最大为133MB/s。为了尽可能适应教学和轻量化的需求,上述模块均为自主研发。图4为FPGA中实现SoC全貌的RTL视图: aea5b625da78198e7b79310a1cb1a4b8.png图 4 SoC的RTL视图2.2.1.1 PRV332处理器内核
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值