实验五全加器的设计及应用

实验五全加器的设计及应用
实验五全加器的设计及应用

一、实验目的

(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所示。

由真值表写逻辑表达式: 画出逻辑图,如图5-2所示:

(a )逻辑图

图5-2 半加器

实验五

全加器 的设计 及应用

0 0

0 0 1 0

1 0

0 0

1 0 1 0

0 0

图5-1

半加器框图

表5-1 半加器真值表

0 0 1 1 (b )逻辑符号

(2)全加器

能进行加数、被加数和低位来的进位信号相加, 称为全加,完成全加功能的电路为 全加器。根据求和结果给出该位的进位信号。即一位全加器有3个输入端:A (被加数)、

B i (加数)、

C i i (低位向本位的进位);2个输出端:S i (和数)、C i (向高位的进位) 下面

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

图5-3 全加器的卡诺图

3) 由卡诺图写出逻辑表达式:

如用代数法写表达式得: 即:

4) 画出逻辑图,如图5-4 (a )所示;图5-4 (b )是全加器的逻辑符号

(a )逻辑图

(b )逻辑符号

图5-4全加器

五、实验内容

1 ?利用异或门及与非门实现一位全加器,并验证其功能。

答:逻辑电路图如下:

2. 试用全加器实现四位二进制全减器。

3. 试用一片四位二进制全加器将一位 8421BCD 码转换成余3码,画出电路图,并测试 其功能。

4. 试用一片3— 8线译码器及四输入与非门设计一位全加器, 要求电路最简,画出设计

电路图,并测试其功能。

5?试用74LS86组成二个四位二进制数的比较电路,要求两数相等时其输出为“ 1” , 反之为“ 0”。

6.试用双四选一数据选择器和与非门分别构成全加器及全减器,写出表达式,画出逻 辑图,要求

电路最简,并测试其功能。

六、实验报告及要求

1 ?在熟知实验基本原理的基础上,实验报告中要简明阐述实验原理 2.整理实验结果、图表,并对实验结果进行分析讨论

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

表5-2 全加器真值表

从表5-2 器中

包含着

0时,不 的进

位,就是 全加器中C i ! 值可为0或1。

2)画出

图,如图5-3

全加器

中看出,全加 半加器,当 考虑低位来 半加器。而在 是个变量,其

S 、C i 的卡诺

所示。

(b ) C i

(a ) S

3.总结组合逻辑电路的设计方法。

半加器全加器的工作原理和设计方法实验报告[精品文档]

一、实验目的 1、学习和掌握半加器全加器的工作原理和设计方法。 2、熟悉EDA工具Quartus II的使用,能够熟练运用Vrilog HDL语言在 Quartus II下进行工程开发、调试和仿真。 3、掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法, 掌握层次化设计方法。 4、掌握半加器、全加器采用不同的描述方法。 二、实验内容 1、完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等。并将半加器电路设 置成一个硬件符号入库 2、建立更高层次的原理图设计,利用1位半加器构成1位全加器,并完成编译、综合、适配、仿 真并硬件测试 3、采用图形输入法设计1位加法器分别采用图形输入和文本输入方法,设计全加器 4、实验报告:详细叙述1位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图, 给出加法器的上时序分析情况,最后给出硬件测试流程和结果。 三、实验步骤 1、建立一个Project。 2、编辑一个VHDL程序,要求用VHDL结构描述的方法设计一个半加器 3、对该VHDL程序进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真 四、实验现象 任务1:半加器真值表描述方法 代码如下: 半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路 S=A B+A B CO=AB

代码如下: LIBRARY IEEE; --行为描述半加器 USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(a,b:IN STD_LOGIC; so,co:OUT STD_LOGIC); END h_adder; Architecture FH1 OF h_adder IS Signal abc:STD_LOGIC_vector(1 downto 0); Begin abc<=a&b; --并 Process(abc) --进程 begin case abc is WHEN "00"=>SO<='0';CO<='0'; WHEN "01"=>SO<='1';CO<='0'; WHEN "10"=>SO<='1';CO<='0'; WHEN "11"=>SO<='0';CO<='1'; WHEN OTHERS =>NULL; END CASE; END PROCESS; END ARCHITECTURE FH1; 结果如下: 逻辑图

