实验一 4位全加器的设计

合集下载

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计一、实验目的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 ieee.std_logic_1164.ALL;ENTITY fadder ISPORT(a, b,cin : IN STD_LOGIC;s, co : OUT STD_LOGIC);END fadder;ARCHITECTURE arc1 OF fadder ISBEGINs<=a xor b xor cin;co<=((a xor b)and cin)or(a and b);END arc1;顶层文件:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY adder4 ISPORT(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);END adder4;ARCHITECTURE arc2 OF adder4 ISCOMPONENT fadderPORT(a, b,cin : IN STD_LOGIC;s, co : OUT STD_LOGIC);END COMPONENT;SIGNAL carry : STD_LOGIC_VECTOR(3 DOWNTO 1); BEGINu1 : fadder PORT MAP (a=>a(0), b=>b(0),cin=>c0,s=>s(0),co=>carry (1));u2 : fadder PORT MAP (a=>a(1),b=>b(1),cin=>carry(1),s=>s(1),co=>carry (2));u3 : fadder PORT MAP (a=>a(2),b=>b(2),cin=>carry(2),s=>s(2),co=>carry (3));u4 : fadder PORT MAP(a=>a(3),b=>b(3),cin=>carry(3),s=>s(3),co=>c4);END arc2;2、使用原理图的方法设计打开File—>New Project Wizard输入文件名adder4保存在D 盘,打开File—>New—>VHDL File,从模版中选择库的说明,use 语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后选择File-->Create/Update-->Create Symbol Files for Current File,选择File-->New-->Other File-->Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。

全加器实验报告【范本模板】

全加器实验报告【范本模板】

4位全加器的设计实验报告
班级:通信12-2班学号:12090216 姓名:韦建萍
一、实验目的
熟悉利用Quartus II 的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个4位全加器的设计,掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

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

加法器举例说明:设M = 1101 ,N = 1110,CIN=0,则
1、半加器(设其名为h_adder)的电路:
2、全加器(设其名为f_adder)的电路:
三、实验内容和步骤
1、完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真;
半加器电路原理设计图如图:
半加器电路仿真图如图:
全加器电路原理设计图如图:
全加器电路仿真图如图:
2、建立一个更高层次的原理图设计,利用以上获得的1位全加器构成4位全加器,并完成编
译、综合、适配、仿真。

4位全加器电路原理图如图:
4位全加器仿真图如图:
四、仿真分析及心得体会
仿真分析:
四位全加器S0为和位,C0为进位,当a0=1,b0=1时,S0=0,C0=1,就是和位为零,进位进1。

以此类推,当a1=1,b1=0,C0=1时,和位S0=0,进位C0=1。

实验体会:
通过这次实验让我学会了如何掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程,利用Quartus II 的原理图输入方法设计简单组合电路,掌握层次化设计的方法。

VHDL全加器的设计

VHDL全加器的设计

实验四全加器的设计一、实验目的通过VHDL语言设计4位全加器,掌握加法器的设计方法;学习利用软件工具的模块封装(1位全加器)及连接使用方法,在软件工具的原理图输入法下完成4位全加器的设计。

二、实验原理根据数字电路全加器的理论知识,按图1所示的1位全加器的管脚图进行设计。

图 1 1位全加器管脚图三、实验内容用VHDL语言设计1位全加器,进行编译、波形仿真及器件编程。

代码一见附录,仿真图如下图 2 1位全加器功能仿真图使用原理图设计4位全加器进行编译、波形仿真及器件编程。

原理图如下仿真图如下用VHDL语言设计4位全加器,进行编译、波形仿真及器件编程,代码二见附录,仿真图如下图 5 4位全加器功能仿真图附录代码一、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity swqjq isport (a,b:in std_logic;ci:in std_logic;co:out std_logic;s:out std_logic);end swqjq;architecture zhang of swqjq isbeginprocess (a,b,ci)beginif(a='0'and b='0'and ci='0') thens<='0';co<='0';elsif(a='1'and b='0'and ci='0') thens<='1';co<='0';elsif(a='0'and b='1'and ci='0') thens<='1';co<='0';elsif(a='1'and b='1'and ci='0') thens<='0';co<='1';elsif(a='0'and b='0'and ci='1') thens<='1';co<='0';elsif(a='0'and b='1'and ci='1') thens<='0';co<='1';elsif(a='1'and b='0'and ci='1') thens<='0';co<='1';elses<='1';co<='1';end if;end process;end zhang;代码二、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4b isport ( ci:in std_logic;a,b:in std_logic_vector(3 downto 0);s:out std_logic_vector(3 downto 0);co:out std_logic);end adder4b;architecture zhang of adder4b issignal sint:std_logic_vector(4 downto 0); signal aa,bb:std_logic_vector(4 downto 0); beginaa<='0'&a(3 downto 0);bb<='0'&b(3 downto 0);sint<=aa+bb+ci;s(3 downto 0)<=sint(3 downto 0);co<=sint(4);end zhang;。

四位全加器实验Verilog

四位全加器实验Verilog

实验四四位全加器一、实验目的l. 用组合电路设计4位全加器。

2.了解Verilog HDL语言的行为描述的优点。

2、实验原理4位全加器工作原理1)全加器除本位两个数相加外,还要加上从低位来的进位数,称为全加器。

被加数Ai、加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。

能实现全加运算功能的电路称为全加电路。

