加法器设计实验报告全

时间:2024.4.20

重  庆   XXXX

 实   验  报  告

课 程 名 称: 电  子  电  路  基  础  实  验

实 验 名 称: 加  法  器  设  计

实 验 类 型:设    计                 学 时:  学  时

系       别:物理与电子工程学院   专 业:电子信息工程

年 级 班 别:09级电信2班        学 期:20##—2011上

  学 生 姓 名:xxx                学 号:20090701xxx

实 验 教 师:xxx                 成 绩:

                                     日期:20##年12月2日

实验七: 加法器设计

一  实验目的

1) 研究集成运放对输出电压的影响

2) 进一步熟悉集成运放的性能指标

3) 掌握运算放大器的正确使用方法

4) 掌握基本运算电路的设计方法

5) 熟悉multisim软件的使用

二  实验仪器

示波器  信号源  直流稳压源  交流电源  交流表

三  实验器件

集成运放HA17741     10k,20k,电阻    导线   

四  实验原理

集成运放能构成各种运算电路,在运算电路中,以输入电压作为自变量,以输出电压作为函数;当输入电压变化时,输出电压将按一定的数学规律变化,即输出电压反映输入电压某种运算的结果。为了稳定输出电压,均引入电压负反馈。由此可见,运算电路的特征是从集成运放的输出端到其反向输出端存在的反馈通路。由于集成运放优良的指标参数,不管引入电压串联负反馈还是电压并联负反馈,均为深度负反馈。因此电路是利用反馈网络和输入网络来实现各种数学运算的。

本实验要求设计加法器,所以设计同向求和运算电路。当多个输入信号同时作用于集成运放的同相输入端时,就构成同相求和运算电路。

值得注意的是,在多级运算电路的分析中,因为各级电路的输出电阻均为零,具有恒压特性,所以后级电路虽然是前级电路的负载,但是不影响前级电路的运算关系,故而对每级电路的分析和单级电路完全相同。

   如图所示,运放A1的组态为电压串联负反馈,运放A2的组态也为电压串联负反馈。, 都为运放A1的输入电压,运放A1的输出电压为,则为运放A2的输入电压。Uo为电路的输出电压。

   加法器的运算关系如下所示

  

由于要保证集成运放输入级差分放大电路的对称性

  

五  实验电路

六  实验内容

1) 电路图

按照实验电路图连接实验电路。运算放大器HA17741的工作电压为+12V和-12V。电阻阻值分别为R1=20K,R2=10K,R3=10K,R4=20K,R5=10K,R6=20K,R7=20K;  

即得到

         

2)输入信号,并调节电路满足关系式

  分别输入交流和交流信号,直流和直流信号,直流和交流信号。调节频率,验证输出电压是否满足.满足关系式后测量并记录数据(每种信号测量10组数据)。

实验中应注意:输入两个交流信号时应使两个信号频率相同(使用滑动变阻器分压原理可以得到两个同频率信号)。

七   实验数据记录及处理

                               交流+交流

交流+直流

直流+直流

七  误差分析

    在我们的运算电路中,计算各运算关系都是认为集成运放为理想运放。而实际上,当利用运放构成运算电路时,由于开环差模增益、差模输入电阻和共模抑制比为有限值,且输入失调电压、失调电流以及它们的温漂均不为零,必然造成误差.对于同相比例运算电路,在输入差模信号的同时伴随着共模信号的输入,因此共模抑制比成为影响运算误差的重要因素。开环差模增益和共模抑制比愈大,相对误差的数值愈小;应当指出,运算电路的运算误差不仅来源于集成运放非理想的指标参数,还取决于其他元器件的精度及电源电压的稳定性等,还有就是在测量时的读数误差。因此,为了提高集成运放的精度,除了应选择高质量的集成运放外,还应合理选择其他元器件,提高电源电压的稳定性,减小环境温度的变化,抑制干扰和噪声,精心设计电路等。

八  实验总结

在我们模电理论课的基础上,通过自己对集成运放电路的理解和学习。设计出电路。现在我相信,无论做什么事只要坚持不懈,一定会成功的。付出了不一定会有收获,努力了就一定会有回报。这次实验让我进一步熟悉了焊接技术和multisim软件使用。希望能有更多的机会学习更多的知识。


第二篇:8位加法器设计


目   录

第1章 概述.............................................................................. 1

第2章 设计总体思路.............................................................. 3

第3章 单元电路设计.............................................................. 5

3.1 八位二进制加法器....................................................... 5

3.2 译码显示电路............................................................... 8

第4章 波形仿真结果分析..................................................... 11

第5章 安装调试步骤............................................................ 12

