四位全加器设计

合集下载

4位全加器.docx

4位全加器.docx

根据波形, 当输入为家如前一位进位信号后, 当 c1 为低电平, 全加器与半加器功能一样, 当 c1 为高电平时,输出 s0 与 c0 正好与半加器相反,验证了全加器的功能。 2,建立一个更高层次的原理图设计,利用以上获得的 1 位全加器串联构成 4 位全加器,并完 成编译、综合。 四位全加器原理图如下所示:
实验一 用原理图输入法设计四位全加器
一 实验目的及内容
熟悉利用 Quartus II 的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过 一个 4 位全加器的设计把握利用 EDA 软件进行原理图输入方式的电子线路设计的详细流程。
二 实验原理
一个 4 位全加器可以由 4 个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加 法器的相接。而 1 位全加器可 以用两个半加组合得到。
四 实验总结
通过本次实验,我掌握了 Quartus II 的原理图输入方法设计简单组合电路和层次化设计 的方法和详细流程。并且使用了原理图来创建原件库,而且还进行个各个层次的仿真,很好的 理解了全加器的各个层次的功能结构以及 Quartus 的使用方法。
仅 供 参 考
仅 供 参 考
三 实验仪器
1、 PC 机一台 2、 Quartus II 9.0 软件
四 实验步骤及结果分析
1:完成半加器和全加器的设计,包括原理图输入、编译、综合。 �+a 由半加器的真值表得s0 = ab � b; c0 = ab ,可得半加器原理图如下所示:
图 1 半加器原理图
半加器仿真波形图如下图所示:
其中 a,b 为输入,s0 为一位和输出,c0 为进位输出,根据仿真波形知,b 为低电平时, s0=a ; b 为高电平时,c0=a,s0=a � ;满足半加器真值表。

FPGA 4位全加器的设计

FPGA 4位全加器的设计

目录4位全加器设计报告一、设计原理全加器是指能进行加数、被加数和低位来的进位信号相加,并依照求和结果给出该位的进位。

4位加法器能够采纳4个以为全加器级连成串行进位加法器,如以下图所示,其中CSA为一名全加器。

显然,关于这种方式,因高位运算必需要等低位进位来到后才能进行,因此它的延迟超级可观,高速运算无法胜任。

A和B为加法器的输入位串,关于4位加法器其位宽为4位,S为加法器输出位串,与输入位串相同,C为进位输入(CI)或输出(CO)。

实现代码为:全加器真值表如下:输入输出Xi Yi Ci-1 Si Ci0 0 0 0 00 0 1 1 0output[3:0]sum;output cout;input[3:0]ina,inb;input cin;assign {count,sum}=ina+inb+cin;endmodule二、设计目的⑴熟悉开发环境,把握工程的生成方式。

⑵熟悉SEED-XDTK XUPV2Pro实验环境。

⑶了解Verilog HDL语言在FPGA中的利用。

⑷了解4位全加器的Verilog HDL语言实现。

三、设计内容用Verilog HDL语言设计4位全加器,进行功能仿真演示。

四、设计步骤1、创建工程及设计输入。

⑴在E:\progect\目录下,新建名为count8的新工程。

