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

EDA综合实验——八位全加器

EDA综合实验——八位全加器
二、实验原理介绍
一个8位全加器可以由2个4位全加器构成,加法器间的进位可以用串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。
3、设计代码(或原理图)、仿真波形及分析
在Quartus II集成环境下,选择“Bock Diagram/Schematic File”,进入Quartus II图形编辑方式。双击编辑窗口,在元件选择窗口的符号库“Library”栏中,选择”Primitives”文件夹中的”Logic”后,调出元件。根据8位加法器设计的原理图,将2个4位加法器74283及输入、输出元件符号调入,完成电路内部的连接及输入、输出元件的连接,并将相应的输入、输出元件符号名分别更改为A[7..0]、B[7..0]、SUM[7...0]和OUT2。再将当前设计设定为工程,目标芯片类型为ACEX1K;型号为EP1K30TC144-3。编译设计文件,选择“Start Compilation”对文件进行编译。然后进行逻辑仿真设计,先建立波形文件,然后输入信号节点,设置波形参量,编辑输入信号,保存文件。
时序仿真图
功能仿真图
由图片可以看出,当8位全加器的输入端口A输入为60时,B端口输入为160时,输出SUM为220,进位OUT2为0;当输入端口A输入为60时,B输入为200时,SUM为4,进位OUT2为1.当8位全加器的输入端口A输入为80时,B端口输入为200时,输出SUM为24,进位OUT2为1;当输入端口A输入为80时,B输入为160时,SUM为240,进位OUT2为0.证明设计是正确的。
学生实验报告
系别
电子信息学院
课程名称
《EDA综合实验》
班级
实验名称
8位全加器的设计
姓名
实验时王红航

八位全加器和模100计数器实验报告2

八位全加器和模100计数器实验报告2

CPLD/FPGA 设计实验报告实验名称: 时序电路设计基础 实验目的: 掌握Quartus II 软件的基本使用方法,完成基本时序电路设计 实验内容:实验一 八位全加器一、 创建工程 工程名称:add_8顶层实体文件名: add_8器件:EP1C3T100C7(要求:Cyclone 系列任意器件)二、 创建文件创建Verilog HDL 文件,实现八位全加器。

module add_8(cout,sum,ina,inb,cin); input cin; input[7:0] ina,inb; output[7:0] sum; output cout;assign{cout,sum}=ina+inb+cin; endmodule 三、编译工程报告中下列数据是多少四、仿真电路 1、创建VWF 文件2、设定“End Time ”为20us3、在VWF 文件中添加Node OR Bus4、编辑波形5、仿真6、画出仿真结果装订线实验二模100计数器一、创建工程工程名称:m_100 顶层实体文件名:m_100器件:EP1C3T100C7 (要求:Cyclone系列任意器件)二、创建文件创建Verilog HDL文件,实现模100计数器。

module m_100(cin,clk,clr,out);input clk,clr;output reg[7:0] out;output cin;always @(posedge clk)beginif(!clr) out<=8'b0000_0000;else if(out<99) out<=out+1;else out<=8'b0000_0000;endassign cin=(out==99)?1:0;endmodule三、编译工程报告中下列数据是多少四、仿真电路1、创建VWF文件2、设定“End Time”为20us3、在VWF文件中添加Node OR Bus4、编辑波形5、仿真6、画出仿真结果。

EDA实验报告1_8位全加器

EDA实验报告1_8位全加器

EDA技术与应用实验报告姓名学号专业年级电子信息工程实验题目八位全加器设计实验目的1.熟悉QuartuaⅡ的文本和原理图输入方法设计简单组合电路2.通过8位全加器的设计掌握层次化设计的方法3.学会对实验板上的FPGA/CPLD开发系统硬件电路的编程下载及测试实验原理1.由文本输入利用元件例化语句或者原理图输入封装元件的方式,层次化设计1位全加器2.用原理图输入方法,由1位全加器通过低位进位输出cout与高位进位输入cin以串行方式相连接,构成8位全加器实验内容实验一:用原理图输入法设计8位全加器1.原理图输入完成半加器和1位全加器的设计,并封装入库2.层次化设计,建立顶层文件,由1位全加器构成8位全加器3.每一层次均需进行编译、综合、适配、仿真及实验板上硬件测试实验二:用文本输入法设计8位全加器1. VHDL文本输入完成半加器和一位全加器的设计2. 用元件例化语句由1位全加器设计一个8位全加器3.每一层次均需进行编译、综合、适配、仿真及实验板上硬件测试实验步骤实验一1.设计1位全加器<1>完成对半加器的设计(详见P117),编译、仿真、生成可调用元件h_adder.bsf;<2>完成对1位全加器的设计(详见P118),编译、仿真与下载,生成可调用原件f_adder.bsf;2.利用1位全加器进行8位全加器的设计<1>新建文件夹adder_8bit,作为顶层文件的目录,将底层文件h_adder.bdf、f_adder.bdf拷贝到此目录下。