4位全加器实验报告

四位全加器 11微电子黄跃21 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

个工程项目adder_4bit。 建立文本编辑文件: 点击File→New在该项目下新建Verilog源程序文件 并且输入源程序。 (2)编译和仿真工程项目: 在verilog主页面下,选择Compile— Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。 选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。 在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。 四位全加器 1、原理图设计 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【仿真和测试结果】 下图为四位全加器的仿真图:

一位全加器VHDL的设计实验报告

EDA技术及应用实验报告 ——一位全加器VHDL的设计 班级:XXX 姓名:XXX 学号:XXX

一位全加器的VHDL设计 一、实验目的: 1、学习MAX+PLUSⅡ软件的使用,包括软件安装及基本的使用流程。 2、掌握用VHDL设计简单组合电路的方法和详细设计流程。 3、掌握VHDL的层次化设计方法。 二、实验原理: 本实验要用VHDL输入设计方法完成1位全加器的设计。1位全加器可以用两个半加器及一个或门连接构成,因此需要首先完成半加器的VHDL设计。采用VHDL层次化的设计方法,用文本编辑器设计一个半加器,并将其封装成模块,然后在顶层调用半加器模块完成1位全加器的VHDL设计。 三、实验内容和步骤: 1、打开文本编辑器,完成半加器的设计。 2、完成1位半加器的设计输入、目标器件选择、编译。

3、打开文本编辑器,完成或门的设计。 4、完成或门的设计输入、目标器件选择、编译。 5、打开文本编辑器,完成全加器的设计。

6、完成全加器的设计输入、目标器件选择、编译。 7、全加器仿真 8、全加器引脚锁定

四、结果及分析: 该一位加法器是由两个半加器组成,在半加器的基础上,采用元件的调用和例化语句,将元件连接起来,而实现全加器的VHDL编程和整体功能。全加器包含两个半加器和一或门,1位半加器的端口a和b分别是两位相加的二进制输入信号,h是相加和输出信号,c是进位输出信号。构成的全加器中,A,B,C分别是该一位全加器的三个二进制输入端,H是进位端,Ci是相加和输出信号的和,下图是根据试验箱上得出的结果写出的真值表: 信号输入端信号输出端 Ai Bi Ci Si Ci 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.掌握串行进位加法器的逻辑原理 3.进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验内容 1.采用VHDL语言设计四位串行进位的加法器 2.采用画原理图的方法设计四位串行进位加法器 三、实验步骤 1、使用VHDL语言设计 1.打开File—>New Project Wizard输入文件名adder4保存在D盘内,打开File—>New—>VHDL File,从模版中选择库的说明,use语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后保存、编译。打开File—>New—>Other File—>Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。从Assignments—>Settings—>Simulator Settings —>Functional 然后Processing—>Generate Functional Simnlation Netlist —>确定。选择Start Simulation保存最后的波形图,打开File —>close关闭工程。 底层文件: LIBRARY ieee;

USE fadder IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=a xor b xor cin; co<=((a xor b)and cin)or(a and b); END arc1; 顶层文件: LIBRARY ieee; USE adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); c4 : OUT STD_LOGIC );

实验二 组合逻辑电路(半加器、全加器)

《数字电子技术B》实验报告 班级:姓名学号: 实验二组合逻辑电路(半加器、全加器) 一、实验目的 1.掌握组合逻辑电路的功能测试。 2.验证半加器和全加器的逻辑功能。 3.学会二进制数的运算规律。 二、实验仪器及材料 74LS00 二输入端四与非门 3片 74LS86 二输入端四异或门 1 片 74LS54 四组输入与或非门 1片 三、实验内容(如果有可能,附上仿真图) 1.组合逻辑电路功能测试。 (1).用2片74LS00组成图2.1所示逻辑电路。为便于接线和检查,在图中要注明芯片编号及各引脚对应的编号。 (2).图中A、B、C接电平开关,Y1,Y2接发光管电平显示。 (3).接表2.1要求,改变A、B、C的状态填表并写出Y1,Y2逻辑表达式。 (4).将运算结果与实验比较。 表2.1

