基于FPGA的8位RISC MCU研究与设计

基于FPGA的8位RISC MCU研究与设计

论文摘要

微控制器(MCU)是许多数字系统的核心部件,其控制复杂,对鲁棒性、面积、功耗、运算速度、功能等方面都有很高的要求,设计拥有自主知识产权的高性能MCU一直是集成电路设计领域一个富有挑战性的课题。本文的研究正是对此做一次有益的尝试和实践。在深入细致地研究了Atmel公司的AT90S1200系列微控制器的指令系统和系统结构,深入理解了微控制器的工作作原理和设计方法的基础上,确定微控制器的总体结构,以及各层次模块的功能和结构。讨论了RISC和CISC各自的特点及的设计差别;讨论了指令集的制定,指令流水线的概念及设计方法,以及由于引入流水线而引起的数据冲突和解决办法;MCU整体架构的分析,用FPGA进行时序电路的设计方法等技术。本文做的工作包括:采用硬件描述语言VHDL语言设计了微处理器数据通路,控制单元的设计,并对该微处理器进行了软件功能测试和正确性验证。数据通路的设计包括:PC模块、IR模块、通用寄存器模块、状态寄存器模块、ALU模块、取指单元模块、定时器/计数器模块、I/O单元模块及外部中断模块等电路模块的设计与实现;同时还研究了控制单元的实现方法和有限状态机设计的方法。验证部分是将MCU作为一个整体处理单元在处理混合指令和一定的应用功能时所表现出来的综合性能做的软件仿真测试。这种测试没有对所有的指令进行全面的测试,但对三个I/O的测试采用不同的测试方法达到相同的效果,测试了用不同的指令来实现相同功能的MCU的指令的灵活性。因此这些指令组合成一起的程序段对MCU的测试是比较有效的测试指令及MCU综合功能的测试方法。最终的仿真验证结果表明,所设计的MCU完全兼容AT90S1200的指令集。汇编源程序的编译环境不需要另外开发而可直接使用AVR Studio进行编译。仿真的结果表明MCU能按照预想的指令执行预定的动作,时序和流水线操作都正确,表明所设计的MCU基本符合要求。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 课题背景及来源
  • 1.2 微控制器概况
  • 1.2.1 国外微控制器的发展过程及现状
  • 1.2.2 国内微处理器的发展状况
  • 1.3 目标FPGA器件选型
  • 1.4 设计的参照MCU-AT90S1200
  • 1.5 本文要完成的工作及章节内容安排
  • MCU体系结构'>第2章 RISCMCU体系结构
  • 2.1 CPU概述
  • 2.2 指令系统分析
  • 2.2.1 RISC与CISC
  • 2.2.2 RISC与总线结构
  • 2.2.3 寻址方式与指令结构的定义
  • 2.2.4 指令编码
  • 2.3 指令时序分析
  • 2.3.1 指令的执行周期分析
  • 2.3.2 指令流水线
  • 2.3.3 引入流水线后程序记数器的工作情况
  • 2.3.4 引入流水线后引起的冲突
  • 2.4 RISC MCU的总体的结构规划
  • MCU的外部引脚规划'>2.4.1 RISCMCU的外部引脚规划
  • MCU的整体框图'>2.4.2 RISCMCU的整体框图
  • MCU寄存器间的关系'>2.4.3 RISCMCU寄存器间的关系
  • MCU的控制信号特性'>2.4.4 RISCMCU的控制信号特性
  • 2.5 设计流程及设计工具
  • MCU数据通路设计'>第3章 RISCMCU数据通路设计
  • 3.1 程序记数器模块(PC)
  • 3.2 指令寄存器模块(IR)
  • 3.3 程序存储器模块(PROGRAM ROM)
  • 3.4 通用寄存器模块(GENERAL PURPOSE REGISTER FILE)
  • 3.5 状态寄存器模块(STATUS REGISTER)
  • 3.6 ALU模块
  • 3.6.1 取指单元(Fetch Oprand Unit)
  • 3.6.2 执行单元(Execution Unit)
  • 3.6.3 跳转判断单元(Skip Evaluation Unit)
  • 3.6.4 状态产生单元(Flag Evaluation Unit)
  • 3.7 数据存储器模块(DATARAM)
  • 3.8 I/O接口模块(PORT)
  • 3.9 定时器/计数器模块(TIMER/COUNTER)
  • 3.10 外部中断模块(EXTERNAL INTERRUPT)
  • MCU控制单元的设计'>第4章 RISCMCU控制单元的设计
  • 4.1 指令译码单元
  • 4.2 有限状态机(FSM)
  • 4.3 系统状态转移图
  • 4.3.1 单周期执行指令
  • 4.3.2 无条件分支指令
  • 4.3.3 条件分支指令
  • 4.3.4 SLEEP状态
  • 4.3.5 其它状态
  • 4.4 状态机的输出控制信号
  • 4.5 控制单元中的其它子功能块
  • 4.5.1 取指阶段的控制信号
  • 4.5.2 指令回取寄存器(IBR)
  • 4.5.3 对I/O的译码
  • 4.5.4 跳转条件判断单元
  • MCU的仿真测试及验证'>第5章 RISCMCU的仿真测试及验证
  • 5.1 验证和测试基本概念
  • 5.1.1 形式验证与仿真验证
  • 5.1.2 Test Bench
  • MCU各模块的组合'>5.2 RISCMCU各模块的组合
  • MCU的功能仿真'>5.3 RISCMCU的功能仿真
  • 5.3.1 仿真的工具选择
  • 5.3.2 仿真的方法及步骤
  • 5.3.3 仿真方案及结果分析
  • 5.4 总结
  • 第6章 总结与展望
  • 参考文献
  • 作者在攻读硕士学位期间发表的学术论文
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于FPGA的8位RISC MCU研究与设计
    下载Doc文档

    猜你喜欢