0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于EGO1开发板的32位单周期处理器设计案例

YCqV_FPGA_EETre 来源:未知 作者:佚名 2017-11-17 06:42 次阅读

本系列所有演示实验均出自由东南大学汤勇明教授、张圣清教授与Xilinx大学计划经理陆佳华先生所编著的教材《搭建你的数字积木·数字电路与逻辑设计(Verilog HDL&Vivado版)》。此教材为教育部Xilinx公司产学合作专业综合改革重点支持项目,并作为Xilinx公司大学计划指定教材。

本书系统论述了数字电路与逻辑设计的理论、方法与实践技术。全书基于Verilog HDL与Vivado开发环境,共18章,详尽介绍了如下内容: 逻辑设计与Vivado基础、布尔代数与Verilog HDL基础、组合逻辑电路设计基础、时序逻辑电路设计基础、有限状态机设计基础、逻辑设计工程技术基础、Vivado数字积木流程、串行通信接口控制器RAM接口控制器、字符点阵显示模块接口控制器、VGA接口控制器、数字图像采集、数字逻辑系统设计案例、单周期CPU设计案例、数字信号处理设计案例(FIR)、数字图像处理设计案例、大学生FPGA设计案例以及Xilinx资源导读。

为便于教师和广大读者学习与动手实践,本书配套提供了教学课件、教学视频程序代码等教学资源。本书适合作为普通高等院校电子信息类、电气信息类、自动化类专业的本科生教材,也可作为相关专业研究生参考教材,并适合作为电子与电气工程技术领域的科研工程技术人员的参考用书。

实验步骤实验内容

本实验介绍32位单周期处理器设计,并在EGO1开发板上实现。

实验原理

本实验用以下模块来实现:

ALU:ALU算术逻辑单元,是处理器中的一个重要功能模块,用来执行多组加减乘除等算术运算以及或与非等逻辑运算。算术逻辑单元的操作和种类由控制器觉定,处理的数据来自存储器,处理后的结果送回存储器或者暂存于算术逻辑单元中。ALU框图如下所示,alu为控制信号,包括了ALU需要执行的运算的命令,a和b为两个输入,r是运算结果,z为carry。

REGFILE:一个32位深度的寄存器文件,用于缓存来自memory或ALU的数据指令op和func将被转换成wreg、regrt、shift等信号,如下图所示:

DATAPATH: DATAPATH用于连接所有的子模块,同时具备指令计数器的功能,其框图如下图所示:

INSTMEM:instruction memory,指令储存器,用于存放工程的测试指令。

DATAMEM:用于存储所有工程测试数据例如ALU计算结果等。输入为写使能、时钟、地址以及写入的数据,输出为data_out信号,其框图如下所示:

KEY2INST:将开关状态转换为CPU的指令。

SHOWONLED:将最终计算结果或者开关状态按照预先设定好的模式通过LED展示给用户。输入计算结果和开关状态,输出为控制LED的信号,其框图如下所示:

功能实现

通过本实验,可实现一个CPU,根据输入的指令控制LED灯。

实验资料:可以通过github下载,下载链接请点击这里。

代码说明:本实验的代码已经全部封装成IP核,用户只需将IP核调用并正确连续即可,MIPS_CPU.xdc为本实验的管脚约束文件。

实验操作
  1. 本实验使用Vivado 2017.1 进行开发,开发界面如下。如果您未安装vivado,安装流程请点击这里。

2.实验RTL视图:

3.代码综合后效果图:

4. 代码实现后效果图:

具体vivado步骤请参看之前的微信文章,文章链接请点击这里

验证流程

将代码下载到板卡后,可按照下面的操作实现一个简单的加法运算,两个家数分别为16位的0000000100000000和16位的0000000000000000,操作过程如下:

  1. 将B14-B0设置为0,将B15设置为0,然后再设置为1,完成系统复位。

  2. 将B9-B8设置为10,将B7-B0设置为00000001,然后将B13设置为1后马上设置为0,目的是加载data+bh。

  3. 将B9-B8设置为11,将B7-B0设置为00000000,然后将B13设置为1后马上设置为0,目的是加载data_bl。

  4. 将B9-B8设置为00,将B7-B0设置为00000000,然后将B13设置为1后马上设置为0,目的是加载data_ah。

  5. 将B9-B8设置为01,将B7-B0设置为00000000,然后将B13设置为1后马上设置为0,目的是加载data_al。

  6. 将B12-B10设置为000,这样就选择了加法运算模式。然后将B14设置为1,此时CPU运行运算,结果为0000000100000000,此时的结果将显示在16位LED上。

实验效果图


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ALU
    ALU
    +关注

    关注

    0

    文章

    32

    浏览量

    13000
  • eg01开发板
    +关注

    关注

    0

    文章

    1

    浏览量

    1789
  • 单周期处理器

    关注

    0

    文章

    1

    浏览量

    1375