Y1=A+B Y2=(A’*B)+(B’*C) 2.测试用异或门(74LS86)和与非门组成的半加器的逻辑功能。 根据半加器的逻辑表达式可知,半加器Y是A、B的异或,而进位Z是A、B相与,故半加器可有一个集成异或门和二个与非门组成如图2.2。 图2.2 (1).在实验仪上用异或门和与门接成以上电路。A、B接电平开关K,Y,Z接电平显示。(2).按表2.2要求改变A、B状态,填表。 表2.2 3. (1).写出图2.3电路的逻辑表达式。 (2).根据逻辑表达式列真值表。

表2.3 (5)按原理图选择与非门并接线进行测试,将测试结果记入表2.4,并与上表进行比较看逻辑功能是否一致。 4. 测试用异或、与或和非门组成的全加器的逻辑功能。 全加器可以用两个半加器和两个与门一个或门组成,在实验中,常用一块双异或门、一个与或非门和一个与非门实现。 (1).画出用异或门、与或非门和非门实现全加器的逻辑电路图,写出逻辑表达式。 (2).找出异或门、与或非门和与门器件按自己画出的图接线。接线时注意与或非门中不用的与门输入端接地。 (3).当输入端A i、B i及C i-1为下列情况时,用万用表测量S i和C i的电位并将其转为逻辑状态填入下表。 表2.4

FPGA一位全加器设计实验报告

题目:1位全加器的设计 一.实验目的 1.熟悉QUARTUSII软件的使用; 2.熟悉实验硬件平台的使用; 3.掌握利用层次结构描述法设计电路。 二.实验原理 由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实 验箱上SW0,SW1,SW2键作为输入,并将输 入的信号连接到红色LED管 LEDR0,LEDR1,LEDR2上便于观察,sum,cout 信号采用绿色发光二极管LEDG0,LEDG1来 显示。 三.实验步骤 1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6; 2.新建Verilog语言文件,输入如下半加器Verilog语言源程序; module half_adder(a,b,s,co); input a,b; output s,co; wire s,co; assign co=a & b; assign s=a ^ b; Endmodule 3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。 其初始值、功能仿真波形和时序仿真波形分别如下所示

4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块; 5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。并将输入ain,bin,cin连接到FPGA的输出端,便于观察。完成后另保存full_adder。 电路图如下 6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

4位全加器实验报告.doc

四位全加器 11微电子黄跃1117426021 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】 全加器 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图4为全 加器的方框图。图5全加器原理图。被加数A i 、加数B i 从低位向本位进位C i-1 作 为电路的输入,全加和S i 与向高位的进位C i 作为电路的输出。能实现全加运算 功能的电路称为全加电路。全加器的逻辑功能真值表如表2中所列。 信号输入端信号输出端 A i B i C i S i C i 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

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

实验一1位二进制全加器的设计

龙岩学院实验报告 班级学号姓名同组人 实验日期室温大气压成绩 实验题目:基于原理图输入法的1位二进制全加器的设计 一、实验目的 1、学习、掌握QuartusⅡ开发平台的基本使用。 2、学习基于原理图输入设计法设计数字电路的方法,能用原理图输入设计法 设计1位二进制半加器、1位二进制全加器。 3、学习EDA-V型实验系统的基本使用方法。 二、实验仪器 装有QuartusⅡ软件的计算机一台、EDA系统实验箱、导线若干 三、实验原理 半加器只考虑两个1位二进制数相加,而不考虑低位进位数相加。半加器的逻辑函数 为 式中A和B是两个相加的二进制数,S是半加和,C是向高位的进位数。表1为半加器真值表。 表1 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 显然,异或门具有半加器求和的功能,与门具有进位功能。 其逻辑图跟逻辑符号如下图:

全加器除了两个1位二进制数相加以外,还与低位向本位的进位数相加。表2为全加器的真值表。 表2 A i B i C I-1 C i S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 由真值表可得出逻辑函数式 式中,A i 和B i 是两个相加的1为二进制数,C i-1 是由相邻低位送来的进位数, S I 是本位的全加和,C I 是向相邻高位送出的进位数。其逻辑图跟逻辑符号如下图所示: 四、实验内容 1、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图(最终设计的是1位二进制全加器)。

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

