计算机组成原理实验报告 电子科技大学由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“电子科技大学实验报告”。
计算机专业类课程
实验报 告
课程名称:计算机组成原理
学院专业:计算机科学与工程 计算机科学与技术学生姓名:** 学
号:20120600***** 指导教师:吴晓华
日
期:2014年11月30日
实 验 报 告
实验一
一、实验名称:
ALU设计实验
二、实验内容和目的 :
(1)实验内容:
设计一个4bit ALU,实现两个4bit二进制数的算术运算和逻辑运算
1、算术运算(加、减);
2、逻辑运算(与、或、置
1、清0);(2)实验目的:
1.熟悉ALU的工作原理;
2.掌握用硬件描述语言设计ALU的方法;
三、实验原理:
利用veilog hdl语言编写实现实验要求的逻辑功能实现代码。要求实现两个四位二进制数的算数运算和逻辑运算,有三个输入,分别是输入的两个四位二进制数和一个控制信号,有两个输出,分别是仅为信号和运算结果的输出。考虑到是电路的逻辑代码设计简化,采用case语句来实现。所有的输入都会对最终的结果和进位输出产生影响。在连线时,八个开关分为两组,分别控制两个四位二进制数的各位,有五个指示灯,四个显示结果的输出,一个用来显示进位信号。
四、实验器材(设备、元器件)
硬件平台:pc 软件平台:windows xp
五、实验步骤:
先利用仿真软件进行程序的编写,编译调试运行,结果无误后,在仿真软件上绑定对应开关和连线,打开电路板电源,进行控制操作,观察指示灯的亮灭情况,根据实际的逻辑结果来验证实验代码及连线的正确性,若与实际结果不相符,检查连线以及实验代码,重新进行处理。
六、实验数据及结果分析:
(1)实验代码:
module pz(in1,in2,se,count,c);input[3:0] in1,in2;input[2:0] se;output[3:0] count;output c;reg[3:0] count;reg c;always@(in1,in2,se)begin case(se)3'b000:{c,count}=in1+in2;3'b001:{c,count}=in1-in2;3'b010:count=in1 & in2;3'b011:count=in1 | in2;3'b100:count=0000;3'b101:count=1111;default:count=5'bx;endcase end
endmodule(2)实验结果照片:
八.实验结论、心得体会和改进建议:(1)思考题: 在进行算术运时, 7(0111)+8(1000)=1111 7(0111)-8(1000)=1111 其输出结果都是1111,为什么?
答:因为计算时都采用二进制补码来运算,而前者进行相加的两个数都是正数,其补码为其本身。而后者进行补码的减法运算时,要对减数求补,转换成加法运算,所以最终所得结果相同。
(2)实验结论、心得体会和改进建议:
在设计逻辑电路是使用了实现该逻辑功能最简单的方式,case语句,在编写实验代码时需要注意always语句中的输出变量必须提前声明为reg型的变量。注意根据实验指导书绑定正确的接线。
电 子 科 技 大 学
实 验 报 告
实验二
一、实验名称:
静态存储器的设计
二、实验学时:4
三、实验内容和目的:
(1)实验目的:
1.掌握存贮器的读写控制方法;(读信号、写信号、片选信号)2.掌握存储器的字扩展和位扩展方法;3.掌握用硬件描述语言设计存贮器的方法;4.了解存储器种类、工作原理和特点.(2)实验内容:
用字扩展和位扩展的方式,设计一个 32X8的静态存储器,能够对其随机的读写.其中: 32表示地址的寻址空间大小,8表示数据单元的位数;
四、实验原理:
利用veilog hdl语言编写实现实验要求的逻辑功能实现代码。
1.设计一个16X4的可随机读写的存储器模块;2.利用16X4存储器模块,通过实例化完成对所需要的存储器,因为是16X4扩展为32X 8,所以将16X4两两分为一组刚好两组。
3.数据、地址的输入/输出
a、数据/地址的输入: 开关控制;b、数据的输出: 指示灯显示;4.控制信号
a、片选: 低有效;b、读: 低有效;c、写: 上升沿有效;
五、实验器材(设备、元器件)
硬件平台:pc 软件平台:windows xp
六、实验步骤:
先根据实验内容,实验目的,实验要求编写实现所需逻辑功能的实
验代码,然后在仿真软件上进行编译链接运行,无误后进行宋旭单元与电路板相关接口的绑定,对电路板进行连线,练好后进行实际操作,观察电路板上指示灯的亮灭情况,根据实际的逻辑结果判断实验代码以及连线是否正确,若输出有误,则重新检查连线以及代码是否有逻辑问题。
七、实验数据及结果分析:(1)实验代码:
module m(din,addr,wr,rd,cs,dout);
reg[D_WIDTH-1:0] ram[(2**A_WIDTH)-1:0];wire [D_WIDTH-1:0] dout;input[D_WIDTH-1:0] din;input[A_WIDTH-1:0] addr;input wr,rd,cs;output [7:0]dout;parameter D_WIDTH = 8;parameter A_WIDTH = 5;
ram16_4 ram16_4_1(.din(din[3:0]),.addr(addr[3:0]),.wr(wr),.rd(rd),.cs(addr[4]|cs),.dout(dout[3:0]));ram16_4 ram16_4_2(.din(din[7:4]),.addr(addr[3:0]),.wr(wr),.rd(rd),.cs(addr[4]|cs),.dout(dout[7:4]));ram16_4 ram16_4_3(.din(din[3:0]),.addr(addr[3:0]),.wr(wr),.rd(rd),.cs((~addr[4])|cs),.dout(dout[3:0]));ram16_4 ram16_4_4(.din(din[7:4]),.addr(addr[3:0]),.wr(wr),.rd(rd),.cs((~addr[4])|cs),.dout(dout[7:4]));
endmodule
module ram16_4(din,addr,wr,rd,cs,dout);
parameter D_WIDTH = 4;parameter A_WIDTH = 4;
input[D_WIDTH-1:0] din;input[A_WIDTH-1:0] addr;input wr,rd,cs;output[D_WIDTH-1:0]dout;
reg [D_WIDTH-1:0] ram [(2**A_WIDTH)-1:0];wire [D_WIDTH-1:0] dout;
always @(posedge wr)if(!cs)ram[addr]
aign dout =(!(rd||cs))?ram[addr]:4'bzzzz;
endmodule
(2)实验结果截图:
八、实验结论、心得体会和改进建议:
对于存储器的扩充有字扩充和位扩充,在编写实验代码时首先得编写出实验所需要的基本单元16X4的存储器,通过对该存储器模块的实例化来实现实验所需要用到的存储器,实验内容比较简单,只要按照实验要求和步骤结合实验目的进行正确操作,实验都能成功.
计算机科学与技术-计104 计 算 机 组 成 原 理 实 验 报姓名:学号:班级:指 导 老 师:郑- 1计算机科学与技术-计104一个上升沿,数据66H 被写入W 寄存器。 3)将11H写入R0寄存器①K23......
课程名称:计算机组成原理学院:计算机科学与工程专业:计算机科学与技术指导教师:廖建明学生姓名:林怡学号:实验成绩:日期:实验报告2012060020023 2014 年 11 28 日月电 子 科 技 大......
实验一 寄存器实验实验目的:了解模型机中各种寄存器结构、工作原理及其控制方法。实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,将数据写入......
上海大学计算机学院《计算机组成原理实验》报告一姓名:学号:师:时间:2013/12/16机位:42报告成绩:实验名称:微指令系统实验一、实验目的:1.读出系统已有的微指令,并理解其含义2.设计......
中南大学计算机组成原理及汇编实验报告姓 名: 代巍 学 号: 0909121615 专业班级: 信安1201 指导教师: 盛羽 学 院: 信息科学与工程学院 计算机组成原理实验实验1 总线基......