杭电计算机组成原理全加器设计实验-参考模板

合集下载

杭电计组实验3-多功能ALU设计实验

杭电计组实验3-多功能ALU设计实验

杭电计组实验3-多功能ALU设计实验杭州电子科技大学计算机学院实验报告实验项目:课程名称:计算机组成原理与系统结构课程设计姓名: 学号: 同组姓名: 学号: 实验位置(机号):实验日期: 指导教师:一、实验目的(1)学习多功能ALU的工作原理,掌握运算器的设计方法。

(2)掌握运用Verilog HDL进行数据流描述与建模的技巧和方法,掌握运算器的设计方法。

二、实验仪器实验 ISE工具软件内容三、步骤、方法(算(1)启动Xilinx ISE软件,选择File->New Project,输入工程名shiyan2,默认选择后,点法、击Next按钮,确认工程信息后点击Finish按钮,创建一个完整的工程。

程(2)在工程管理区的任意位置右击,选择New Source命令。

弹出New Source Wizard对序、话框,选择Verilog Module,并输入Verilog 文件名shiyan3,点击Next按钮进入下一步,点步骤击Finish完成创建。

和方(3)编辑程序源代码,然后编译,综合;选择Synthesize--XST项中的Check Syntax右击法) 选择Run命令,并查看RTL视图;如果编译出错,则需要修改程序代码,直至正确。

(4)在工程管理区将View类型设置成Simulation,在任意位置右击,选择New Source命令,选择Verilog Test Fixture选项,输入实验名shiyan3_test。

点击Next,点击Finish,完成。

编写激励代码,观察仿真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至正确。

(5)由于实验三并未链接实验板,所以后面的链接实验板的步骤此处没有。

一,操作过程实验过程和描述:module shiyan3(ALU_OP,AB_SW,OF,ZF,F);reg [31:0]A,B;input [2:0]ALU_OP;input [2:0]AB_SW;操作 wire OF;过程 reg ZF;及结reg [31:0]F;果 output OF;output ZF;output F;reg C32;always@(*)begincase(AB_SW)3'b000: begin A=32'h0000_0000; B=32'h0000_0000; end3'b001: begin A=32'h0000_0003; B=32'h0000_0607; end3'b010: begin A=32'h8000_0000; B=32'h8000_0000; end3'b011: begin A=32'h7FFF_FFFF; B=32'h7FFF_FFFF; end3'b100: begin A=32'hFFFF_FFFF; B=32'hFFFF_FFFF; end3'b101: begin A=32'h8000_0000; B=32'hFFFF_FFFF; end3'b110: begin A=32'hFFFF_FFFF; B=32'h8000_0000; end3'b111: begin A=32'h1234_5678; B=32'h3333_2222; enddefault: begin A=32'h9ABC_DEF0; B=32'h1111_2222; endendcaseendalways@(*)begincase(ALU_OP)3'b000: F<=A&B;3'b001: F<=A|B;3'b010: F<=A^B;3'b011: F<=A~^B;3'b100: {C32,F}<=A+B;3'b101: {C32,F}<=A-B;3'b110: begin if(A<B) F<=32'h0000_0001; else F<=32'h0000_0000; end 3'b111: begin F<=B<<A; enddefault: F<=32'h0000_0000;endcaseendalways@(*)beginif(F===32'h0000_0000)ZF<=1;elseZF<=0;endassign OF=C32^F[31]^A[31]^B[31]; endmodule仿真代码module shiyan3_test;// Inputsreg [2:0] ALU_OP;reg [2:0] AB_SW;// Outputswire OF;wire ZF;wire [31:0] F;// Instantiate the Unit Under Test (UUT) shiyan3 uut (.ALU_OP(ALU_OP),.AB_SW(AB_SW),.OF(OF),.ZF(ZF),.F(F));initial begin// Initialize InputsALU_OP = 0;AB_SW = 0;// Wait 100 ns for global reset to finish #100;// Add stimulus here #100;ALU_OP = 001;AB_SW = 001; #100;ALU_OP = 010;AB_SW = 010; #100;ALU_OP = 011;AB_SW = 011; #100;ALU_OP = 100;AB_SW = 100; #100;ALU_OP = 101;AB_SW = 101; #100;ALU_OP = 110;AB_SW = 110; #100;ALU_OP = 111;AB_SW = 111;end endmodule RTL图二、结果思考题:(2)经过分析,该ALU不能实现MIPS核心指令集的所有指令。

杭电计算机组成原理实验报告.doc

杭电计算机组成原理实验报告.doc

