实验一:半加器与全加器实验

实验一:半加器与全加器实验
实验一:半加器与全加器实验

实验一:半加器与全加器实验

(1)实验目的与任务

目的:理解半加器、全加器原理;掌握加法器Verilog编写方法;熟悉基于Quartus II软件的Verilog代码文本输入设计流程。

任务:基于Quartus II软件和EDA实验箱完成全加器的设计、仿真与硬件测试。

(2)实验设备

带有windows操作系统和Quartus II软件的PC机一台;EDA实验箱一台(包含电源线和下载线)。

(3)实验内容

基于Quartus II软件使用Verilog HDL设计半加器与全加器,并进行仿真和硬件测试。

硬件测试方案:使用拨码开关SW1(被加数)、SW2(加数)和SW3(进位输入)作为输入,以发光二极管LED0(和)和LED1(进位输出)作为输出。拨动SW1、SW2和SW3,LED0和LED1显示正确。

原理图:

注意:原理图中的SW0、SW1、SW2应该为实验箱上的SW1、SW2、SW3。

(4)实验步骤

①运行Quartus II软件,编写半加器和全加器的Verilog代码,并保存(半加器保存为h_adder.v,全加器保存为f_adder.v)。

②创建工程,工程名为f_adder,把h_adder.v和f_adder.v添加到工程中,选择目标芯片为Cyclone III系列的EP3C120F780C8,不使用第三方EDA工具。

③编译。

④使用Quartus II自带的仿真工具对全加器进行时序仿真(打开波形编辑器,设置仿真时间50us,波形文件存盘f_adder.vwf,将工程f_adder的端口信号节点选入波形编辑器中,总线数据格式设置和参数设置,编辑输入波形数据,启动仿真器,观察仿真结果)。

⑤引脚锁定。

⑥编译文件(产生JTAG编程文件f_adder.sof(掉电丢失);并通过转换得到JTAG间接编程文件f_adder_file.jic(掉电不丢失))下载,硬件测试,随意拨动实验箱中的SW1、SW2和SW3,观察LED0和LED1的变化。

(5)实验作业

对全加器的仿真运行结果进行截图,把截图粘贴到《EDA技术实验报告1》的代码部分最后。

编写半加器和全加器的Verilog代码(h_adder.v和f_adder.v)并进行注释,上交编译后的工程文件夹,该文件夹里要有h_adder.v(带注释)、f_adder.v(带注释)、f_adder.sof和f_adder_file.jic等文件。

把“EDA技术实验报告1.docx”和“工程文件夹”放入以“完整学号+姓名”命名的文件夹(比如:541513430101常晓鹤)中,然后把该文件夹打包交给学习委员。

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

一、实验目的 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; 结果如下: 逻辑图

实验一1位全加器电路设计

实验一1位全加器电路的设计 一、实验目的 1、学会利用Quartus Ⅱ软件的原理图输入方法设计简单的逻辑电路; 2、熟悉利用Quartus Ⅱ软件对设计电路进行仿真的方法; 3、理解层次化的设计方法。 二、实验内容 1、用原理图输入方法设计完成一个半加器电路。并进行编译与仿真。 2、设计一个由半加器构成1位全加器的原理图电路,并进行编译与仿真。 3、设计一个由1位全加器构成4位加法器的原理图电路,并进行编译与仿真。 三、实验步骤 1. 使用Quartus建立工程项目 从【开始】>>【程序】>>【ALtera】>>【】打开Quartus软件,界面如图1-1示。 图1-1 Quartus软件界面 在图1-1中从【File】>>【New Project Wizard...】新建工程项目,出现新建项目向导New Project Wizard 对话框如图1-2所示。该对话框说明新建工程应该完成的工作。

在图1-2中点击NEXT进入新建项目目录、项目名称和顶层实体对话框,如图1-3 所示,顶层实体名与项目名可以不同,也可以不同。输入项目目录如E:\0512301\ first、工程项目名称和顶层实体名同为fadder。 图1-2 新建工程向导说明对话框 图1-3 新建工程目录、项目名、顶层实体名对话框