新建一个初始原理图adder_8bit.bdf,并为其创建project,将三个设计文件加入工程。

<2>在原理图编辑窗口,调入元件f_adder.bsf,连接线路,对引脚命名,完成对8位全加器的设计。

<3>选择芯片EP1K100QC208-3,引脚锁定并再次编译,编程下载,分析实验结果。

实验二1.设计1位全加器<1>分别新建子文件夹,用来保存底层文件或门or2a.VHDL、半加器h_adder.VHDL的设计,并分别建立相应的project,进行编译、综合、适配、仿真,确保无error(详见P72)。

verilog8位全加器实验报告

verilog8位全加器实验报告

Verilog实验报告基于封装设计思想实现8位全加器小组成员:实验时间:2010年5月 16日实验报告---基于封装设计思想实现8位全加器实验时间:2010年5月16日小组成员:一、实验目的1)在掌握QuartusII软件环境和全加器原理的基础上,重点学习Verilog封装的设计方法。

2)进一步巩固文本和图形法结合的设计方法。

二.实验仪器1.PC机2. 数字系统设计实验开发板三.实验学时:3学时四.实验原理:全加器的原理设计.五.实验步骤1)熟悉quartusII的使用a)打开开发环境,如错误!未找到引用源。

2)原理图输入法:八个一位加法器连接成的一个八位加法器原理图图表:3)仿真波形:4)封装后的八位加法器:5)程序代码:module yy1(x,y,sum,c1,c2);input x;input y;input c1;output sum;output c2;assign{c2,sum}=x+y+c1;endmodule六.问题回答:assign 用于描述组合逻辑,always(敏感事件列表) 用于描述时序逻辑。

所有的assign 和 always 块都是并行发生的。

并行块、顺序块,将要并行执行的语句写在fork//语句并行执行join将要顺序执行的语句写在begin//语句顺序执行end并行块和顺序块都可以写在initial 或 always@ 之后,也就是说写在块中的语句是时序逻辑的对assign之后不能加块,实现组合逻辑只能用逐句的使用assign 组合逻辑如果不考虑门的延时的话当然可以理解为瞬时执行的,因此没有并行和顺序之分,并行和顺序是针对时序逻辑来说的。

值得注意的是所有的时序块都是并行执行的。

initial块只在信号进入模块后执行1次而always块是由敏感事件作为中断来触发执行的。

七.实验总结:经过这次实验,我们复习了一些Verilog的基本知识,并且熟习了一些封装等的操作,为以后的实验打下基础。

八位全加器

八位全加器

西安邮电大学Verilog HDL实验报告(一)——八位全加器学院名称:电子工程学院班级:学生姓名:学号:实验题目八位全加器一、实验目的:设计的一个八位全加器。

二、实验步骤:1、在ModelSim软件中对激励模块和设计模块进行书写和编译;2、对编译好的模块进行仿真。

三、源代码:1、主程序module fulladder8(c_out,sum,a,b,c_in);output[7:0] sum;output c_out;input [7:0] a,b;input c_in;assign {c_out,sum}=a+b+c_in;endmodule2、激励程序module fulladder8_tb;reg [7:0] A,B;reg C_IN;wire[7:0] SUM;wire C_OUT;fulladder8 fulladder_8(C_OUT,SUM,A,B,C_IN);initialbeginA=8'd10;B=8'd20;C_IN=1;#100;A=8'd30;B=8'd60;C_IN=0;#100;A=8'd88;B=8'd70;C_IN=1;#100;A=8'd29;B=8'd12;C_IN=0;endEndmodule四、仿真结果及分析:输出结果:结果分析:当A=00001010,B=00010100,C_IN=1时,SUM=0001111;当A=00011110,B=0011100,C_IN=0时,SUM=01011010;当A=01011000,B=01000110,C_IN=1时,SUM=10011111;当A=00011101,B=00001100,C_IN=0时,SUM=00101001;由波形可知,SUM=A+B+C_IN;进位则C_OUT = 1六、实验总结:通过这次试验,我学会了八位全加器的实验原理,并将其用软件仿真实现。

全加器实现的8位行波进位加法器

全加器实现的8位行波进位加法器

计算机组成原理实验报告实验项目全加器实现的8位行波进位加法器成绩一、实验目的:1、理解加法器的原理;2、掌握各种常见的加法器的设计方法。

