简易计算机系统综合设计设计报告(VHDL)

一、设计目的

完整、连贯地运用《数字逻辑》所学到的知识,熟练掌握EDA工具基本使用方法,为学习好后续《计算机原理》课程做铺垫。其次,了解Quartus II软件的应用,学习Quartus II环境下设计CPU的基本过程,掌握CPU设计代码的含义以及CPU的工作原理,了解CPU与内存RAM间的连接数据的传输过程,学习在Quartus II环境下建立模型机的具体过程。融会贯通本课程(数字逻辑)各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识。学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。
二、设计内容
按照给定的数据通路、数据格式和指令系统,使用 EDA 工具设计一台用硬连线逻辑控制的简易计算机。
数据通路:

数据格式:数据字采用 8 位二进制定点补码表示,其中最高位(第 7 位)为符号位,小数点可视为最左或最右,其数值表示范围分别为:-1≤X<+1 或-128≤X<+127。
指令系统:

三、详细设计
3.1整体架构(放大图见最后附图)

3.2各模块具体实现
1)指令计数器PC:
接口设计:
总线输入端、时钟输入端、复位输入端、两控制信号输入端、总线输出端。
功能实现:
a.复位信号有效时,计数器清零;
b.时钟下降沿到来时,如果LD_PC = ‘1’、IN_PC = ‘1’ 实现加一计数,或者LD_PC = ‘1’、IN_PC = ‘0’ 实现总线数据打入计数器,否则无操作;
c.输出为当前状态。

2)选择器:
接口设计:
PC输入端、通用寄存器组A口输入端、通用寄存器组B口输入端、两位使能输入端、总线输出端。
功能实现:
功能相当于一个多路复用器,对于不同的使能选择不同的输入输出:
a.MADD = ‘00’ 时选择PC输入端的输入输出;
b.MADD = ‘01’ 时选择通用寄存器组A口输入端的输入输出;
c.MADD = ‘10’ 时选择通用寄存器组B口输入端的输入输出;
d.MADD = ‘10’ 时输出高阻态。

3)指令寄存器IR:
接口设计:
总线指令输入端、时钟输入端、使能输入端、指令分解控制信号输入端、总线指令输出端,操作码S输出端,RAA、RWBA输出端。

功能实现:
功能相当于一个寄存器(时钟下降沿将信号传入指令译码器),外加无不受时钟控制的信号分解器(先提取出RAA、RWAB,以便时钟下降沿到来时,通用寄存器组读出数值的正确性)。

4)指令译码器:
接口设计:
总线指令输入端、复位输入端、使能输入端、各类指令控制信号输出端。
功能实现:
a.使能为有效时,对于传入的指令码译出各类指令控制信号;
b.复位信号有效时,不管使能如何,将HALT指令控制信号直为低电平,即无效(用于指令控制停机后的开机操作)。

5)控制器
接口设计:
使能输入端、各类指令控制信号输入端、Cf及Zf的各两个寄存信号输入端、各类控制信号输出端(LD_IR、DL、XL等)。
功能实现:
a.初始化各类控制信号;
b.使能为高电平,即有效时,执行阶段,对于不同的指令控制信号和条件信号进行将各类控制信号赋值,使执行指令时相应的功能块或者通路打开;
c.使能为低电平时,取指阶段,改变控制取值的信号,使取指正常进行。

6)通用寄存器组
接口设计:
置位输入端、使能输入端、时钟输入端、RAA及RWBA输入端、总线输入端、总线指令输出端、通用寄存器A口及B口输出端、ABC三寄存器输出端。
功能实现:
a.使能为0时,将总线数据通过RWBA选择写入三个寄存器;
b.使能为1时,将寄存器内的数据分别通过RAA、RWBA的选择从A口和B口输出;
c.置位时清零;
d.将寄存器内数据外显。

7)函数发生器ALU(+移位逻辑)
接口设计:
使能输入端、操作码输入端、通用寄存器组A口及B口输入端、两移位信号输入端、总线输出端、进位Cf及结果为0信号Zf输出端。
功能实现:
a.对于A口及B口传入的数据,根据操作码和控制信号的不同执行不同的操作,;
b.将结果从总线传出,并判断是否有进位和结果是否为零。

8)开关输入
接口设计:
控制台信号INA及INP输入端、指令控制信号IN_0输入端、八个开关信号输入端、总线输出端。
功能实现:
当IN_0或INA或INP等于1 时将开关上的数据打入总线。

9)分频器
接口设计:
原时钟输入端、分频后时钟输出端。

10)钟控开关
接口设计:
STRAT及STOP控制台信号输入端、HALT指令控制信号输入端、control信号输出端。
功能实现:
根据输入信号输出控制系统开关的信号,与时钟进行与操作,实现对系统的控制。

11)Cf、Zf寄存器
接口设计:
Cf及Zf输入端、时钟输入端、置位输入端、Cf_1及Zf_1输出端。
功能实现:
通过串联三个寄存器,实现Cf及Zf的寄存,为下一执行阶段为跳转时提供条件。

12)CHP
接口设计:
RAM输入端、控制台信号CHP输入端、使能输入端、RAM值输出端。
功能实现:
通过CHP与LD_IR的控制,输出当前PC对应的RAM内相应内存单元的值。