杭电计算机组成原理实验报告篇一:杭电计组实验报告9计组实验九老师:包健一、源代码测试模块代码:moduleTest_Top;// Inputsreginclk;regmem_clk;regrst;reg [3:0] SW;// Outputswire [7:0] LED;// Instantiate the Unit Under TestTop uut ,.mem_clk,.rst,.LED,.SW);reg [2:0] i;initial begin// Initialize Inputsinclk = 0;mem_clk = 0;rst = 0;SW = 0;i=0;// Wait 100 ns for global reset to finish #100;rst = 1;#100;rst =0 ;#100;foreverbegin#100;mem_clk=~mem_clk;i=i+1;ifinclk=~inclk;endendendmodule顶层模块代码:moduleMy_I_CPU;wireclk_n = ~clk;wire[31:0] codes;Inst_Fetch1 inst_fetch,.clk,.Inst_codes);wire[5:0] OP;wire[5:0] func;wire[2:0] ALU_OP;wirerd_rt_s;wireimm_s;wirert_imm_s;wirealu_mem_s;wireWrite_Reg;wireMem_Write;wire [15:0] imm;wire [31:0] imm_data ;assign imm_data = ?{{16{imm[15]}},imm}:{{16{1b0}},imm}; assign OP =codes[31:26];assignfunc = codes[5:0];assignimm = codes[15:0]; OP_Decoderop_decoder,//input.func,//input.ALU_OP,.rd_rt_s,.imm_s,.rt_imm_s,.alu_mem_s,.Write_Reg,.Mem_Write);wire[4:0] rs;wire[4:0] rt;wire[4:0] rd;assigs = codes[25:21];assigt = codes[20:16];assigd = codes[15:11];wire[4:0] W_Addr;assignW_Addr=?rt:rd;wire [31:0]W_Data;wire [31:0]R_Data_A;wire [31:0]R_Data_B; RegisterHeapregister,.R_Addr_B,.W_Addr,.Write_Reg,.Reset,.Clk,.W_Data,.R_Data_A,.R_Data_B);wire [31:0]ALU_A;wire [31:0]ALU_B;assign ALU_A = R_Data_A;assign ALU_B = ?imm_data:R_Data_B;ALU alu,.A,.B,.F,.ZF,.OF);Data_Memdata_mem , // input clka.wea, // input [0 : 0] wea .addra, // input [5 : 0] addra .dina, // input [31 : 0] dina .douta // output [31 : 0] douta);assignW_Data = ?M_R_Data:ALU_F; endmodule二、仿真波形三、电路图四、引脚配置篇二:杭电计算机组成原理取指令与指令译码实验7杭州电子科技大学计算机学院实验报告课程名称:计算机组成原理姓名实验项目:取指令与指令译码实验班级指导教师:学号:实验位置:日期:篇三:杭电计算机组成原理多功能ALU设计实验3杭州电子科技大学计算机学院实验报告课程名称:计算机组成原理姓名:实验项目:多功能ALU设计实验班级:指导教师:学号:实验位置:日期:2015年4月29日。

8位二进制全加器设计+杭州电子科技大学+EDA实验报告

8位二进制全加器设计+杭州电子科技大学+EDA实验报告

《EDA技术》实验报告实验名称: 8位二进制全加器设计一、实验设计要求以一位二进制全加器为基本元件,用例化语句写出8位并行二进制全加器的顶层文件,并讨论此加法器的电路特性。

二、设计原理电路结构图或原理图电路功能描述定义了8位二进制全加器顶层设计元件端口信号,输入端口:AIN, BIN,是八个二进制数,数据类型被定义为STD_LOGIC_VECTOR。

CIN是输入的进位,数据类型IN STD_LOGIC;输出端口:SUM为和,数据类型IN STD_LOGIC COUT 为输出的进位。

定义了7个信号C1, C2, C3,C4,C5,C6,C7作为器件内部的连接线,采用映射语句port map()将8个一位二进制全加器连接起来构成一个完整的全加器。

低位全加器进位输出端连到高一位全加器的进位输入端,任何一位的加法运算必须等到低位加法完成时才能进行,这种进位方式称为串行进位三、实验程序程序1:半加器描述程序2:一位二进制全加器设计顶层描述功能:程序功能简介程序3:8位并行二进制全加器顶层文件四、编译及仿真结果选用器件型号cyclone编译后使用器件资源情况、引脚配置情况(硬件实验)时序分析结果(最大延时路径、最大时钟频率等等)程序仿真波形图(结合文字分析仿真结果)仿真结果显示:该设计是成功的。

输入的进位也要加上去。

0---255 全加器的COUNT 没有进位,而当加到256,COUNT=1,SUM输出0.五、总结.1 编译不通过,检查后发现在建立工程时,同一工程的所有文件都必须放在同一文件夹中,而这一步没做。