全加器的逻辑功能真值表如表中所列。

2)1位全加器一位全加器(FA)的逻辑表达式为:S=A⊕B⊕Cin;Co=AB+BCin+ACin其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;这两幅图略微有差别,但最后的结果是一样的。

3)4位全加器4位全加器可看作4个1位全加器串行构成, 具体连接方法如下图所示:采用Verilog HDL语言设计该4位全加器,通过主模块调用子模块(1位全加器)的方法来实现。

3、实验步骤四、实验连线K1-K4:14-11K5-K8:18-15L5-L8:7-10VIJN:83L4:64KHZ:805、心得体会首先,实现这一段全加器代码并不难,但是由于困惑给的三个时钟输入,没有太懂意思,所以只写了全加器控制LED灯的代码;后来问清楚后,运行全加器代码,有错误,原来是建文件时用的是verilog hdl,我建的是其他类型的;后来还有错,原来是把冒号打成分号;编译成功后,LED不亮,后来发现是硬件老化,换了箱子。

这一部分做好后,我准备把控制声音的加上去,本来准备再加一个模块,可是不能有两个顶层块,就对主模块做了补充,用case命令调用不同的状态,因为时间紧迫,所以代码写得比较简单,没有用经典的分频代码。

这里附一小段,是我在研究分频控制时看懂的网上的经典分频代码,适合乐曲自动播放等高级的实现,仅供分享assign preclk=(divider==16383)?1:0;//divider==16383,preclk=1always @(posedge clk) //基频上升沿触发beginif(preclk) //preclk=1divider=origin;elsedivider=divider+1;endalways @(posedge preclk) //调整占空比beginspeaker=~speaker; //2 分频产生方波信号end这部分实现了分频功能,其中origin+divider=16384=2^14,这个数根据自己的需要而定。

4位加法器实验报告

4位加法器实验报告

硬件描述语言实验题目:四位全加器学院数学与计算机学院学科门类xxxxxxxxxx专业xxxxxxxxxx学号姓名x指导教师xxxx20xx年x 月xx日1、实验目的:练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言行为描述的编写方法。

2、实验环境:PC个人计算机、Windows XP操作系统、Quartus II集成开发环境软件。

3、实验要求:设计一个四位加法器,其引脚及其功能如下表。

4、实验步骤:(1)用RTL描述方式描述4位加法器①RTL描述方式是一种明确规定寄存器描述的方法,它要求在描述时要么采用寄存器硬件的一一对应的直接描述,要么采用寄存器之间的功能描述。

RTL描述方式可以进行逻辑综合,这是其他描述方式所不具备的特点。

②编辑代码这种描述方法详细描述了加法器的计算过程,即写出了每一位的计算和进位方法。

模块内部(构造体说明部分)需要定义三个连接线,定义语句为:signal c0,c1,c2 : std_logic代码如下:library ieee;use ieee.std_logic_1164.all;entity adder4 isport(a,b:in std_logic_vector(3 downto 0);ci:in std_logic;s:out std_logic_vector(3 downto 0);co:out std_logic);end entity;architecture rtl of adder4 issignal c0,c1,c2:std_logic;s(0) <= a (0) xor b(0) xor ci;c0<= (a(0) and b(0)) or (a(0) and ci) or (b(0) and ci);s(1) <= a (1) xor b(1) xor c0;c1<= (a(1) and b(1)) or (a(1) and c0) or (b(1) and c0);s(2) <= a (2) xor b(2) xor c1;c2<= (a(2) and b(2)) or (a(2) and c1) or (b(2) and c1);s(3) <= a (3) xor b(3) xor c2;co<= (a(3) and b(3)) or (a(3) and c2) or (b(3) and c2);end architecture rtl;③仿真结果(2)用行为描述方式描述4位加法器①行为描述是对系统数学模型的描述,其抽象程度比寄存器传输描述方式和结构描述方式更高。

四位全加器

四位全加器

4位加法计数器一、实验目的(1)学习时序电路的VHDL描述方法。

(2)掌握时序进程中同步、异步控制信号的设计。

(3)熟悉EDA的仿真分析和硬件测试技术。

二、实验原理设计一个含计数使能、异步复位和并行预置功能的4位加法计数器,RST是异步复位信号,高电平有效;CLK是时钟信号;当使能信号ENA为1时,加法计数,COUT为计数进位输出,OUTY为计数输出。

VHDL参考程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CNT4B isport(clk:in std_logic;rst:in std_logic;ena:in std_logic;outy:out std_logic_vector(3 downto 0);cout:out std_logic);end CNT4B;architecture BEHA V of CNT4B issignal CQI:std_logic_vector(3 downto 0);beginP_REG:process(clk,rst,ena)beginif rst = '1' then CQI <= "0000";elsif clk'event and clk = '1' thenif ena = '1' then CQI <= CQI + 1;end if;end if;outy <= CQI;end process P_REG;cout <= CQI(0) and CQI(1) and CQI(2) and CQI(3);end BEHA V;三、实验任务(1)编写4位二进制加法计数器的VHDL程序。

(2)在ispDsignEXPERT System或者Quartu sⅡ上对加法计数器进行仿真。

eda课程设计论文4位全加器

eda课程设计论文4位全加器

eda课程设计论文4位全加器一、教学目标本课程的目标是让学生理解并掌握全加器的工作原理和设计方法,能够运用数字逻辑设计出功能完整的全加器。