八位加法器设计实验报告

实验四:8位加法器设计实验 1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。 2.实验原理:一个八位加法器可以由八个全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。 1)编译成功的半加器程序: module h_adder(a,b,so,co); input a,b; output so,co; assign so=a^b; assign co=a&b; endmodule 2)编译成功的全加器程序: module f_adder(ain,bin,cin,cout,sum); output cout,sum;input ain,bin,cin; wire net1,net2,net3; h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));

or u3(cout,net2,net3); endmodule 3)编译成功的八位加法器程序: module f_adder8(ain,bin,cin,cout,sum); output [7:0]sum; output cout;input [7:0]ain,bin;input cin; wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6; f_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]) ,.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1 ]),.cout(cout1)); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2 ]),.cout(cout2)); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3 ]),.cout(cout3)); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4

半加器全加器的工作原理和设计方法实验报告样本

一、实验目 1、学习和掌握半加器全加器工作原理和设计办法。 2、熟悉EDA工具Quartus II使用,可以纯熟运用Vrilog HDL语言在 Quartus II下进行工程开发、调试和仿真。 3、掌握组合逻辑电路在Quartus Ⅱ中图形输入办法及文本输入办法, 掌握层次化设计办法。 4、掌握半加器、全加器采用不同描述办法。 二、实验内容 1、完毕半加器全加器设计,涉及原理图输入,编译、综合、适配、仿真等。并将半加器电路设 置成一种硬件符号入库 2、建立更高层次原理图设计,运用1位半加器构成1位全加器,并完毕编译、综合、适配、仿真 并硬件测试 3、采用图形输入法设计1位加法器分别采用图形输入和文本输入办法,设计全加器 4、实验报告:详细论述1位全加法器设计流程,给出各层次原理图及其相应仿真波形图,给出加 法器上时序分析状况,最后给出硬件测试流程和成果。 三、实验环节 1、建立一种Project。 2、编辑一种VHDL程序,规定用VHDL构造描述办法设计一种半加器 3、对该VHDL程序进行编译,修改错误。 4、建立一种波形文献。(依照真值表) 5、对该VHDL程序进行功能仿真和时序仿真 四、实验现象

任务1:半加器真值表描述办法 代码如下: 半加器是只考虑两个加数自身,而不考虑来自低位进位逻辑电路 S=A B+A B CO=AB 代码如下: LIBRARY IEEE ; --行为描述半加器 USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(a,b:IN STD_LOGIC; so,co:OUT STD_LOGIC); END h_adder ; Architecture FH1 OF h_adder IS Signal abc:STD_LOGIC_vector(1 downto 0); Begin abc<=a&b ; --并 Process(abc) --进程 begin case abc is 逻辑图 半加器真值表 A i B i S i C i 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1

数电实验报告半加全加器

实验二 半加/减器与全加/减器 一、 实验目的: (1) 掌握全加器和半加器的逻辑功能。 (2) 熟悉集成加法器的使用方法。 (3) 了解算术运算电路的结构。 二、 实验设备: 1、 74LS00 (二输入端四与非门) 2、 74LS86 (二输入端四异或门) 3、 数字电路实验箱、导线若干。 Ver 4B 4A 4¥ 3B 3A 3Y 1A IB !Y 2A 2B 2Y GND (74LS86引脚图) 三、 实验原理: 两个二进制数相加,叫做半加,实现半加操作的电路,称为半加器。 A 表示 被加数,B 表示加数,S 表示半加和,Co 表示向高位的进位。 全加器能进行加数、被加数和低位来的信号相加,并给出该位的进位信号以 及和。 四、 实验内容: 用74LS00和74LS86实现半加器、全加器的逻辑电路功能。 (一)半加器、半减器 M=0寸实现半加,M=1时实现半减,真值表如下: (74LS00引脚 )

功能M A B S C 半加00000 00110 01010 01101 半减10000 10111 11010 11100 —s +/- ——co M (半加器图形符号) 2、 ⑴S真值表: 00011110 00110 11001 A ⑵C真值表: 00011110 00000 10101 C 二B(A二M)