⑵器件族类型(Device Family)选择“Virtex2P”器件型号(Device)选“XC2VP30 ff896-7”综合工具(Synthesis Tool)选“XST(VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator”⑶下面一直next和确信。

⑷设计输入:在源代码窗口中单击右键,在弹出的菜单被选择“New Source”,在弹出的对话框被选择“Verilog Moudle”,在右端的“File name”中输入源文件名adder4,下面各步单击“Next”按钮。

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,这个数根据自己的需要而定。

全加器全减器设计实验报告

全加器全减器设计实验报告

全加器全减器设计实验报告1. 引言全加器和全减器是数字电路中常用的基本电路模块之一。

全加器用于将两个二进制数相加,全减器用于将两个二进制数相减。

在本实验中,我们将设计并实现一个4位的全加器和一个4位的全减器电路。

2. 原理2.1 全加器全加器是由两个半加器和一个或门组成的电路。

一个半加器用于计算两个输入位的和,另一个半加器用于计算进位值。

将两个半加器的结果和进位值通过或门进行运算,即可得到全加器的输出。

如下图所示为全加器的逻辑电路图:![全加器逻辑电路图](circuit1.png)其中,A和B为输入信号,用于表示待相加的两个二进制数的对应位;S为输出信号,表示两个输入数的对应位相加的结果;C为进位信号,表示相加时产生的进位。

2.2 全减器全减器是由两个半减器和一个与非门组成的电路。

与全加器类似,一个半减器用于计算两个输入位的差,另一个半减器用于计算借位值。

将两个半减器的结果和借位值通过与非门进行运算,即可得到全减器的输出。

如下图所示为全减器的逻辑电路图:![全减器逻辑电路图](circuit2.png)其中,A和B为输入信号,用于表示待相减的两个二进制数的对应位;D为输出信号,表示两个输入数的对应位相减的结果;B为借位信号,表示相减时需要借出的位。

3. 设计和实现3.1 全加器设计根据2.1中的原理,我们可以使用两个半加器和一个或门来实现一个4位的全加器电路。

根据全加器的逻辑电路图,我们可以将四个输入位(A0, A1, A2, A3)依次与另外四个输入位(B0, B1, B2, B3)连接到两个半加器中,然后将两个半加器的和(S0, S1, S2, S3)通过或门进行运算。

此外,计算进位值需要使用到四个位的与门(And)。

具体电路图如下:![4位全加器电路图](circuit3.png)3.2 全减器设计根据2.2中的原理,我们可以使用两个半减器和一个与非门来实现一个4位的全减器电路。

根据全减器的逻辑电路图,我们可以将四个输入位(A0, A1, A2, A3)依次与另外四个输入位取反连接到两个半减器中,然后将两个半减器的差(D0, D1, D2, D3)通过与非门进行运算。

用原理图输入法设计4位全加器

用原理图输入法设计4位全加器

实验一------用原理图输入法设计4位全加器
1.实验目的
熟悉利用MAX+PLUSⅡ的原理图输入法来设计简单组合逻辑电路,学会层次化设计方法,并通过一个4位全加器的设计,学会利用EDA软件进行电子电路设计的详细流程。

2.实验原理。

一个4位全加器可以由4个1位全加器构成,加法器间的进位可用串行方式实现,即将低位加法器的进位输出与相邻的高位加法器的进位输入信号相接。

而一个1位全加器可按图3-19所示连接,其波形图如3-20所示。

图3-19 1位全加器的原理图
图3-20 1位全加器的波形图
3.实验内容。

(1)按照教材完成1位全加器adder的设计,包括原理图输入、编译、综合、适配、仿真,并将此全加器电路设置成一个硬件符号入库。

(2)建立一个更高的原理图设计层次,取名为adder4.利用以上获得
的1位全加器构成4位全加器,电路原理图如图3-21所示。

图3-21 4位全加器电路原理图
4.实验结果。

首先按照原理图设计1位全加器,之后通过四个1位全加器正确连接后则设计出4位全加器,其波形图如上图所示.。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新组合逻辑课程设计4位二进制全加器全减器原创

最新组合逻辑课程设计4位二进制全加器全减器原创

组合逻辑电路课程设计——4位二进制全加器/全减器作者:学号:课程设计题目要求:1)使用74LS283构成4位二进制全加/全减器。

2)阐述设计思路。

3)列出真值表。

4)画出设计的逻辑图。

5)用VHDL对所画电路进行仿真。

目录摘要 (1)1总电路设计 (2)1.1硬件电路的设计 (2)1.2全加器(full-adder ) (3)1.2.1四位二级制加法器 (4)1.2.1.1串行进位加法器 (4)1.2.1.2超前进位加法器 (5)1.2.1.3超前位链结构加法器 (5)1.3全减器(full-substracter ) (5)1.4总电路设计 (6)2设计思路 (7)2.1全加器 (7)2.2全减器 (7)3真值表 (8)4逻辑图与仿真 (9)5软件程序的设计 (13)6结果分析与总结 (15)摘要加法器是数字系统中产生数的和的装置。

加数和被加数为输入,和数与进位为输出的装置为半加器。

若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。

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

但宽位加法器的设计是很耗资源的,因此在实际的设计和相关饿得设计与开发中需要注意资源的利用率和进位速度两方面的问题,多位加法器的构成主要有两种:并行进位和串行进位。

并行进位加法器设有并行进位产生逻辑,运行速度比串行进位快;串行进位是将全加器采取并行级联或菊花链式级联构成多位加法器。

加法器也是常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。

此外还可以用来表示各种数值,如:BCD、加三码,主要的加法器是以二进制作运算。

本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS283,74LS283是4位二进制先行进位的加法器,它只用了几级逻辑来形成和及进位输出,故由其构成4位二进制全加器;而四位全减器可以用加法器简单的改造而来,最后本文采用 VHDL对四位全加器/全减器进行仿真。

关键字74LS283全加器、四位二进制、迭代电路、并行进位、串行进位、VHDL1总电路设计1.1硬件电路的设计该4位二进制全加器以74LS283为核心,74LS283芯片引脚图如下图,本文采用先行进位方式,极大地提高了电路运行速度,下面是对4位全加器电路设计的具体分析。

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

