8位全加器实验报告

合集下载

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

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

八位加法器的设计实验报告学号: U200915272班级:信息安全 0901姓名:方浏洋日期: 2011-5-2目录一、实验概述 ....................................................................................................................... - 2 -二、设计思路 ....................................................................................................................... - 3 -2.1 QuartusⅡ中74181的功能分析 ....................................................................... - 3 -2.2 8位先行加法器的设计 ...................................................................................... - 3 -2.3 8位行波进位加法器的设计 .............................................................................. - 4 -三、实验内容 ....................................................................................................................... - 5 -3.1 8位先行加法器 .................................................................................................. - 5 -3.2 8位行波加法器 .................................................................................................. - 7 -3.3 对先行进位和行波进位的时序分析 ................................................................. - 9 -四、心得体会 ..................................................................................................................... - 11 -- 1 -一、实验概述利用EDA软件分别设计一个先行进位和行波进位的8位加法器,分别对它们进行时序分析,比较先行进位和行波进位在时间上的差异。

八位加法器设计实验报告

八位加法器设计实验报告

实验四: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;endmodule2)编译成功的全加器程序: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);endmodule3)编译成功的八位加法器程序: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_adderu0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]),.cout(cout0));f_adderu1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1]),.cout(cout1)); f_adderu2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2]),.cout(cout2)); f_adderu3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3]),.cout(cout3)); f_adderu4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4]),.cout(cout4)); f_adderu5(.ain(ain[5]),.bin(bin[5]),.cin(cout4),.sum(sum[5]),.cout(cout5)); f_adderu6(.ain(ain[6]),.bin(bin[6]),.cin(cout5),.sum(sum[6]),.cout(cout6));f_adderu7(.ain(ain[7]),.bin(bin[7]),.cin(cout6),.sum(sum[7]),.cout(cout)); endmodule4)八位加法器仿真程序:module f_adder8_vlg_tst();// constants// general purpose registers//reg eachvec;// test vector input registersreg [7:0] ain;reg [7:0] bin;reg cin;// wireswire cout;wire [7:0] sum;// assign statements (if any)f_adder8 i1 (// port map - connection between master ports and signals/registers.ain(ain),.bin(bin),.cin(cin),.cout(cout),.sum(sum));initialbeginain=10;bin=11;cin=0;#100 ain=10;bin=10;cin=0;#100 ain=10;bin=10;cin=1;#100 ain=12;bin=18;cin=0;#100 ain=12;bin=18;cin=1;#100 $stop;endendmodule5)八位加法器仿真图:6)元件原理图及元件入库:半加器原理图:文件入库bsf:全加器原理图:全加器元件入库:八位全加器rtl图:八位全加器仿真图:如有侵权请联系告知删除,感谢你们的配合!。

8位全加器课程设计报告

8位全加器课程设计报告

8位全加器课程设计报告一、课程目标知识目标:1. 学生理解8位全加器的基本概念,掌握全加器的逻辑结构和工作原理;2. 学生掌握8位全加器的电路图绘制方法,能分析并解释全加器中各个部分的作用;3. 学生了解8位全加器在计算机运算中的应用,理解其重要性。

技能目标:1. 学生能够运用所学知识,独立完成8位全加器的电路图设计;2. 学生能够运用逻辑门电路,搭建8位全加器电路,并进行功能验证;3. 学生能够通过实际操作,提高解决问题的能力和团队协作能力。

情感态度价值观目标:1. 学生培养对电子技术课程的兴趣,激发学习热情;2. 学生在学习过程中,树立正确的科学态度,注重实践,勇于创新;3. 学生通过团队合作,培养沟通与协作能力,增强集体荣誉感。

课程性质分析:本课程为电子技术课程的一部分,重点在于让学生掌握8位全加器的原理和应用,培养实际操作能力。

学生特点分析:八年级学生具有一定的电子技术基础,对电路有一定的了解,但可能对全加器的理解尚浅,需要通过具体实例和操作来加深理解。

教学要求分析:本课程要求教师以理论与实践相结合的方式进行教学,注重培养学生的实际操作能力和团队协作能力。

在教学过程中,关注学生的个体差异,给予个性化指导,确保课程目标的实现。

通过本课程的学习,学生能够达到上述具体的学习成果。

二、教学内容1. 引言:介绍全加器在数字电路中的重要性,回顾一位全加器的基本原理,引出8位全加器的研究意义。