接着点击NEXT进入新建添加文件对话框如图1-4所示。这里是新建工程,暂无输入文件,直接点击NEXT进入器件选择对话框如图1-5所示。这里选择Cyclone 系列的EP1C6Q240C8。 图1-4 新建添加文件对话框

图1-5器件选择对话框 点击NEXT进入添加第三方EDA开发工具对话框如图1-6所示。

半加器和全加器及其应用

实验二半加器和全加器及其应用 一、实验目的 1.掌握全加器和半加器的逻辑功能。 2.熟悉集成加法器的使用。 3.了解算数运算电路的结构。 二、实验设备 1.数字电路试验箱; 2.74LS00,74SL86。 三、实验原理 半加器(m =0半加,m=1为半减) 能实现两个一位二进制数的算术加法及向高位进位,而不考虑低位进位的逻辑电路。 它有两个输入端,两个输出端。 半加器电路是指对两个输入数据位进行加法,输出一个结果位和高位的进位,不考虑输入数据的进位的加法器电路。 是实现两个一位二进制数的加法运算电路。数据输入A 被加数、B加数,数据输出S和数(半加和)、进位C0。 同理,能对两个1位二进制数进行相减不考虑低位来的借位求得差及借位的逻辑电路称为半减器.设减数和被减数分别用A和B,表示差用S,表示向高位的借位用C0。

全加器,全减器(m =0为全加,m=1为全减) 全加器是实现两个一位二进制数及低位来的进位数相加(即将三个一位二进制数相加),求得和数及向高位进位的逻辑电路。根据全加器功能,其真值表如下表所示。表中A及B分别代表被加数及加数,C1是低位来的进位,S代表相加后得到的和位,C0代表向高位的进位。图中C1是进位输入端,C0是进位输出端。 同理,能对两个1位二进制数进行相减并考虑低位来的借 位求得差及借位的逻辑电路称为全减器.设减数和被减数 分别用A和B表示低位来的借位用C1,表示差用S,表 示向高位的借位用C0。 四、实验内容 实验一、实现半加器,半减器,当M为0时实现逻辑 变量A、B的半加功能,当M为1时实现逻辑变量A、 B的半减功能。 实验二、实现全加器,全减器,当M为0时实现逻辑 变量A、B的全加功能,C i为进位值。 当M为1时实现逻辑变量A、B的全减功能,C i为借 位值。 五、实验数据 1实现半加、半减器 (1)真值表

一位全加器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

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

《数字电子技术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

全加器与半加器原理及电路设计

全加器与半加器原理及电路设计 在数字系统中,加法器是最基本的运算单元。任何二进制算术运算,一般都是按一定规则通过基本的加法操作来实现的。 1.二进制 十进制中采用了0,1,2,…,9十个数码,其进位规则是“逢十进一”。当若干个数码并在一起时,处在不同位置的数码,其值的含义不同。例如373可写成 二进制只有0和1两个数码,进位规则是“逢二进一”,即1+1=10(读作“壹零”,而不是十进制中的“拾”)。0和1两个数码处于不同数位时,它们所代表的数值是不同的。例如10011这个二进制数,所表示的大小为 这样,就可将任何一个二进制数转换为十进制数。 反过来,如何将一个十进制数转换为等值的二进制数呢?由上式可见 ,,,,分别为相应位的二进制数码1或0。它们可用下法求得。 19用2去除,得到的余数就是;其商再连续用2去除,得到余数,,,,直到最后的商等于0为止,即 2 1 9 余数 ……………………………….余1(d0) ………………………………余1(d1) ……………………………….余0(d2) ……………………………….余0(d3) 0 …………………………… …余1(d4) 所以 可见,同一个数可以用十进制和二进制两种不同形式表示,两者关系如表8-13所示。 表8-13 十进制和二进制转换关系

由表8-14可直接写出 半加器可以利用一个集成异或门和与门来实现,如图8-40(a)所示。图8-40(b)是半加器的逻辑符号。 表8-14 半加器真值表 1101 由真值表可分别写出输出端Si和Ci的逻辑表达式 和的逻辑表达式中有公用项,因此,在组成电路时,可令其共享同一异或门,从而使整体得到进一步简化。一位全加器的逻辑电路图和逻辑符号如图8-41所示。 图8-41 全加器逻辑图及其逻辑符号 多位二进制数相加,可采用并行相加、串行进位的方式来完成。例如,图8-42所示逻辑电路可实现两个四位二进制数和的加法运算。

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 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.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