2 程序中没有将文件名与实体名保持一致出错。

输入半加器的VHDL程序保存文件,将输入的VHDL语言程序保存为h _adder.vhd.3 ror: Can't name logic function scfifo0 of instance "inst" -- function has same name as current design file原因:模块的名字和project的名字重名了措施:把两个名字之一改一下,一般改模块的名字4 在QuartusII下进行编译和仿真的时候,会出现一堆warning,虽然编译仿真通过了,有的提醒可以忽视,但是有的还是需要引起重视的。

全加器构成及测试实验报告

全加器构成及测试实验报告

全加器(Full Adder)是数字电路中常用的逻辑门电路,用于将两个二进制位和一个进位位相加,产生一个和位和一个进位位的输出。

下面是一个全加器的构成和测试实验报告的示例。

实验名称:全加器的构成和测试1. 实验目的:了解全加器的工作原理和逻辑。

设计并测试一个全加器电路。

2. 实验材料和设备:74LS86 XOR 门IC芯片(用于实现异或操作)74LS08 AND 门IC芯片(用于实现与操作)面包板连线电源3. 实验原理:一个全加器有三个输入和两个输出。

输入包括两个待相加的二进制位(A和B),以及一个来自上一级的进位位(Cin)。

输出包括一个和位(Sum)和一个输出进位位(Cout)。

全加器的逻辑表达式如下:Sum = A XOR B XOR CinCout = (A AND B) OR (Cin AND (A XOR B))4. 实验步骤:将74LS86和74LS08 IC芯片插入面包板中,确保引脚正确连接。

连接电源到面包板,确保电源电压正确。

使用连线连接74LS86和74LS08的引脚,以构建全加器电路。

按照逻辑表达式中的连接方式。

输入A、B和Cin值,通过开关或信号发生器设置输入。

使用示波器或LED等指示器检查Sum和Cout输出。

5. 实验结果和观察:输入A=0,B=0,Cin=0,Sum=0,Cout=0输入A=0,B=1,Cin=0,Sum=1,Cout=0输入A=1,B=0,Cin=0,Sum=1,Cout=0输入A=1,B=1,Cin=0,Sum=0,Cout=1输入A=0,B=0,Cin=1,Sum=1,Cout=0输入A=0,B=1,Cin=1,Sum=0,Cout=1输入A=1,B=0,Cin=1,Sum=0,Cout=1输入A=1,B=1,Cin=1,Sum=1,Cout=16. 结论:全加器是一个常见的数字逻辑门电路,用于将两个二进制位和一个进位位相加,产生一个和位和一个进位位的输出。

计算机组成原理加法器实验实训报告

计算机组成原理加法器实验实训报告

计算机组成原理加法器实验实训报告一、实验目的本次实验旨在通过实际操作加法器电路,加深对计算机组成原理中加法器的理解,掌握加法器的工作原理和实验操作技能。

二、实验内容1. 搭建基本加法器电路2. 进行加法器实验3. 分析实验结果并撰写实验报告三、实验器材和工具1. 电路实验箱2. 电源3. 电路连接线4. 示波器5. 多用途数字实验仪6. 逻辑门集成电路四、实验步骤1. 搭建基本加法器电路1) 将逻辑门集成电路插入电路实验箱中2) 连接逻辑门的输入端和输出端3) 接入电源并进行必要的调试2. 进行加法器实验1) 输入两个二进制数,并将其连接到逻辑门输入端2) 观察输出端的变化3) 调节输入信号,验证加法器的正确性和稳定性3. 分析实验结果1) 记录实验数据2) 分析实验结果,对比理论值和实际值的差异3) 总结实验中的经验和问题,并提出改进建议五、实验数据1. 输入数据:A = 1010B = 11012. 输出数据:Sum = xxxCarryout = 1六、实验结果分析通过实验,我们成功搭建了基本加法器电路,并进行了加法器实验。

实验结果表明,加法器能够正确地对两个二进制数进行加法运算,并输出正确的结果。

通过比对理论值和实际值,我们发现存在一定的偏差,可能是由于电路连接不良或逻辑门延迟等因素导致。

在今后的实验中,我们需要注意电路连接质量和信号延迟,以提高实验结果的准确性和稳定性。

七、实验总结通过本次加法器实验,我们加深了对计算机组成原理中加法器的理解,掌握了基本的加法器实验操作技能。

我们也发现了一些问题并提出了改进建议。

在今后的学习和实验中,我们将继续加强对计算机组成原理的学习,不断提升实验操作能力,为今后的科研工作和实际应用打下坚实的基础。