2. 理论知识:a. 8位全加器的定义和功能;b. 8位全加器的逻辑结构,包括加法器、进位发生器和进位传递部分;c. 8位全加器的真值表和逻辑表达式。

3. 实践操作:a. 8位全加器电路图的绘制;b. 利用集成电路芯片搭建8位全加器电路;c. 电路功能测试及故障排查。

4. 应用拓展:a. 8位全加器在计算机运算中的应用案例;b. 探讨8位全加器与其他数字电路模块的组合应用。

教学大纲安排:第一课时:引言及理论知识(1、2a)第二课时:理论知识(2b、2c)第三课时:实践操作(3a、3b)第四课时:实践操作(3c)第五课时:应用拓展(4a、4b)教材章节关联:本教学内容与教材中“第十章 数字电路及其应用”相关,涉及全加器部分的内容,与教材中的理论知识和实践操作相结合,确保学生能够系统地学习和掌握8位全加器的相关知识。

八位全加器原理图设计实验报告

八位全加器原理图设计实验报告

南通大学计算机科学与技术学院课程实验报告
课程名称:计算机组成原理年级:2012级上机日期:11月6日姓名:学号:班级:信管122
实验名称:八位全加器设计教师:陈越成绩:
上图为n个1位的全加器FA级联成的n位的行波进位加减器。

M为方式控制输入线,当M=0时,做加法运算;当M=1时,做减法运算。

图中左边还表示出单符号位法的溢出检测逻辑:当C n=C n-1时,运算无溢出;而当C n≠C n-1时,运算有溢出,经异或门产生溢出信号,0无溢出,1表示溢出。

四、内容及步骤(包括程序流程及说明)
1.建立add8项目
2.建立一位全加器原理图,输入如下
3.将一位全加器封装成芯片FA,如图
4.将FA级联成8位全加器如图,至此8位全加器原理图设计完毕
四、运行结果
建立波形文件,验证8位全加器。

8位二进制全加器设计实验报告

8位二进制全加器设计实验报告

EDA技术8位二进制全加器设计实验报告班级:学号:姓名:时间:2013-12-06目录方法一:自己写程序 (2)一、设计原理 (2)二、实验程序 (3)程序1:半加器描述 (3)程序2:一位二进制全加器设计顶层描述 (3)程序3:D触发器描述 (4)程序4:8位二进制加法器顶层描述 (4)三、编译及仿真结果 (9)方法二:使用LPM创立元件 (10)一、打开MegaWizard Plug-In Manager (10)二、按照提示,一步步完成全加器/全减器的创建 (10)三、创建成功,生成CMP文件 (10)四、调用CMP文件,例化元件,生成可以使用的元件。

(10)实验总结: (12)摘要我在本实验中用顶层设计思想,用半加器、全加器、D触发器例化出八位全加器,完成了八路加法器、寄存器/锁存器的设计,上升沿触发,使用了6个数码管,分别用于显示输入A,输入B和输出,输出结果也用红灯进行了显示,溢出用绿灯表示。

输入A用0~7号开关完成,输入B用10~17号开关完成,进位C 用8号开关完成。

实验要求完成八路全加器的设计,十六进制输出,上升沿触发,低电平复位,输入输出用数码管显示,用红灯显示输出,绿灯显示溢出。

方法一:自己写程序一、设计原理先写一个半加器,然后用两个半加器例化出一个全加器,再用八个全加器例化出一个八位全加器。

原理如图。

关于上升沿触发,使用D触发器和八位全加器进行例化,D触发器接同一个时钟。

最终完成上升沿触发的八位全加器的设计。

