当前位置:文档之家› 计算机组成CPU数据通路verilog实验报告.doc

计算机组成CPU数据通路verilog实验报告.doc

计算机组成CPU数据通路verilog实验报告.doc
计算机组成CPU数据通路verilog实验报告.doc

计算机组成与系统结构实验报告

院(系):计算机科学与技术学院

专业班级:

学号:

姓名:

同组者:

指导教师:

实验时间: 2012 年 5 月 23 日

实验目的:

完成处理器的单周期cpu的设计。

实验仪器:

PC机(安装Altebra 公司的开发软件 QuartusII)一台

实验原理:

控制器分为主控制器和局部ALU控制器两部分。主控制器的输入为指令操作码op,输出各种控制信号,并根据指令所涉及的ALU运算类型产生ALUop,同时,生成一个R-型指令的控制信号R-type,用它来控制选择将ALUop输出作为ALUctr信号,还是根据R-型指令中的func字段来产生ALUctr信号。

实验过程及实验记录:

1.设计过程:

第一步:分析每条指令的功能,并用RTL来表示。

第二步:根据指令的功能给出所需的元件,并考虑如何将它们互连。

第三步:确定每个元件所需控制信号的取值。

第四步:汇总各指令涉及的控制信号,生成所反映指令与控制信号之间的关系图。

第五步:根据关系表,得到每个控制信号的逻辑表达式,据此设计控制电路。

2.完成代码的编写,并调试运行。

1)control

module

Control(op,func,Branch,Jump,RegDst,ALUSrc,ALUctr,MemtoReg, RegWr,MemWr,ExtOp);

input [5:0] op,func;

output reg

Branch,Jump,RegDst,ALUSrc,MemtoReg,RegWr,MemWr,ExtOp; output reg [2:0] ALUctr;

always @(op)

case(op)

6'b000000:

begin

Branch=0;Jump=0;RegDst=1;ALUSrc=0;MemtoReg=0;RegWr=1;MemWr =0;

case(func)

6'b100000:ALUctr=3'b001;

6'b100010:ALUctr=3'b101;

6'b100011:ALUctr=3'b100;

6'b101010:ALUctr=3'b111;

6'b101011:ALUctr=3'b110;

endcase

end

6'b001101:

begin

Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr =0;ExtOp=0;ALUctr=3'b010;

end

6'b001001:

begin

Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr =0;ExtOp=1;ALUctr=3'b000;

end

6'b100011:

begin

Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=1;RegWr=1;MemWr =0;ExtOp=1;ALUctr=3'b000;

end

6'b101011:

begin

Branch=0;Jump=0;ALUSrc=1;RegWr=0;MemWr=1;ExtOp=1;ALUctr=3' b000;

end

6'b000100:

begin

Branch=1;Jump=0;ALUSrc=0;RegWr=0;MemWr=0;ALUctr=3'b100; end

6'b000010:

begin

Branch=0;Jump=1;RegWr=0;MemWr=0;

end

endcase

endmodule

2)数据通路DataRoad

module

DataRoad(Run,Clk,RegWr,MemWr,MemtoReg,RegDst,Branch,Jump,E xtOp,ALUctr,ALUSrc,busA,busB,busW,Instruction,Reg0,Reg1,Re g2,Reg3,Reg4,Mem1,Mem2,Mem3,Result,Im);

input

Run,Clk,RegWr,MemWr,MemtoReg,RegDst,Branch,Jump,ExtOp,ALUS rc;

input [2:0] ALUctr;

output [31:0]

Instruction,busA,busB,busW,Reg0,Reg1,Reg2,Reg3,Reg4,Mem1,M em2,Mem3,Result,Im;

wire [31:0] busC,DataOut;

wire [15:0] im;

wire [4:0] Rs,Rd,Rt;

wire Overflow,Zero;

QZL qzl(Clk,Branch,Jump,Zero,Instruction,Run);

assign Rs=Instruction[25:21];

assign Rt=Instruction[20:16];

assign Rd=Instruction[15:11];

assign im=Instruction[15:0];

Register

register(Run,RegWr,Overflow,RegDst,Rd,Rs,Rt,busW,busA,busB ,Clk,Reg0,Reg1,Reg2,Reg3,Reg4);

ALU alu(busA,busC,ALUctr,Zero,Overflow,Result);

DataMem(Run,MemWr,Clk,busB,DataOut,Result,Mem1,Mem2,Mem3); MUX mux1(ALUSrc,busB,Im,busC);

MUX mux2(MemtoReg,Result,DataOut,busW);

Extender ext(im,Im,ExtOp);

endmodule

3)取指令

module QZL(Clk,Branch,Jump,Zero,Instruction,Run);

input Clk,Branch,Jump,Zero,Run;

output [31:0] Instruction;

wire [4:0] addmem;

reg [29:0] PC;

wire [29:0] Newpc,pc_1,pc_2,pc_3,pc_12,imm30;

wire Branch_Zero;