二、实验原理:本实验中,用8个全加器实现8位的串行波进位加法器。

所用的全加器内部逻辑如全加器的两个基本公式。

将8个全加器串联起来,也就是说低位全加器的进位输出连到相邻的高位全加器的进位输入,就构成了8位加法器。

实验电路图如下参照全加器的原理,port:输入的8位操作数a : in std_logic_vector(7 downto 0);b : in std_logic_vector(7 downto 0);低位进位:cin : in std_logic;最高位进位:carryout : out std_logic;相加的和:sum : out std_logic_vector(7 downto 0)对应位相加可能出现进位,定义信号变量:signal c0,c1,c2,c3,c4,c5,c6:std_logic;根据行波进位加法器的原理,我们需要实现将低位加法器的进位输出连到相邻高位全加器的进位输入的功能。

要实现这一功能,就要完成两部分运算:1、两个操作数的对应位相加,程序为:sum(1)<=a(1) xor b(1) xor c0;(其中c0为低位的进位)...sum(7)<=a(7) xor b(7) xor c6;注意:sum(0)与后面的略有不同,因为其没有低位进位,但我们已经定义了cin,因此程序为:sum(0)<=a(0) xor b(0) xor cin;2、计算本位向高位的进位,程序为:c1<=(a(1) and b(1))or(a(1)and c0)or(b(1)and c0);…c6<=(a(6) and b(6))or(a(6)and c5)or(b(6)and c5);3、计算最高位,程序为:carryout<=(a(7) and b(7))or(a(7)and c6)or(b(7)and c6);由此就将8位加法器串联起来,实现八位全加器的功能。

实验一 8位全加器

实验一 8位全加器

实验一:8位全加器请大家先学习实验一附 Quartus II开发环境简介.doc文件,对照着完成本次实验。

实验步骤1、熟悉QUARTUSⅡ集成开发环境;2、熟悉GW48-PK2型FPGA实验箱;3、编写8位全加器的Verilog HDL源代码;4、完成计算机模拟功能仿真;5、下载到Altera ACEXEP1K30中,使用实验箱完成硬件验证;6、完成实验报告实验要求8位全加器输入:Clk,Rst_,In1,In2,Cin输出:Cout,Sum首先在实验箱左下角有个按钮模式选择,选择到模式1,红色的七段译码器会显示你所选择的模式。

下载到实验箱的时候需要查阅白皮书,首先请查阅第129页找到各实验电路结构图特点和适用范围简述:我们实验时使用结构图NO.1来实现加法器设计,结构图NO.1见白皮书P133页附图3。

关于引脚的绑定,例如键1对应PIO3-PIO0,绑定引脚的时候我们就要查阅白皮书第142页的适合于QuartusII 的部分引脚对照表选择PIO0对应的GW AK30/50 EP1K30/20/50TQC144这一列对应的引脚名称I/00,这个引脚对应与我们程序中的In1[0],依次类推,绑定好引脚In1[2],到In2[7]。

Cin绑到键7,相加的结果绑到译码器5和6。

绑定的时候注意引脚和结果的高低位顺序。

Cout绑到D1。

Rst_绑定到键8。

Clk 绑到CLOCK0。

完成实验后提交:请指导老师观看实验结果,写电子档的实验报告包括实验结果(包括仿真截图,仿真截图需要有文字说明),实验心得,代码(是.V文件)。

截图工具为键盘上的F12右边的那个PrtscSysRq键。

按下此键后,点击电脑左下角的开始—〉所有程序—〉附件—〉画图工具,打开,按住Ctrl+V粘贴图像,再保存截图即可。

提交的时候,请将文件夹命名为学号姓名(如:200531510001XXX)。

回去以后尽快填写纸质实验报告,并在下次做实验的时候交上来。

EDA综合实验——八位全加器

EDA综合实验——八位全加器

学生实验报告系别电子信息学院课程名称《EDA综合实验》班级实验名称8位全加器的设计姓名实验时间2014年月日学号指导教师王红航成绩批改时间2014年月日报告内容一、实验目的和任务利用Quartus II 原理图输入方法设计简单组合电路, 通过一个8位全加器的设计掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二、实验原理介绍三、一个8位全加器可以由2个4位全加器构成, 加法器间的进位可以用串行方式实现, 即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin相接。

四、设计代码(或原理图)、仿真波形及分析在Quartus II 集成环境下, 选择“Bock Diagram/Schematic File”, 进入Quartus II图形编辑方式。

双击编辑窗口, 在元件选择窗口的符号库“Library”栏中, 选择”Primitives”文件夹中的”Logic”后, 调出元件。