二、实验程序程序1:半加器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (A, B : IN STD_LOGIC;CO, SO : OUT STD_LOGIC );END ENTITY h_adder;ARCHITECTURE FH1 OF h_adder ISBEGINSO <= NOT (A XOR (NOT B));CO <= A AND B;END ARCHITECTURE FH1;程序2:一位二进制全加器设计顶层描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder ISPORT (AIN, BIN, CIN : IN STD_LOGIC;COUT, SUM : OUT STD_LOGIC );END ENTITY f_adder;ARCHITECTURE FD1 OF f_adder ISCOMPONENT h_adder ISPORT (A, B : IN STD_LOGIC;CO, SO : OUT STD_LOGIC );END COMPONENT;SIGNAL D, E, F : STD_LOGIC;3BEGINU1 : h_adder PORT MAP(A => AIN, B => BIN, CO => D, SO => E);U2 : h_adder PORT MAP(A => E, B => CIN, CO => F, SO => SUM);COUT <= D OR F;END ARCHITECTURE FD1;程序3:D触发器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DEF1 ISPORT (CLK : IN STD_LOGIC;D : IN STD_LOGIC;Q : OUT STD_LOGIC);END;ARCHITECTURE bhv OF DEF1 ISSIGNAL Q1 :STD_LOGIC;BEGINPROCESS (CLK)BEGINIF CLK'EVENT AND CLK = '1'THEN Q1<=D;END IF;Q<=Q1;END PROCESS;END bhv;程序4:8位二进制加法器顶层描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_adder8 ISPORT ( AIN, BIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);ASEGIN1,ASEGIN2, BSEGIN1,BSEGIN2 : BUFFER STD_LOGIC_VECTOR(6 DOWNTO 0);CIN : IN STD_LOGIC;CLK : IN STD_LOGIC;SUM : BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);SEG1 : BUFFER STD_LOGIC_VECTOR(6 DOWNTO 0);SEG2 : BUFFER STD_LOGIC_VECTOR(6 DOWNTO 0);COUT : OUT STD_LOGIC );END f_adder8;ARCHITECTURE ONE OF f_adder8 ISCOMPONENT f_adder ISPORT (AIN, BIN, CIN : IN STD_LOGIC;COUT, SUM : OUT STD_LOGIC );END COMPONENT;COMPONENT DEF1 ISPORT (CLK : IN STD_LOGIC;D : IN STD_LOGIC;Q : OUT STD_LOGIC);END COMPONENT;SIGNAL C,C1, C2, C3,C4,C5,C6,C7: STD_LOGIC;SIGNAL a : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL b : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL s : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL ss : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL sss : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINU1 : f_adder PORT MAP(AIN => a(0), BIN => b(0), CIN => CIN, SUM => s(0),COUT => C1);U2 : f_adder PORT MAP(AIN => a(1), BIN => b(1), CIN => C1, SUM => s(1),COUT => C2);U3 : f_adder PORT MAP(AIN => a(2), BIN => b(2), CIN => C2, SUM => s(2),COUT => C3);U4 : f_adder PORT MAP(AIN => a(3), BIN => b(3), CIN => C3, SUM => s(3),COUT => C4);U5 : f_adder PORT MAP(AIN => a(4), BIN => b(4), CIN => C4, SUM => s(4),COUT => C5);U6 : f_adder PORT MAP(AIN => a(5), BIN => b(5), CIN => C5, SUM => s(5),COUT => C6);U7 : f_adder PORT MAP(AIN => a(6), BIN => b(6), CIN => C6, SUM => s(6),COUT => C7);U8 : f_adder PORT MAP(AIN => a(7), BIN => b(7), CIN => C7, SUM => s(7),COUT => C);U9 : DEF1 PORT MAP(Q=>a(0),D=>AIN(0),CLK=>CLK);U10 : DEF1 PORT MAP(Q=>a(1),D=>AIN(1),CLK=>CLK);U11 : DEF1 PORT MAP(Q=>a(2),D=>AIN(2),CLK=>CLK);U12 : DEF1 PORT MAP(Q=>a(3),D=>AIN(3),CLK=>CLK);U13 : DEF1 PORT MAP(Q=>a(4),D=>AIN(4),CLK=>CLK);U14 : DEF1 PORT MAP(Q=>a(5),D=>AIN(5),CLK=>CLK);U15 : DEF1 PORT MAP(Q=>a(6),D=>AIN(6),CLK=>CLK);U16 : DEF1 PORT MAP(Q=>a(7),D=>AIN(7),CLK=>CLK);5U17 : DEF1 PORT MAP(Q=>b(0),D=>BIN(0),CLK=>CLK); U18 : DEF1 PORT MAP(Q=>b(1),D=>BIN(1),CLK=>CLK); U19 : DEF1 PORT MAP(Q=>b(2),D=>BIN(2),CLK=>CLK); U20 : DEF1 PORT MAP(Q=>b(3),D=>BIN(3),CLK=>CLK); U21 : DEF1 PORT MAP(Q=>b(4),D=>BIN(4),CLK=>CLK); U22 : DEF1 PORT MAP(Q=>b(5),D=>BIN(5),CLK=>CLK); U23 : DEF1 PORT MAP(Q=>b(6),D=>BIN(6),CLK=>CLK); U24 : DEF1 PORT MAP(Q=>b(7),D=>BIN(7),CLK=>CLK);U25 : DEF1 PORT MAP(Q=>SUM(0),D=>s(0),CLK=>CLK); U26 : DEF1 PORT MAP(Q=>SUM(1),D=>s(1),CLK=>CLK); U27 : DEF1 PORT MAP(Q=>SUM(2),D=>s(2),CLK=>CLK); U28 : DEF1 PORT MAP(Q=>SUM(3),D=>s(3),CLK=>CLK); U29 : DEF1 PORT MAP(Q=>SUM(4),D=>s(4),CLK=>CLK); U30 : DEF1 PORT MAP(Q=>SUM(5),D=>s(5),CLK=>CLK); U31 : DEF1 PORT MAP(Q=>SUM(6),D=>s(6),CLK=>CLK); U32 : DEF1 PORT MAP(Q=>SUM(7),D=>s(7),CLK=>CLK);U33 : DEF1 PORT MAP(Q=>COUT,D=>C,CLK=>CLK);PROCESS(CLK,AIN,BIN)VARIABLE sSeg1 : STD_LOGIC_VECTOR(7 DOWNTO 0);VARIABLE sSeg2 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINss(3 DOWNTO 0)<=SUM(3 DOWNTO 0);sss(3 DOWNTO 0)<=SUM(7 DOWNTO 4);sSeg1(7 DOWNTO 0):= AIN(7 DOWNTO 0);sSeg2(7 DOWNTO 0):= BIN(7 DOWNTO 0);CASE ss ISWHEN "0000" => SEG1 <= "";--0WHEN "0001" => SEG1 <= "";WHEN "0010" => SEG1 <="";WHEN "0011" => SEG1 <="";WHEN "0100" => SEG1 <="";WHEN "0101" => SEG1 <="";WHEN "0110" => SEG1 <="";WHEN "0111" => SEG1 <="";WHEN "1000" => SEG1 <="";WHEN "1001" => SEG1 <=""; --9WHEN "1010" => SEG1 <="";WHEN "1011" => SEG1 <="";WHEN "1100" => SEG1 <="";WHEN "1101" => SEG1 <="";WHEN "1110" => SEG1 <="";WHEN "1111" => SEG1 <="";WHEN OTHERS =>NULL;END CASE;CASE sss ISWHEN "0000" => SEG2 <= "";--0WHEN "0001" => SEG2 <= "";WHEN "0010" => SEG2 <="";WHEN "0011" => SEG2 <="";WHEN "0100" => SEG2 <="";WHEN "0101" => SEG2 <="";WHEN "0110" => SEG2 <="";WHEN "0111" => SEG2 <="";WHEN "1000" => SEG2 <="";WHEN "1001" => SEG2 <=""; --9WHEN "1010" => SEG2 <="";WHEN "1011" => SEG2 <="";WHEN "1100" => SEG2 <="";WHEN "1101" => SEG2 <="";WHEN "1110" => SEG2 <="";WHEN "1111" => SEG2 <="";WHEN OTHERS =>NULL;END CASE;CASE sSeg1(3 DOWNTO 0) ISWHEN "0000" => ASEGIN1 <= "";--0WHEN "0001" => ASEGIN1 <= "";WHEN "0010" => ASEGIN1 <="";WHEN "0011" => ASEGIN1 <="";WHEN "0100" => ASEGIN1 <="";WHEN "0101" => ASEGIN1 <="";WHEN "0110" => ASEGIN1 <="";WHEN "0111" => ASEGIN1<="";WHEN "1000" => ASEGIN1 <="";WHEN "1001" => ASEGIN1 <=""; --9WHEN "1010" => ASEGIN1 <="";WHEN "1011" => ASEGIN1 <="";WHEN "1100" => ASEGIN1 <="";WHEN "1101" => ASEGIN1 <="";WHEN "1110" => ASEGIN1 <="";WHEN "1111" => ASEGIN1 <="";WHEN OTHERS =>NULL;END CASE;7CASE sSeg1(7 DOWNTO 4) ISWHEN "0000" => ASEGIN2 <= "";--0 WHEN "0001" => ASEGIN2 <= "";WHEN "0010" => ASEGIN2 <="";WHEN "0011" => ASEGIN2 <="";WHEN "0100" => ASEGIN2 <="";WHEN "0101" => ASEGIN2 <="";WHEN "0110" => ASEGIN2 <="";WHEN "0111" => ASEGIN2<="";WHEN "1000" => ASEGIN2 <="";WHEN "1001" => ASEGIN2 <=""; --9 WHEN "1010" => ASEGIN2 <="";WHEN "1011" => ASEGIN2 <="";WHEN "1100" => ASEGIN2 <="";WHEN "1101" => ASEGIN2 <="";WHEN "1110" => ASEGIN2 <="";WHEN "1111" => ASEGIN2 <="";WHEN OTHERS =>NULL;END CASE;CASE sSeg2(3 DOWNTO 0) ISWHEN "0000" => BSEGIN1 <= "";--0 WHEN "0001" => BSEGIN1 <= "";WHEN "0010" => BSEGIN1 <="";WHEN "0011" => BSEGIN1 <="";WHEN "0100" => BSEGIN1 <="";WHEN "0101" => BSEGIN1 <="";WHEN "0110" => BSEGIN1 <="";WHEN "0111" => BSEGIN1<="";WHEN "1000" => BSEGIN1 <="";WHEN "1001" => BSEGIN1 <=""; --9 WHEN "1010" => BSEGIN1 <="";WHEN "1011" => BSEGIN1 <="";WHEN "1100" => BSEGIN1 <="";WHEN "1101" => BSEGIN1 <="";WHEN "1110" => BSEGIN1 <="";WHEN "1111" => BSEGIN1 <="";WHEN OTHERS =>NULL;END CASE;CASE sSeg2(7 DOWNTO 4) ISWHEN "0000" => BSEGIN2 <= "";--0 WHEN "0001" => BSEGIN2 <= "";WHEN "0010" => BSEGIN2 <="";WHEN "0011" => BSEGIN2 <="";WHEN "0100" => BSEGIN2 <="";WHEN "0101" => BSEGIN2 <="";WHEN "0110" => BSEGIN2 <="";WHEN "0111" => BSEGIN2<="";WHEN "1000" => BSEGIN2 <="";WHEN "1001" => BSEGIN2 <=""; --9WHEN "1010" => BSEGIN2 <="";WHEN "1011" => BSEGIN2 <="";WHEN "1100" => BSEGIN2 <="";WHEN "1101" => BSEGIN2 <="";WHEN "1110" => BSEGIN2 <="";WHEN "1111" => BSEGIN2 <="";WHEN OTHERS =>NULL;END CASE;END PROCESS;--U1 : f_adder PORT MAP(AIN => AIN(0), BIN => BIN(0), CIN => CIN, SUM => SUM(0), COUT => C1);--U2 : f_adder PORT MAP(AIN => AI N(1), BIN => BIN(1), CIN => C1, SUM => SUM(1), COUT => C2);--U3 : f_adder PORT MAP(AIN => AIN(2), BIN => BIN(2), CIN => C2, SUM => SUM(2), COUT => C3);--U4 : f_adder PORT MAP(AIN => AIN(3), BIN => BIN(3), CIN => C3, SUM => SUM(3), COUT => C4);--U5 : f_adder PORT MAP(AIN => AIN(4), BIN => BIN(4), CIN => C4, SUM => SUM(4), COUT => C5);--U6 : f_adder PORT MAP(AIN => AIN(5), BIN => BIN(5), CIN => C5, SUM => SUM(5), COUT => C6);--U7 : f_adder PORT MAP(AIN => AIN(6), BIN => BIN(6), CIN => C6, SUM => SUM(6), COUT => C7);--U8 : f_adder PORT MAP(AIN => AIN(7), BIN => BIN(7), CIN => C7, SUM => SUM(7), COUT => COUT);END ONE;三、编译及仿真结果程序波形仿真图9时间分析方法二:使用LPM创立元件一、打开MegaWizard Plug-In Manager二、按照提示,一步步完成全加器/全减器的创建三、创建成功,生成CMP文件四、调用CMP文件,例化元件,生成可以使用的元件。