半加器和全加器的设计

实验一.半加器,全加器的设计1,半加器的设计, 方法一 library ieee ; use ieee.std_logic_1164.all; entity h_adder1 is port(a,b :in std_logic; c,s :out std_logic); end entity h_adder1; architecture one of h_adder1 is begin s<=a xor b;c<=a and b; end architecture one; 运行结果: 方法二: 运行结果:

2,全加器的设计 方法一: library ieee; use ieee.std_logic_1164.all; entity f_adder1 is port(a,b,cin :in std_logic; sum,cout :out std_logic); end entity f_adder1; architecture arch of f_adder1 is component h_adder1 port( a,b :in std_logic; s,c :out std_logic); end component; component or23 port (a,b :in std_logic; c: out std_logic); end component; signal x:std_logic_vector(0 to 2); begin u1: h_adder1 port map(a,b,x(1),x(0)); u2: h_adder1 port map(x(1),cin,sum,x(2)); u3: or23 port map(a=>x(0),b=>x(2),c=>cout); end arch; 运行结果: 方法二:

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

一、实验目 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位二进制全加器的设计

龙岩学院实验报告 班级学号姓名同组人 实验日期室温大气压成绩 实验题目:基于原理图输入法的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位二进制全加器)。

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

南昌大学实验报告 学生姓名: 学 号: 专业班级: 中兴101 实验类型:■ 验证 □ 综合 □设计 □ 创新 实验日期: 2012 9 28 实验成绩: 实验一 一位二进制全加器设计实验 一.实验目的 (1)掌握Quartus II 的VHDL 文本设计和原理图输入方法设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果; (3) 熟悉设备和软件,掌握实验操作。 二.实验内容与要求 (1)在利用VHDL 编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念; (2)给出此项设计的仿真波形; (3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试。 三.设计思路 一个1位全加器可以用两个1位半加器及一个或门连接而成。而一个1位半加器可由基本门电路组成。 (1) 半加器设计原理 能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。图1为半加器原理图。其中:a 、b 分别为被加数与加数,作为电路的输入端;so 为两数相加产生的本位和,它和两数相加产生的向高位的进位co 一起作为电路的输出。 半加器的真值表为 表1 半加器真值表 由真值表可分别写出和数so ,进位数co 的逻辑函数表达式为: b a b a b a so ⊕=+=- - (1) ab co = (2)

图1半加器原理图 (2) 全加器设计原理 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图2全加器原理图。全加器的真值表如下: 表2全加器真值表 其中a为加数,b为加数,c为低位向本位的进位,co为本位向高位的进位,so为本位和。 图2.全加器原理图 四.实现方法一:原理图输入法设计(自己独立完成) 1. 建立文件夹 建立自己的文件夹(目录),如c:\myeda,进入Windows操作系统 QuartusII不能识别中文,文件及文件夹名不能用中文。 2. 原理图设计输入 打开Quartus II,选菜单File→New,选择“Device Design File->Block Diagram->Schematic File”项。点击“OK”,在主界面中将打开“Block Editor”窗口。 (1) 放置元件 在原理图编辑窗中的任何一个空白处双击鼠标左键或单击右键,跳出一个选择窗,选择

半加器和全加器

《电子技术基础》实验报告 年级专业姓名学号 实验一数字钟实验 一、实验目的 1、初步了解数字电路的基本组成。 2、初步认识什么是数字信号、逻辑电平和逻辑关系,以及某些逻辑元件的基本逻辑功能。 3、初步接触数字电路的调试过程,以达到对数字电路有一个大体的感性认识。 二、实验任务 1、用74LS161型中规模计数器连接成一个十进制和一个六进制计数器。并 连接成一个六十进制的秒、分计数器。再用两片74LS161连接成一个二十 四进制计数器。与译码器、显示电路连接后将六十进制和二十四进制器连接 起来,完成能显示分、时的数字钟。 2、掌握译码器和计数器的大致工作原理 3、实验记录数码管的亮暗关系表,计数器、译码器输出与脉冲关系;并总结实验过程,绘 制好实验图表,体会译码器和计数器的大致工作原理,认真作好实验报告。 三、实验过程过程与结果 1、绘制数字钟电路:

实验二组合逻辑实验 实验目的: 1、掌握组合逻辑电路的功能测试方法及设计方法 2、熟悉几种典型组合逻辑电路的工作原理。 实验任务: 1、用与非门和非门(74LS00和74LS05型)设计一个半加器电路。只考虑被加数和加数的相应位相加,而不考虑相邻低位的进位,这种二进制数相加称为半加。因此,电路输入为被加数A和B加数,而输出为半加和S和向高位的进位C。要求设计出一个半加器单元。 2、用与非门和与-或-非门(74LS00和74LS54型)设计一个全加器电路。全加器与半加器相比较,输入信号多了一个低位的进位Ci-1,输出仍为全加和和向高位进位。设计一个全加器单元。 3、实验结束写出实验报告,必须包括各实验的电路图,测试后的真值表及有关数据。 三、实验过程过程与结果 1.绘制半加器电路和全加器电路: 半加器电路 全加器电路

实验一 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;

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.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

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

实验一 半加器和全加器的设计 一、 实验目的 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;

8位全加器实验报告

实验1 原理图输入设计8位全加器 一、实验目的: 熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。 二、原理说明: 一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现。即将低位加法器的进位输出cout与其相邻的高位加法器的最低进位输入信号cin相接。而一个1位全加器可以按照本章第一节介绍的方法来完成。 三、实验内容: 1:完全按照本章第1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真。 2:建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。 四、实验环境: 计算机、QuartusII软件。 五、实验流程: 实验流程: 根据半加器工作原 理,建立电路并仿 真,并将元件封装。 ↓ 利用半加器构成一位 全加器,建立电路并 仿真,并将元件封 装。 ↓ 利用全加器构成8位全 加器,并完成编译、综 合、适配、仿真。 图1.1 实验流程图

六、实验步骤: 1.根据半加器工作原理建立电路并仿真,并将元件打包。(1)半加器原理图: 图1.2 半加器原理图(2)综合报告: 图1.3 综合报告: (3)功能仿真波形图4: 图1.4 功能仿真波形图

时序仿真波形图: 图1.5 时序仿真波形图 仿真结果分析:sout为和信号,当a=1,b=0或a=0,b=1时,和信号sout为1,否则为0.当a=b=1时,产生进位信号,及cout=1。 (4)时序仿真的延时情况: 图1.6 时序仿真的延时情况 (5)封装元件: 图1.7 元件封装图 2. 利用半加器构成一位全加器,建立电路并仿真,并将元件封装。 (1)全加器原理图如图: 图2.1 全加器原理图

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

实验四组合逻辑电路的设计及半加器、全加器 一、实验目的 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 一位全加器(综合验证性) 一、目的 掌握组合逻辑电路,使用74LS00“与非门”电路构成一位全加器组合逻辑电路。掌握组合逻辑电路的基本概念和结构。 二、要求:使用与非门构成一位全加器组合逻辑电路。实验报告包括: 1、画出一位全加器逻辑电路图;正确标出集成电路引脚。 74LS00 “与非门”电路引脚名称: 2、标上门电路脚号,连接逻辑电路; 发光管 1 1

3、模拟输入Ai、Bi、Ci,记载Si、Ci-1实验结果。 Ai Bi Ci Si Ci-1 三、实验设备和集成电路 1、数字逻辑实验板一块。 2、3片74LS00,连结导线50根。 四、考核方式 1、逻辑电路图应当整洁、规范。 2、实验前作好充分实验准备。 3、数字逻辑实验课是一项实践性很强的教学课程。考核的重点是电路连接,调试和测试的实践性环节。考察学生在实验中的动手能力和事实求是的科学态度。核心是检查是否能够实际完成一位全加器数字逻辑电路,并电路运行正确作为重要标准。 在电路连接,调试和测试完成后,经老师检查确认满足实验要求,学生签字,递交报告书,方可通过实验一的验收。

五、连接,调试和测试组合逻辑电路参考事项注意如下: 1、实验开始时,检查并确定实验设备上的集成电路是否符合要求。 2、导线在插孔中一定要牢固接触。集成电路引脚与引脚之间的连线一定要良好接触。连线在面包板上排列整齐,连线的转弯成直角。连线不要飞线。 3、在组合逻辑电路连线时,为了防止连线时出错,可以在每连接一根线以后,在组合逻辑电路图中做一个记号,这样可以避免搞错连线,漏掉连线,多余连线等现象发生。

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

电子通信与软件工程系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) 验证组合逻辑电路的功能 (2) 掌握组合逻辑电路的分析方法 (3) 掌握用SSI 小规模集成器件设计组合逻辑电路的方法 (4) 了解组合逻辑电路集中竞争冒险的分析和消除方法 二、实验设备 数字电路实验箱,数字万用表,74LS00,74LS86 三、实验原理 1.组合逻辑概念 通常逻辑电路可分为组合逻辑电路和时序逻辑电路两大类。组合逻辑电路又称组合电路,组合电路的输出只决定于当时的外部输入情况,与电路的过去状态无关。因此,组合电路的特点是无“记忆性”。在组成上组合电路的特点是由各种门电路连接而成,而且连接中没有反馈线存在。所以各种功能的门电路就是简单的组合逻辑电路。 组合电路的输入信号和输出信号往往不只一个,其功能描述方法通常有函数表达式、真值表,卡诺图和逻辑图等几种。 实验中用到的74LS00和74LS86的引脚图如图所示。 2.组合电路的分析方法。 组合逻辑电路分析的任务是:对给定的电路求其逻辑功能,即求出该电路的输出与输入之间的关系,通常是用逻辑式或真值表来描述,有时也加上必须的文字说明。分析一般分为一 Vcc 4B 4A 4Y 3B 3A 3Y 1A 1B 1Y 2A 2B 2Y GND 00 四2输入与非门