知识目标:使学生了解全加器的功能和作用,理解其内部电路的工作原理,掌握全加器的真值表和布尔表达式。

技能目标:培养学生运用数字逻辑设计简单电路的能力,能够独立完成全加器的设计和仿真。

情感态度价值观目标:培养学生对电子技术的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队协作精神。

二、教学内容本课程的教学内容主要包括全加器的功能和工作原理、全加器的真值表和布尔表达式、全加器的设计和仿真。

首先,讲解全加器的功能和作用,通过具体的实例让学生了解全加器在计算机中的重要性。

然后,讲解全加器的内部电路工作原理,使学生理解全加器是如何实现加法的。

接下来,介绍全加器的真值表和布尔表达式,让学生掌握全加器的工作原理。

最后,讲解全加器的设计和仿真方法,培养学生运用数字逻辑设计电路的能力。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法。

首先,通过讲授法向学生传授全加器的理论知识,使学生了解全加器的基本概念和工作原理。

然后,通过讨论法引导学生进行思考和讨论,提高学生的理解能力。

接下来,通过案例分析法分析实际案例,使学生了解全加器在计算机中的应用。

最后,通过实验法让学生动手设计和仿真全加器,提高学生的实践能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备。

教材:选用《数字逻辑设计》作为主教材,系统地介绍全加器的理论知识。

参考书:推荐《计算机组成原理》等参考书,供学生深入学习和参考。

多媒体资料:制作全加器的原理讲解和设计过程的视频,通过动画和图像等形式直观地展示全加器的工作原理。

实验设备:准备数字逻辑设计实验室,提供全加器的设计和仿真实验所需设备。

4位全加器verilog课程设计

4位全加器verilog课程设计

4位全加器verilog课程设计一、课程目标知识目标:1. 理解4位全加器的原理和功能,掌握其Verilog硬件描述语言实现方法。

2. 学习并掌握数字电路中加法器的基本结构和工作原理。

3. 掌握Verilog模块化编程,能够实现并测试4位全加器的基本功能。

技能目标:1. 能够运用Verilog语言编写4位全加器的代码,并进行功能仿真。

2. 学会使用硬件描述语言进行数字电路的设计,提高实际问题解决能力。

3. 能够对4位全加器进行调试和优化,提升编程实践技能。

情感态度价值观目标:1. 培养学生的团队合作意识,提高学生在项目实践中的沟通与协作能力。

2. 增强学生对数字电路设计领域的兴趣,激发学生的创新精神。

3. 引导学生树立正确的价值观,认识到科技发展对社会进步的重要性。

课程性质:本课程为电子信息工程及相关专业高年级的数字电路设计课程,旨在通过4位全加器的Verilog实现,让学生掌握数字电路设计的基本方法和实践技能。

学生特点:学生已具备一定的数字电路基础和Verilog编程知识,具备分析问题和解决问题的能力。

教学要求:注重理论与实践相结合,鼓励学生积极参与课堂讨论,培养学生的动手能力和实际操作技能。

通过课程学习,使学生在知识、技能和情感态度价值观方面均取得明显进步。

二、教学内容本课程教学内容主要包括以下几部分:1. 数字加法器原理回顾:介绍加法器的基本原理,重点讲解4位全加器的工作流程和关键特性。

- 教材章节:数字电路基础,第3章第2节。

2. Verilog硬件描述语言基础:复习Verilog的基本语法,强调模块化编程方法。

- 教材章节:硬件描述语言Verilog,第4章。

3. 4位全加器的Verilog设计:- 设计原理:讲解4位全加器的设计思路和实现方法。

- 代码编写:引导学生编写4位全加器的Verilog代码,并进行模块化设计。

- 教材章节:数字电路设计,第5章第3节。

4. 功能仿真与调试:- 介绍仿真工具和仿真方法,指导学生进行4位全加器的功能仿真。

四位全加器版图课程设计

四位全加器版图课程设计

四位全加器版图课程设计一、课程目标知识目标:1. 让学生理解四位全加器的原理,掌握其功能、结构和操作方法。

2. 使学生掌握数字电路中加法器的基本概念,了解四位全加器在数字系统中的应用。

3. 帮助学生掌握二进制数加法运算的规则,并能运用四位全加器进行简单的二进制加法计算。

技能目标:1. 培养学生运用所学知识,分析并设计简单的四位全加器电路。

2. 提高学生动手实践能力,能够正确搭建四位全加器电路,并进行调试。

3. 培养学生运用四位全加器解决实际问题的能力。

情感态度价值观目标:1. 培养学生对数字电路的兴趣,激发他们学习电子技术的热情。

2. 培养学生严谨的科学态度,注重实验数据的准确性和可靠性。

3. 引导学生认识到数字电路在现代科技中的重要作用,增强他们的国家荣誉感和责任感。

课程性质分析:本课程为电子技术基础课程,旨在让学生掌握四位全加器的基本原理和实际应用,培养他们的实践操作能力。

学生特点分析:学生为初中年级学生,对电子技术有一定的基础,具备基本的电路知识和动手能力,但需要进一步引导和培养。

教学要求:1. 注重理论与实践相结合,让学生在实际操作中掌握四位全加器的原理和应用。

2. 采用启发式教学方法,引导学生主动思考、探索,培养他们的创新意识。

3. 注重个体差异,因材施教,使每位学生都能在课程中取得实质性的进步。