实验一 八位全加器的设计

实验一 八位全加器的设计

电子科技大学电子工程学院标准实验报告(实验)课程名称EDA技术与应用**:**学号:*****************:**电子科技大学教务处制表实验一八位全加器的设计一、预习内容1.结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程;2.八位全加器设计原理。

二、实验目的1.掌握图形设计方法;2.熟悉QuartusⅡ软件的使用及设计流程;3.掌握全加器原理,能进行多位加法器的设计。

三、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干四、实验要求1、用VHDL设计一个四位并行全加器;2、用图形方式构成一个八位全加器的顶层文件;3、完成八位全加器的时序仿真。

五、实验原理与内容1、原理:加法器是数字系统中的基本逻辑器件。

例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。

但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。

多位加法器的构成有两种方式:并行进位和串行进位方式。

并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。

通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。

实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。

这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。

因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。

2、实现框图:1)四位加法器四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。

显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。

通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。

因此,减小进位的延迟对提高运算速度非常有效。

8位全加器实验报告

8位全加器实验报告

实验1 原理图输入设计8位全加器一、实验目的:熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。

二、原理说明:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现。

即将低位加法器的进位输出cout与其相邻的高位加法器的最低进位输入信号cin相接。

而一个1位全加器可以按照本章第一节介绍的方法来完成。