第6章 故障分析与改进......................................................... 13

第7章 心得体会.................................................................... 14

参考文献................................................................................. 15

附录:整体电路图.................................................................. 16

第1章 概述

随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。

EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

VHDL系统优势:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 (5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

本次EDA课程设计主要利用VHDL语言进行编程。VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

第2章 设计总体思路

基本原理:调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现加法器功能,从而不用去编写全加器,即程序尽量简单化。并用函数CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在数码管上显示出来。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。进程process(p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。

一个简单加法器,能够实现加法运算并显示结果,在按键控制下,由开关变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显示,按下加法按键后,以十进制方式显示结果。

根据要求首先加法器中必须有二进制(8位)转换成十进制电路,其次加法器中需要用开关变量来控制加数和被加数的输入,再次输入的二进制加数和被加数必须经过转换成十进制后显示,最后加法完成结果以十进制显示。其二进制(8位)全为1时转换成十进制表示为255,先设三位分别表示十进制数的百位、十位和个位。将二进制数分别减去100的二进制数,循环直至二进制数小于100,百位循环一次加一,根据同样的道理得出十位和个位。

加数和被加数的输入和显示,利用高低电平控制显示器,当电平为高电平时显示加数和被加数的和,利用选择器来分别选择输出显示,当低电平时分别显示输入的二进制加数和被加数。

    加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。多位加法器的构成有两种方式:并行进位和串行进位。并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。并行进位加法器通常比串行级联加法器占用更多的资源。随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

程序总体设计框图如图2.1所示:

   

   

 

图2.1  程序总体设计框图

 

第3章 单元电路设计

3.1 八位二进制加法器

一个简单8位加法器,能够实现加法运算并显示结果,在按键控制下,由开关变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显示,按下加法按键(ST)后,以十进制方式显示结果。

调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现加法器功能,从而不用去编写全加器,即程序尽量简单化。并用函数CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在数码管上显示出来。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。进程process(p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。

8位二进制加法器电路如图3.1所示:

                图3.1 八位二进制加法器电路图

8位二进制加法器程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY adder_8 IS

       PORT( 

              ST : IN STD_LOGIC;

                 D  : IN STD_LOGIC_VECTOR(7 DOWNTO 0);         

                BAI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

                SHI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

                GE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END adder_8;

ARCHITECTURE BHV OF adder_8 IS

SIGNAL A,B,C,P,Q: INTEGER RANGE 0 TO 999;

BEGIN

PROCESS(ST)

BEGIN

Q<=CONV_INTEGER(D);

IF ST'EVENT AND ST='1' THEN P<=Q+P;

ELSE P<=P;

END IF;

END PROCESS;

PROCESS(P)

       BEGIN       

       A<=P/100;

       B<=(P MOD 100)/10;

       C<=P MOD 10;

       BAI<=CONV_STD_LOGIC_VECTOR(A,4);

       SHI<=CONV_STD_LOGIC_VECTOR(B,4);

       GE <=CONV_STD_LOGIC_VECTOR(C,4);  

END PROCESS;      

END BHV;

3.2 译码显示电路

译码显示电路是将输入的16进制数转换为二进制数,并且在移位数码管上显示出来。因为计数器输出的是16进制数,要想在数码管上显示2进制数,就必须先把16进制数转换成 7 段字型数码管所要求的代码。我们把能够将16进制数换成 7 段字型代码,并使数码管显示出十进制数的电路称为“七段字型译码器”。在该程序中“BT”变量是通过选通信号选择需要显示的数码管,而“SG”变量则是将输入的16进制数转换为2进制数后,将信号发送给数码管显示出来。

译码显示电路如图3.2所示:

图3.2 译码显示电路图

程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY SCAN_LED IS                                   

    PORT (   CLK   : IN STD_LOGIC;

   d0,d1,d2,d3,d4,d5,d6,d7:in STD_LOGIC_VECTOR(3 DOWNTO 0);

    SG   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

   BT   : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

 END;

ARCHITECTURE one OF SCAN_LED IS

    SIGNAL CNT8  : STD_LOGIC_VECTOR(2 DOWNTO 0);

    SIGNAL    A  : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

P1:PROCESS( CNT8 )

    BEGIN

        CASE  CNT8  IS

          WHEN "000" =>  BT <= "00000001" ; A <= d0 ;

          WHEN "001" =>  BT <= "00000010" ; A <= d1 ;

          WHEN "010" =>  BT <= "00000100" ; A <= d2;

          WHEN "011" =>  BT <= "00001000" ; A <= d3 ;

          WHEN "100" =>  BT <= "00010000" ; A <= d4;

          WHEN "101" =>  BT <= "00100000" ; A <= d5;

          WHEN "110" =>  BT <= "01000000" ; A <= d6;

          WHEN "111" =>  BT <= "10000000" ; A <= d7 ;

          WHEN OTHERS =>  NULL ;

        END CASE ;

     END PROCESS P1;

P2:PROCESS(CLK)

        BEGIN

         IF CLK'EVENT AND CLK = '1'

          THEN CNT8 <= CNT8 + 1;  

         END IF;

      END PROCESS P2 ;  

   P3:PROCESS( A )

BEGIN

      CASE  A  IS

WHEN "0000"=> SG <= "0111111";  WHEN "0001" => SG <= "0000110";

WHEN "0010" => SG <= "1011011";  WHEN "0011" => SG <= "1001111";

WHEN "0100" => SG <= "1100110";  WHEN "0101" => SG <= "1101101";

WHEN"0110" => SG <= "1111101";  WHEN "0111"  => SG <= "0000111";

WHEN "1000"=> SG <= "1111111";  WHEN "1001"=> SG <= "1101111";

WHEN "1010"=> SG <= "1110111";  WHEN "1011"=> SG <= "1111100";

WHEN "1100"=> SG <= "0111001";  WHEN "1101"=> SG <= "1011110";

WHEN "1110"=> SG <= "1111001";  WHEN "1111" => SG <= "1110001";

WHEN OTHERS =>  NULL ;

       END CASE ;

      END PROCESS P3;   

    END;

第4章 波形仿真结果分析

8位二进制加法器功能仿真结果如图4.1所示:

图4.1 8位二进制功能仿真结果

【D】是输入端,由8个开关控制,【ST】是输入端,接正脉冲信号,【BAI】、【SHI】、【GE】都是输出端,分别是以个3位十进制数的百位、十位和各位。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。相加结果由3位十进制数通过数码管显示出来。

第5章 安装调试步骤

安装与调试过程是设计元件由虚拟变成事实最为重要的一步,安装就代表着元件的测试操作,也是检验仿真是否真正有效的最重要的步骤.所以在整个设计中安装调试便是最后一步也是前面所有步骤中的一个验收。安装调试的成败直接验证实验的正确性。但是在安装调试中我们也需要注意首先得确保仿真测试正确无误,然后引脚锁定并编译,接着将实验板连接好,接好电源就可以下载了。

下载完成后就可以调试,根据设计的要求来分别验证试验的结果,比如我们做加法器时,调试过程便是验证加法器的实现,先利用高电平来控制程序的有效,先输入一个八位二进制数,显示段是否显示其对应的十进制数,拨加法控制器,再在输入端输入被加数(八位二进制数),同样看被加数是否在显示段出现其十进制数,按下等号控制器,显示段便显示结果。结果为要求显示的结果即实现加法功能。

当安装调试过程正确完成后,即设计的最后一步完成。整个设计也即完成。断掉电源拆线,整理实验台。

第6章 故障分析与改进

故障是实验中不可避免遇到的问题,当程序出错或者是操作不当时都可能导致不能出现其想要的结果,所以当故障出现时我们要认真仔细的分析,故障的出自和解决。

我们在做加法器时也曾碰到过相当多的障碍,首先是设计程序上的故障,尤其在语言上的不仔细,或是语言的不标准性直接导致程序不能正确的仿真,这中故障时最平常的也是相对比较简单的。

其次,设计程序时思维的故障,比如说二进制数转换成十进制数的程序设计,其方法有多种,其中一种是用二进制数提出首位加一乘以二,这种方法相对计算量来说比较简单,但是程序写得不太理想,所以我们选择了比较法,先拿二进制数减去一百(二进制),循环直至此二进制数小于一百,循环一次变加一,由此得到百位,根据同样的道理可以得到十进制的十位和个位。又如消抖电路,如果使用机械式键盘,由于存在机械触动的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时候也不会马上在闭合时断开按键的时间均伴随有一连串的抖动,于是加个消抖可以防止抖动对电路所带来的某些不良影响。

再次,下载调试中出现的故障,引脚的接线不当或是线的接触不良都影响着得出正确的实验结果,我们在下载中曾遇到线路的接触不良,8位输入端中有个端口时有时无,这便是典型的接触不良,跟换一根线路或是牢固下接口便达到目的。

第7章 心得体会

在这短短两周的EDA技术课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过去图书馆和网上查找资料,以及不懈的努力,不仅培养了独立思考、动手做实验的能力,在各种其它能力上也都有了提高。更重要的是,在8位二进制加法器设计实验时,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

这次设计使自己的课本知识可以应用于实际,使得理论与实际相结合,加深自己对课本理解,同时设计也锻炼了分析理解能力。其次,重温了ZEMAX软件操作,达到学以致用。对8位二进制加法器的设计给了我运用书本知识解决实际问题的机会。对Quartus II软件的使用也是一个学习的过程,我们必须在二周的时间内学会软件的应用。

EDA技术课程设计虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解了自己的长短之后,我们会更加珍惜拥有的,更加努力的去完善它,增进它。只有不断的测试自己,挑战自己,才能拥有更多的成功和快乐!快乐至上,享受过程,而不是结果!认真对待每一个实验,珍惜每一分一秒,学到最多的知识和方法,锻炼自己的能力,这个是我们在动手能力实验上学到的最重要的东西,也是以后都将受益匪浅的!

参考文献

1.《EDA技术实用教程》   潘松 黄继业编  科学出版社

2.《电子技术课程设计指导》 彭介华、主编   高等教育出版社

3.《电子线路设计、实验、测试》  谢自美主编 华中理工出版社

 

4.《EDA工程实践技术》 付家才 主编  化学工业出版社

5.《VHDL语言程序设计及应用》   姜立东  北邮电大出版社2004第二版

附录:整体电路图

8位二进制加法器整体电路图

电气与信息工程系课程设计评分表

                             指导教师签名:_____________

                             日        期:_____________

注:① 表中标*号项目是硬件制作或软件编程类课题必填类容;

    ②此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、平分表、附件(非16K大小的图纸及程序清单)。

更多相关推荐:
全加器实验报告

数电实验报告二组合逻辑电路半加器全加器及逻辑运算一实验目的1掌握组合逻辑电路的功能测试2验证半加器和全加器的逻辑功能3学会二进制数的运算规律二实验元器件数电实验箱集成芯片74LS0074LS1074LS5474...

加法器 数电实验报告三

实验三加法器一实验目的1掌握用SSI器件实现全加器的方法2掌握用MSI组合逻辑器件实现全加器的方法3掌握集成加法器的应用二实验设备及器件1数字逻辑电路实验板1块274HCLS00四二输入与非门1片374HCLS...

一位全加器的实验报告

专业班级20xx级电子2班学号1020xx07姓名周娟EDA技术实验报告实验项目名称在QuartusII中用原理图输入法设计1位加法器实验日期20xx510实验成绩实验评定标准一实验目的熟悉利用QuartusI...

八位加法器的设计实验报告

八位加法器的设计实验报告学号U20xx15272班级信息安全0901姓名方浏洋日期20xx528位加法器的设计实验报告目录一实验概述2二设计思路321Quartus中74181的功能分析3228位先行加法器的设...

EDA实验报告4位全加器

实验课程名称EDA技术与应用123456

4位全加器实验报告

四位全加器11微电子黄跃1117426021实验目的采用modelsim集成开发环境利用verilog硬件描述语言中行为描述模式结构描述模式或数据流描述模式设计四位进位加法器实验内容加法器是数字系统中的基本逻辑...

全加器实验报告

南昌大学实验报告实验一全加器的设计学生姓名学号专业班级实验类型验证综合设计创新实验日期实验成绩一实验目的以一位二进制全加器为例熟悉利用QuartusII的原理图输入方法和文本输入法设计简单组合电路学习多层次工程...

数字电路加法器实验报告

中山大学移动信息工程学院本科生实验报告20xx学年秋季学期课程名称数字电路实验任课教师王军助教李正一实验题目Lab9用3种不同的方法实现4位加法器1行为级描述的加法器2行波进位加法器3超前进位加法器二实验目的1...

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

实验一八位全加器的设计一实验目的1熟悉使用Quartus的原理图输入方法设计简单组合电路2掌握层次化设计的方法通过一个8位全加器的设计掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程3自行验证所设计...

最全模板 深圳大学 全加器实验报告 数字电路

深圳大学实验报告实验课程名称数字电路实验项目名称学院专业报告人学号班级指导教师实验时间实验报告提交时间1234

深圳大学全加器实验报告

深圳大学实验报告实验课程名称数字电路与逻辑设计实验项目名称学院指导教师报告人学号报告人学号班级实验时间实验报告提交时间教务部制注1报告内的项目或内容设置可根据实际情况加以调整和补充2教师批改学生实验报告时间应在...

计算机组成原理一位全加器实验报告

实验二一位全加器实验姓名钱相州班级网工1201学号120xx10707实验环境1Windows20xx或WindowsXP2QuartusIIGW48PK2或DE2115计算机组成原理教学实验系统一台排线若干实...

全加器实验报告(38篇)