(二)全加器、全减器 S CO C^BC i-1 ?(M 十 A )(B 十 C ) 、实验结果 半加器: S 二 AB AB = A 二 B C =B (A 二 M ) 全加器: S = A 二 B - C i-1 G 二GM C 2M CI B +/一

杭电计组实验1-全加器设计实验

杭电计组实验1-全加器设计实验 杭州电子科技大学计算机学院实验报告实验项目:实验1-全加器设计实验课程名称:计算机组成原理与系统结构课程设计姓名: 学号: 同组姓名: 学号: 实验位置(机号): 自己的笔记本实验日期: 指导教师: 实验内容(算法、程序、步骤和方法)一、实验目的(1),学习ISE工具软件的使用及仿真方法(2)学习FPGA程序的下载方法(3)熟悉Nexys3实验板(4)掌握运用VerilogHDL进行结构描述与建模的技巧和方法(5)掌握二进制全加器的原理和设计方法二、实验仪器ISE工具软件三、步骤、方法(1)启动XilinxISE 软件,选择File-NewProject,输入工程名,默认选择后,点击Next按钮,确认工程信息后点击Finish按钮,创建一个完整的工程。 (2)在工程管理区的任意位置右击,选择NewSource命令。弹出NewSourceWizard对话框,选择VerilogModule,并输入Verilog文件名shiyan1,点击Next按钮进入下一步,点击Finish完成创建。 (3)编辑程序源代码,然后编译,综合;选择Synthesize--XST项中的CheckSyntax右击选择Run命令,并查看RTL视图;如果编译出错,则需要修改程序代码,直至正确。 (4)在工程管理区将View类型设置成Simulation,在任意位置右击,选择NewSource命令,选择VerilogTestFixture选项。输入文件名shiyan1_test,点击Next,点击Finish,完成。编写激励代码,观察仿真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至正确。 (5)由于实验一并未链接实验板,所以后面的链接实验板的步骤此处没有。 操作过程及结果一、操作过程实验过程和描述: moduleshiyan1(A,B,C,F,Ci);inputA,B,C;outputF,Ci;wireA,B,C,F,Ci;wi reS1,S2,S3;xorXU1(F,A,B,C),XU2(S1,A,B);andAU1(S2,A,B),AU2(S3,S1,C);or OU1(Ci,S2,S3);endmodule仿真代码 moduleshiyan1_test;//InputsregA;regB;regC;//OutputswireF;wireCi;/ /InstantiatetheUnitUnderTest(UUT)shiyan1uut(.A(A),.B(B),.C(C),.F(F),. Ci(Ci));initialbegin//InitializeInputsA=0;B=0;C=0;//Wait100nsforgloba lresettofinish#100;//AddstimulushereA=0;B=0;C=0;#100A=0;B=0;C=1;#100A =0;B=1;C=0;#100A=0;B=1;C=1;#100A=1;B=0;C=0;#100A=1;B=0;C=1;#100A=1;B= 1;C=0;#100A=1;B=1;C=1;EndRTL图 二、结果 思考题: ((1)根据查看顶层模块RTL的最外层的输入输出接口,和实验指导书式(14.1)所示电路相比,该电路图的输入输出引脚和这个加法器的引脚图式是相符合的。 ((2))尝试使用数据流描述方式现实现

全加器实验报告

全加器设计实验报告 姓名: 班级: 学号:

实验目的: 1.熟悉QuartusⅡ原理图设计流程,学习简单电路的设计方法、输入步骤、层次化步骤。 2.掌握QuartusII的文本输入方式的设计过程,理解VHDL语言的结构级描述方法,学习元件例化语句的设计方法。 实验原理:一位全加器可以用两个半加器及一个或门连接而成。要求使用原理图输入的方法先进行底层半加器设计,再建立上层全加器设计文件,调用半加器和或门符号,连线完成原理图设计。 全加器可以用两个半加器和一个或门连接而成,在半加器描述的基础上,采用COMPONENT语句和PORT MAP语句就可以很容易地编写出描述全加器的程序。 一.原理图 1.半加器 实验步骤 1.打开Quartus Ⅱ软件,选择新建命令,在新建对话框中选择原理图文件编辑输入项,完成新建进入原理图编辑窗口。 2.在原理图编辑窗口任意位置右击鼠标,将出现快捷菜单,选择其中的输入元件项insert symbol,按照所设计的电路,放置器件,排版,连线,完成设计后选择另存为命令,命名为h_adder存放在指定文件夹中。

