好文档 - 专业文书写作范文服务资料分享网站

计算机组成原理第二次上机实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

青岛理工大学

实 验 报 告

实验课程: 计算机组成原理I

实验日期: 2015年 10月23日, 交报告日期:2015 年11月2日,成绩: 实验地点:现代教育技术中心303

计算机工程 学院,计算机科学与技术 专业, 班级:计算132班

实验指导教师:林孟达 批阅教师:林孟达 同组姓名 学生 学号 一、实验课题及内容

按照题目要求设计一个通用寄存器组的逻辑,决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。

实验内容:

一、主要元件设计

1.16位寄存器

功能要求:同步并行置数,异步复位(清零),三态输出,片选信号,读/写控制。 2.地址译码器

功能要求:3-8译码器。

二、顶层设计

用层次结构设计的方法设计一个通用寄存器组。包括8个16位寄存器,1个地址译码器等元件。

功能要求:每个寄存器能够同步并行置数,异步复位(清零),三态输出。每个都可以(用地址)独立访问。

三、仿真

设计仿真波形数据,要考虑到所有可能的情况。在实验报告中必须清楚说明仿真波

形数据是怎样设计的。 四、深入的课题

① 上面设计的通用寄存器组,每次只能访问一个寄存器。如果想同时访问两个寄存器,

应该怎样设计?

② 16位的寄存器每次读/写都是一个16位字,如果需要写入的是8位的字,即将8

位的字写到16位寄存器的高8位或低8位(例如,16位寄存器A由AH和AL两个8位的寄存器组成),读出时,可一次读16位。应该怎样设计?

二、逻辑设计

1、3-8译码器系统框图

A2 A1 S2 S1 3-8译码器 S0 ...... Y7 Y6 A0 Y0 端口说明:a(2-0):输入信号

S(2-0):使能端,s0是高电平有效,s1,s2是低电平有效。 y(0-7):输出端口

s?s0?s1?s2

3-8译码器逻辑函数:y0??a2?a1?a0??s y1??a2?a1?a0??s

y2??a2?a1?a0?s y3??a2?a1?a0??s y4??a2?a1?a0?s y5??a2?a1?a0??s

y6??a2?a1?a0?s y7??a2?a1?a0??s

???2、16位寄存器系统框图 d15 d14 ...... d1 d0 chip cp

reset 16位寄存器

z

rw

....

q15 q0 q14 q1

端口说明:d(0-15):输入 q(0-15):输出

cp,reset,chip,rw,z:分别是时钟信号,异步清零信号,片选信号,读写控制信 号,三态输出。

3、通用寄存器组系统框图 d15 d1 d14 d0

.....a2 a1 a0 cp reset z 通用寄存器组 ...... q1 q15 q14 s2 s1 s0 rw q0 端口说明: d(0-15):数据输入 q(0-15):数据输出 a(0-2):译码器的输入

s(0-2):使能端控制

cp,z,reset,rw:分别是时钟信号,三态输出,异步清零,读写控制

三、仿真设计

1、3-8译码器:

3-8译码器功能表

输入 s0 s1 s2 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 a2 a1 a0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 输出 y7 y6 y5 y4 y3 y2 y1 y0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 从它的功能表可以知道输入的数据是有限的且只有八组,故可以按照功能表对全部数据进行仿真。

2、16位寄存器:

16位寄存器功能表

chip 1 0 0 0 0 cp ? ? reset ? 1 0 z ? ? 1 ? rw ? ? 1 0 ? 工作状态 不工作 异步清零(复位) 读 写 高阻态 ? 0 0 0 根据功能表来输入各个端口验证各项功能。

(1)验证无工作状态功能:令chip=‘1’,若输出为Z则说明其没有工作。 (2)验证异步清零功能:使chip=‘0’且r=‘1’,接着使chip=‘0’,cp处于上升沿,reset=0,

z=1,rw=‘1’。

若仿真结果是16个0则表明异步清零功能有效,且简洁验证了,读功

能是正确的。

(3)验证写入寄存器的功能:使chip=‘0’且cp处于上升沿,reset=‘0’,rw=0。接着读出数据,若读出的数据是这之前写入寄存器的数据则表明写功能正确。 (4)验证读功能:使chip=‘0’且cp处于上升沿,reset=‘0’,rw=‘1’。若仿真的结果是

之前写入寄存器的数据,则表明读功能是正确的。

3、十六位寄存器组:

对十六位寄存器组,共有8个寄存器。每一个寄存器都要进行功能验证,一、为了验证译码

器的正确性;二、为了验证每个寄存器的功能是否都正确。(实际上这些寄存器都是由一 个模板复制而来,之所以每个都进行验证是为了查看每个组件之间的连接是否正确)。按 照十六位寄存器的仿真设计,对每一种片选信号都进行十六位寄存器的仿真。

四、实验步骤及工具 实验步骤:1、逻辑设计

2、根据逻辑原理设计数据并得出理论结果 3、用VHDL语言编写程序 4、启动Quartus系统 5、建立一个工程

6、建立一个VHDL文件,输入源程序并检查错误 7、编译并修改语法错误 8、建立一个波形文件

9、功能仿真和时序仿真,修改逻辑错误,记录仿真波形

工具:1、PC机

2、Quartus Ⅱ系统

五、结果分析讨论

1、3-8译码器功能仿真结果:

结果讨论:从仿真图可以看出对于每种输入,都可以得到和功能表一致的结果。故3-8译码器设计是正确的。

2、十六位寄存器仿真结果:

计算机组成原理第二次上机实验报告

青岛理工大学实验报告实验课程:计算机组成原理I实验日期:2015年10月23日,交报告日期:2015年11月2日,成绩:实验地点:现代教育技术中心303计算机工程学院,计算机科学与技术专业,班级:计算132班实验指导教师:林孟达
推荐度:
点击下载文档文档为doc格式
7mm745pksh03ypj6btdu
领取福利

微信扫码领取福利

微信扫码分享