四位二进制数的可控加法实验报告
计算机组成原理4位二进制计数器实验报告
计算机组成原理实验一4位二进制计数器实验姓名:李云弟 学号:1205110115 网工1201【实验环境】1. Windows 2000 或 Windows XP2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。
【实验目的】1、熟悉VHDL 语言的编写。
2、验证计数器的计数功能。
【实验要求】本实验要求设计一个4位二进制计数器。
要求在时钟脉冲的作用下,完成计数功能,能在输出端看到0-9,A-F 的数据显示。
(其次要求下载到实验版实现显示)【实验原理】计数器是一种用来实现计数功能的时序部件,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。
计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS 触发器、T 触发器、D 触发器及JK 触发器等。
计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。
计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等,其最基本的分类如下:计数器的种类⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧进制计数器十进制计数器二进制计数器进制可逆计数器减法计数器加法计数器功能异步计数器同步计数器结构N 、、、321 下面对同步二进制加法计数器做一些介绍。
同步计数器中,所有触发器的CP 端是相连的,CP 的每一个触发沿都会使所有的触发器状态更新。
实验四 四位二进制全加器
3.实验设备及材料
2.SAC-DS4数字逻辑电路实验箱 1个
3.万用表1块
4.74LS283 四位二进制全加器1片
4.实验方法步骤及注意事项
用开关按表8-1设置输入A1-A4、B1-B4、C0的状态,借助指示灯观测输出F1-F4、C4的状态,并记入表8-1中。
表8-1
输 入
输 出
A4A3A2A1
本科学生实验报告
学号姓名
学院物理与电子信息学院专业、班级10物理A
实验课程名称数字电路技术试验
教师及职称张超(讲师)
开课学期2012至2013学年上学期
填报时间2012年09月日
云南师范大学教务处编印
实验序号
4
实验名称
四位二进制全加器
实验时间
2012.10.9
实验室
同析3幢215
一.实验预习
1.实验目的
2、74LS283四位全加器特性函数
教师评语及评分:
签名:年月日
B4B3B2B1
C0
F4F3F2F1
C4
0 0 0 1
0 0 0 1
1
0 1 0 0
0 0 1 1
0
1 0 0 0
0 1 1 1
1
1 0 0 1
1 0 0 0
0
1 0 1 1
0 1 0 1
1
1 1 0 0
0 1 1 0
0
1 1 0 1
0 1 0 0
1
1 1 1 1
1 1 1 1
0
利用开关输入BCD码,借助指示灯观测输出的余3码,填入表8-2中。
0 1 0 1
0 0 1 1
0 1 1 0
可控加减法电路设计实验报告
可控加减法电路设计实验报告一、实验目的。
1.了解四位二进制数运算的基本原理,制定设计方案。
2.利用ISE软件进行可编程逻辑器件设计,完成逻辑仿真功能。
3.使用编译器将设计实现,下载到BASYS2实验板上进行调试和验证所设计的四位二进制数的运算。
二、实验器材。
1.Pentium—Ⅲ计算机一台;2.BASYS2 实验板一只;三、实验方案。
1.基本功能。
实现了两个四位二进制数的加减法运算,能够在输出端得出结果.2.清零功能。
利用一个微动开关,在逻辑程序中表示出当按下微动开关后两个操作数都变为零。
再调用以前的加法程序,即可实现输出结果清零。
3.用数码管显示。
编写程序,将数值转换为七段显示器显示。
将运算结果输送到数码管中。
值得注意的是四个数码管要显示不同的数字,就需要利用到人的视觉误差,做一些短暂的延时。
4.溢出显示。
本实验中,设计的是一个无符号数加减法器,因而其共有两种溢出情况一,减法时,减数大于被减数,针对这种情况可以利用比较大小进行溢出判断;二,加法时,被操作数之和大于15。
判断进位,如果进位为1则显示溢出,若反之,则不显示。
四、实验原理图。
五、实验模块说明及部分代码。
1.add1部分。
将输入的两个操作数相加并判断大小。
相加结果放在led中,进位放在carry中。
led[0]=num1[0]^num2[0];carry[0]=num1[0]&num2[0];led[1]=num1[1]^num2[1]^carry[0];carry[1]=(num1[1]&num2[1])|(carry[0]&(num1[1]^num2[1]));led[2]=num1[2]^num2[2]^carry[1];carry[2]=(num1[2]&num2[2])|(carry[1]&(num1[2]^num2[2]));led[3]=num1[3]^num2[3]^carry[2];if(add)begincarry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]));endif(sub)beginif(compare)carry[3]=1;elsecarry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]))&(~sub); 2.seg7ment。
组合逻辑电路实验报告
组合逻辑电路实验报告引言:组合逻辑电路是数字电路的重要组成部分,广泛应用于计算机、通信等领域。
本实验旨在通过设计和实现一个基本的组合逻辑电路,加深对数字电路的理解,同时掌握实验的步骤和方法。
一、实验目的本次实验的主要目的是设计并实现一个4位二进制加法器,通过对二进制数进行加法运算,验证组合逻辑电路的正确性。
二、实验原理1. 二进制加法二进制加法是指对两个二进制数进行相加的运算。
在这个过程中,我们需要考虑进位问题。
例如,对于两个4位二进制数A和B,加法的规则如下:- 当A和B的对应位都是0时,结果位为0;- 当A和B的对应位有一个位是1时,结果位为1;- 当A和B的对应位都是1时,结果位为0,并需要将进位加到它们的下一位。
2. 组合逻辑电路组合逻辑电路是由多个逻辑门组成的电路,根据输入信号的组合条件决定输出信号的状态。
在本实验中,我们将使用与门、或门、非门等基本逻辑门设计加法器电路。
三、实验步骤1. 设计电路根据二进制加法的原理,我们可以通过组合逻辑电路来实现一个4位二进制加法器。
设计原理如下:- 使用四个与门分别对应四个位的相加;- 使用四个异或门进行无进位相加;- 使用一个或门将各位相加后的进位输出;- 最后将四个位的和和进位进行合并得到最终结果。
2. 搭建电路实验装置根据设计步骤,将与门、异或门、或门等集成电路以及电阻、导线等连接在面包板上,搭建出电路实验装置。
3. 验证电路正确性输入两个4位的二进制数A和B,并将结果与预期结果进行对比,验证电路的正确性。
重复进行多组实验,确保电路的可靠性和稳定性。
四、实验结果与分析通过多次实验,我们得到了实验结果。
将结果与预期结果进行对比,并计算误差,可以得出结论。
在实验中,我们还观察到了实验结果的稳定性和可靠性,并对实验结果的波形进行了分析。
五、实验总结通过本次实验,我们了解了组合逻辑电路的基本原理和设计方法,并通过设计和搭建4位二进制加法器电路,实践了电路设计的过程。
四位全加器实验报告
武汉轻工大学数学与计算机学院《计算机组成原理》实验报告题目:4位二进制计数器实验专业:软件工程班级:130X班学号:XXX姓名:XX指导老师:郭峰林2015年11月3日【实验环境】1. Win 72. QuartusII9.1计算机组成原理教学实验系统一台。
【实验目的】1、熟悉VHDL 语言的编写。
2、验证计数器的计数功能。
【实验要求】本实验要求设计一个4位二进制计数器。
要求在时钟脉冲的作用下,完成计数功能,能在输出端看到0-9,A-F 的数据显示。
(其次要求下载到实验版实现显示)【实验原理】计数器是一种用来实现计数功能的时序部件,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。
计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS 触发器、T 触发器、D 触发器及JK 触发器等。
计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。
计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等,其最基本的分类如下:计数器的种类⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧进制计数器十进制计数器二进制计数器进制可逆计数器减法计数器加法计数器功能异步计数器同步计数器结构N 、、、321 下面对同步二进制加法计数器做一些介绍。
同步计数器中,所有触发器的CP 端是相连的,CP 的每一个触发沿都会使所有的触发器状态更新。
quartus_4位二进制加减法计数器
贵州大学实验报告学院:专业:班级设计原理框图从原理图中可见,需要有1bit装载位(load)、1bit清零位(clr)、方向控制位up_down和4bit数据选择位DIN[3..0]。
装载位我们采用SW0,清零位采用SW1,方向控制位为SW2。
SW3-SW6作为数据输入端,LED1-LED4显示数据的输出,LED5为溢出标志位。
实验内容编写一个带预置输入,清零输入,可加可减计数器的verilog代码或VHDL代码并仿真,编译下载验证module counter4(load,clr,c,DOUT,clk,up_down,DIN);//定义模块input load;//定义输入信号input clk;//wire load;//定义线网型input clr;//wire clr;//input up_down;//wire up_down;//input [3:0]DIN;//定义4位二进制输入信号wire [3:0]DIN;// 定义4位二进制线网型信号output c;//定义输出信号reg c;//定义寄存器类型信号output [3:0]DOUT;//wire [3:0]DOUT;reg [3:0]data_r;assign DOUT=data_r;always@(posedge clk or posedge clr or posedge load)//检测clk,clr,load的上升沿beginif(clr)//当clr=1的时候进行下面的运行程序data_r<=0;//将data_r置零else if(load) //当load=1的时候进行下面的运行程序data_r<=DIN;//将DIN的值赋给data_relse begin if(up_down)//load=0的时候进行下面的操作beginif(data_r==4'b1111)begin///当data_r==4'b1111的时候进行下面的运行程序data_r<=4'b0000;c=1;endelse begin//当data_r不等于4'b1111的时候进行下面的运行程序data_r<=data_r+1;//进行加法计数c=0;endendelsebeginif(data_r==4'b0000)begin//当data_r==4'b0000的时候进行下面的运行程序data_r<=4'b1111;c=1;endelse begin//当data_r不等于4'b1111的时候进行下面的运行程序data_r<=data_r-1;//进行减法计数c=0;endendendendendmodule//结束模块实验数据如图为波形仿真结果,当clr为1的时候,输出结果为0000;当clr为0,load为1时,输出结果为输入数据DIN的值,当up_down为1时,加法进位,进行加1运算,当data_r达到1111时,data_r变为0000,级零信号c为1;当up_down为0时,减法进位,进行减1运算,当data_r达到0000时,data_r变为1111,级零信号c为0。
四位二进制数可控加减法 上海交通大学电子技术实验大作业
《四位二进制数可控加减法》实验报告实验名称: 四位二进制数可控加减法姓名:学号:班级:目录一、实验方案 (3)二、设计思路................................................................................ 错误!未定义书签。
三、程序代码................................................................................ 错误!未定义书签。
四、调试问题 (6)五、心得感想 (7)一、实验方案1)基本功能实现两个四位二进制数的加减法运算,能够在led灯和数码管显示出结果。
2)清零功能利用一个微动开关,当微动开关按下时结果清零显示。
3)数码管显示将结果转换为七段显示器显示。
将运算结果输送到数码管中。
利用到人的视觉误差和短暂延时显示四位运算结果。
4)溢出问题若有溢出,则数码管显示“E”。
二、设计思路基本功能中分为连个模块,主模块用来运算加减法以及记录溢出和结果,子模块用来进行七段数码管的显示。
扩展功能中数码管显示要利用暂留现象,因此利用时钟clk来进行设计。
三、程序代码module show_sub(input [1:0]num,output reg [6:0] a_to_g );always @(*)case(num)2'b00: a_to_g=7'b1000000;2'b01: a_to_g=7'b1111001;2'b10: a_to_g=7'b1111111;2'b11: a_to_g=7'b0000110;default: a_to_g=7'b0000110;endcaseendmodulemodule show_top(input clk,clr,input wire [7:0] sw,input plus,sub,output wire [6:0] a_to_g,output reg [3:0] an,output reg [3:0] led );reg [15:0] clk_cnt;wire [1:0]s;reg [3:0] result; //运算结果reg [1:0] res;reg flag; //溢出标志wire [3:0] data1;wire [3:0] data2;assign data1=sw[7:4];assign data2=sw[3:0];assign s=clk_cnt[15:14];always @(posedge clk)beginclk_cnt=clk_cnt+1;endalways@(posedge plus or posedge sub or posedge clr)。
四位加法器实验报告
四位加法器实验报告四位加法器实验报告一、引言在数字电路的学习中,加法器是一个非常重要的基础电路。
本次实验旨在通过设计和实现四位加法器,加深对数字电路原理的理解,并掌握加法器的设计方法和实现过程。
二、实验目的1. 理解加法器的原理和工作方式;2. 掌握加法器的设计方法和实现过程;3. 学会使用逻辑门电路和触发器构建加法器;4. 验证加法器的正确性和稳定性。
三、实验原理1. 半加器半加器是最基本的加法器,用于实现两个一位二进制数的相加。
其逻辑电路如下:(插入半加器电路图)2. 全加器全加器是由两个半加器和一个或门构成,用于实现三个一位二进制数的相加。
其逻辑电路如下:(插入全加器电路图)3. 四位加法器四位加法器是由四个全加器和一些其他逻辑门组成,用于实现四个四位二进制数的相加。
其逻辑电路如下:(插入四位加法器电路图)四、实验步骤1. 按照电路图连接逻辑门和触发器,搭建四位加法器电路;2. 使用开关设置输入数据,观察输出结果;3. 验证加法器的正确性,将不同的输入数据相加,并手动计算结果进行对比;4. 测试加法器的稳定性,观察输出结果是否随着时间稳定。
五、实验结果与分析通过实验,我们成功搭建了四位加法器电路,并进行了多组数据的测试。
实验结果表明,加法器能够正确地进行四个四位二进制数的相加,并输出正确的结果。
同时,实验中观察到输出结果在一段时间后稳定下来,验证了加法器的稳定性。
六、实验总结本次实验通过设计和实现四位加法器,加深了对数字电路原理的理解,并掌握了加法器的设计方法和实现过程。
通过实验验证了加法器的正确性和稳定性,提高了实际操作能力和解决问题的能力。
同时,实验中还发现了一些问题,比如电路连接错误、输入数据设置错误等,这些问题在实验中及时发现和解决,也对实验结果的准确性起到了保障作用。
在今后的学习中,我们将进一步深入研究数字电路的原理和应用,不断提高自己的实验技能和创新能力。
希望通过这次实验,能够为我们的学习和未来的工作打下坚实的基础。
四位二进制加法器课程分析研究报告[1]
四位二进制加法器课程分析研究报告[1]————————————————————————————————作者:————————————————————————————————日期:课题名称与技术要求课题名称:四位二进制加法器设计技术要求:1)四位二进制加数与被加数输入2)二位数码管显示摘要本设计通过八个开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入四位串行进位加法器相加,将输出信号S3,S2,S1,S0和向高位的进位C3通过译码器Ⅰ译码,再将输出的Y3,Y2,Y1,Y0和X3,X2,X1,X0各自分别通过一个74LS247译码器,最后分别通过数码管BS204实现二位显示。
本设计中译码器Ⅰ由两部分组成,包括五位二进制译码器和八位二进制输出器。
信号S3,S2,S1,S0和向高位的进位C3输入五位二进制-脉冲产生器,将得到的n(五位二进制数码对应的十进制数)个脉冲信号输入八位二进制输出器,使电路的后续部分得以执行。
总体论证方案与选择设计思路:两个四位二进制数的输入可用八个开关实现,这两个二进制数经全加器求和后最多可以是五位二进制数。
本题又要求用两个数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和个位。
综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成八位,其中四位表示这个五位二进制数对应十进制数的十位,另四位表示个位。
而译码器Ⅱ有现成的芯片可选用,此处可选74LS247,故设计重点就在译码器Ⅰ。
加法器选择全加器:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。
或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。
1)串行进位加法器构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。
优点:电路比较简单。
最大缺点:进位信号是由低位向高位逐级传递的,运算速度慢。
例:试用四位二进制加法器74283构成可控的加法、减法器(允许附加
0
Σ
A 0
S0 S1 S2
Σ 进位
B 3
S'2 S'3
S' =1 3 3
Σ 进位
3 B
3
0
1 0
CO CI
C' =1 C= C'
S3
S' 和 为 取 S’ 反 不 加 1 变
&
0 C'
3
CO CI
X 控制端X: 控制端 控制端X: 控制端
X=0: 实现加法运算 实现加法 加法运算 实现减法 减法运算 X=1: 实现减法运算
实现加法 加法运算 X=0: 实现加法运算 实现减法 减法运算 X=1: 实现减法运算
Σ
0
S'0 S'1 S'2
=A补+(-B)反+1 ( )
按位取反
B0 B1 B2 B3
1 1 1 1
Σ 进位
3
和S'
S'3
CO
1
C'
CI
借位C'为进位取反 借位 为进位取反
分析: 分析: A与B相减的结果 与采用补码相加的比较 与 相减的结果 1. A-B≥0时 时 求A-B A补 A=0101 补码相加 0101 B=0001 直接相减 A 0101 - B 0001 0100
A-B < 0 S' =(A+(-B))补 (A+(-B))原 补码再求补 =((A+(-B))补 )补
得原码
S'0 S'1 S'2 S'3
=1 =1 =1 =1
4位二进制数加法器实验
《电子线路设计、实验、测试》实验报告实验名称:4位二进制数加法器实验院系:电子信息与通信学院专业班级:电信1401班姓名:XXX学号:xxxxxx时间:地点:南一楼指导教师:2016 年 4 月 13 日4位二进制加法器实验一.实验目的1.熟悉ISE软件的使用2.熟悉并初步掌握Verilog HDL描述电路的方法3.掌握用仿真波形验证电路功能的方法4.熟悉使用ISE软件创建文件并下载到basys2开发板上的过程二.实验内容用ISE软件对4位二进制全加器实验进行仿真,采用4位二进制数加法器的数据流描述方式,由于被加数A和加数B都是4位的,而低位的进位Cin为1位,所以运算的结果可能为5位,用{Cout,Sum}拼接起来表示。
然后对其进行仿真,最后创建约束文件,生成bit文件下载到basys2开发板上,对开发板进行操作。
三.实验原理除本位两个数相加外,还要加上从低位来的进位数,称为全加器。
图1为全加器的方框图。
图2全加器原理图。
被加数Ai、加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。
能实现全加运算功能的电路称为全加电路。
全加器的逻辑功能真值表如表1中所列。
表1 全加器逻辑功能真值表图1 全加器方框图图2 全加器原理图四位全加器四位全加器如图3所示,四位全加器是由半加器和一位全加器组建而成:图3四位全加器原理图四、实验步骤与要求1.创建一个子目录,并新建一个工程项目。
2.创建一个Verilog HDL文件,并将文件添加到工程项目中并编译整个项目,查看该电路所占用的逻辑单元(Logic Elements,LE)的数量。
3.对设计项目进行时序仿真,记录仿真波形图。
4.根据FPGA开发板使用说明书,对设计文件中的输入、输出信号分配引脚。
即使用开发板上的拨动开关代表电路的输入,用发光二极管(LED)代表电路的输出。
5.重新编译电路,并下载到FPGA器件中。
改变拨动开关的位置,并观察LED灯的亮、灭状态,测试电路的功能。
加法器实验实训报告
加法器实验实训报告实验目的,通过设计和实现一个加法器电路,加深对数字电路原理和逻辑门的理解,掌握数字电路的设计和实现方法。
实验原理,加法器是一种基本的数字电路,用于将两个二进制数相加得到和。
常见的加法器有半加器、全加器和多位加法器。
在本实验中,我们将使用全加器来设计一个4位二进制加法器。
实验材料和设备:1. 逻辑门集成电路(如74LS08、74LS32等)。
2. 连线材料。
3. 电源。
4. 示波器(可选)。
实验步骤:1. 根据实验要求,确定所需的加法器类型和位数。
在本实验中,我们选择使用4位全加器。
2. 根据全加器的真值表,设计电路连接图。
全加器由两个半加器和一个或门组成,其中半加器用于计算两个输入位的和,或门用于计算进位。
3. 根据电路连接图,使用逻辑门集成电路进行实验电路的搭建。
根据需要,可以使用示波器检测电路的工作情况。
4. 进行电路的调试和测试。
输入不同的二进制数,观察输出结果是否符合预期。
可以使用示波器观察信号波形,以验证电路的正确性。
5. 记录实验数据和观察结果。
包括输入的二进制数、输出的和、进位等信息。
6. 分析实验结果。
比较实验结果与预期结果的差异,找出可能存在的问题并加以解决。
7. 撰写实验报告。
包括实验目的、原理、材料和设备、步骤、数据和结果分析等内容。
实验结果分析:根据实验数据和观察结果,我们可以得出结论,通过设计和实现一个4位二进制加法器电路,我们成功地实现了二进制数的相加操作。
电路的输出结果与预期结果一致,证明电路的设计和实现是正确的。
实验总结:通过本次实验,我们深入学习了数字电路原理和逻辑门的运作方式,掌握了数字电路的设计和实现方法。
同时,我们也了解到了加法器的工作原理和实现过程。
通过实际操作和观察,我们加深了对加法器电路的理解,并提高了实验操作和数据分析的能力。
总的来说,本次实验对我们的学习和实践能力有很大的提升,使我们更加熟悉和了解数字电路的应用。
通过这次实验,我们不仅掌握了加法器的设计和实现方法,还培养了我们的动手能力和问题解决能力。
4位全加器实验报告
4位全加器实验报告篇一:四位全加器实验报告实验一:四位全加器实验报告实验日期:学生姓名:陆小辉(学号:25)指导老师:黄秋萍加法器是数字系统中的基本逻辑器件,是构成算数运算电路的基本单元。
1位加法器有全加器和半加器两种。
多位加法器构成方式有并行进位方式和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度较快;串行进位加法器是将全加器级联构成多位加法器。
并行进位加法器通常比串行进位加法器占用更多的资源,随着位数的增多,相同位数的并行进位加法器比串行进位加法器的资源占用差距快速增大。
因此,在工程中使用加法器时,要在速度与容量之间寻求平衡。
一、设计要求:设计四位全加器,完成相应的功能。
可采用并行进位方式和串行进位方式,可采用三种常用建模方式中的任意一种。
三、测试代码如(转载自:小草范文网:4位全加器实验报告)下: module text_fulladd4; 二、设计代码如下:(此处采用数据流建模)wire [3:0]sum; module fulladd4(sum,cout,a,b,cin); wire cout; output [3:0]sum; reg [3:0]a,b; output cout; reg cin; input [3:0]a,b; fulladd4 f1(sum,cout,a,b,cin);input cin; initial assign {cout,sum}=a+b+cin; begin endmodule a=4'b0; b=4'b0; cin=1'b0; #210 $stop; end always #10 a=a+1; always #5 b=b+1; always #100 cin=cin+1;endmodule 四、仿真波形如下:续图篇二:4位全加器实验报告数电第一次实验通信1402 程杰 UXX13468【实验目的】采用ISE集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四进制全加器。
实验五 四位二进制加法计数器VHDL设计
实验五四位二进制加法计数器VHDL设计一、实验目的:进一步掌握引脚锁定、硬件下载及芯片测试方法。
掌握开发板的使用。
二、实验仪器:PC机,FPGA开发板,万用表,接线若干。
三、实验内容:1、设计内容如下两张图所示:2、注意开关如处在常态,输出值为‘1’;按下开关的输出值为‘0’。
完成上面的设计,并下载观察实验现象。
开关有抖动吗?3、将20MHz 的输入频率,分频后作为计数器的时钟。
设计电路,并下载观察实验现象。
4、管脚锁定及下载的方法如5~9。
5、选定器件。
点击QuartusII菜单Assignments下的“Device”,出现选择器件系列及器件型号选择窗口。
按照实验中所给的器件型号选择器件系列及器件型号。
(请按照开发板上实际的芯片选择芯片系列,以及芯片型号)选好器件后,重新全程编译。
6、查找管脚号。
观察开发板和外围电路。
确认电路的连接方法。
观察CLK 的管脚号,并记录。
确定数码管所接的端口,记录管脚号。
7、锁定管脚。
选择菜单Assignments下的Pins出现下图。
在Location下选择对应管脚的管脚号。
将CLK锁定在开发板规定的管脚号上。
将输出端锁定在所选定的管脚号上。
所有的引脚锁定后,再次全程编译。
8、在菜单菜单Tools下选择programmer打开编程窗口,观察箭头所指的信息。
如果显示“No Hardware”,点击左边的“Hardware Setup”,双击USB-Blaster。
如下图所示。
点击“Close”,关闭上面的窗口。
此时QUARTUSII的窗口应该为:选中Program/Configure下方的框(出现勾)。
点击左边的“Start”,开始下载。
当显示100%时,下载成功。
9、硬件测试。
观察实验现象。
适当进行操作,实验现象又是什么?四、实验报告要求:1.写出你实验时的芯片系列及芯片型号2.实验箱连接在PC机的什么口上?3.简要说明实验过程中遇到的问题,及解决方法。
运算器实验报告
运算器实验报告实验目的:通过设计和实现一个简单的运算器,掌握数字电路的基本原理和设计方法。
实验原理:运算器是计算机中的一个重要组成部分,用于实现各种算术运算和逻辑运算。
本实验将设计一个4位加法器,实现两个4位二进制数的相加操作。
实验器材:1. 电子实验箱2. 电工工具(例如:万用表、镊子、取针)3. 数字电路集成电路(例如:逻辑门电路、触发器等)4. 连接线5. 电源实验步骤:1. 准备工作:将实验箱中的电源接通,检查连接线和电路的接触是否良好。
2. 按照设计要求,连接各种逻辑门电路和触发器,组成一个4位加法器电路。
3. 将两个4位二进制数通过开关输入到运算器中。
4. 按下计算按钮,观察LED显示屏上的运算结果。
5. 验证运算结果的正确性,可以手动计算两个4位二进制数的和,与实验结果进行对比。
6. 关闭电源,拆除电路连接。
实验结果:经过多次实验,观察和验证运算结果,发现设计的运算器能够正确实现两个4位二进制数的相加操作。
实验分析:1. 通过本实验,我们深入了解了数字电路的基本原理和设计方法。
2. 通过手动计算与实验结果对比,验证了设计的运算器的正确性。
3. 实验过程中,我们发现一些可能的故障原因,例如连接线接触不良、电源故障等。
4. 在实验中,我们需要仔细操作,注意观察,以确保实验结果的准确性。
实验总结:通过本次实验,我们掌握了数字电路设计的基本方法和技巧,充分理解了数字电路的工作原理。
同时,通过验证实验结果,我们对设计的运算器的正确性进行了验证。
在今后的学习和实践中,我们将运用数字电路设计的知识,不断探索和创新,提高自身的实践应用能力。
数字逻辑4位二进制加法器实验
实验2 4位二进制加法器的设计2.1 实验目的进一步熟悉Quartus Ⅱ的基本操作方法,并利用原理图输入设计方法设计简单组合电路,掌握层次化设计的方法,通过4位全加器的设计掌握利用EDA 工具进行电子系统设计的流程。
2.2 原理提示一个4位二进制加法器可以由4个全加器构成,各全加器之间的进位以串行方式实现,即将低位的进位输出CO 与相邻的高一位全加器的进位位Ci 相连,最低进位位接“0”。
实验原理图如下。
2.3实验内容采用Quartus Ⅱ基于图形的设计方法,在实验1的基础上,按层次化结构实现4位全加器的设计。
完成原理图输入、编译、进行波形仿真验证。
(仿真时要对所有输入、输出端进行)。
2.4实验步骤(1) 为本项设计任务建立工程。
启动Quartus Ⅱ,新建一个工程,有关操作如下图。
将实验1中已设计好的原理图文件fualladd.bdf 拷贝到D:\0501\exp2下。
在实验1中fualladd.bdf 是顶层设计文件,而在本实验中,fualladd.bdf 将作为底层设计文件使用。
∑C i C o ∑C i C o ∑C i C o a 0b 0a 1b 1a 2b 2a 3b 3s 0s 1s 2s 3c o ∑C i C o 0建立本工程的顶层设计。
点击“File/New”→“Block Diagram/Schematic File”→“OK”,将Block1.dbf 另存为add4. dbf。
add4. dbf是本工程的顶层设计文件。
(2)点击“File / Open…”将fualladd.bdf 文件打开。
(3)将fualladd.bdf制作成一个符号块,以便在add4. dbf中调用。
点击“File / Create/Update / Create Symble Files For Currenf Fils”,弹出对话框(文件名一栏应出现fualladd.bsf),点击“保存”。
数电综合实验报告(3篇)
第1篇一、实验目的1. 巩固和加深对数字电路基本原理和电路分析方法的理解。
2. 掌握数字电路仿真工具的使用,提高设计能力和问题解决能力。
3. 通过综合实验,培养团队合作精神和实践操作能力。
二、实验内容本次实验主要分为以下几个部分:1. 组合逻辑电路设计:设计一个4位二进制加法器,并使用仿真软件进行验证。
2. 时序逻辑电路设计:设计一个4位计数器,并使用仿真软件进行验证。
3. 数字电路综合应用:设计一个数字时钟,包括秒、分、时显示,并使用仿真软件进行验证。
三、实验步骤1. 组合逻辑电路设计:(1)根据题目要求,设计一个4位二进制加法器。
(2)使用Verilog HDL语言编写代码,实现4位二进制加法器。
(3)使用ModelSim软件对加法器进行仿真,验证其功能。
2. 时序逻辑电路设计:(1)根据题目要求,设计一个4位计数器。
(2)使用Verilog HDL语言编写代码,实现4位计数器。
(3)使用ModelSim软件对计数器进行仿真,验证其功能。
3. 数字电路综合应用:(1)根据题目要求,设计一个数字时钟,包括秒、分、时显示。
(2)使用Verilog HDL语言编写代码,实现数字时钟功能。
(3)使用ModelSim软件对数字时钟进行仿真,验证其功能。
四、实验结果与分析1. 组合逻辑电路设计:通过仿真验证,所设计的4位二进制加法器能够正确实现4位二进制加法运算。
2. 时序逻辑电路设计:通过仿真验证,所设计的4位计数器能够正确实现4位计数功能。
3. 数字电路综合应用:通过仿真验证,所设计的数字时钟能够正确实现秒、分、时显示功能。
五、实验心得1. 通过本次实验,加深了对数字电路基本原理和电路分析方法的理解。
2. 掌握了数字电路仿真工具的使用,提高了设计能力和问题解决能力。
3. 培养了团队合作精神和实践操作能力。
六、实验改进建议1. 在设计组合逻辑电路时,可以考虑使用更优的电路结构,以降低功耗。
2. 在设计时序逻辑电路时,可以尝试使用不同的时序电路结构,以实现更复杂的逻辑功能。
电子设计(EDA)实验报告(4位二进制加法器)
电子设计(EDA)实验报告(4位二进制加法器)一、实验名称4位二进制加法器二、实验目的掌握输入编辑原理图文件的方法;掌握编译原理图文件的方法;掌握仿真原理图文件的方法;理解Quartus 2 器件编程的方法三、实验环境计算机与Quartus 2 工具软件四、实验原理图、源程序entity halfadd isport(a1,b1:in bit;s1,c1:out bit);end ;architecture a of halfadd isbeginprocess(a1,b1)begins1<=a1 xor b1 after 10ns;c1<=a1 and b1 after 10ns;end process;end a;entity orgate isport(a,b:in bit;o:out bit);end orgate;architecture a of orgate isbegino<=a or b;end a;entity fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end ;architecture a of fulladd issignal temp_s,temp_c1,temp_c2:bit; component halfaddport(a1,b1:in bit;s1,c1:out bit);end component;component orgate port(a,b:in bit;o:out bit);end component;beginu0:halfadd port map(i1,i2,temp_s,temp_c1);u1:halfadd port map(temp_s,c_in,fs,temp_c2); u2:orgate port map(temp_c1,temp_c2,c_out); end a;entity add4 isport(a,b:in bit_vector(3 downto 0);cin:in bit;fs:out bit_vector(3 downto 0);cout:out bit);end add4;architecture a of add4 issignal temp_co0,temp_co1,temp_co2:bit; component fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end component;beginu0:fulladd port map(a(0),b(0),cin,fs(0),temp_co0);u1:fulladd port map(a(1),b(1),temp_co0,fs(1),temp_co1);u2:fulladd port map(a(2),b(2),temp_co1,fs(2),temp_co2);u3:fulladd port map(a(3),b(3),temp_co2,fs(3),cout);end a;五、实验波形图及分析延迟12.08ns。
数字电路实验的实验报告(3篇)
第1篇一、实验目的1. 理解和掌握数字电路的基本原理和组成。
2. 熟悉数字电路实验设备和仪器的基本操作。
3. 培养实际动手能力和解决问题的能力。
4. 提高对数字电路设计和调试的实践能力。
二、实验器材1. 数字电路实验箱一台2. 74LS00若干3. 74LS74若干4. 74LS138若干5. 74LS20若干6. 74LS32若干7. 电阻、电容、二极管等元器件若干8. 万用表、示波器等实验仪器三、实验内容1. 基本门电路实验(1)验证与非门、或非门、异或门等基本逻辑门的功能。
(2)设计简单的组合逻辑电路,如全加器、译码器等。
2. 触发器实验(1)验证D触发器、JK触发器、T触发器等基本触发器的功能。
(2)设计简单的时序逻辑电路,如计数器、分频器等。
3. 组合逻辑电路实验(1)设计一个简单的组合逻辑电路,如4位二进制加法器。
(2)分析电路的输入输出关系,验证电路的正确性。
4. 时序逻辑电路实验(1)设计一个简单的时序逻辑电路,如3位二进制计数器。
(2)分析电路的输入输出关系,验证电路的正确性。
5. 数字电路仿真实验(1)利用Multisim等仿真软件,设计并仿真上述实验电路。
(2)对比实际实验结果和仿真结果,分析误差原因。
四、实验步骤1. 实验前准备(1)熟悉实验内容和要求。
(2)了解实验器材的性能和操作方法。
(3)准备好实验报告所需的表格和图纸。
2. 基本门电路实验(1)搭建与非门、或非门、异或门等基本逻辑电路。
(2)使用万用表测试电路的输入输出关系,验证电路的功能。
(3)记录实验数据,分析实验结果。
3. 触发器实验(1)搭建D触发器、JK触发器、T触发器等基本触发电路。
(2)使用示波器观察触发器的输出波形,验证电路的功能。
(3)记录实验数据,分析实验结果。
4. 组合逻辑电路实验(1)设计4位二进制加法器电路。
(2)搭建电路,使用万用表测试电路的输入输出关系,验证电路的正确性。
(3)记录实验数据,分析实验结果。
四位加法器实验报告
四位加法器实验报告四位加法器实验报告引言:在现代科技高速发展的时代,计算机已经成为人们生活中不可或缺的一部分。
而计算机的核心部件之一就是加法器。
加法器是计算机中用于实现加法运算的电子电路,其功能是将两个二进制数相加并输出结果。
本实验旨在通过搭建四位加法器电路,深入了解加法器的工作原理和实现方式。
一、实验目的通过本实验,我们的目的是掌握四位加法器的原理和工作方式,了解二进制数的加法运算规则,并通过实际搭建电路进行验证。
二、实验材料1. 电路板2. 电子元件:电阻、电容、晶体管等3. 电源线、导线4. 示波器、万用表等实验仪器三、实验步骤1. 搭建四位加法器电路根据实验原理,我们需要使用多个晶体管、电阻和电容等元件来搭建四位加法器电路。
首先,将电路板连接好电源线和导线,并按照电路图的要求依次连接各个元件。
确保连接正确无误后,进行下一步操作。
2. 进行加法运算在搭建好四位加法器电路后,我们可以通过输入两个二进制数并观察输出结果来进行加法运算。
将需要相加的两个二进制数输入到电路中,然后观察输出端的显示结果。
通过比对输入和输出的二进制数,可以验证加法器电路的正确性。
3. 测试电路的稳定性和可靠性在进行加法运算的过程中,我们还需要测试电路的稳定性和可靠性。
通过不断输入不同的二进制数并观察输出结果,可以检验电路在不同情况下的工作状况。
同时,还可以通过示波器等实验仪器对电路的波形进行观察和分析,进一步验证电路的性能。
四、实验结果与分析通过实验,我们成功地搭建了四位加法器电路,并进行了加法运算测试。
实验结果显示,电路能够正确地将输入的二进制数相加,并输出相应的结果。
同时,在测试电路的稳定性和可靠性时,电路表现出了较好的工作状态,波形稳定且无明显干扰。
五、实验总结通过本次实验,我们深入了解了四位加法器的工作原理和实现方式,并通过实际搭建电路进行了验证。
实验结果表明,四位加法器电路能够准确地进行二进制数的加法运算,并具备较好的稳定性和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四位二进制数的可控加法实验报告
一、实验目的。
1.了解四位二进制数运算的基本原理,制定设计方案。
2.利用ISE软件进行可编程逻辑器件设计,完成逻辑仿真功能。
3.使用编译器将设计实现,下载到BASYS2实验板上进行调试和验证所设计
的四位二进制数的运算。
二、实验器材。
1.Pentium—Ⅲ计算机一台;
2.BASYS2 实验板一只;
三、实验方案。
1.基本功能。
实现了两个四位二进制数的加减法运算,能够在输出端得出结果.
2.清零功能。
利用一个微动开关,在逻辑程序中表示出当按下微动开关后两个操作数都变为零。
再调用以前的加法程序,即可实现输出结果清零。
3.用数码管显示。
编写程序,将数值转换为七段显示器显示。
将运算结果输送到数码管中。
值得注意的是四个数码管要显示不同的数字,就需要利用到人的视觉误差,做一些短暂的延时。
4.溢出显示。
本实验中,设计的是一个无符号数加减法器,因而其共有两种溢出情况
一,减法时,减数大于被减数,针对这种情况可以利用比较大小进行溢出判断;
二,加法时,被操作数之和大于15。
判断进位,如果进位为1则显示溢出,若反之,则不显示。
四、实验原理图。
五、实验模块说明及部分代码。
1.add1部分。
将输入的两个操作数相加并判断大小。
相加结果放在led中,进位放在carry中。
led[0]=num1[0]^num2[0];
carry[0]=num1[0]&num2[0];
led[1]=num1[1]^num2[1]^carry[0];
carry[1]=(num1[1]&num2[1])|(carry[0]&(num1[1]^num2[1]));
led[2]=num1[2]^num2[2]^carry[1];
carry[2]=(num1[2]&num2[2])|(carry[1]&(num1[2]^num2[2]));
led[3]=num1[3]^num2[3]^carry[2];
if(add)
begin
carry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]));
end
if(sub)
begin
if(compare)
carry[3]=1;
else
carry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]))&(~sub);
2.seg7ment。
输入数值,用七段显示器进行显示。
case (num)
0:a_to_g=7'b0000001;
1:a_to_g=7'b1001111;
'hE:a_to_g=7'b0110000;
3.AA部分(主模块)。
实现其余功能,包括判断溢出,清零,输送显示等。
清零:
if (clr)
begin
num11=4'b0000;
num22=4'b0000;
溢出判断:
if(carry[3])
begin
an1=4'b0001;
num='hE;
六、实验中的问题及解决办法。
1.利用微动开关输入时如果利用if(x)和if(~x)来判断,按下去能显示正确结果,抬起来就会出错。
这是由于微动开关按下去是1,抬起来是0造成的。
利用几个并列的if语句对不同变量进行判断可以解决此问题,如:
if (sub)
begin
num11=sw1;
num22=~sw2+4'b0001;
end
if (add)
begin
num11=sw1;
num22=sw2;
end
if (clr)
begin
num11=4'b0000;
num22=4'b0000;
2.数码管显示,理论上若四个都被触动则会显示相同的数值,所以可每次触动一个,循环显示,利用人的视觉误差产生四个显示不同数值的效果。
3.一个变量在多个always块中被赋值会出错。
解决办法:尽量将所有的判断条件都放在一个always里面
七、实验心得体会。
1.当完全不熟悉一种编程语言时,适当参考示例代码是非常必要的。
在完成数码管显示过程中,我开始按照自己的思路编写代码,但不仅出错,而且代码冗长复杂。
后来我参考了课上老师给的示例代码,最终理清了思路。
2.在调试程序时,上板测验的过程中一点要耐心并细心,如果不知道到底哪里出错,可以先将一部分代码注释,一点一点排除错误。
3.实验过程中可以先做基础,在一点点的添加拓展内容,但需要我们理清每个模块的作用和相互之间的联系。
4.通过这次实验我还明白,一门编程语言的学习不能只看书本上的知识,而应该在学习的基础上多多应用,我之前从来没有接触过verilog,但通过这几天的不断摸索,已经对verilog有了相当一部分的了解,我想后续的学习过程,也应该多以实践为主。
5.最后非常感谢实验前老师的耐心讲解。