根据8位加法器设计的原理图, 将2个4位加法器74283及输入、输出元件符号调入, 完成电路内部的连接及输入、输出元件的连接, 并将相应的输入、输出元件符号名分别更改为A[7..0]、B[7..0]、SUM[7...0]和OUT2。

再将当前设计设定为工程, 目标芯片类型为ACEX1K;型号为EP1K30TC144-3。

编译设计文件, 选择“Start Compilation”对文件进行编译。

然后进行逻辑仿真设计, 先建立波形文件, 然后输入信号节点, 设置波形参量, 编辑输入信号, 保存文件。

时序仿真图功能仿真图由图片可以看出, 当8位全加器的输入端口A输入为60时, B端口输入为160时, 输出SUM 为220, 进位OUT2为0;当输入端口A输入为60时, B输入为200时, SUM为4, 进位OUT2为1.当8位全加器的输入端口A输入为80时, B端口输入为200时, 输出SUM为24, 进位OUT2为1;当输入端口A输入为80时, B输入为160时, SUM为240, 进位OUT2为0.证明设计是正确的。

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

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

实验一八位全加器的设计一、实验目的1.熟悉使用QuartusⅡ的原理图输入方法设计简单组合电路。

2.掌握层次化设计的方法,通过一个8位全加器的设计,掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

3.自行验证所设计电路的正确性。

二、实验内容及要求设计一个八位全加器,并进行验证。

三、实验器材1.软件:Altera公司的Quartus II软件。

2.芯片:Altera公司的EP2C8T144C8。

3.开发平台:KH-31001智能型可编程数字开发系统。

四、实验电路图原理:先由一个半加器构成一个全加器, 8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin相接。

图1 半加器图2 一位全加器图3八位全加器五、实验步骤本设计的思路是先设计1个1位半加器,因此建立新建文件夹D:/ ADD/ADD-H;要利用1位的半加器构造1位的全加器,因此建立新建文件夹D:/ADD/ADD-F;要利用1位的全加器构造8位的全加器,因此建立新建文件夹D:/ADD/ADD8。

1.建立名为ADD-H的工程文件,并在Quartus II原理图编辑环境中绘制如图1所示的电路图;2.保存文件、检查及编译;3.建立波形文件,并进行功能仿真,仿真结果如下图4所示;图44.单击“File”菜单里的“Create/Update”选项,选择“Create Symbol Files for Current File”选项后,生成“ADD-H.bsf”格式的图元文件,使其作为顶层器件,方便后面电路编辑时使用;5.建立建立名为ADD-F的工程文件,并在Quartus II原理图编辑环境中绘制电路图,如图2所示,然后依次执行步骤2、3,得到一位全加器的仿真结果如下图5所示;图56.单击“File”菜单里的“Create/Update”选项,选择“Create Symbol Files for Current File”选项后,生成“ADD-F.bsf”格式的图元文件,方便后面电路编辑时使用;7. .建立建立名为ADD8的工程文件,并在Quartus II原理图编辑环境中绘制电路图,由一个半加器和七个全加器构成的八位全加器如图3所示,然后依次执行步骤2、3,得到八位全加器的仿真结果为下图。

计算机组成原理实验报告_八位补码加减法器的设计与实现

计算机组成原理实验报告_八位补码加减法器的设计与实现

计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班级学号姓名指导教师日期成绩实验1八位补码加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。

2.熟悉简单运算器的数据传送通路。

3.掌握8位补码加/减法运算器的设计方法。

4.掌握运算器电路的仿真测试方法二、实验任务1.设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。

(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。

(3)测试通过后,封装成一个芯片。

2.设计8位运算器通路电路参考下图,利用实验任务1设计的8位补码加/减法运算器芯片建立运算器通路。

3.利用仿真波形,测试数据通路的正确性。

设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。

(1)在输入数据IN7~IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7~BUS0上的值与IN0~IN7端输入的数据是否一致。

(2)给DR1存入55H,检查数据是否存入,请说明检查方法。

(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。

(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。

(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。

(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。

三、实验要求(1)做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。

(2)实验完毕,写出实验报告,内容如下:①实验目的。

②实验电路图。

③按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。

表中的序号表示各控制信号之间的时序关系。

要求一个控制任务填一张表,并可用文字对有关内容进行说明。

⑤实验体会与小结。

四、实验预习内容1.实验电路设计原理及思路说明本实验利用基本逻辑门电路设计一位全加器(FA),如表1:表1-一位全加器(FA)电路的输入输出信号说明然后以此基础上实现八位补码加/减法器的设计,考虑到实现所需既可以实现加法又可以实现减法,所以使用了一个M输入来进行方式控制加减。

  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)时序仿真的延时情况。

相关文档
最新文档