八、参考资料1. 《计算机组成原理》(第五版),唐朔飞,张善民,电子工业出版社2. 《数字逻辑与计算机设计》(第三版),David M. Harris,Sarah L. Harris,清华大学出版社以上是本次计算机组成原理加法器实验实训报告的全部内容,谢谢阅读。

杭州电子科技大学EDA第一次实验报告

杭州电子科技大学EDA第一次实验报告

杭州电子科技大学EDA实验报告第一次实验报告班级:1404751*学号: ********姓名:***实验一:双2选1多路选择器MUXKP893-5 图3-16所示的是双2选1多路选择器构成的电路MUXK。

对于其中MUX21A,当s=0和s=1时,分别有y=a和y=b。

试在一个模块中用两个过程来表达此电路。

MUX21A的代码如下module MUX21A(a,b,s,y);input a,b,s;output y;assign y=(s?a:b);endmoduleMUXK的代码如下module muxk(a1,a2,a3,s0,s1,outy);input a1,a2,a3,s0,s1;output outy;wire tmp;MUX21A u1(a2,a3,s0,tmp);MUX21A u2(a1,tmp,s1,outy);Endmodule代码分析:1.用例化语句,直接调用放在MUXK工程的mux21a,实现双二选一数据选择器;2.条件判断语句y=s?a:b,实现2选1。

MUXK RTL图MUXK 仿真波形图如下图所示P1114-1 多路选择器设计实验实验目的:进一步熟悉Quartus II的Verilog文本设计流程,组合电路的设计仿真和硬件测试。

实验内容:根据4.1节的流程,利用QuartusⅡ完成4选1多路选择器的文本代码编辑输入和仿真测试等步骤,给出图3-5所示的仿真波形。

代码如下module MUX41A(A,B,C,D,S1,S0,Y);input A,B,C,D,S1,S0;output Y;reg[1:0] SEL; reg Y;always@(A,B,C,D,SEL)beginSEL={S1,S0};if (SEL==0) Y=A;else if(SEL==1) Y=B;else if(SEL==2) Y=C;else Y=D; endendmodule电路图如下仿真波形如下图分析:当S=2’b00时,Y=A; 当S=2’b01时,Y=B;当S=2’b00时,Y=C; 当S=2’b00时,Y=D;4-2 8位加法器设计实验实验目的:熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握文本和原理图输入方式设计的详细流程。

全加器实验报告

全加器实验报告

全加器实验报告全加器实验报告引言:全加器是数字电路中的基本组件之一,用于实现两个二进制数的加法运算。

在本次实验中,我们将学习如何设计和实现一个全加器电路,并通过实验验证其正确性和可靠性。

实验目的:1. 理解全加器的原理和工作方式;2. 学习使用逻辑门实现全加器电路;3. 掌握实验仪器的使用方法;4. 验证全加器电路的正确性和可靠性。

实验器材:1. 实验板2. 逻辑门芯片(与门、或门、非门)3. 连线4. 电源实验步骤:1. 首先,我们需要了解全加器的原理。

全加器由两个半加器和一个额外的输入端组成。

半加器用于计算两个输入位的和与进位,而额外的输入端用于接收前一位的进位。

全加器的输出包括两个部分:当前位的和和当前位的进位。

2. 根据全加器的原理,我们可以使用逻辑门来实现它。

首先,使用与门计算当前位的进位。

将两个输入位和前一位的进位作为与门的输入,输出结果为当前位的进位。

3. 接下来,使用或门计算当前位的和。

将两个输入位和前一位的进位作为或门的输入,输出结果为当前位的和。

4. 最后,使用非门将当前位的进位取反,作为全加器的输出。

5. 按照上述设计,将逻辑门芯片连接到实验板上。

确保连接的正确性和稳定性。

6. 给实验电路供电,并输入测试数据。

观察输出结果是否符合预期。

实验结果:通过实验,我们成功实现了一个全加器电路,并验证了其正确性和可靠性。

输入不同的测试数据,我们得到了相应的输出结果。

这证明了全加器电路的功能和性能。

讨论与分析:全加器是数字电路中的重要组件,广泛应用于计算机和其他数字系统中。

它的设计和实现对于数字电路的正确运行至关重要。

通过本次实验,我们深入了解了全加器的原理和工作方式,并通过实验验证了其正确性和可靠性。

然而,在实际应用中,全加器电路可能会面临一些问题。

例如,输入信号的噪声、电源波动等因素都可能影响全加器的性能。

因此,在实际设计中,需要采取一些措施来提高全加器电路的抗干扰性和稳定性。

另外,全加器电路的设计还可以进一步优化。

《计算机组成原理》运算器实验报告(总结报告范文模板)

《计算机组成原理》运算器实验报告(总结报告范文模板)