3.完成半加器的设计后,重复新建命令,开始进行全加器设计,在新建的原理图中,双击鼠标,在弹出的窗口中选择project选项,将之前存入的h_adder元件,放入原理图中。 2.全加器 实验步骤 1.新建工程,在新建的工程中建立VHDL语言编辑文件,在编辑窗口处,输入设计的半加器全加器程序。 2.将设计好程序进行编译,没有错误之后定义全加器五个引脚所对应耳朵硬件电路的引脚号。 3.烧录程序,调试,验证程序是否合理。

二.程序

实验一 4位全加器的设计

实验一4位全加器的设计 一、实验目的: 1 熟悉QuartusⅡ与ModelSim的使用; 2 学会使用文本输入方式和原理图输入方式进行工程设计; 3 分别使用数据流、行为和结构化描述方法进行四位全加器的设计; 4 理解RTL视图和Technology Map视图的区别; 5 掌握简单的testbench文件的编写。 二、实验原理: 一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。 三、实验内容: 1.QuartusII软件的熟悉 熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本第4章的内容,重点掌握层次化的设计方法。 2.设计1位全加器原理图 设计的原理图如下所示:

VHDL源程序如下(行为描述):-- Quartus II VHDL Template -- Unsigned Adder library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity f_add is port ( a : in std_logic; b : in std_logic; ci : in std_logic; y : out std_logic; co : out std_logic ); end entity; architecture rtl of f_add is begin (co,y)<=('0',a)+('0',b)+('0',ci); end rtl;

实验一 半加器和全加器的设计

实验一 半加器和全加器的设计 一、 实验目的 1、掌握图形的设计方式; 2、掌握自建元件及调用自建元件的方法; 3、熟练掌握MAXPLUS II 的使用。 二、实验内容 1、熟练软件基本操作,完成半加器和全加器的设计; 2、正确设置仿真激励信号,全面检测设计逻辑; 3、综合下载,进行硬件电路测试。 三、实验原理 1、半加器的设计 半加器只考虑了两个加数本身,没有考虑由低位来的进位。 半加器真值表: 半加器逻辑表达式:B A B A B A S ⊕=+=;AB C = LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT( A:IN STD_LOGIC; B:IN STD_LOGIC;

SO:OUT STD_LOGIC; CO:OUT STD_LOGIC ); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder IS BEGIN SO <= A XOR B; CO <= A AND B; END ARCHITECTURE fh1; A:60ns B:30ns 2.全加器的设计 全加器除考虑两个加数外,还考虑了低位的进位。全加器真值表:

全加器逻辑表达式: 1-⊕⊕=i i i i C B A S ;AB C B A C i i i i +⊕=-1)( 3、利用半加器元件完成全加器的设计 (1)图形方式 其中HADDER 为半加器元件。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS PORT(ain,bin,cin:IN STD_LOGIC; cout,sum:out STD_LOGIC); END ENTITY f_adder; ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder PORT( A:IN STD_LOGIC; B:IN STD_LOGIC;

四位全加器

《计算机组成原理》 实验报告 题目:四位全加器的设计与实现 1、实验内容 四位全加器的设计与实现。 2、实验目的与要求 利用MAX+plusII实现四位全加器并且验证实验内容。

3、实验环境 MAX+plus II 10.1 4、设计思路分析(包括需求分析、整体设计思路、概要设计) 一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 半加器描述: 5、详细设计 A) 半加器设计: 1)新建一个设计文件,使用原理图设计方法设计。 2)将所需元件全部调入原理图编辑窗,所需元件依次为:input 2个;output 2个;and2 1个;xnor 1个;not 1个。 3)依照下图连接好各元件 4)保存为h-adder将当前设计文件设置成工程文件。 5)编译