assign addmem={PC[2:0],2'b00};

InsMem GetIns(addmem,Instruction);

always @(negedge Clk)

if(Run==1)

begin

PC<=Newpc;

end

else

begin

PC<=0;

end

assign pc_1=PC+1;

assign imm30={{14{Instruction[15]}},Instruction[15:0]}; assign pc_2=pc_1+imm30;

assign pc_3={PC[29:26],Instruction[25:0]};

assign Branch_Zero=Branch&Zero;

MUX m1(Branch_Zero,pc_1,pc_2,pc_12);

MUX m2(Jump,pc_12,pc_3,Newpc);

endmodule

module InsMem(addmem,Instruction);

input [4:0] addmem;

output reg[31:0] Instruction;

reg [31:0] Mem[31:0];

always @(*)

begin

Mem[0]<={6'b100011,5'b00000,5'b00001,5'b00000,5'b00000,6'b 000001};

Mem[4]<={6'b100011,5'b00000,5'b00010,5'b00000,5'b00000,6'b 000010};

Mem[8]<={6'b000000,5'b00001,5'b00010,5'b00011,5'b00000,6'b 100000};

Mem[12]<={6'b101011,5'b00000,5'b00011,5'b00000,5'b00000,6' b000010};

Mem[16]<={6'b001101,5'b00100,5'b00100,5'b11111,5'b11111,6' b111111};

Mem[20]<={6'b000000,5'b00011,5'b00010,5'b00010,5'b00000,6' b100010};

Mem[24]<={6'b000100,5'b00010,5'b00001,5'b00000,5'b00000,6' b001000};

Mem[28]<={6'b000010,5'b00000,5'b00000,5'b00000,5'b00000,6' b000000};

end

always @(*)

Instruction=Mem[addmem];

Endmodule

4)ALU

module ALU(A,B,ALUctr,Zero,Overflow,Result);

parameter n=32;

input [n-1:0] A,B;

input [2:0] ALUctr;

output Zero,Overflow;

output [n-1:0] Result;

wire SUBctr,OVctr,SIGctr,SignA,SignB,Cin;

wire [1:0] OPctr;

wire [n-1:0] X,Y,Z,Less,M,N,Add_Result;

wire Add_Carry,Add_Overflow,Add_Sign;