《计算机组成原理》运算器实验报告实验目录:一、实验1 Quartus Ⅱ的使用(一)实验目的(二)实验任务(三)实验要求(四)实验步骤(五)74138、74244、74273的原理图与仿真图二、实验2 运算器组成实验(一)实验目的(二)实验任务(三)实验要求(四)实验原理图与仿真图三、实验3 半导体存储器原理实验(一)实验目的(二)实验要求(三)实验原理图与仿真图四、实验4 数据通路的组成与故障分析实验(一)实验目的(二)实验电路(三)实验原理图与仿真图五、本次实验总结及体会:一、实验1 Quartus Ⅱ的使用(一)实验目的1.掌握Quartus Ⅱ的基本使用方法。

2.了解74138(3:8)译码器、74244、74273的功能。

3.利用Quartus Ⅱ验证74138(3:8)译码器、74244、74273的功能。

(二)实验任务1、熟悉Quartus Ⅱ中的管理项目、输入原理图以及仿真的设计方法与流程。

2、新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。

(三)实验要求1.做好实验预习,掌握74138、74244、74273的功能特性。

2.写出实验报告,内容如下:(1)实验目的;(2)写出完整的实验步骤;(3)画出74138、74244和74273的仿真波形,有关输入输出信号要标注清楚。

(四)实验步骤1.新建项目:首先一个项目管理索要新建的各种文件,在Quartus Ⅱ环境下,打开File,选择New Project Wizard后,打开New Project Wizard:Introduction窗口,按照提示创建新项目,点击“Next”按钮,再打开的窗口中输入有关的路径名和项目名称后,按“Finish”按钮,完成新建项目工作。

2.原理图设计与编译:原理图的设计与编译在Compile Mode(编译模式)下进行。

2.1.新建原理图文件打开File菜单,选择New,打开“新建”窗口。

计算机组成原理加法器实验

计算机组成原理加法器实验

实验三带进位的算术运算实验
一、实验目的内容
1、掌握简单运算器的组成以及数据传送通路。

2、验证运算功能发生器(74HC181)的组合功能。

3、掌握用4位ALU芯片74HC181设计8位ALU方法(负逻辑)
二、实验原理
三、实验步骤
l、按图画出实验电路
2、根据74HC181的功能见S3 S2 S1 S0=1001,M=0,表中“A”和“B”分别表示参与运算的两个8位二进制数,
3、验证2片74HC181进行8位算术运算,观察运算器的输出,填入表1-2中,并和理论值进行比较、验证74HC181的功能。

(负逻辑)
四、实验结果
完成实验步骤,完成实表1-2,在显示结果后将指示灯显示的值与输入的数据进行比较;比较理论分析值与实验结果值;并对结果进行分析。

五、实验过程中出现的问题
六、实验收获和体会
七、实验思考题
1、实验电路中,如果将低4位的ALU芯片的输出脚CN+4与高4位ALU芯片的输入脚CN之间的连线去掉,将高4位ALU芯片的输入脚CN接地,表2-1中的输出F有变化吗?为什么?
2、如何用4位ALU芯片74LS181设计16位ALU?。

全加器的设计实验报告

全加器的设计实验报告

全加器的设计实验报告《全加器的设计实验报告》摘要:本实验旨在设计并实现一个全加器电路,用于对两个二进制数进行加法运算。

通过实验,我们成功地设计了一个全加器电路,并进行了验证和测试。

实验结果表明,该全加器能够正确地对两个二进制数进行加法运算,并输出正确的结果。

引言:全加器是数字电路中常用的逻辑电路之一,用于对两个二进制数进行加法运算。

它由两个半加器和一个或门组成,能够实现对两个二进制数的加法运算,并输出相应的结果。

在本次实验中,我们将设计并实现一个全加器电路,并对其进行验证和测试。

设计与实现:首先,我们根据全加器的逻辑功能和真值表,设计了相应的电路图。

然后,我们选择适当的逻辑门和触发器进行电路的实现。

在实验中,我们采用了集成电路来实现全加器电路,并通过连接适当的引脚,将其组成一个完整的电路。

最后,我们对电路进行了验证和测试,确保其能够正确地进行加法运算。

实验结果:经过验证和测试,我们成功地实现了一个全加器电路,并对其进行了测试。

实验结果表明,该全加器能够正确地对两个二进制数进行加法运算,并输出正确的结果。

在不同的输入条件下,我们都得到了正确的输出结果,证明了该全加器的正确性和可靠性。

结论:通过本次实验,我们成功地设计并实现了一个全加器电路,并对其进行了验证和测试。

实验结果表明,该全加器能够正确地对两个二进制数进行加法运算,并输出正确的结果。

这为我们进一步深入理解数字电路和逻辑电路提供了重要的实践基础。