二、教学内容1. 四位全加器的基本概念与原理:- 加法器的作用与分类- 四位全加器的结构及工作原理- 二进制数加法运算规则2. 四位全加器的电路设计与分析:- 电路元件的选用与连接- 四位全加器的逻辑表达式及简化- 电路图的绘制与解读3. 四位全加器的实际应用:- 在数字系统中的应用场景- 与其他数字电路的组合应用- 实际电路搭建与调试4. 教学内容的安排与进度:- 第一课时:介绍加法器的基本概念,引导学生了解四位全加器的原理和结构- 第二课时:讲解二进制数加法运算规则,分析四位全加器的电路设计方法- 第三课时:指导学生动手搭建四位全加器电路,进行调试与优化- 第四课时:探讨四位全加器在实际应用中的组合运用,培养学生的创新意识教材关联:教学内容与教材第四章“数字电路基础”中第四节“加法器”相关内容紧密关联,涵盖了四位全加器的基本原理、电路设计、实际应用等方面,为学生提供了系统性的学习指导。

实验一 四位加法器和减法器设计

实验一  四位加法器和减法器设计

实验一 四位加法器和减法器设计一、问题描述:1、设计一个4bit 加法器,采用两种不同的结构实现(串行结构和超前进位链结构)。

并进行功能仿真,并分析比较两种不同的四位加法器的异同。

2、在4bit 加法器的基础上设计一个4bit 的减法器,并进行功能仿真。

二、 输入和输出信号描述1、加法器input: A3A2A1A0: 加数输入。

B3B2B1B0: 加数输入。

C0: 进位输入output: S3S2S1S0: 和数输出C4: 进位输出2、减法器input: A3A2A1A0: 减数输入B3B2B1B0: 被减数输入C0: 借位输入output: S3S2S1S0: 结果输出C4: 借位输出三、 结构框图(1) 串行加法器的结构图其中1位全加器的结构如下:C4(2)超前进位链结构加法器S=A⊕B⊕Ci-1Cout=AB+Ci-1(A+B) 令Gi=AiBi,进位产生信号Pi=Ai+Bi 进位传输信号则,Cout=Gi+Pi Ci-1四位全加器的进位链逻辑可以表示为如下C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4G3+P4P3G2+P4P3G2+P4P3P2G1+P4P3P2P1C0四、设计步骤Step1:串行加法器要求先设计完成1bit全加器,对1bit全加器的功能进行仿真,确保1bit全加器的电路结构、功能都是正确的。

Step2:再在1bit全加器的基础上设计4bit串行结构的加法器。

Step3:4bit减法器的实现要求调用4bit加法器,具体电路实现结构根据二进制减法运算的方法自己思考实现。

Step4:电路设计完成后,进行功能仿真,加入激励信号,观察波行输出是否满足设计要求。

五、设计要求1、采用层次化的设计方法。

2、功能仿真加的激励要尽可能反应电路的全部工作情况。

3、得到完整的结果波形,并能够分析其是否正确。

4、设计完成后,自己独立完成实验报告的撰写。

4位全加器实验报告doc

4位全加器实验报告doc
说明:为了方便在QuartusII9.1 sp2中完成编译和功能仿真,咱们选择芯片Cyclone II,EP2C70F89C6,而在DE2-115开发板中进行下载时,那么需要选择与开发板相匹配的芯片Cyclone IVE 中的EP4CE115F29C7。(芯片选择见下文详述,注意每次变换芯片后都需要从头编译)
#10 $display ("A B=%b %b,S_t=%b,C3_t=%b",A_t,B_t,S_t,C3_t); A_t = 0111;B_t = 1100;C_1_t = 0;
#10 $display ("A B=%b %b,S_t=%b,C3_t=%b",A_t,B_t,S_t,C3_t);end endmodule
表2 全加器逻辑功能真值表
图4 全加器方框图
图5 全加器原理图
多位全加器连接能够是逐位进位,也能够是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。
四位全加器
如图9所示,四位全加器是由半加器和一名全加器组建而成:
图9 四位全加器原理图
【实验步骤】
(1)成立新工程项目:
打开ISE软件,进入集成开发环境,点击File→New project成立一个工程项目adder_4bit。
input cin; initial assign {cout,sum}=a+b+cin; begin endmodule a=4'b0; b=4'b0; cin=1'b0; #210 $stop; end always #10 a=a+1; always #5 b=b+1; always #100 cin=cin+1;endmodule 四、仿真波形如下:

EDA实验报告 4位全加器,16位频率计数器

EDA实验报告 4位全加器,16位频率计数器

实验课程名称:EDA技术与应用实验项目名称4位全加器实验实验成绩实验者专业班级组别同组者实验日期一、实验目的1.进一步加深理解全加器的工作原理及电路组成,加深对EDA技术的掌握。

2.熟悉利用Quartus Ⅱ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个四位全加器的设计把握原理图输入方式设计的详细流程。

二、实验内容实验内容1:按照书本4.5.1节完成半加器和1位全加器的设计,包括用原理图输入,编译,综合,适配,仿真,实验板上的硬件测试,并将此全加器电路设置成一个元件符号入库。

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

三、实验仪器1.计算器及操作系统2.Quartus II软件四、实验原理一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。

1、半加器描述根据半加器真值表可以画出半加器的电路图。

a b so Co0 0 0 00 1 1 01 0 1 01 1 0 1表1半加器h_adder真值表图1 半加器h_adder电路图2、1位全加器描述一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL 描述。