原文标题:【玩转EGO1系列教程三】:在EGO1开发板上实现RISC

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【米尔-瑞萨RZ/G2UL开发板1.开箱

    /G2UL 都能提供出色的性能和稳定的运行。以下是一些外观特写: 正面照片 背面照片 规格 米尔-瑞萨RZ/G2UL开发板的规格如下: RZ/G2UL 处理器配备 Cortex-A55@1.0GHz
    发表于 02-04 23:38

    【米尔-瑞萨RZ/G2UL开发板开发板开箱与接口介绍

    开发板简介 MYC-YG2UL核心开发板基于RZ/G2UL处理器,通用64工业MPU RZ/G2UL是瑞萨一款高性能
    发表于 01-14 13:25

    EGO1开发板的硬件规格、软件支持、应用场景及优势

    EGO1开发板是一款功能强大、性价比高的开发板,广泛应用于各种嵌入式系统的设计与开发。本文将从硬件规格、软件支持、应用场景及优势等方面详细介绍EGO
    的头像 发表于 12-21 15:49 981次阅读

    ego1原理图介绍

    电子发烧友网站提供《ego1原理图介绍.pdf》资料免费下载
    发表于 12-21 09:32 5次下载

    【ELF 1开发板试用】+传感检测

    ELF 1开发板通过几种传感的测试,如温湿度、六轴传感等,而在配备功能扩展板的情况下,还能进行光照强度的检测。 温湿度检测 ELF1
    发表于 11-29 11:59

    OpenHarmony开发板汇总

    海思Phoenix 开发板(Hi3751V351)标准系统:鸿诚志远HCPAD-100(RK3568)标准系统:DAYU110(SL8541E)标准系统:全志T507EVB_OH1标准系统:OSWare
    发表于 10-19 11:27

    教你学Vivado—以2选1多路选择器为例

    EGO1开发板上实现2选1多路选择器。
    的头像 发表于 10-02 15:58 1380次阅读
    教你学Vivado—以2选1多路选择器为例

    如何选择米尔基于STM32MP1系列核心开发板

    如何挑选合适的核心进行设计呢?我们可以通过以下几点进行对比: 1.处理器性能不同 MYC-YA15XC-T核心基于STM32MP151处理器
    发表于 09-28 16:54

    新定义NBK-RD8x3x开发板简单测评及上电测试与定时简单使用!

    实现用定时2对LED0的1s闪烁功能。 总结 综上所述,新定义mcu NBK-RD8x3x开发板及配套触控板在硬件性能和软件支持方面表现非常良好。其高性能的处理器、充足的内存和存储空
    发表于 09-24 22:53

    基于STM32双处理器手机开发板教程

    该双处理器手机开发板,主控采用STM32407,协助处理器采用业界功耗最低的蓝牙MCUDA14580。搭载GPRS、摄像头、音频、蓝牙、触摸屏等外围电路。
    发表于 09-21 06:38

    STM32 Nucleo开发板介绍

    STM32 Nucleo开发板是带多种STM32微控制系列的开发板,她为用户提供可接受的价格和灵活的方式进行产品创新和原型开发。用户可以从MCU的性能,功耗和产品特点选择不同的组合。
    发表于 09-12 06:28

    【米尔-STM32MP135开发板-入门级MPU试用】初识功能强大的米尔-STM32MP135开发板及培训课程

    今天收到功能强大的米尔-STM32MP135开发板,给大家做个开发板介绍,最后有官方培训课程链接,希望能在大家开发时用到这份资料。 米尔电子,专注嵌入式处理器模块设计和研发的高新技术企
    发表于 09-04 22:16

    【米尔瑞萨RZ/G2L开发板-试用体验】认识一下米尔瑞萨RZ/G2L开发板的核心

    收到米尔瑞萨RZ/G2L开发板后一直对米尔旗下开发板的做工感到非常精致,同时也有着很强大的功能,也一直很喜欢米尔系列开发板。 引领工业市场从32MPU向64
    发表于 07-29 00:21

    【沁恒CH32V208开发板试用】1-构建RTT-Stdio开发环境

    配置介绍 1 、CH32V208参数介绍 CH32V208EVT开发板选用CH32V208WBU6 MCU.CH32V208系列是基于32RISC-V设计的无线型微控制,配备了硬件
    发表于 05-28 15:41

    【RISC-V开发板】并行多线程处理器MC3172开发资料集合

    厦门感芯科技多线程处理器MC3172开发板 ,64线程同步并行运行,各个线程速度可按需配置,硬件级实时响应,无需中断服务程序,无需实时操作系统。RISC-V RV32IMC 指令集,100%
    发表于 05-23 11:44