同时,我们也发现了一些问题和改进的空间,为今后的研究和实践提供了有益的启示。

希望通过本次实验,能够对数字电路的设计与实现有更深入的理解。

【参考借鉴】实验五--全加器的设计及应用.doc

【参考借鉴】实验五--全加器的设计及应用.doc

实验五全加器的设计及应用一、实验目的(1)进一步加深组和电路的设计方法。

(2)会用真值表设计半加器和全加器电路,验证其逻辑功能。

(3)掌握用数据选择器和译码器设计全加器的方法。

二、预习要求(1)根据表5-1利用与非门设计半加器电路。

(2)根据表5-2利用异或门及与非门设计全加器电路。

三、实验器材(1)实验仪器:数字电路实验箱、万用表;(2)实验器件:74LS04、74LS08、74LS20、74LS32、74LS86、74LS138、74LS153;四、实验原理1.半加器及全加器电子数字计算机最基本的任务之一就是进行算术运算,在机器中的四则运算——加、减、乘、除都是分解成加法运算进行的,因此加法器便成了计算机中最基本的运算单元。

(1)半加器只考虑了两个加数本身,而没有考虑由低位来的进位(或者把低位来的进位看成0),称为半加,完成半加功能的电路为半加器。

框图如图5-1所示。

一位半加器的真值表如表5-1所示。

1位半加器S C i A i B i 和数向高位进位加数被加数图5-1半加器框图由真值表写逻辑表达式:⎩⎨⎧=⊕=+=i i i ii i i i i i B A C B A B A B A S '' 画出逻辑图,如图5-2所示:(a )逻辑图 (b )逻辑符号 图5-2 半加器(2)全加器能进行加数、被加数和低位来的进位信号相加,称为全加,完成全加功能的电路为全加器。

根据求和结果给出该位的进位信号。

即一位全加器有3个输入端:i A (被加数)、i B (加数)、1-i C (低位向本位的进位);2个输出端:i S (和数)、i C (向高位的进位)。

下面给出了用基本门电路实现全加器的设计过程。

1)列出真值表,如表5-2所示。

从表5-2中看出,全加器中包含着半加器,当01=-i C 时,不考虑低位来的进位,就是半加器。

而在全加器中1-i C 是个变量,其值可为0或1。

2)画出i S 、i C 的卡诺图,如图5-3所示。

计算机组成原理实验报告2范文

计算机组成原理实验报告2范文

实验二一位全加器实验姓名:王雄学号:专业:数媒2班【实验环境】1. Windows 2000 或 Windows XP2. QuartusII、GW48-PK2或DE2-115计算机组成原理教学实验系统一台,排线若干。

【实验目的】1、熟悉原理图和VHDL语言的编写。

2、验证全加器功能。

【实验原理】设计一个一位全加器,能完成两个二进制位的加法操作,考虑每种情况下的进位信号,完成8组数据的操作。

【实验步骤】1.1建立工程项目1.1.4 原理图设计新建项目后,就可以绘制原理图程序了。

下面以一位全加器如图1-12所示为例,讲解原理图的编辑输入的方法与具体步骤。

图1-12 一位全加器原理图(1)执行菜单“File”→“New…”,或在工具栏中单击图标,弹出如图1-13所示的“New”对话框。

在此对话框的“Design Files”项中选择“Block Diagram/Schematic File”,在单击“OK”按钮,QuartusⅡ10.0的主窗口进入如图1-14所示的原理图工作环境界面。

图1-13 “New”对话框(2)在如图1-14所示的原理图工作环境界面中单击图标或在原理图编辑区的空白处双击鼠标或在原理图编辑区的空白处右键单击在弹出的菜单中选择“Insert”中的任意一个,弹出如图1-15所示的元件输入对话框,在“Name”栏中直接输入所需元件名或在“Libraries: ”的相关库中找到合适的元件,再单击“OK”按钮,然后在原理图编辑区中单击鼠标左键,即可将元件调入原理图编辑区中。

为了输入如图1-12所示的原理图,应分别调入and2、xor2、or3、input、output。

对于相同的器件,可通过复制来完成。

例如3个and2门,器操作方法是,调入一个and2门后,在该器件上单击鼠标右键,在弹出的菜单中选择“Copy”命令将其复制,然后在合适的位置上右键,在弹出的菜单中选择“Paste”命令将其粘帖即可。

全加器实验报告

全加器实验报告

一、实验目的
1、掌握组合逻辑电路的功能测试。

2、验证半加器和全加器的逻辑功能。

3、学会二进制数的运算规律。

二、实验元器件
数电实验箱、集成芯片(74LS00、74LS10、74LS54、74LS86)、导线。

三、实验内容
1、组合逻辑功能路功能测试。