图2 1位全加器电路图3、4位全加器设计描述4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。

其中,其中cin 表示输入进位位,cout 表示输出进位位,输入A 和B 分别表示加数和被加数。

S 为输出和,其功能可用布尔代数式表示为:S=A+B+Ciii i i o ABC ABC ABC ABC C +++=首先根据一位全加器的布尔代数式应用基本逻辑门设计一位全加器,而后仿真验证一位全加器设计,准确无误后生成元件,供4位全加器设计用。

数字逻辑_4位全加器课程设计

数字逻辑_4位全加器课程设计

目录摘要 (1)Abstract (2)1设计关键 (3)2设计过程 (4)2.1设计思路 (5)2.2设计过程 (6)3设计过程 (7)3.1设计实现代码 (7)3.2功能仿真 (8)4设计总结 (9)参考文献 (10)摘要全加器的运用是相当的广泛的,像各种各样的CPU和某些模型机,然而对于快速正确的加法器的设计是相当的重要的,所以在这次课程设计我选择对全加器的设计与实现。

一个器件需要进一步的更新换代,在我所学的知识领域里面,我认为应该需要两个方面,一个是设计,有一个好的设计,它就像一种需求一样,即使这种设计在实际上暂时无法得到应用,但是,在一定时期以后,它是可以实现的。

另一个是工艺,对于一个好的设计,由于工艺还没有达到那个水平没法进行对好的设计的实现。

所以在这次我使用我所学过的知识进行对这个四位全加器进行设计。

由于涉及串联进位,会导致进位延迟,故这种设计仅适用于低速情况。

关键词:全加器四位延迟低速AbstractFulladder implement use is quite widespread, like all sorts of CPU and some model machine, yet for rapid correct adder design is quite important, so in this course design fulladder device for my choice of design and implementation.A device need further upgrading, in my knowledge field inside, I think should need two aspects, one is the design, there is a good design, it is just like a kind of demand the same, even if the design in actually temporarily unable to find application, but, in a certain period after, it is can be realized. Another is the process, for a good design, due process have not reached the level on a good design can achieve. So in this time I use my knowledge learned about this four fulladder device to carry on the design. Because it involves a series carry and can lead to carry delay, so this design only suitable for low speed.Keywords: fulladder device four delay low speed1设计关键全加器是组合逻辑电路的一个重要的器件,它的设计方式有多种,这里采用逐个进位即串行进位和超前进位即并行进位综合设计。

4位数加法器设计报告

4位数加法器设计报告

4位数加法器设计报告
设计报告:4位数加法器
1.简介:
2.设计原理:
3.设计步骤:
步骤一:确定输入和输出
步骤二:设计全加器
全加器是4位数加法器的基本单元,它负责进行两个二进制数位的加法运算,并生成相应的和与进位输出。

全加器的输入包括两个二进制数位(A和B)和一个进位信号(Cin),输出是一个和位(S)和一个进位输出(Cout)。

步骤三:连接四个全加器
使用四个全加器将输入的两个4位二进制数逐位相加,将进位信号连接到下一级全加器的进位输入,结果和输出为4位二进制数。

步骤四:设计加法器的控制逻辑
控制逻辑用于判断在每个时钟周期中是否需要进行进位。

当两个输入数的相应位以及前一位的进位信号都为1时,才会产生进位输出。

步骤五:测试和调试
对设计的4位数加法器进行仿真测试,并使用实际电子元件进行搭建和调试。

4.设计要点:
-全加器的设计要考虑进位信号的传播和延迟。

-用适当的逻辑门和触发器将四个全加器连接在一起。

-控制逻辑的设计要注意时序和状态转换。

5.设计优化:
-使用快速加法器设计,减小进位传播延迟。

-采用并行加法器设计,在多个位上同时进行加法运算,提高运算速度。

-加入流水线设计,将加法运算划分为多个阶段,提高运算频率。

6.结论:
4位数加法器是一种常见的数字逻辑电路,用于对两个4位二进制数进行加法运算。

它的设计原理简单直观,涉及到全加器、控制逻辑和进位传播等方面的内容。

通过合理的设计和优化,可以实现高效的4位数加法器。

同时,我们也可以考虑在此基础上进行更高位数的加法器设计,以满足不同的需求。

四位全加器实验报告

四位全加器实验报告

四位全加器实验报告四位全加器实验报告引言:在计算机科学领域,加法器是一种常见的数字电路,用于将两个二进制数相加。

全加器是一种特殊的加法器,能够处理三个输入位:两个用于相加的位和一个用于进位的位。

本实验旨在设计和实现一个四位全加器电路,并验证其正确性。

一、实验背景全加器是计算机中常用的逻辑电路之一。

在二进制加法中,当两个位相加时,如果产生进位,则需要将进位传递到下一位的计算中。

全加器的作用就是处理这种进位情况,确保加法运算的正确性。

二、实验目的1. 设计一个四位全加器电路。

2. 实现全加器电路的逻辑功能。

3. 验证全加器电路的正确性。

三、实验原理1. 全加器的逻辑功能:全加器的逻辑功能可以通过真值表表示。

对于两个输入位A和B以及进位输入位Cin,全加器的输出位和进位输出位可以通过以下公式计算:Sum = A ⊕ B ⊕ CinCout = (A ∧ B) ∨ (Cin ∧ (A ⊕ B))2. 四位全加器电路的设计:四位全加器由四个全加器和三个2-1多路选择器组成。