三、实验内容:1:完全按照本章第1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真。

2:建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。

四、实验环境:计算机、QuartusII软件。

五、实验流程:实验流程:↓↓六、实验步骤: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 全加器原理图(2)综合报告:图2.2 综合报告(3)功能仿真波形图:图2.3功能仿真波形图时序仿真波形图:图2.4时序仿真波形图仿真结果分析:cin为来自低位的进位,sum=a or b or cin,即:当a,b,cin中有一位为高电平‘1’或者三位同时高电平为‘1’,则sum=1,否则sum=0;当a,b,cin有两位或者三位同为高电平‘1’时,产生进位信号cout=‘1’。

八位全加器

八位全加器

信息科学与工程学院《EDA技术及应用》实验报告
专业班级姓名学号
实验时间指导老师成绩
实验一(八位全加器)
调试过程及结果:
【调试过程】
1)对输入程序进行编译
错误及改正:
①将的四位全加器存放在另一个工程后未将其添加至主程序
中,导致元件例化出错。

应将ADDER4.VHDL文件加入主工程。

②打印出错。

2)选择对应元件并设计管脚
3)进行下载,仿真
【结果】
1)先对4位全加器进行调试
输入:A K1-K4;B K5-K8 进位:DI_8
初始化:K1-K8拨档开关全部臵底,LED灯全灭
2)对8位全加器进行调制
输入:A K1-K8; B S1-S8 进位:D2_1
初始化:K1-K8拨档开关全部臵底,S1-S8全部按下。