用两片74LS00组成图2-3
A
A
B
A
A
B
A
Y+
=

=
1C
B
B
A
C
B
B
A
Y+
=

=
2
2、测试用异或门(74LS86)和与非门组成的半加器的逻辑功能。

用一片(74LS86)和(74LS00)组成半加器。

数电实验报告二
组合逻辑电路(半加器、全加器及逻辑运算)
Vcc
A B
3、
S
CO
CO
A B
C
4、设计性实验
设计一个“一致电路”。

电路有三个输入端,一个输出端。

当三个输入端变量A、B、C状态一致时,输出F为“1”;当三个变量状态不一致时,输出F为“0”。

(要求:用与非门组成电路。


步骤:
i.列真值表:(右图)
ii.写出逻辑表达式:
()()
ABC
C
B
A
F⋅
=
iii.画逻辑电路图:(下图)
A
B
C
F
iv.按下图连接实验电路。

(下图)
A B。

全加器构成及测试实验报告

全加器构成及测试实验报告

全加器构成及测试实验报告一、引言全加器是计算机中常用的关键电路之一,用于实现二进制数的加法运算。

本实验旨在深入了解全加器的构成原理,并通过实验测试其功能和性能。

二、全加器的构成原理全加器包括三个输入端A、B和Cin,以及两个输出端Sum和Cout。

其中,A和B分别是要相加的两个二进制位,Cin是上一级进位的输入,Sum是和的输出,Cout是进位的输出。

全加器的构成可以使用简单逻辑门来实现。

常见的实现方式有两种:基于逻辑门的实现和基于逻辑表达式的实现。

1. 基于逻辑门的实现全加器的基本逻辑门实现是使用两个半加器和一个或门。

半加器用于计算每个位的和和进位。

具体电路连接如下:- 第一个半加器:输入为A和B,输出为Sum1和Cout1;- 第二个半加器:输入为Sum1和Cin,输出为Sum和Cout。

通过组合以上电路,即可得到全加器的实现。

2. 基于逻辑表达式的实现全加器的实现还可以使用逻辑表达式来表示和计算。

假设输入为A、B和Cin,输出为Sum和Cout,则逻辑表达式如下:Sum = A ⊕ B ⊕ CinCout = (A ∧ B) ∨ (Cin ∧ (A ⊕ B))通过实际计算逻辑表达式,可以得到全加器的输出结果。

三、实验步骤1. 确定实验所需材料:电路板、电阻、继电器、开关等。

2. 搭建全加器电路,根据实验要求进行连接。

3. 使用电源连接电路板,确保电路无误。

4. 根据设定的输入值,观察并记录输出结果。

5. 观察全加器的进位和和的输出情况,并进行比对和验证。

四、实验结果与分析在实验中,我们根据设定的输入值进行了多次测试,并观察了全加器的进位和和的输出情况。

通过比对实验结果和预期输出,验证了全加器的正确性。

在多次测试中,我们发现当A和B为0时,Sum等于Cin;当A和B同时为1时,Sum等于Cin的反;当A和B中有一个为1,另一个为0,Sum等于Cin。

同时,通过观察进位的输出情况,我们发现当A和B都为1时,Cout为1;在其他情况下,Cout为0。

全加器电路设计实验报告

全加器电路设计实验报告

全加器电路设计实验报告一、实验目的本次全加器电路设计实验的目的在于深入理解数字电路中全加器的工作原理,通过实际设计和搭建电路,掌握全加器的逻辑功能和实现方法,提高对数字逻辑电路的分析和设计能力。

二、实验原理1、全加器的概念全加器是一种实现两个一位二进制数及低位进位相加,并产生和及进位输出的数字电路。

2、全加器的逻辑表达式全加器的输入包括被加数 A、加数 B 以及低位进位 Cin,输出为和S 以及进位 Cout。

其逻辑表达式为:S = A⊕B⊕CinCout =(A&B) |(Cin&(A⊕B))3、全加器的真值表| A | B | Cin | S | Cout |||||||| 0 | 0 | 0 | 0 | 0 || 0 | 0 | 1 | 1 | 0 || 0 | 1 | 0 | 1 | 0 || 0 | 1 | 1 | 0 | 1 || 1 | 0 | 0 | 1 | 0 || 1 | 0 | 1 | 0 | 1 || 1 | 1 | 0 | 0 | 1 || 1 | 1 | 1 | 1 | 1 |三、实验设备与材料1、数字电路实验箱2、 74LS00(四 2 输入与非门)3、 74LS86(四 2 输入异或门)4、 74LS283(4 位全加器)5、导线若干四、实验步骤1、设计电路根据全加器的逻辑表达式和真值表,使用与非门、异或门等基本逻辑门设计全加器电路。

2、连接电路在数字电路实验箱上,按照设计好的电路图,使用导线将芯片的引脚正确连接起来。

3、输入信号通过实验箱上的开关,设置被加数 A、加数 B 和低位进位 Cin 的输入值。

4、观察输出使用实验箱上的指示灯或示波器,观察和 S 以及进位 Cout 的输出结果,并与理论值进行对比。

5、记录数据将每次输入的信号值和对应的输出结果记录下来,以便后续分析。

五、实验结果与分析1、实验结果记录以下是部分实验输入和输出的记录:| A | B | Cin | S | Cout |||||||| 0 | 0 | 0 | 0 | 0 || 0 | 1 | 0 | 1 | 0 || 1 | 0 | 1 | 0 | 1 |2、结果分析将实验结果与全加器的真值表进行对比,发现输出结果与理论值完全一致,说明设计的全加器电路功能正确。

杭电计组实验2-超前进位加法器设计实验

杭电计组实验2-超前进位加法器设计实验
顶层电路内部结构:
四、引脚配置(约束文件)
NET "A[3]" LOC = T10;
NET "A[2]" LOC = T9;
NET "A[1]" LOC = V9;
NET "A[0]" LOC = M8;
NET "B[3]" LOC = N8;
NET "B[2]" LOC = U8;
NET "B[1]" LOC = V8;
reg [3:0] A;
reg [3:0] B;
reg Ci;
// Outputs
wire [3:0] F;
wire [4:1] Co;
// Instantiate the Unit Under Test (UUT)
top uut (
.A(A),
.B(B),
.Ci(Ci),
.F(F),
.Co(Co)
(3)将原有的4位超前进位的二进制加法器通过两次级联拼成1个16位的二级逻辑的超前进位加法器即可。
一、实验程序源代码
1.一位全加器模块代码:
module First_M(A,B,Ci,F,Co);
input A,B,Ci;
output F,Co;
wire A,B,Ci,F,Co;
wire S1,S2,S3;
xor XU1(F,A,B,Ci),
XU2(S1,A,B);
and AU1(S2,A,B),
NET "B[0]" LOC = T5;
NET "Ci" LOC = C4;
NET "F[3]" LOC = U16;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
杭州电子科技大学计算机学院
实验报告
课程名称:计算机组成原理
实验项目:全加器设计实验
指导教师:
实验位置:
姓 名:
班 级
学 号
日 期:2015年4月15日
实验目的
(1)学习ISE工具软件的使用及仿真方法。
(2)学习FPGA程序的下载方法。
(3)熟悉Nexys3实验板。
(4)掌握运用Verilog HDL进行结构描述与建模的技术和方法。
指导教师
评议
成绩评定: 指导教师签名:
---精心整理,希望对您有所帮助
endmodule
(接上)
实验内容(算法、程序、步骤和方法)
数据记录和计算
软件方程结果
硬件测试结果:
A
B
Ci
F
Co
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
结论(结果)
经过实验,所设计的全加器输出的结果正确复合逻辑
试验心得与小结
学习了门级元件的使用,而且使用的是结构化建模,而不是行为建模,又是一次提高。
.F(F),
.Co(Co)
);
initial begin
// Initialize Inputs
A = 0;B = 0;Ci = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
A = 0;B = 0;Ci = 1;
or O1(Co,S1,S3);
endmodule
仿真文件:
module test;
reg A;
reg B;
reg Ci;
// Outputs
wire F;
wire Co;
// Instantiate the Unit Under Test (UUT)
Add uut (
.A(A),
.B(B),
.Ci(Ci),
(4)生成BIT文件,下载入FPGA,进行硬件测试。
代码:
Module文件:
module Add(A,B,Ci,F,Co);
input A,B,Ci;
output F,Co;
wire A,B,Ci,F,Co;
xor X1(F,A,B,Ci),
X2(S2,A,B);
and A1(S1,A,B),
A2(S3,S2,Ci);
#100;
A = 0;B = 1;Ci = 0;
#100;
A = 0;B = 1;Ci = 1;
#100;
A = 1;B = 0;Ci = 0;
#100;
A = 1;B = 0;Ci = 1;
#100;
A = 1;B = 1;Ci = 0;
#100;
A = 1;B = 1;Ci = 1;
#100;
end
(5)掌握二进制全加器的原理与设计方法。
实验环境
ISE Design Suite 14.6
Digilent Adept
Nexys3实验板
实验内容(算法、程序、步骤和方法)
(1)画出全加器的真值表并化简,得出输出变量的逻辑表达式。
(2)创立新的工程,根据逻辑表达式进行结构描述方式进行建
相关文档
最新文档