assign M={n{1'b0}};

assign N={n{1'b1}};

assign SUBctr=ALUctr[2];

assign OVctr=!ALUctr[1]&ALUctr[0];

assign SIGctr=ALUctr[0];

assign OPctr[1]=ALUctr[2]&ALUctr[1];

assign OPctr[0]=!ALUctr[2]&ALUctr[1]&!ALUctr[0];

assign Cin=SUBctr;

assign X=B^{n{SUBctr}};

assign Y=A|B;

Adder

ad(Cin,A,X,Add_Carry,Add_Overflow,Add_Sign,Add_Result,Zero );

assign SignA=Cin^Add_Carry;

assign SignB=Add_Overflow^Add_Sign;

assign Overflow=Add_Overflow&OVctr;

MUX m1(SIGctr,SignA,SignB,Less);

defparam m1.k=1;

MUX m2(Less,M,N,Z);

MUX3_1 m3(Add_Result,Y,Z,Result,OPctr);

endmodule

module MUX3_1(A,B,C,D,ctr);

parameter k=32;

input [k-1:0] A,B,C;

output reg [k-1:0] D;

input [1:0] ctr;

always @(A or B or C or ctr)

if(ctr==2'b00) D=A;

else

if(ctr==2'b01) D=B;

else

if(ctr==2'b10) D=C;

endmodule

module

Adder(Cin,X,Y,Add_Carry,Add_Overflow,Add_Sign,Add_Result,Z ero);

parameter k=32;

input [k-1:0] X,Y;

input Cin;

output reg [k-1:0] Add_Result;

output Add_Carry,Add_Overflow,Add_Sign,Zero;

reg Add_Carry;

assign Zero=~|Add_Result;

assign Add_Sign=Add_Result[k-1];

assign

Add_Overflow=(X[k-1]&Y[k-1]&~Add_Result[k-1])|(~X[k-1]&~Y[ k-1]&Add_Result[k-1]);

always @(X or Y or Cin)

{Add_Carry,Add_Result}=X+Y+Cin;

Endmodule

5)数据存数

module

DataMem(Run,MemWr,Clk,DataIn,DataOut,Adr,Mem1,Mem2,Mem3);

input Run,MemWr,Clk;

input [31:0] DataIn,Adr;

output [31:0] DataOut;

output [31:0] Mem1,Mem2,Mem3;

reg[31:0] Mem[31:0];

assign Mem1=Mem[1];

assign Mem2=Mem[2];

assign Mem3=Mem[3];

assign DataOut=Mem[Adr];

always @(negedge Clk)

if(Run==0)

begin

Mem[0]=0;

Mem[1]=10;

Mem[2]=20;

Mem[3]=30;

end

else

begin

if(MemWr==1)

Mem[Adr]=DataIn;

end

endmodule

6)寄存器

module

Register(Run,Regwr,Overflow,RegDst,Rd,Rs,Rt,busW,busA,busB ,Clk,Reg0,Reg1,Reg2,Reg3,Reg4);

input Regwr,Clk,RegDst,Run,Overflow;

input [31:0] busW;

input [4:0] Rd,Rt,Rs;

output reg [31:0] busA,busB;

output [31:0] Reg0,Reg1,Reg2,Reg3,Reg4;

reg [31:0] Mem[31:0];

reg [4:0] Rw;

wire [4:0] Ra,Rb;

wire RegWr;

assign RegWr=Regwr&~Overflow; assign Ra=Rs;

assign Rb=Rt;

assign Reg0=Mem[0];

assign Reg1=Mem[1];

assign Reg2=Mem[2];

assign Reg3=Mem[3];

assign Reg4=Mem[4];

always @(Rd or Rt or RegDst) if(RegDst==1'b1)

Rw=Rd;

else

Rw=Rt;

always @(negedge Clk)

if(Run==1'b1)

begin

if(RegWr==1'b1)

Mem[Rw]=busW;

end

else

begin

Mem[0]<=0;

Mem[1]<=2;

Mem[2]<=4;

Mem[3]<=6;

Mem[4]<=8;

end

always @(Ra or Rb)

if(Run==1'b1)

begin

busA=Mem[Ra];

busB=Mem[Rb];

end

else

begin

busA=0;

busB=0;

end

endmodule

7)数据选择

module MUX(ctr,X,Y,Z); parameter k=32;

input [k-1:0] X,Y;

output reg [k-1:0] Z;

input ctr;

always @(X or Y or ctr)

if(ctr==1'b0) Z<=X;

else Z<=Y;

endmodule

3.进行仿真并验证其正确性:

《大学计算机基础》上机实验报告

《大学计算机基础》 上机实验报告 班级: 姓名: 学号: 授课教师: 日期:年月日

目录 一、Windows操作系统基本操作......................................................... - 1 - 二、Word文字处理基本操作 .............................................................. - 4 - 三、Excel电子表格基本操作 ............................................................ - 6 - 四、PowerPoint幻灯片基本操作....................................................... - 8 - 五、网页设计基本操作 ...................................................................... - 9 - 六、Access数据库基本操作 ............................................................ - 10 - 上机实验作业要求: ○1在实验报告纸上手写并粘贴实验结果; ○2每人将所有作业装订在一起(要包封面); ○3全部上机实验结束后全班统一上交; ○4作业内容不得重复、输入的数据需要有差别。

实验名称一、Windows操作系统基本操作 实验目的1、掌握Windows的基本操作方法。 2、学会使用“画图”和PrntScr快捷键。 3、学会使用“计算器”和Word基本操作。 实验内容1、日历标注 利用“画图”和Word软件,截取计算机上日历的图片并用文字、颜色、图框等标注出近期的节假日及其名称,并将结果显示保存在下面(参考下面样图)。 运行结果是: 主要操作步骤是: 2、科学计算 利用“计算器”和Word软件,计算下列题目,并将结果截图保存在下面(参考样图)。 ○1使用科学型计算器,求8!、sin(8)、90、74、20、67、39、400、50.23、ln(785)的平均值、和值,并用科学计数法显示。 运行结果是: ②将以下十、八、十六进制数转换为二进制数:(894.8125)10、(37.5)8、(2C.4B)16 运行结果是:(需要下载使用“唯美计算器”) ○3计算下列二进制数的加法与乘法:101.1+11.11;1101*1011 运行结果是:(参考样图) 写出主要操作步骤: 3、实验心得体会

实验三 数据通路组成实验(计算机组成与结构)

实验三数据通路组成实验 一实验目的 1.进一步熟悉计算机的数据通路 2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路 3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法 4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障. 二实验电路 数据通路实验电路图如图所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口)不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DRl。

由于双端口存储器是三态输出,因而可以直接连接到DBUS上。此外,DBUS还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。 本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的二进制开关的连接。 三、实验设备 1. TEC-5计算机组成原理实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1.将实验电路与控制台的有关信号进行连接。 2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数 据:R0=OFH,R1=0F0H,R2=55H,R3=0AAH. 3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中.用同样的方法,依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元. 4.分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入 R2,0FH单元数据写入R3.然后将R0-R3中的数据读出,验证数据的正确性,并记录数据. 五、实验要求 1.做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。 2.写出实验报告,内容是: (1)实验目的。 (2)写出详细的实验步骤、记录实验数据及校验结果。 (3)其他值得讨论的问题。 六、实验步骤及结果 任务1:接线

计算机组成实验报告_LAB5

计算机组成实验五——简单的类MIPS单周期处理器实现 生命科学技术学院 5110809XXX 大豆比

目录 1OVERVIEW (1) 1.1实验名称 (1) 1.2实验目的 (1) 1.3实验范围 (1) 1.4注意事项 (1) 2实验描述 (2) 2.1新建工程 (2) 2.2顶层模块Top (5) 2.2.1模块描述 (5) 2.2.2新建模块源文件Top.v (5) 2.2.3定义信号线 (5) 2.2.4程序计数器PC (6) 2.2.5RESET (6) 2.2.6模块实例化,连接模块 (7) 2.2.7连接其他信号线 (8) 3仿真测试 (10) 3.1编写二进制测试程序 (10) 3.2初始化存储器 (10) 3.3编辑testbench文件 (11) 3.4仿真测试,观察波形 (11) 4下载验证 (12) 4.1修改Top.v中Top模块的输入输出端口 (12) 4.2编辑管脚约束文件top.ucf (12) 4.3时钟分频 (12) 4.4指定输入输出端口的意义 (13) 5实验感想与建议 (14) 5.1实验感想 (14) 5.2一些建议 (14) 6实验程序源代码 (15) 6.1Top.v (15) 6.2Ctr.v (18) 6.3Alu.v (21) 6.4AluCtr.v (22) 6.5data_memory.v (23) 6.6register.v (25) 6.7signext.v (27) 6.8inst_memory.v (27) 6.9timeDivider.v (28)

1.OVERVIEW1 1.1实验名称 简单的类MIPS单周期处理器实现-整体调试 1.2实验目的 完成单周期的类MIPS处理器 1.3实验范围 本次实验将覆盖以下范围 1、ISE的使用 2、Xilinx Spartan3E实验板的使用 3、使用VerilogHDL进行逻辑设计 4、仿真测试、下载验证 1.4注意事项 本实验的逻辑设计工具为Xilinx ISE13.4。

计算机组成原理实验报告

重庆理工大学 《计算机组成原理》 实验报告 学号 __11503080109____ 姓名 __张致远_________ 专业 __软件工程_______ 学院 _计算机科学与工程 二0一六年四月二十三实验一基本运算器实验报告

一、实验名称 基本运算器实验 二、完成学生:张致远班级115030801 学号11503080109 三、实验目的 1.了解运算器的组成结构。 2.掌握运算器的工作原理。 四、实验原理: 两片74LS181 芯片以并/串形式构成的8位字长的运算器。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,使低4位运算产生的进位送进高4位。低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出到外部。 两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了。 为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。 总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4 为脉冲信号,其它均为电平信号。 由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。 S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCHUNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、LDDR2 为高电平有效。 对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态。 运算结果表

非常简单CPU数据通路设计实验报告

非常简单CPU数据通路设计 【实验目的】 1.掌握CPU的设计步骤 2.学会芯片的运用及其功能 【实验环境】 Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】 绘制非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。 1、零件制作 6位寄存器(自行设计) 6位计数器(自行设计) 8位寄存器(可选择74系列宏函数74273) 8位计数器(由两个74161构成) 2位寄存器(由D触发器构成,自行设计) 6三态缓冲器(自行设计,可由74244内部逻辑修改而成) 8三态缓冲器(选择74系列宏函数74244,或作修改) alu模块(自行设计,限于时间,其内部逻辑不作要求) 2、选择器件,加入数据通路顶层图 8位累加器AC:选择8位计数器 6位地址寄存器AR:reg6 6位的程序计数器PC:cou6 8位的数据寄存器DR:选择8位寄存器 2位的指令寄存器IR:选择2位寄存器 3、为PC、DR加入三态缓冲器。 4、调整版面大小,器件位置。 5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的 缓冲器。 6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。 7、(选做)编译之后,给出微操作AR<-PC 的测试方法及仿真结果。 8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说 明及顶层的“非常简单CPU”数据通路图。 实验报告 一、实验步骤 基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下: (1)、AC累加器原理图如下:

计算机组成原理实验报告

《计算机组成原理》 实验报告 实验室名称:S402 任课教师:邹洋 小组成员:王娜任芬 学号:2010212121 2010212119

实验一_HAMMING码 (2) 实验二_乘法器 (7) 实验三_时序部件 (16) 实验四_CPU__算术逻辑单元实验 (24) 实验五_CPU__指令译码器实验 (32) 实验六_CPU_微程序控制器实验1 (43) 实验七_八_CPU实验 (59)

1 编码实验:Hamming码 1.1、实验目的 1、对容错技术有初步了解,理解掌握海明码的原理 2、掌握海明码的编码以及校验方法 1.2、实验原理 海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。 Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r≥k+r+1 若要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系:2r-1≥k+r 按上述不等式,可计算出数据位k与校验位r的对应关系,如表1.1所示: 表1.1 数据位k与校验位r的对应关系 k值最小的r值 1~3 4 4~10 5 11~25 6 26~56 7 57~119 8 若海明码的最高位号为m,最低位号为1,即H m H m-1…H2H1,则此海明码的编码规律通常是 1)校验位与数据位之和为m,每个校验位P i在海明码中被分在位号为2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 2)海明码的每一位码H i(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和。 3)在增大合法码的码距时,所有码的码距应尽量均匀增大,以保证对所有码的检错能力平衡提高。 下面具体看一下对一个字节进行海明编码的实现过程。 只实现一位纠错两位检错,由前面的表可以看出,8位数据位需要5位校验位,可表示为H13H12…H2H1。 五个校验位P5~P1对应的海明码位号分别为H13、H8、H4、H2和H1。P5只能放在H13位

大学计算机实验报告

《大学计算机基础Ⅰ》课程 实验报告 (以上由学生填写) 西南大学计算机与信息科学学院 计算机基础教育系 2017年12月8日 实验成绩记载 课程Array实验报告一 一、实验题目:Win7得基本操作、文件管理与控制面板得使用 二、实验目得: 1.掌握“计算机"(资源管理器)得使用。 2.掌握文件与文件夹得基本操作。 3.了解显示属性得相关内容,掌握显示属性得设置。 4.掌握鼠标、键盘得属性设置。 5.掌握应用程序得添加/删除功能。 6.掌握输入法得设置方法.

7.掌握系统属性得设置方法。 8.掌握计算机名或域得查瞧及更改方法。 三、实验主要内容及过程(实验主要内容得介绍、主要得操作步骤) (列出实验主要内容通过截屏显示出操作过程以及实验结果) (一)文件与文件夹得管理 1、双击桌面上“计算机"→选择D盘→空白处右击选择“新建”重命名 文件夹→改名为“windows练习”→双击“windows练习"→右击空白处分别新建三个文件夹为“LX1”、“LX2”、“LX3”. 2、双击“C盘”打开→搜索框搜索“*、wmf”单击搜索按钮→选择任 意三个图片文件→右击→选择“复制”→粘贴至“LX1"文件夹中→并对三个文件分别重命名为“图片1、wmf”、“图片2、wmf”、“图片3、wmf”。 3、打开“LX1”文件夹→右击图片“1、wmf”→剪切→打开“LX2” 文件夹→右击空白处点击“粘贴”→选中剩下得两个文件→复制→打开“LX3”文件夹→右击选择“粘贴”→右击“LX2”选择“剪切” →打开“LX1”文件夹→右击选择“粘贴”

4、右击“LX3”文件夹→选择“属性”→选择“常规”属性卡→勾选“隐 藏”→右击“LX2"文件夹→选择“常规"属性卡→勾选“已读"

大学计算机实验报告2

《大学计算机基础Ⅰ》课程 实验报告手册 \ 实验教师(签字) 西南大学计算机与信息科学学院 计算机基础教育系 年月日

一、实验说明 本课程实验分为一般性实验(验证和简单设计)和综合性实验(课程设计)两部分。从第3周开始参考实验任务书(本报告中的五部分)完成每周规定的实验,并根据进度按要求认真填写本实验报告中的六、七部分,此实验报告将作为实验成绩评定的依据之一。 本课程实验从开课学期第3周开始实习,每周2学时,16周结束,共28学时。除统一安排的时间外,学生还可根据自己的实际适当安排课余时间上机。上机内容参见本报告中的“五、实验任务书”部分。 二、实验目的 通过本实验,让学生掌握计算机的基本操作和基本技能,能够学会知识的运用与积累,能够举一反三,具备一定的独立解决问题的能力和信心,培养学生熟练地使用常用软件的能力及严肃认真的科学作风,为今后的学习和工作打下良好的基础。 三、实验要求 1、每次实验课将考勤,并作为实验成绩的重要依据。 2、每次实验前学生必须充分准备每次的实验内容,以保证每次上机实验的效果。实验过程中必须独立完成。 3、学期结束时,每位同学应将自己的《实验报告》交各专业班长或学习委员,由班长或学习委员以专业为单位、按学号从小到大排列好统一交给实验指导老师,否则无实验成绩。 四、实验报告要求 一共要求填写3个阶段性实验报告、1个综合性实验报告和1份学期总结,与每份实验报告对应产生的电子文档交由实验老师指定的位置,该电子文档也将作为实验成绩评定的依据之一。 五、实验任务书 教材:《大学计算机基础》第五版高等教育出版社 实验参考书:《大学计算机基础实践教程》高等教育出版社 实验一:指法练习、汉字录入 实验目的: 1.掌握鼠标和键盘的使用及正确的操作指法。 2.掌握微型计算机的打开和关闭操作 3.熟悉键盘指法和文字录入 4.了解中英文切换,全半角的切换 实验任务: 1.参见实验参考书中的实验1-1-1中的[任务1](7页) 2.参见实验参考书中的实验1-1-1中的[任务3](7页) 实验二:Windows的基本操作和文件管理操作 实验目的: 1.掌握Windows的基本知识和基本操作 2.掌握“Windows资源管理器”和“我的电脑”的使用 实验任务: 1.参见实验参考书中的实验1-2-1中的全部任务(14页) 2.参见实验参考书中的实验1-2-2中的全部任务(18页)

数据通路实验报告

非常简单CPU数据通路设计实验报告非常简单CPU数据通路设计【实验目的】 1. 掌握CPU的设计步骤 2. 学会芯片的运用及其功能 【实验环境】 Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】 非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器绘制 AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。 1、零件制作 6位寄存器 (自行设计) 6位计数器 (自行设计) 8位寄存器 (可选择74系列宏函数74273) 8位计数器 (由两个74161构成) 2位寄存器 (由D触发器构成,自行设计) 6三态缓冲器 (自行设计,可由74244内部逻辑修改而成) 8三态缓冲器 (选择74系列宏函数74244,或作修改) alu模块 (自行设计,限于时间,其内部逻辑不作要求) 2、选择器件,加入数据通路顶层图 8位累加器AC:选择8位计数器 6位地址寄存器AR:reg6 6位的程序计数器PC:cou6

8位的数据寄存器DR:选择8位寄存器 2位的指令寄存器IR:选择2位寄存器 3、为PC、DR加入三态缓冲器。 4、调整版面大小,器件位置。 5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的 缓冲器。 6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。 7、(选做)编译之后,给出微操作 AR<-PC 的测试方法及仿真结果。 8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说 明及顶层的“非常简单CPU”数据通路图。 实验报告 一、实验步骤 基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下: (1)、AC累加器原理图如下:

计算机组成实验报告汇总

计算机组成与体系结构 实验报告

实验项目一 一、实验目的 通过了解高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。 二、实验要求: 在VC6.0中创建下列源程序 #include void main() { inti=100; int j=-1; int k; k=i+j; printf("%d",k); } 然后对该程序进行编译、链接,最终生成可执行目标代码。 三、实验报告 1.给出做实验的过程. 关键代码如下:

2.给出源程序(文本文件)的内容(用十六进制形式表示)。 3.给出可执行目标文件(二进制文件)的内容(用十六进制形式表示)。

4.VC6.0调试环境:设置断点、单步运行、变量的值(十进制、十六进制)、变量的地址、变量的存储。 断点设置如下:

变量的值十进制: 变量的值十六进制: 变量的地址:

5.VC 6.0反汇编:查看源程序对应的汇编程序、可执行目标程序的二进制编码、了解如何给变量分配内存、系统函数程序段的调用。 6.分析或回答下列问题。 (1)分析同一个源程序在不同机器上生成的可执行目标代码是否相同。 不相同。因为不同的机器硬件的组成不同,因此同一个源程序在不同的机器上生成的目标文件不同。 (2)你能在可执行目标文件中找出函数printf()对应的机器代码段吗?能的话,请标示出来。 不能。因为源程序中的printf函数在可执行文件中已转换为机器语言。被翻译的机器语言中有printf函数,但是不知道是从哪一段开始翻译的。 (3)为什么源程序文件的内容和可执行目标文件的内容完全不

计算机组成原理实验-数据通路实验

Guangzhou Colle-ge of South China University of Technology 计算机组成原理课程实验报告 9.5数据通路实验 姓名:曾国江______________________ 学号:____________________________ 系别:计算机工程学院 班级:网络工程1班 指导老师:_________________________ 完成时间:_________________________ 评语: 得分:

一、实验类型 本实验类型为验证型+分析型+设计型 二、实验目的 1?进一步熟悉计算机的数据通路 2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路. 3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法. 4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障? 三、实验设备 1、TEC-5实验系统一台 2、双踪示波器一台 3、逻辑测试笔一支 、实验电路 DBUS7 DBUSO 左端口 > 1JWK273) H3F2HTQ Cn*4 Al JU <181 CnN 戍蜩口通用寄"器那RF CispLSI10165 -一耐'1 2 ARM — T2 —- 双堵口存储器 IDT7132

数据通路实验电路图如图9.7 所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口)不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DRl 。由于双端口存储器是三态输出,因而可以直接连接到DBUS 上。此外,DBUS 还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM 中读出的数据也可以放到通用寄存器堆中保存。本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的开关K0~K15 的连接。 五、实验任务 1、将实验电路与控制台的有关信号进行连接。 2、用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:RO=OFH, R1=0F0H, R2=55H,R3=0AAH。 3、用8位数据开关向AR送入地址OFH,然后将R0中的数据OFH写入双端口存储器中. 用同样的方法依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元. 4、分别将RAM 的0AAH 单元数据写入R0,55H 单元数据写入R1,0F0H 单元数据写入R2,0FH单元数据写入R3然后将R0-R3中的数据读出,验证数据的正确性,并记录数据? 六、实验要求 1、做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。 2、写出实验报告,内容是: (1)实验目的。 (2)写出详细的实验步骤、记录实验数据及校验结果。 (3)其他值得讨论的问题。

计算机组成原理实验报告

实验报告书 实验名称:计算机组成原理实验 专业班级:113030701 学号:113030701 姓名: 联系电话: 指导老师:张光建 实验时间:2015.4.30-2015.6.25

实验二基本运算器实验 一、实验内容 1、根据原理图连接实验电路

3、比较实验结果与手工运算结果,如有错误,分析原因。 二、实验原理 运算器可以完成算术,逻辑,移位运算,数据来自暂存器A和B,运算方式由S3-S0以及CN来控制。运算器由一片CPLD来实现。ALU的输入和输出通过三态门74LS245连接到CPU内总线上。另外还有指示灯进位标志位FC和零标志位FZ。 运算器原理图: 运算器原理图 暂存器A和暂存器B的数据能在LED灯上实时显示。进位进位标志FC、零标志FZ 和数据总线D7…D0 的显示原理也是如此。 ALU和外围电路连接原理图:

ALU和外围电路连接原理图运算器逻辑功能表:

三、实验步骤 1、按照下图的接线图,连接电路。 2、将时序与操作台单元的开关KK2 置为‘单拍’档,开关KK1、KK3 置为‘运行’档。 3、打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON 单元的CLR 按钮,将运算器的A、B 和FC、FZ 清零。 4、用输入开关向暂存器A 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数01100101 (或其它数值),数据显示亮为‘1’,灭为‘0’。 ②置LDA=1,LDB=0,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数01100101 置入暂存器A 中,暂存器A 的值通过ALU 单元的 A7…A0 八位LED 灯显示。 5、用输入开关向暂存器B 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数10100111 (或其它数值)。 ②置LDA=0,LDB=1,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数10100111 置入暂存器B 中,暂存器B 的值通过ALU 单元的 B7…B0 八位LED 灯显示。 6、改变运算器的功能设置,观察运算器的输出。置ALU_B=0 、LDA=0、LDB=0,然后按表2-2-1 置S3、S2、S1、S0 和Cn的数值,并观察数据总线LED 显示灯显示的结果。如置S3、S2、S1、S0 为0010 ,运算器作逻辑与运算,置S3、S2、

计算机组成原理实验报告

实验一 实验题目:运算器实验 实验目的:熟悉存储器和总线的硬件电路 实验要求:按照实验步骤完成实验项目,利用存储器和总线传输数据 实验器材:计算机组成原理实验仪 实验电路图/程序流程图: 实验步骤/程序源代码: 实验原理:实验中所用的运算器原理如图1所示。其中运算器由两片74LS181以并/川形式构成8位字长的ALU。运算器的输出经过有一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器锁存,锁存器的输入已连至数据总线,数据开关用来给出参与运算的数据,经一三态门和数据总线相连,数据显示灯已和数据总线相连,用来显示数据总线内容。 本实验装置的控制线应与相连,数据总线、时序电路产生的脉冲信号(T1-T4)、P(1)、P(2)、P(3)本实验装置已做连接,必须选择一档合适的时钟,其余均为电平控制信号。进行实验室,首先按动位于本实验装置右中则的复位按钮使系统进入初始待令状态,在LED显示器闪动出现“P”的环境下,按动增址命令键使LED显示器自左向右第一位显示提示符“H”,表示本装置已进入手动单元实验状态,在该状态下按动单步命令键,即可获得实验所需的单脉冲信号,而各电平控制信号用位于LED显示器左方的K25-K0二进制数据开关来模拟。在进行手动实验时,必须先预置开关电平:/Load=1,/CE=1,其余开关控制信号电平均置为0,这在以后手动实验时不再说明,敬请注意。 实验连接:按上图实验线路作以下连接: (1)八位运算器控制信号连接:位于实验装置左上方的控制信号(CTR-OUT UNIT)中的(S3、S2、S1、S0、M、/CN、LDDR1、LDDR2、LDCZY、C、B、A)与位于实验装置右中方的(CTR-IN UNIT)、位于实验装置左中方的(UPC UNIT)、位于右上方的(FL UNIT)做对应链接。 (2)完成上述连接,仔细检查无误后方可接通电源进入实验。 实验仪器工作状态设定 在闪动的“P”状态下按动“增址”命令键,使LED显示器自左向右第一位显示提示符“H”,

大学生计算机实验报告(完整版)

《大学计算机基础》实验3.1 文件和文件夹的管理 实验报告 专业班级:经贸1103 姓名——- 学号201118910315 指导教师:———完成时间:2011.10 一、实验题目 文件和文件夹的管理 二、实验目的 1.熟悉Windows XP的文件系统。 2.掌握资源管理器的使用方法。 3.熟练掌握在Windows XP资源管理器下,对文件(夹)的选择、新建、移动、复制、删除、重命名的操作方法。 三、实验内容 1.启动资源管理器并利用资源管理器浏览文件。 2.在D盘创建文件夹 3.在所创建文件夹中创建Word文件。 4.对所创建文件或文件夹执行复制、移动、重命名、删除、恢复、创建快捷方式及设置共享等操作。 四、实验步骤 (一)文件与文件夹管理 1.展开与折叠文件夹。右击开始,打开资源管理器,在左窗格中点击“+”展开,点击“—”折叠 2.改变文件显示方式。打开资源管理器/查看,选择缩略、列表,排列图标等

3.建立树状目录。在D盘空白处右击,选择新建/文件夹,输入经济贸易学院,依次在新建文件夹中建立经济类1103班/王帅、王鹏 4..创建Word并保存。打开开始/程序/word,输入内容。选择文件/另存为,查找D盘/经济贸易学院/1103班/王帅,单击保存 5.复制、移动文件夹 6.重命名、删除、恢复。右击文件夹,选择重命名,输入新名字;选择删除,删除文件 7.创建文件的快捷方式。右击王帅文件夹,选择发送到/桌面快捷方式

8.设置共享文件。右击王帅,选择属性/共享/在网络上共享这个文件/确定 9.显示扩展名。打开资源管理器/工具/文件夹选项/查看/高级设置,撤销隐藏已知文件的扩展名 (二)控制面板的设置。 1.设置显示属性。右击打开显示属性/桌面、屏幕保护程序 2.设置鼠标。打开控制面板/鼠标/按钮(调整滑块,感受速度)、指针 3.设置键盘。打开控制面板/键盘/速度(调整滑块,感受速度)、硬件 4.设置日期和时间打开控制面板/日期和时间 5.设置输入法。打开控制面板/区域与语言选项/详细信息/文字服务与输入语言

数据通路实验报告

实验3 存储器实验 预习实验报告 疑问: 1、数据通路是干嘛的? 2、数据通路如何实现其功能? 3、实验书上的存储器部分总线开关接在高电平上,是不是错了? 实验报告 一、波形图: 参数设置: Endtime:2.0us Gridsize:100.0ns 信号设置: clk:时钟信号,设置周期为100ns占空比为50%。 bus_sel: sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将 存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上, 将alu的运算结果显示到总线上,将pc的数据打入AR中二进制 输入,低电平有效。 alu_sel:m|cn|s[3..0]的组合,代表运算器的运算符号选择,二进制输入,高 电平有效。 ld_reg:lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器 r1,r2,r4, r5或AR中,二进制输入,高电平有效。 pc_sel: pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装 载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。we_rd:信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作, 二进制输入,高电平有效 k:k [7]~ k [0],数据输入端信号,十六进制输入。 d: d[7]~d[0],数据输出中间信号,十六进制双向信号。 d~result: d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。ar: ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。 pc: pc [7]~ pc [0],地址计数器PC的输出结果,十六进制输出。 仿真波形

计算机组成原理实验报告

计算机组成原理实验报告 ——微程序控制器实验 一.实验目的: 1.能瞧懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及执 行流程。并可以自己设计几条指令,并理解其功能,格式及执行流程,在教学计算机上实现。 2.深入理解计算机微程序控制器的功能与组成原理 3.深入学习计算机各类典型指令的执行流程 4.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念 5.学习微程序控制器的设计过程与相关技术 二.实验原理: 微程序控制器主要由控制存储器、微指令寄存器与地址转移逻辑三大部分组成。 其工作原理分为: 1、将程序与数据通过输入设备送入存储器; 2、启动运行后从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 3、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中; 4、运算任务完成后,就可以根据指令将结果通过输出设备输出 三.微指令格式: 其中高八位为下地址字段、其余各位为控制字段、 1)微地址形成逻辑 TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址、 下地址的形成由下地址字段及控制字段中的CI3—SCC控制、当为顺序执行时,下地址字段不起作用、下地址为当前微指令地址加1;当为转移指令(CI3—0=0011)时,由控制信号SCC 提供转移条件,由下地址字段提供转移地址、 2)控制字段 控制字段用以向各部件发送控制信号,使各部件能协调工作。 控制字段中各控制信号有如下几类: ①对运算器部件为了完成数据运算与传送功能,微指令向其提供了24位的控制信号,包括:4位的A、B口地址,用于选择读写的通用积存器3组3位的控制码I8-I6、 I5-I3、I2-I6,用于选择结果处置方案、运算功能、数据来源。 3组共7位控制信号控制配合的两片GAL20V8 3位SST,用于控制记忆的状态标志位 2位SCI,用于控制产生运算器低位的进位输入信号 2位SSH,用于控制产生运算器最高,最地位(与积存器)移位输入信号 ②对内存储器I/O与接口部件,控制器主要向它们提供读写操作用到的全部控制信号,共3位,即MRW

3. 实验三 数据通路组成实验

实验三数据通路组成实验 一、实验目的 1.进一步熟悉计算机的数据通路。 2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路。 3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法。 4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并 排除故障。 二、实验电路 图3.3 数据通路实验电路图 数据通路实验电路图如图3.3所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口)不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DR1。 由于双端口存储器是三态输出,因而可以直接连接到DBUS上。此外,DBUS还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。 本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的二进制开关的连接。 三、实验设备 1.TEC-5计算机组成原理实验系统1台

2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、故障的分析与排除 数字电路中难免要出现这样或那样的故障。有了故障迅速加以诊断并排除,使电路能正常运行,这是实际工作中经常遇到的事。因此,学会分析电路故障,提高排除故障的能力,是很有必要的。 就数字电路的故障性质而言,大体有两大类:一类是设计中的错误或不当造成的故障;另一类是元件损坏或性能不良造成的。 1.设计错误造成的故障 常见的设计错误有逻辑设计错误和布线错误。 对于布线错误,只要能仔细的进行检查就可以排除。要较快的判断出布线错误的位置,可以通过对某个预知特性点的观察检测出来。例如,该点的信号不是预期的特性,则可以往前一级查找。常见的布线错误是漏线和布错线。漏线的情况往往是输入端未连线或浮空。浮空输入可用三状态逻辑测试笔或电压表检测出来。 对于设计错误,需要在设计中加以留心和克服。首先要遵循的一个原则是:为使系统可靠的工作,从系统的初始状态开始,应该把线路置于信号的稳定电平上,而不是置于信号的前沿或后沿;其次没有出口的悬空状态是不允许存在的;另外设计中应当避免静态和动态的竞争冒险;最后,为便于维修,设计中应考虑把系统设计成具有单步工作的能力。 常见的设计错误包括对于中小规模集成电路中不用的输入端的接法。对一个不用的输入端常忘了接,因而输入端相当于接了有效的逻辑“1”电平。建议将所有不用的“与”门输入端统一接到一个逻辑“1”电平上,将所有不用的“或”门输入端统一接到一个逻辑“0”电平上。计数器不计数和寄存器不寄存信息的问题常常就是由不用的输入端进来的干扰信号引起的。 2.元件损坏造成的故障 一个数字系统,即使逻辑设计和布线都正确无误,但如果使用的元件损坏或性能不良,也会造成系统的故障。这种故障只要更换元件,就能恢复正常运行。除了元件损坏或性能不良之外,数字系统的故障还可能由于虚焊、噪声等原因造成。许多最初是间歇性故障,但最终还是会变成固定性故障。这种故障不是固定的逻辑高电平,就是固定的逻辑低电平,所以通常称之为“逻辑故障”。 实验逻辑测试笔和逻辑脉冲笔(逻辑脉冲产生器)可以方便地查找数字电路中的逻辑故障。一种方法是先使用逻辑测试笔检测关键信号(如时钟、启动、移位、复位等)丢失的地方,这样就把故障隔离到一个小范围内。有了故障的大概范围以后,去掉内部时钟脉冲,改用逻辑脉冲笔向特定的电路节点施加激励信号,观察输出端的状态。有了提供激励的逻辑脉冲笔和响应激励的逻辑测试笔,可以很容易地检查被怀疑的器件的真值表,从而探查出故障地点。 另一种寻找故障的方法,是预先隔离故障。进行的方法如下:从电路始端送入脉冲,在终端检测响应。如果信号未能正确送达,就对每一串电路用同样的方法检查。反复进行,就能将故障点隔离出来。 五、实验任务 1.将实验电路与控制台的有关信号进行连接。 2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=0FH、 R1=0F0H、R2=55H、R3=0AAH。 3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器

计算机组成原理实验报告

实验一8位程序计数器PC[7:0]的设计 实验要求: 1.分别用图形方式和V erilog HDL语言设计8位程序计数器,计数器带有复位,计数,转移功能。 2.具体要求参见1_部件实验内容.doc说明文件。 实验实现: 1.用图形方式设计实现8位程序计数器,用到了两个74LS161四位十六进制计数器,主要步骤是两个四位十六进制计数器的串联,低四位计数器的进位端RCO连到高四位计数器的进位使能端ENT,然后连上reset、clk、ir[7:0]、t[1:0]、pc[7:0]、rco等输入输出信号,最后加上转移控制逻辑即可。注意两个十六进制计数器是同步的,具体参见PC_8bit.gdf文件。 2.编译通过,建立波形仿真文件,设置输入信号参数。注意在一张图中同时实现复位(reset低位有效)、计数、转移功能,最后加上一些文字注释即可,具体参见PC_8bit.scf文件。 3.用V erilog HDL语言设计实现8位程序计数器。在已经实现.gdf文件的基础上使用库函数形式是很容易编写出.v文件的,不过学生选择了行为描述方式实现,因为后者更具有通用性,依次实现8位程序计数器的复位、计数、转移功能即可,具体参见PC_8bit.v文件。 4.编译仿真类似上述步骤2。 实验小结: 1.这是计算机组成原理的第一个实验,比较简单,按照实验要求即可完成实验。通果这次实验,我对Max+Plus软件的使用方法和V erilog HDL语言编程复习了一遍,为后面的实验打好基础。 实验二CPU运行时序逻辑的设计 实验要求: 1.用V erilog HDL 语言设计三周期时序逻辑电路,要求带复位功能,t[2:0]在非法错误状态下能自动恢复。(比如说110恢复到001)。 2.具体要求参见1_部件实验内容.doc说明文件。 实验实现: 1.用V erilog HDL 语言设计实现带复位和纠错功能的三周期时序逻辑电路。输入clk外部时钟信号和reset复位信号(低位有效),输出ck内部时钟信号和三周期信号t[2:0]。利用两级3位移位式分频逻辑实现,具体参见cycle_3.v文件。 2.编译通过,建立波形仿真文件,设置clk外部时钟信号和reset复位信号,Simulate 即可输出实验要求中显示的波形。 实验小结: 1.刚做这个实验的时候不知道CPU运行时序逻辑设计的真实用途,在进一步学习了计算机组成原理的理论知识,做cpu4实验后才知道是用来由外部时钟信号clk产生内部时钟信号ck以及三周期信号t[2:0]的。刚完成本次实验的时候未添加三周期信号t[2:0]的自动功能,后来完成cpu4后补上了。 实验三静态存储器的设计与读写验证 实验要求: 1.设计一个SRAM存储器,地址和数据都是8位,存储容量是256个字节。 2.采用异步的时序逻辑设计方式,数据是双向的,输入输出不寄存,存储器的地址也不寄存。 3.具体要求参见1_部件实验内容.doc说明文件。 实验实现:

相关主题
文本预览
相关文档 最新文档