B) 一位全加器的实现: 1)一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL描述。. 2)依照以下原理图连接好全加器: 其中有两个原件(h-adder)为刚刚设计好的半加器.其他原件为:input 3个, output 2个, or2 1个. 3)保存为f-adder设置成工程文件并选择目标器件为EPF10K20TC144.4 4)编译 C) 四位全加器的实现 1) 4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。 2) 依照以下原理图连接好全加器。、

其中有四个元件为一位全加器(f-adder),其余为九个input元件;五个output 元件。、 4)编译通过。 6、实验结果与分析 1)建立波形图进行半加器、一位全加器和四位全加器的波形观察, 2)设定仿真时间为60.0us。 3)运行仿真器得到下面波形图: 半加器:

组合逻辑电路的设计及半加器、全加器

实验四组合逻辑电路的设计及半加器、全加器 一、实验目的 1.掌握组合逻辑电路的设计与测试方法 2.掌握半加器、全加器的工作原理。 二、实验原理和电路 1、组合逻辑电路的设计 使用中、小规模集成电路来设计组合电路是最常见的逻辑电路。设计 组合电路的一般步骤如图1.4.1所示。 图1.4.1 组合逻辑电路设计流程图 根据设计任务的要求建立输入、输出变量,并列出真值表。然后用逻辑代数或卡诺图化简法求出简化的逻辑表达式。并按实际选用逻辑门的类型修改逻辑表达式。根据简化后的逻辑表达式,画出逻辑图,用标准器件构成逻辑电路。最后,用实验来验证设计的正确性。 1.半加器 根据组合电路设计方法,首先列出半加器的真值表,见表1.4.1。 写出半加器的逻辑表达式 S=AB+AB=A⊕B C=AB 若用“与非门”来实现,即为 半加器的逻辑电路图如图1.4.2所示。 在实验过程中,我们可以选异或门74LS86及与门74LS08实现半加器的逻辑功能;也可用全与非门如74LS00反相器74LS04组成半加器。

(a)用异或门组成的半加器 (b )用与非门组成的半加器 图1.4.2 半加器逻辑电路图 2.全加器 用上述两个半加器可组成全加器,原理如图1.4.3所示。 图1.4.3由二个半加器组成的全加器 表1.4.2 全加器逻辑功能表 表1.4.1 半加器逻辑功能 三、实验内容及步骤 1.测试用异或门(74LS86)和与非门组成的半加器的逻辑功能。 根据半加器的逻辑表达式可知,相加的和Y 是A 、B 的异或,而进位Z 是A 、B 相与,故半加器可用一个集成异或门和二个与非门组成如图1.4.4。 图1.4.4 用一个集成异或门和二个与非门组成半加器 ⑴ 在实验仪上用异或门和与门接成以上电路。A 、B 接逻辑开关,Y 、Z 接发光二极管显示。 ⑵ 按表1.4.3要求改变A 、B 状态,将相加的和Y 和进位Z 的状态填入下表中。 表1.4.3 ⑴写出图1.4.5电路的逻辑表达式。S i = C i = ⑵根据逻辑表达式列真值表,并完成表1.4.4,实验证之。 ⑶根据真值表画逻辑函数SiCi 的卡诺图。完成图1.4.6

四位全加器实验报告

《四位全加器》实验报告 题目:___ ____ 学号:___ _____姓名:____ _______ 教师:____ ____

1、实验内容 四位全加器的设计与实现。 2、实验目的与要求 利用MAX+plusII实现四位全加器并且验证实验内容。 3、实验环境 MAX+plus II 10.1 4、设计思路分析(包括需求分析、整体设计思路、概要设计) 一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 半加器描述: 根据半加器真值表可以画出半加器的电路图。 a b so Co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 5、详细设计 A) 半加器设计: 1)新建一个设计文件,使用原理图设计方法设计。 2)将所需元件全部调入原理图编辑窗,所需元件依次为:input 2个;output 2个;and2 1个;xnor 1个;not 1个。 3)依照下图连接好各元件

4)保存为h-adder将当前设计文件设置成工程文件。 5)编译 B) 一位全加器的实现: 1)一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL描述。. 2)依照以下原理图连接好全加器: 其中有两个原件(h-adder)为刚刚设计好的半加器.其他原件为:input 3个, output 2个, or2 1个. 3)保存为f-adder设置成工程文件并选择目标器件为EPF10K20TC144.4 4)编译 C) 四位全加器的实现 1) 4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。 2) 依照以下原理图连接好全加器。、