下几个步骤: (1)由逻辑图写出输出端的逻辑表达式,简历输入和输出之间的关系。 (2)列出真值表。 (3)根据对真值表的分析,确定电路功能。 3.组合逻辑电路的设计方法。 组合逻辑电路设计的任务是:由给定的功能要求,设计出相应的逻辑电路。 一般设计的逻辑电路的过程如图: (1)通过对给定问题的分心,获得真值表。在分析中要特别注意实际问题如何抽象为几个输入变量和几个输出变量直接的逻辑关系问题,其输出变量之间是否存在约束关系,从而过得真值表或简化真值表。 (2)通过卡诺图化简或逻辑代数化简得出最简与或表达式,必要时进行逻辑式的变更,最后画出逻辑图。 (3)根据最简逻辑表达式得到逻辑电路图。 四.实验内容。 1.分析,测试半加器的逻辑功能。 (1)用74LS00组成半加器电路如图所示。写出逻辑表达式,验证逻辑关系。 (2)用异或门74LS86和74LS00组成半加器,自己画出电路,将测试结果填入自拟表格中,验证逻辑关系。

一位全加器

一位全加器的设计 一、实验要求 (1)用原理图输入设计方法或者硬件描述语言设计方法皆可 (2)如果是原理图,把图贴出来,如果是代码,附上代码 (3)写清楚设计过程 (4)用仿真波形说明全加器功能正确 二、实验目的 1、学会在仿真平台上进行设计实验验证及时序仿真。 2、进一步熟悉利用quartusⅡ进行电路系统设计的一般流程。 3、掌握1位全加器原理图输入设计的基本方法及过程。 4、进一步提高学生运用所掌握的数字电子电路的分析方法与分析实际电路的基本技能,并了解基本逻辑单元电路在生活中的应用。 三、实验原理 全加器是一个能对两个一位二进制数及来自低位的“进位”进行相加,产生本位“和”及向高位“进位”的逻辑电路。该电路有3个输入变量,分别是2个加数A、B及1个低进位Cin,两个输出变量,分别是本位S和向高进位Co。 用原理图输入法构造一位全加器,并进行时序仿真。 由真值表写逻辑函数表达式 画原理图时,用到2个异或门,3个二端口与门,一个三端口或门。 2、设计原理图:

四、实验结果 连接时没有错误,进行波形仿真,输入端A、B、Cin周期分别为10ns、20ns、30ns 得到波形图如下: 仿真波形分析: 输入:A=0、B=0、Cin=0时,输出S=0、Co=0 输入:A=1、B=0、Cin=0时,输出S=1、Co=0 输入:A=0、B=1、Cin=0时,输出S=1、Co=0 输入:A=1、B=1、Cin=1时,输出S=1、Co=1 五、实验结论 本实验实现的是简单层面上设计加法器的功能,而没有考虑到从加法器的性能上选择实验。虽然设计上没有实现,但是我们理论上分析和讨论不同的加法器选择不同门电路在性能上的差别。从而得知在不同的计算机内部采用不同的加法器机制,在具体设计时需要根据具体的应用环境和实现工艺确定采用哪一种加法器。加法器的性能可以从延迟、功耗、面积等方面进行分析。具体的分析方法有三种:一是通过门级模拟器来估算加法器的性能;二是采用标准单元库对每种加法器进行逻辑综合和布局布线来设计电路,然后从版图中反提取电路参数,针对其参数进行电路的模拟,从中得出各种加法器的比较结果;三是通过物理实验在芯片上实现各种加法器,然后通过实际测量进行比较。 六、实验小结 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践

