《计算机组成原理》创新性实验(一)报告
学院:计算机学院
教师:魏凤岐
系所:计算机科学系
专业:网络工程
学号:0121120838
姓名:白春耀
实验一、8位运算器的设计----原创
1设计目的:
1)初步学习硬件逻辑电路建模,并用HDL语言描述硬件电路;
2)掌握应用quarter环境进行开发的流程。
2设计目标:设计一个具有寄存器,能够进行算术逻辑运算(包括移位运算)和逻辑运算的功能模块。
3模块设计规格及输入输出端变量说明:
1)8位运算,有四个寄存器,能够实现加、减、左移、右移、与、或等运算的模块。
2)模块原理框图
3)输入输出变量:
s2,s1,s0:功能控制信号;
clk:脉冲信号
sk:输入数据寄存器选择控制信号;
in[7:0]:数据输入端;
f:运算结果端;
a:A寄存器值;
b:B寄存器值;
c:C进位寄存器值;
z:结果值f是否为零(f=0则z=1)。
4)实现功能:
见表 1-1-1
4程序代码(需要注解)
module bai(a,b,f,clk,sk,s,c,in,z);
input sk,clk;
input [2:0] s;
input [7:0] in;
output [7:0] a,b,f;
output c,z;
reg [7:0] a,b,f;
reg c,z;
always @(posedge clk)//检测上升沿
begin
if(sk)//如果sk=1
a<=in;//将输入端in的值存入寄存器A;
else
b<=in;//否则存入寄存器B中;
end
always @(s or a or b)//三条件都满足
begin
case (s)//功能选择
3'b000:{c,f}<=a+b;//有进位c=1,无进位c=0
3'b001:f<=a-b;
3'b010:f<=~a;
3'b011:f<=(a+1);
3'b100:f<=(a>>1);
3'b101:f<=(a<<1);
3'b110:f<=(a&b);
3'b111:f<=(a|b);
endcase
if(f==8'b00000000)
z=1;
else //如果f=0;则输出z=1,否则z=0
z=0;
end
endmodule
5测试时序图
第二篇:组成原理运算器实验报告
甘肃政法学院
本科学生实验报告
( 一 )
姓名 孙健峰 学院 计算机科学学院
专业 计算机科学与技术 班级12级专升本班
实验课程名称 计算机组成原理
试验时间 20## 年 9 月 12 日
指导教师及职称 武光利
实验成绩
开课时间 20##-2013 学年 第一 学期
甘肃政法学院实验管理中心印制