LED灯全灭
错误及改正:
由于实验设备的状态问题,出现的结果和预计的结果存在差异同,可以对设备进行多次的下载和重新运行可以看到预测结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 原理图输入设计8位全加器
一、实验目的:
熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。

二、原理说明:
一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现。

即将低位加法器的进位输出cout与其相邻的高位加法器的最低进位输入信号cin相接。

而一个1位全加器可以按照本章第一节介绍的方法来完成。

三、实验内容:
1:完全按照本章第1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真。

2:建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。

四、实验环境:
计算机、QuartusII软件。

五、实验流程:
实验流程:


六、实验步骤:
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 全加器原理图
(2)综合报告:
图2.2 综合报告
(3)功能仿真波形图:
图2.3功能仿真波形图
时序仿真波形图:
图2.4时序仿真波形图
仿真结果分析:cin为来自低位的进位,sum=a or b or cin,即:当a,b,cin中有一位为高电平‘1’或者三位同时高电平为‘1’,则sum=1,否则sum=0;当a,b,cin有两位或者三位同为高电平‘1’时,产生进位信号cout=‘1’。

(4)时序仿真的延时情况:
图2.5 时序仿真的延时情况
(5)封装元件:
图2.6 元件封装图
3. 利用全加器构成8位全加器,并完成编译、综合、适配、仿真。

(1)8位全加器原理图:
图3.1 8位全加器原理图
(2)综合报告:
图3.2 综合报告
(3)功能仿真波形图:
图3.3功能仿真波形图
时序仿真波形图:
图3.4时序仿真波形图
仿真结果分析:八位全加器,和S分别与A,B 对应。

当来自第七位的进位信号为‘1’、A的最高位和B的最高位三者有两个位高电平‘1’时,则产生进位信号CO=‘1’。

(图中用十进制数表示)
(4)时序仿真的延时情况:
图3.5(1)时序仿真的延时情况
图3.5(2)时序仿真的延时情况。

相关文档
最新文档