其中,每个全加器的输入位分别与两个相邻位的输出位相连,最高位的进位输入位与电源连接,最低位的进位输出位与地线连接。

每个2-1多路选择器的选择位分别与两个相邻位的进位输出位相连。

四、实验步骤1. 根据实验原理设计四位全加器电路。

2. 使用逻辑门电路和多路选择器等器件搭建电路。

3. 连接电路中的输入和输出端口。

4. 转接开关设置输入位的值。

5. 连接电源,观察输出位的值。

6. 更改输入位的值,再次观察输出位的值。

7. 对比实际输出值与预期值,验证电路的正确性。

五、实验结果与分析经过实验观察和计算,我们得到了四位全加器电路的输出结果。

与预期结果相比较,实际输出值与预期值完全一致,证明了电路的正确性。

六、实验总结通过本次实验,我们成功设计并实现了一个四位全加器电路,并验证了其正确性。

全加器作为计算机中常用的逻辑电路,具有重要的应用价值。

通过深入学习和掌握全加器的原理和设计方法,我们可以更好地理解和应用计算机科学中的相关知识。

eda实验报告(四位全加器的实现)

eda实验报告(四位全加器的实现)

eda实验报告(四位全加器的实现)一、概述本实验是基于EDA软件对四位全加器电路进行实现的过程。

在EDA软件中,通过电路图的设计和仿真,可以有效地判断电路的正确性,从而进一步改进设计方案。

二、实验过程本实验的目的是实现四位全加器的电路。

在四位全加器的电路中,需要实现三个输入端口A、B和CIN,以及两个输出端口SUM和COUT。

其中,SUM输出端口表示输入端口A和B相加的结果,COUT输出端口则表示两个输入端口相加后的进位。

首先,在EDA软件中,使用电路图工具设计了四位全加器的电路。

在电路图中,输入端口和输出端口均使用标准连接器进行连接。

在电路图中,使用四个完整加法器电路连接起来,从而实现四位全加器电路的功能。

接着,对设计出的电路进行了仿真。

仿真的过程中,需要给输入端口设置相应的电信号,以模拟实际应用中的电路电信号。

通过观察仿真结果,可以判断输入端口和输出端口的功能是否正确,从而判断电路图的设计是否正确。

最后,将完成的电路图经过PCB工具进行绘制。

绘制完成后,将其导入到模拟工具中,进行实际电路的模拟测试。

在测试过程中,需要将输入端口和输出端口分别连接到接口测试架,并按照正常的电路连接方式进行测试。

通过测试结果,可以判断电路图中所设计的电路是否正确。

同时,测试结果还能验证电路的可靠性和稳定性,从而进行后续改进。

三、实验结果根据以上实验过程,在EDA软件中,成功设计了四位全加器电路,并进行了仿真和实际测试。

在测试结果中,电路功能正常,而输出端口的结果也与预期结果一致。

经过多次测试,电路的稳定性和可靠性也得到了验证。

四、结论通过以上实验,得出如下结论:1. EDA软件在电路设计和仿真方面具有很大的优势,能够极大地提高电路设计的效率和可靠性。

2. 在设计电路时,需要充分考虑各个输入端口之间的电路连接方式,以确保电路的准确性和稳定性。

3. 在完成电路设计之后,需要进行仿真和测试,以验证电路的正常功能和性能表现,从而进一步改进和优化电路设计方案。

4 位加法器原理图设计

4 位加法器原理图设计

实验二 4 位加法器原理图设计一、实验目的1、进一步掌握 Quartus Ⅱ原理图输入设计法。

2、通过4位加法器的设计,掌握原理图输入法中的层次化设计。

So=a xor b; co=a and b;图 2-1 半加器原理图图 2-2 1位全加器原理图图 2-3 4 位加法器原理图4 位加法器(如图 2-3)是以 1 位全加器作为基本硬件,由 4 个 1 位全加器串行构成,1位全加器又可以由两个1位的半加器和一个或门连接而成(如图 2-2),而1位半加器可以由若干门电路组成(如图 2-1)。

三、实验内容本次实验使用 Altera FPGA 的开发工具 Quartus Ⅱ,利用原理图输入设计方法设计一个 4位加法器,取实验板上的 8 位按键的高 4 位与低 4 位分别作为 4 位加数与被加数,其中 8 个 LED 取 5 位作为结果输出,LED2~LED5 作为 4 位相加之和的输出结果,LED1作为两数高 4 位相加的进位 (LED 亮,表示低电平“0”, LED 灭,表示高电平“1”)四、实验步骤1、打开QUARTUS II软件,新建一个工程adder4bit。

2、建完工程之后,再新建一个Block Diagram/Schematic File。

在原理图编辑窗口绘制如图 2-1 的半加器原理图。

点击 File ->Save,将已设计好的图文件取名为:h_adder,并存在此目录内。

3、将 h_adder 设置成顶层实体。

在诸多文件打开的状态下,选中 h_adder.bdf为当前文件。

点击 Project → Set as Top-Level Entity。

4、编译。

如果发现有错,排除错误后再次编译。

直到编译通过就可以进行波形仿真了。

5、时序仿真。