实验一:半加器与全加器实验

实验一:半加器与全加器实验 (1)实验目的与任务 目的:理解半加器、全加器原理;掌握加法器Verilog编写方法;熟悉基于Quartus II软件的Verilog代码文本输入设计流程。 任务:基于Quartus II软件和EDA实验箱完成全加器的设计、仿真与硬件测试。 (2)实验设备 带有windows操作系统和Quartus II软件的PC机一台;EDA实验箱一台(包含电源线和下载线)。 (3)实验内容 基于Quartus II软件使用Verilog HDL设计半加器与全加器,并进行仿真和硬件测试。 硬件测试方案:使用拨码开关SW1(被加数)、SW2(加数)和SW3(进位输入)作为输入,以发光二极管LED0(和)和LED1(进位输出)作为输出。拨动SW1、SW2和SW3,LED0和LED1显示正确。 原理图:

注意:原理图中的SW0、SW1、SW2应该为实验箱上的SW1、SW2、SW3。 (4)实验步骤 ①运行Quartus II软件,编写半加器和全加器的Verilog代码,并保存(半加器保存为h_adder.v,全加器保存为f_adder.v)。 ②创建工程,工程名为f_adder,把h_adder.v和f_adder.v添加到工程中,选择目标芯片为Cyclone III系列的EP3C120F780C8,不使用第三方EDA工具。

③编译。 ④使用Quartus II自带的仿真工具对全加器进行时序仿真(打开波形编辑器,设置仿真时间50us,波形文件存盘f_adder.vwf,将工程f_adder的端口信号节点选入波形编辑器中,总线数据格式设置和参数设置,编辑输入波形数据,启动仿真器,观察仿真结果)。 ⑤引脚锁定。 ⑥编译文件(产生JTAG编程文件f_adder.sof(掉电丢失);并通过转换得到JTAG间接编程文件f_adder_file.jic(掉电不丢失))下载,硬件测试,随意拨动实验箱中的SW1、SW2和SW3,观察LED0和LED1的变化。 (5)实验作业 对全加器的仿真运行结果进行截图,把截图粘贴到《EDA技术实验报告1》的代码部分最后。 编写半加器和全加器的Verilog代码(h_adder.v和f_adder.v)并进行注释,上交编译后的工程文件夹,该文件夹里要有h_adder.v(带注释)、f_adder.v(带注释)、f_adder.sof和f_adder_file.jic等文件。 把“EDA技术实验报告1.docx”和“工程文件夹”放入以“完整学号+姓名”命名的文件夹(比如:541513430101常晓鹤)中,然后把该文件夹打包交给学习委员。

相关文档
最新文档