8位RISC模型机设计

1.设计目的

根据教学示例的CISC模型机设计一台8位RISC模型机。根据已有模型机结构设计各个模块和各模块之间的数据通路,实现简单RISC模型机。

2.设计过程

本次设计是设计并实现一个完整的8位RISC模型机,包括通过内部总线连接各个基本功能单元模块构成数据通路和用微指令设计的指令系统。
设计过程如下:
首先确定模型机结构(如图1),其次确定指令系统结构及功能,然后拟定指令流程和微命令序列,再设计出微程序,然后设计出各部件并分配时序,最后整体调试。

8位RISC计算机结构图1 8位RISC计算机结构

2.1指令集设计

2.1.1、指令格式:8位

表1 指令格式

指令7-4位3-2位1-0位
功能操作码RS寄存器RD寄存器

2.1.2、指令集

表2 修正后的指令集

助记符OP码RSRD说明
IN0001XXRD键盘输入“INPUT”->RD
SUB0010RSRDRS-RD->RD
STA0011RSRDRS->[RD]
MOV0100RSRDRS->RD
ADD0101RSRDRS+RD->RD
OUT0110RSXXRS->BUS
SLL0111XXRDRD<<1 ->RD左移
JMP1000RSXXRS->PC

2.2 模块设计

2.2.1寄存器堆

  1. 寄存器堆设计
    寄存器堆由4个8位寄存器组成,使用一个2-4译码器控制数据写入的目的寄存器,LD为数据写入使能端。两位选择信号SEL[1…0]选择输出数据的寄存器,如图2-2所示。
    寄存器堆设计图2-2 寄存器堆设计(duidui.bdf)
    8位寄存器设计代码图2-3 8位寄存器设计代码(reg8.vhd)

  2. 寄存器堆仿真
    仿真思路:先往寄存器中写数据,然后将写入的数据读取出来验证结果。

  • 0ns-4ns,总线上给数据15H作为待存入的数据,写入的寄存器为R1,(I[1]=0,I[0]=01),写使能端LD为1,将数据15H写入寄存器R1。
  • 4ns-8ns,总线上给数据22H,写入的寄存器为R0(I[1]=0,I[0]=0),将寄存器R1的数据读出为15H,结果正确。
  • 8ns-12ns,总线上给数据02H,写入的寄存器为R3(I[1]=0,I[0]=0),将寄存器R0的数据读出为22H,结果正确。
  • 12ns-16ns,总线上给数据01H,写入的寄存器为R2(I[1]=0,I[0]=0),将寄存器R3的数据读出为02H,结果正确。
  • 16ns-20ns,将寄存器R2的数据读出为01H,结果正确。
    寄存器堆仿真文件
    图2-4 寄存器堆仿真文件(duidui_test.vwf)
    寄存器堆仿真结果
    图2-5 寄存器堆仿真结果

2.2.2 运算器模块

1、运算器模块设计
运算器模块由两个8位寄存器和运算器ALU组成。ALU功能代码代码如图2-8所示。两个8位寄存器表示本模型机的运算器的两个数据寄存器A和B。

图2-6 运算器模块

ALU操作:异或、或、减、加、与、非和左移一位。

图2-7 ALU设计代码(ALU181.vhd)

2、ALU181仿真

图 2-8 运算器仿真(ALU_REG.bdf)

仿真思路:向两个寄存器中存入两个数据,给出不同的操作码,检验ALU运算结果是否正确。
0ns-10ns,输入数据A和B中分别给数据07H和05H,LDA=1,LDB=1,往DR0和DR1中数据写入07H和05H。
10ns-20ns,S[2…0]=000,ALU进行异或运算,得结果为02H,结果正确。
20ns-30ns,S[2…0]=001,ALU进行或运算,得结果为07H,结果正确。
30ns-40ns,S[2…0]=010,ALU进行减运算,得结果为02H,结果正确。
40ns-50ns,S[2…0]=011,ALU进行加法运算,得结果为0CH,结果正确。
50ns-60ns,S[2…0]=100,ALU进行与运算,得结果为05H,结果正确。
60ns-70ns,S[2…0]=101,ALU进行非运算,得结果为F8H,进位为1,结果正确。
70ns-80ns,S[2…0]=110,ALU对A进行左移运算,得结果为0EH,结果正确。

图2-9 ALU仿真文件(ALU.vwf)

图2-10 ALU仿真结果

2.2.3 存储器模块

2.2.4 其他模块

2.2.4 控制器模块

2.3整机调试

2.3.1测试程序设计

2.3.2 仿真结果

2.3.3 下载后执行结果

3.实验总结及心得体会

