计算机专业类课程
实验报 告
课程名称:计算机组成原理
学院专业:计算机科学与工程 计算机科学与技术学生姓名:**
学 号: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