四位全加器设计
The design of 4 bit full_adder4
摘要通过EDA软件,利用VHDL硬件描述语言,与原理图来完成四位全加器设计,此设计由简单到复杂,先合成一个半加器,再通过元件例化语句编写一位全加器,然后用四个全加器采用原理图便可合成此设计,并进行时序仿真,硬件下载
Abstrct Making use of VHDL and EDA soft-ware complete a four-f_adder design,It is a simple way tranffering to a complex way.At first,we are able to make up a h_adder,then making full use of it and an component sentence carry out a f_adder,at last ,we can adopt the picture of theory,then the design is on my eyes.
关键词 VHDL语言、半加器、全加器、原理图四位全加器设计
Key words VHDL language ,h_adder,f_adder,principium_ picture,full_adder4
引言VHDL于1983年由美国国防部发起创建,由IEEE进一步发展,从此,VHDL 成为硬件描述语言的业界标准之一, VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行描述和建模,从而大大简化了硬件设计任务,提高了设计效率和可靠性,现今已得到广泛应用,此时利用它的优势来实现四位全加器设计.
1 掌握基本知识
1.1电路的VHDL描述有两大部分组成
1.1.1以关键词ENTITY引导,END ENTITY mux21a结尾的语句部分,称为实体。

VHDL的实体描述了电路器件的外部情况及各信号端口的基本性质.
1.1.2以关键词ARCHITECTURE引导,END ARCHITECTURE one 结尾的语句部分,成为结构体。

结构体负责描述电路器件的内部逻辑功能或电路结构。

1.2原理图的相关知识
这是一种类似于传统的原理图编辑输入方式,即在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图。

原理图由逻辑器件
和连接构成。

使用原理图有利于控制逻辑资源的耗用,也有利于把握电路全局等优点
2.1半加器的VH2实验步骤
2.1.1VHDL设计及其仿真波形
library ieee;
use ieee.std_logic_1164.all;
entity h_adder is
port(a,b:in std_logic;
co,so:out std_logic);
end entity h_adder ;
architecture fh1 of h_adder is
begin
so<=not(a xor(not b));co<=a and b;
end architecture fh1;
图1半加器仿真波形
在半加器中so=a`b+ab`,co=ab,通过时序仿真,当a=b=1,so=0,co=1, 理论符合设计,与波形一一对应
2.2全加器的VHDL设计及其仿真波形
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,b:in std_logic;
co,so:out std_logic);
end component;
component or2a
port(a,b:in std_logic;
c:out std_logic);
end component;
signal d,e,f:std_logic;
begin
u1: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);
u3:or2a port map(a=>d,b=>f,c=>cout);
end architecture fd1;
图2全加器仿真波形
全加器采用元件例化语句,元件例化就是引入一种连接关系,将预先设计好的设计实体定义为一个;元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引进一个新的低一级的设计层。

元件例化语句有两部分组成,第一部分是将一个现成的设计实体定义为一个元件,语句的功能是对待调用的元件作出调用声明,它的最简表达示如下:
Component元件名is
Port (端口表明);
End Component 文件名;
第二部分是此元件与当前设计实体(顶层文件)中元件间及端口的连接说明。

语句的表达示如下:
例化名:元件名port map([端口表明=>] 连接端口名,…);
2.3用原理图合成四位全加器
图3 四位全加器设计
图4 四位全加器仿真波形
原理图的主要步骤:(1)为一项工程设计一个文件夹;(2)输入设计项目和存盘(3)将设计项目设置成工程文件(4)选择目标器件并编译(5)时序仿真和包装入库(6)设计顶层文件
3讨论
四位全加器也可以称作四位串行进位加法器,显然每一位的相加结果,都必须等到第一位的进位产生以后才能建立起来,因此将这种结构的电路成为串行进位加法器(或称为行波进位加法器)。

这种加法器的最大缺点是运行速度慢,在最不利的情况下,做一
次加法运算需要经过四个全加器的传输延迟时间(从输入加数到输出状态稳定建立起来所需要的时间)才能得到稳定可靠的运算结果。

但考虑到串行进位加法器的电路结构比较简单,因而在对运算速度不高的设备中,这种加法器也是一种可取的电路。

4结束语
这次设计感觉挺毛躁的,可能是第一次,没有经验,经历了这次设计,学会了某种类似于沉稳的东西,因为自己曾经因为马虎反反复复做了几次,虽然自己做的不好,但曾经努力过,相信必有其收获。

参考文献
【1】阎石《数字电子技术基础》北京市西域区德外大街4号高等教育出版社2006年5月第5版
【2】潘松,黄继业《EDA技术实用教程》北京东黄城根北街16号科学出版社2006年8月第23次印刷。

相关文档
最新文档