本次实验设计了一个简单的RISC 8位机,在设计过程中,微程序控制器部分设计和电路图连接上的小错误可能会难以定位问题所在。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
课程设计任务书 "一、设计题目 " "基于微程序控制器的简单计算系统设计与实现 " "二、设计内容 " "设计模型系统的总体结构、指令系统和时序信号。充分利用FPGA以及相关外围" "器件,设计实现模型的整系统。要求所设计的整系统能支持自动和单步运" "行方式,能正确地执行存放在主存中的程序的功能,对主要的数据流和控制流通" "过LED适时显示信息。尽可能利用EDA软件对模型系统中各部件进行仿真分析和" "功能验证。在学有余力的前提下,可为模型增加更多的扩展功能。 " "三、设计要求 " "支持算术运算、逻辑运算、存储器读写、寄存器间数据传送等几类指令; " "支持立即数寻址、直接寻址、隐含寻址、寄存器寻址等几种基本数据寻址方式和" "顺序寻址、跳跃寻址方式; " "支持10条以上的指令; " "能运行由自己设计的指令系统构成的一段程序,程序执行功能正确。 " "四、设计流程 " "根据课程设计指导书的要求,制定出设计方案; " "画出模型计算系统的原理框图和器件连接图,分析器件连接图中各器件不同引" "脚的功能,哪些可以固定连接,哪些需要通过微程序来控制,以及这些控制信号" "的有效形式; " "画出各指令的指令周期流程图和所需要的控制信号; " "设计出实现指令功能的微程序控制器或硬布线控制器; " "布线、调试、验收; " "课程设计报告和总结。 " "五、成绩评定 " " " "成绩评定根据考勤、课程设计的过程、课程设计的效果、课程设计报告质量等进" "行综合评定;其中设计过程和结果占70%,课程设计报告占30%;课程设计的成绩" "评定等级为不及格、及格、中、良好、优秀五级;对基本功能进行扩展或设计具" "有非常鲜明的特征和一定程度的创新,可根据实际情况加分。 " "六、设计报告要求 " " " "课程设计报告主要内容包括:设计题目、设计目的、设备器材、设计原理及内容" "、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。要求在适当位置" "配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令代码" "表等图表进行说明。总结部分主要写设计工作简介以及设计体会。应做到文理通" "顺,内容正确完整,书写工整,装订整齐。课程设计报告采用《计算组成原理》" "专用设计报告模板,A4纸双面打印,除框图外需附下载的设计图以及微指令控制" "点图。 " "七、时间安排 " " 课程设计的总体时间为2周,具体安排如下: " "第1天:到实验室布置任务和集中讲解。 " "第2天:学生自己设计,选择并熟悉自己所要的芯片。 " "第3天:领导线和芯片,进行芯片功能测试,在此基础上修改完善原设计方案。 " "第4天到第10天:实验室调试、验收。 " "八、主要参考文献 " "秦磊华,王小兰. 计算组成原理实验指导及课程设计指导书(基于EDA平台). " "武汉:华中科技大学出版社,2010年. " "秦磊华,吴非,莫正坤.计算组成原理. 北京:清华大学出版社,2011年. " "DAVID A.PATTERSON(美).计算组成与设计硬件/软件接口(原书第3版).北京: " "械工业出版社. 2007年. " "袁春风编著. 计算组成与系统结构. 北京:清华大学出版社,2011年. " " " " " 目 录 1 课程设计概述 3 1.1 课设目的 3 1.2 设计任务 3 1.3 设计要求 3 2 实验原理与环境 4 2.1 实验原理 4 2.2 实验环境 4 3 总体方案设计 5 3.1 需求分析 5 3.2 硬件设计 5 3.3 软件设计 8 4 详细设计与实现 10 4.1 选用芯片 10 4.2 硬件实现 11 4.3 软件实现 14 5 实验过程与调试 19 5.1 仿真XXX 19 5.2 可自行安排章节 19 5.3 主要故障与调试 19 5.4 功能测试 19 5.5 实验流程图 20 6 设计总结与心得 21 6.1 课设总结 21 6.2 课设心得 21 参考文献 22 课程设计概述 请仔细阅读所有的批注,阅读理解后删除批注 模板各个标题下面的内容仅是举例,作者应依照自己思想重写该部分内容 1、格式不要轻易改动,严格按照模板来,不要自创格式。 2、所以批注阅读后一定要删除 3、模板中的图示意图,不能照搬,要根据自己的设计来画 4、参考文献只是格式和引用方式参考,列出自己实际参考文献 5、图中的文字一定要清晰。 6、所有的表和图都必须有名字和编号。 1 课设目的 计算组成原理是计算专业的核心专业基础课。课程设计属于设计型实验,不仅锻 炼学生简单计算系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决 问题的能力。(自己写) ……(其它内容) 2 设计任务 计算

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

int huhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值