建立波形文件,设置波形参量,再保存(注意: QuartusⅡ在波形仿真时,只支持一个与工程名同名的波形文件,所以在对多个文件进行波形仿真时,对波形文件都取工程名进行保存,后缀名为.vwf;若确实想保留多个波形文件,则可以分别命名,想对哪个波形文件进行仿真时,点击Processing->simulation Tool,在Simulation input中输入待仿真的波形文件即可,如图2-4所示) ,最后运行波形仿真。

组合逻辑及应用电路实验

组合逻辑及应用电路实验

组合逻辑及应用电路实验组合逻辑电路是指电路的输出仅与当前输入状态有关,与先前的输入状态无关。

它不包含任何存储元件,因此输出仅通过逻辑门进行计算得出。

组合逻辑电路的设计和应用在数字电子技术领域中非常重要,下面将介绍一个实验以及其应用。

实验名称:4位全加器电路设计与实现实验目的:通过设计并实现4位全加器电路,学习组合逻辑电路的基本原理和应用。

实验器材:1. 真值表2. IC 7408(四路与门)3. IC 7486(四路异或门)4. 220欧姆电阻5. LED灯6. 芯片插座7. 连接线8. 电源9. 开关实验步骤:1. 确定4位全加器的真值表,包括A、B、C(进位)和S(和)以及C_out(进位输出)。

2. 将AND门(7408芯片)和XOR门(7486芯片)与其他所需材料连接组装成4位全加器电路。

3. 插入IC芯片时,要注意引脚编号和方向,确保正确连接。

4. 将电源连接到电路上,并使用开关控制输入信号。

5. 根据真值表,验证电路的功能是否正确,通过观察LED灯的亮灭状态判断输出结果。

6. 如果输出与预期不符,检查电路连接是否正确,芯片引脚接触是否良好。

实验应用:4位全加器电路广泛应用于计算机中的算术逻辑单元(ALU),作为执行算术和逻辑运算的关键组件。

应用场景1:加法器4位全加器电路可以用作加法器,用于将两个4位二进制数相加。

输入A和B 分别表示两个二进制数的位,C_in表示进位。

通过将多个4位全加器级联,可以实现更复杂的二进制加法运算。

应用场景2:减法器通过将加法器与取反器和加一器组合,可以实现减法运算。

将被减数B取反,然后将减数A与取反后的B和C_in一同输入到4位全加器中,即可完成减法运算。

应用场景3:比较器4位全加器电路也可用作比较器,用于比较两个4位二进制数的大小。

通过比较两个数的高位,如果高位相等,则依次比较各个位,判断大小关系。

总结:通过设计和实现4位全加器电路,我们可以深入了解组合逻辑电路的工作原理和应用。

EDA实验一 1位全加器和四位全加器的设计

EDA实验一 1位全加器和四位全加器的设计

实验一1位全加器和四位全加器的设计一、实验目的1、掌握Quartus Ⅱ6.0软件使用流程。

2、初步掌握VHDL的编程方法。

3、掌握图形层次设计方法;4、掌握全加器原理,能进行多位加法器的设计。