组合逻辑电路(半加器全加器及逻辑运算) 实验报告

电子通信与软件工程系2013-2014学年第2学期 《数字电路与逻辑设计实验》实验报告 --------------------------------------------------------------------------------------------------------------------- 班级:姓名:学号:成绩: 同组成员:姓名:学号: ---------------------------------------------------------------------------------------------------------------------一、实验名称:组合逻辑电路(半加器全加器及逻辑运算) 二、实验目的:1、掌握组合逻辑电路的功能调试 2、验证半加器和全加器的逻辑功能。 3、学会二进制数的运算规律。 三、实验内容: 1.组合逻辑电路功能测试。 (1).用2片74LS00组成图4.1所示逻辑电路。为便于接线和检查.在图中要注明芯片编号及各引脚对应的编号。 (2).图中A、B、C接电平开关,YI,Y2接发光管电平显示. (3)。按表4。1要求,改变A、B、C的状态填表并写出Y1,Y2逻辑表达式.(4).将运算结果与实验比较. 2.测试用异或门(74LS86)和与非门组成的半加器的逻辑功能.根据半加器的逻辑表达

式可知.半加器Y是A、B的异或,而进位Z是A、B相与,故半加器可用一个集成异或门和二个与非门组成如图4.2. (1).在学习机上用异或门和与门接成以上电路.接电平开关S.Y、Z接电平显示.(2).按表4.2要求改变A、B状态,填表. 3.测试全加器的逻辑功能。 (1).写出图4.3电路的逻辑表达式。 (2).根据逻辑表达式列真值表. (3).根据真值表画逻辑函数S i 、Ci的卡诺图. (4).填写表4.3各点状态 (5).按原理图选择与非门并接线进行测试,将测试结果记入表4.4,并与上表进行比较看逻辑功能是否一致.

实验一1 1位全加器的设计

实验一1位全加器的设计 一、实验目的 1.熟悉ISE软件的使用; 2.熟悉下载平台的使用; 3.掌握利用层次结构描述法设计电路。 二、实验原理及说明 由数字电路知识可知,一位全加器可由两个一位半加器与一个或门构成,其原理图如图1所示。该设计利用层次结构描述法,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验板,其中a,b,cin 信号可采用实验箱上SW0,SW1,SW2键作为输入,输出sum,cout信号采用发光二极管LED3,LED2来显示。 图1 全加器原理图 三、实验步骤 1.在ISE软件下创建一工程,工程名为full_adder,工程路径在E盘,或DATA盘, 并以学号为文件夹,注意不要有中文路径,注意:不可将工程放到默认的软件安装 目录中。芯片名为Spartan3E系列的XC3S500E-PQG208 2.新建Verilog HDL文件,首先设计半加器,输入如下源程序; module half_adder(a,b,s,co); input a,b; output s,co;

wire s,co; assign co=a & b; assign s=a ^ b; endmodule 3.保存半加器程序为half_adder.v,通过HDL Bench画仿真波形,获得仿真用激励文 件,随后进行功能仿真、时序仿真,验证设计的正确性,观察两种仿真波形的差异。 4.在Design窗口中,选择Design Utilities→Create Schematic Symbol创建半加器模 块; 5.新建一原理图(Schematic)文件,在原理图中调用两个半加器模块、一个或门模块, 按照图1所示连接电路,并连接输入、输出引脚。完成后另保存full_adder.sch。 6.对设计进行综合,如出现错误请按照错误提示进行修改。 7.HDL Bench画仿真波形,获得仿真用激励文件,分别进行功能与时序仿真,验证全 加器的逻辑功能,观察两类波形的差异。 8.根据下载板的情况锁定引脚 9.下载,采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察的LED2,LED3, 亮灭情况,验证全加器的逻辑功能。 四、思考题 1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder? 2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别? 3.为什么要进行引脚锁定? 4.采用层次结构法描述电路有什么样的优点?

相关文档
最新文档