四、工程文件
工程文件、报告部分请参见:https://download.csdn.net/download/hyl1181/12647130

简易计算机系统综合设计设计报告(VHDL)相关推荐

  1. 东大计算机学院李传佑,计算机系统综合课程设计-东南大学计算机学院.doc

    计算机系统综合设计设计报告 组长:张冠群 成员:杨 俊孙啸寅万乾坤李传佑刘 森黄 河 东南大学计算机科学与工程学院二OO六年九月设计名称基于MIPS32的SOC设计完成时间2006.9验收时间本组成员 ...

  2. 矩阵键盘简易计算机设计报告,矩阵键盘设计实验报告

    <矩阵键盘设计实验报告>由会员分享,可在线阅读,更多相关<矩阵键盘设计实验报告(21页珍藏版)>请在人人文库网上搜索. 1.南京林业大学实验报告基于 AT89C51单片机 4x ...

  3. 西南交通大学计算机组成原理,西南交通大学计算机组成原理课程设计报告

    西南交通大学计算机组成原理课程设计报告 (16页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 <计算机组成实验 C>课程设计适 ...

  4. 成都理工大学计算机报告,[2017年整理]成都理工大学通信工程计算机网络综合课程设计报告.doc...

    [2017年整理]成都理工大学通信工程计算机网络综合课程设计报告 计算机网络综合实习 课程设计(论文) 设计(论文)题目 计算机网络综合设计 学院名称 信息科学与技术学院 专业名称 通信工程 学生姓名 ...

  5. 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc

    <计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...

  6. c语言电子计算器课程设计报告,计算机程序设计课程设计报告.doc

    计算机程序设计课程设计报告.doc PAGE 1 计算机程序设计(C语言) 课程设计报告 题目:学生信息管理系统 学院: 计算机科学与工程学院 专业: 电子信息工程 班级:110406 姓名: 黄伟强 ...

  7. 计算机组成原理课程设计a,计算机组成原理课程设计报告.doc

    计算机组成原理课程设计报告.doc (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 计算机组成原理课程设计报告实验项目:1.设计一 ...

  8. 重庆大学计算机课程设计,计算机组成原理课程设计报告重庆大学.doc

    计算机组成原理课程设计报告重庆大学 计算机组成原理课程设计报告 题目:微程序设计 专业:计算机科学与技术 班级: 指导老师: 目录 一.摘要 二.设计要求 三.微程序控制器原理 四.总体设计 五.测试 ...

  9. 计算机控制系统课程设计中期报告,课程设计中期报告模板.doc

    课程设计中期报告模板概要 新疆大学 信息科学与工程学院 <程序设计>课程设计中期报告 题目: 专 业 计算机科学与技术 学 生 姓 名 学 号 联 系 方 式 班 级 计算机15-班 组 ...

  10. 计算机仿真课程设计四号题,上海电力学院电子线路计算机仿真课程设计报告

    上海电力学院电子线路计算机仿真课程设计报告 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 上上 海海 电电 力力 学学 院院课程 ...

最新文章

  1. 解决win7 64位无法进入debug的问题
  2. 算法分类整理+模板②:字符串处理
  3. 操作系统(一)计算机系统概述
  4. Tensorflow入门神经网络代码框架
  5. 巴塞尔问题欧拉解法逐步推导与分析
  6. 长春java开发能开多少钱,从理论到实践!
  7. 【交通标志识别】基于matlab SIFT交通标志识别【含Matlab源码 717期】
  8. 淘淘商城简介——淘淘商城(一)
  9. 矩阵专业词汇英文对照
  10. 实测PD18W/30W/65W充电器给iPhone xs充电快慢对比
  11. 【微信授权登录失败】Universal Link check failed 第5步问题解决(授权二次确认弹框问题)
  12. 第九周 项目三--稀疏矩阵的三元组表示的实现及应用
  13. “九阳神功”是怎么炼成的?
  14. CouchDB查询文档
  15. aircrack-ng for windows的简单使用教程
  16. 工控机和服务器哪个稳定性高,简单分析工控机和服务器有什么不同
  17. Duilib学习-窗口句柄获取
  18. 在处理时有错误发生: sogoupinyin
  19. php mcrypt rpm 下载,rpm安装php-mcrypt
  20. linux储存卡的格式,sd卡有几种格式?

热门文章

  1. android 权限管理详解,EasyPermissions源码浅析
  2. Error while executing: am start -n错误解决方案
  3. mysql 数据库编码怎么看_mysql查看数据库编码
  4. mdac版本过低怎么解决_工业铝型材硬度过低怎么解决
  5. 面向对象六大原则----imageLoader为例层层优化
  6. 15 个超赞超牛逼的 Linux 工具,提高效率的同时增加乐趣!
  7. 如何画c语言箭头鼠标,简单的鼠标绘图程序
  8. insert 语句的选择列表包含的项多于插入列表中的项_30 种 MySQL 常用 SQL 查询语句优化方法...
  9. 多线程中redistemplate不执行_在 Flink 算子中使用多线程如何保证不丢数据?
  10. windows 2008服务器还原系统,windows 2008服务器系统