二、实验原理(一位全加器的逻辑表达式为:sum=a^b^Cl;Ch= a&b|(a^b)&Cl.(2)四位加法器加法器是数字系统中的基本逻辑器件。

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

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

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

三、实验连线(1)一位全加器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、将JPLED1短路帽右插,JPLED的短路帽全部上插。

3、请将JP103的短路帽全部插上,,打开实验箱电源。

( 2 ) 四位加法器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、JPLED1短路帽右插,JPLED的短路帽全部上插。

3、请将JP103的短路帽全部插上,,打开实验箱电源。

四、实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY fulladder ISPORT(A,B,C1 :IN STD_LOGIC;CH,SUM : OUT STD_LOGIC);END ENTITY fulladder;ARCHITECTURE ADO OF fulladder isSIGNAL AB :STD_LOGIC;BEGINSUM<=A XOR B XOR C1;AB<=A XOR B;CH<=(A AND B) OR (AB AND C1);END ARCHITECTURE ADO;一位全加器波形如下:图4-1四位加法器波形如下:图4-2五、实验仿真过程SW1,SW2,SW3对应a,b,Cl;D101,D102分别对应sum和Ch,当结果为0时彩色LED灯熄灭,当结果为1时彩灯点亮,改变SW1,SW2,SW3的输入状态,观察实验结果。

EDA技术实验报告

EDA技术实验报告

EDA技术实验报告实验⼀利⽤原理图输⼊法设计4位全加器⼀、实验⽬的:掌握利⽤原理图输⼊法设计简单组合电路的⽅法,掌握MAX+plusII 的层次化设计⽅法。

通过⼀个4位全加器的设计,熟悉⽤EDA 软件进⾏电路设计的详细流程。

⼆、实验原理:⼀个4位全加器可以由4个⼀位全加器构成,全加器的进位以串⾏⽅式实现,即将低位加法器的进位输出cout 与相邻的⾼位加法器的低位进位输⼊信号cin 相接。

1位全加器f-adder 由2个半加器h-adder 和⼀个或门按照下列电路来实现。

半加器h-adder 由与门、同或门和⾮门构成。

四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界⾯,掌握利⽤原理图进⾏电路模块设计的⽅法。

QuartusII 设计流程见教材第五章:QuartusII 应⽤向导。

2.设计1位全加器原理图(1)⽣成⼀个新的图形⽂件(file->new->graphic editor )(2)按照给定的原理图输⼊逻辑门(symbol ->enter symbol)COCO 1S 2S 3S 4(4)为管脚和节点命名:在管脚上的PIN_NAME处双击⿏标左键,然后输⼊名字;选中需命名的线,然后输⼊名字。

(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建⼀个设计的符号,该符号可被⾼层设计调⽤。

3.利⽤层次化原理图⽅法设计4位全加器(1)⽣成新的空⽩原理图,作为4位全加器设计输⼊(2)利⽤已经⽣成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形⽂件(file->new->Other Files->Vector Waveform File),保存后进⾏仿真(Processing ->Start Simulation),对4位全加器进⾏时序仿真。

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

实验一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 Adderlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f_add isport(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 isbegin(co,y)<=('0',a)+('0',b)+('0',ci);end rtl;VHDL源程序如下(行为描述)的RTL与technology map视图VHDL源程序如下(数据流描述):-- Quartus II VHDL Template-- Unsigned Adderlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity f_add_df isport(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_df is beginy<=a xor b xor ci;co<=((a xor b) and ci) or (a and b); end rtl;VHDL源程序如下(数据流描述)的RTL与technology map视图:VHDL源程序如下(结构化描述):-- Quartus II VHDL Template-- Unsigned Adderlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity f_add_st isport(af : in std_logic;bf : in std_logic;cif : in std_logic;yf : out std_logic;cof : out std_logic);end entity;architecture rtl of f_add_st is COMPONENT h_addPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;y : OUT STD_LOGIC;co : OUT STD_LOGIC);END COMPONENT;signal s1:std_LOGIC;signal co1:std_LOGIC;signal co2:std_LOGIC;beginU1: h_add port map(a=> af,b=> bf,y=>s1,co=> co1 ); U2: h_add port map (a=> s1,b=> cif,y=> yf,co=> co2 ); cof <= co1 or co2;end rtl;VHDL源程序如下(结构化描述)的RTL与technology map视图:Testbench文件源程序如下:LIBRARY cycloneiii ;LIBRARY ieee ;USE cycloneiii.cycloneiii_components.all ; USE ieee.std_logic_1164.all ;ENTITY f_add_st_tb ISEND ;ARCHITECTURE f_add_st_tb_arch OF f_add_st_tb IS SIGNAL bf : STD_LOGIC :='0' ;SIGNAL cof : STD_LOGIC ;SIGNAL cif : STD_LOGIC :='0' ;SIGNAL af : STD_LOGIC :='0' ;SIGNAL yf : STD_LOGIC ;COMPONENT f_add_stPORT (bf : in STD_LOGIC ;cof : out STD_LOGIC ;cif : in STD_LOGIC ;af : in STD_LOGIC ;yf : out STD_LOGIC );END COMPONENT ;BEGINDUT : f_add_stPORT MAP (bf => bf ,cof => cof ,cif => cif ,af => af ,yf => yf ) ;af <= '1' after 400ns;bf <= '1' after 200ns,'0' after 400ns,'1' after 600ns;cif <= not cif after 100ns;END ;功能仿真波形如下:时序仿真波形如下:3.利用层次化原理图方法设计4位全加器(1)生成新的空白原理图,作为4位全加器设计输入(2)利用已经生成的1位全加器作为电路单元,设计4位全加器。

原理图设计如下(结构化描述):原理图设计如下(结构化描述)的RTL与technology map视图:VHDL源程序如下(结构化描述):-- Quartus II VHDL Template-- Unsigned Adderlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f4_add_bh isport(a : in std_logic_vector(3 downto 0);b : in std_logic_vector(3 downto 0);ci : in std_logic;y : out std_logic_vector(3 downto 0);co : out std_logic);end entity;architecture bh of f4_add_bh issignal yin:std_logic_vector(4 downto 0); beginyin<=('0'&a)+('0'&b)+('0'&ci);y<=yin(3 downto 0);co<=yin(4);end bh ;VHDL源程序如下(结构化描述)的RTL与technology map视图:Testbench源程序如下:LIBRARY cycloneiii ;LIBRARY ieee ;USE cycloneiii.cycloneiii_components.all ;USE ieee.std_logic_1164.all ;USE ieee.std_logic_unsigned.all;ENTITY f4_add_bh_tb ISEND ;ARCHITECTURE f4_add_bh_tb_arch OF f4_add_bh_tb IS SIGNAL ci : STD_LOGIC :='0' ;SIGNAL a : std_logic_vector (3 downto 0) :="0000" ; SIGNAL y : std_logic_vector (3 downto 0) ;SIGNAL b : std_logic_vector (3 downto 0) :="0000" ; SIGNAL co : STD_LOGIC ;COMPONENT f4_add_bhPORT (ci : in STD_LOGIC ;a : in std_logic_vector (3 downto 0) ;y : out std_logic_vector (3 downto 0) ;b : in std_logic_vector (3 downto 0) ;co : out STD_LOGIC );END COMPONENT ;BEGINDUT : f4_add_bhPORT MAP (ci => ci ,a => a ,y => y ,b => b ,co => co ) ;a<="1100" after 400ns,"1110"after 600ns;b<=b+"0010" after 100ns;END ;最终的功能仿真波形如下:最终的时序仿真波形如下:四、思考题1、试着论述功能仿真和时序仿真的差别?2、试着论述结构体的行为描述、数据流描述和结构描述的区别?3、如何构建四位并行加法器?。

相关文档
最新文档