文档库 最新最全的文档下载
当前位置:文档库 › 实验一 4位全加器的设计

实验一 4位全加器的设计

实验一  4位全加器的设计
实验一  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;

VHDL源程序如下(行为描述)的RTL与technology map视

VHDL源程序如下(数据流描述):

-- Quartus II VHDL Template

-- Unsigned Adder

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity f_add_df 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_df is begin

y<=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 Adder

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity f_add_st is

port

(

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_add

PORT

(

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;

begin

U1: 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 IS

END ;

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_st

PORT (

bf : in STD_LOGIC ;

cof : out STD_LOGIC ;

cif : in STD_LOGIC ;

af : in STD_LOGIC ;

yf : out STD_LOGIC );

END COMPONENT ;

BEGIN

DUT : f_add_st

PORT 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 Adder

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity f4_add_bh is

port

(

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 is

signal yin:std_logic_vector(4 downto 0); begin

yin<=('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 IS

END ;

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_bh

PORT (

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 ;

BEGIN

DUT : f4_add_bh

PORT 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、如何构建四位并行加法器?

实验一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所示。

4位全加器实验报告

四位全加器 11微电子黄跃21 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

个工程项目adder_4bit。 建立文本编辑文件: 点击File→New在该项目下新建Verilog源程序文件 并且输入源程序。 (2)编译和仿真工程项目: 在verilog主页面下,选择Compile— Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。 选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。 在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。 四位全加器 1、原理图设计 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【仿真和测试结果】 下图为四位全加器的仿真图:

实验四 四位二进制全加器

实验序号实验题目四位二进制全加器实验时间实验室 1.实验元件(元件型号;引脚结构;逻辑功能;引脚名称) 1.SAC-DS4数字逻辑电路实验箱 1个 2.万用表 1块 3.74LS283 四位二进制全加器1片 74LS283 四位二进制全加器引脚结构及逻辑功能 2.实验目的 1、掌握中规模集成电路四位全加器的工作原理及其逻辑功能。 2、学习全加器的应用。 3.实验电路原理图及接线方法描述: (1)74LS283四位全加器实验电路图

(2)用74LS283四位全加器实现BCD码到余3码的转换实验电路图

4.实验中各种信号的选取及控制(电源为哪些电路供电;输入信号的分布位置;输出信号的指示类型;总结完成实验条件) (1)用开关按表下图设置输入A1-A4、B1-B4、C0的状态,借助指示灯观测输出F1-F4、C4的状态。 (2)将每个BCD码加上0011,即可得到相应的余3码。故应按下图接线。 5.逻辑验证与真值表填写 (1)74LS283四位全加器真值表 输入输出 A4 A3 A2 A1B4 B3 B2 B1C0F4 F3 F2 F1C4 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 (2)用74LS283四位全加器实现BCD码到余3码的转换真值表 输入BCD码输出余3码 B4 B3 B2 B1 F4 F3 F2 F1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 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

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

实验一四位串行进位加法器的设计 一、实验目的 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 IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=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 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

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

4位全加器实验报告.doc

四位全加器 11微电子黄跃1117426021 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】 全加器 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图4为全 加器的方框图。图5全加器原理图。被加数A i 、加数B i 从低位向本位进位C i-1 作 为电路的输入,全加和S i 与向高位的进位C i 作为电路的输出。能实现全加运算 功能的电路称为全加电路。全加器的逻辑功能真值表如表2中所列。 信号输入端信号输出端 A i B i C i S i C i 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

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

八位加法器设计实验报告

实验四: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; endmodule 2)编译成功的全加器程序: 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); endmodule 3)编译成功的八位加法器程序: 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_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]) ,.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1 ]),.cout(cout1)); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2 ]),.cout(cout2)); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3 ]),.cout(cout3)); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4

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

实验一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位二进制全加器)。

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 全加器原理图

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

南昌大学实验报告 学生姓名: 学 号: 专业班级: 中兴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位加法器 【目的与要求】 1. 掌握1位全加器的设计 2. 学会1位加法器的扩展 【实验内容】 1. 设计1位全加器 2. 将1位全加器扩展为4位全加器 3. 使4位的全加器能做加减法运算 【操作步骤】 1. 1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2. 将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图

(2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。 3. 将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII进行功能仿真并对仿真结果进行截图。 【附录】 篇二:加法器的基本原理实验报告 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真。

数电实验报告半加全加器

实验二 半加/减器与全加/减器 一、 实验目的: (1) 掌握全加器和半加器的逻辑功能。 (2) 熟悉集成加法器的使用方法。 (3) 了解算术运算电路的结构。 二、 实验设备: 1、 74LS00 (二输入端四与非门) 2、 74LS86 (二输入端四异或门) 3、 数字电路实验箱、导线若干。 Ver 4B 4A 4¥ 3B 3A 3Y 1A IB !Y 2A 2B 2Y GND (74LS86引脚图) 三、 实验原理: 两个二进制数相加,叫做半加,实现半加操作的电路,称为半加器。 A 表示 被加数,B 表示加数,S 表示半加和,Co 表示向高位的进位。 全加器能进行加数、被加数和低位来的信号相加,并给出该位的进位信号以 及和。 四、 实验内容: 用74LS00和74LS86实现半加器、全加器的逻辑电路功能。 (一)半加器、半减器 M=0寸实现半加,M=1时实现半减,真值表如下: (74LS00引脚 )

功能M A B S C 半加00000 00110 01010 01101 半减10000 10111 11010 11100 —s +/- ——co M (半加器图形符号) 2、 ⑴S真值表: 00011110 00110 11001 A ⑵C真值表: 00011110 00000 10101 C 二B(A二M)

(二)全加器、全减器 S CO C^BC i-1 ?(M 十 A )(B 十 C ) 、实验结果 半加器: S 二 AB AB = A 二 B C =B (A 二 M ) 全加器: S = A 二 B - C i-1 G 二GM C 2M CI B +/一

全加器实验报告

全加器设计实验报告 姓名: 班级: 学号:

实验目的: 1.熟悉QuartusⅡ原理图设计流程,学习简单电路的设计方法、输入步骤、层次化步骤。 2.掌握QuartusII的文本输入方式的设计过程,理解VHDL语言的结构级描述方法,学习元件例化语句的设计方法。 实验原理:一位全加器可以用两个半加器及一个或门连接而成。要求使用原理图输入的方法先进行底层半加器设计,再建立上层全加器设计文件,调用半加器和或门符号,连线完成原理图设计。 全加器可以用两个半加器和一个或门连接而成,在半加器描述的基础上,采用COMPONENT语句和PORT MAP语句就可以很容易地编写出描述全加器的程序。 一.原理图 1.半加器 实验步骤 1.打开Quartus Ⅱ软件,选择新建命令,在新建对话框中选择原理图文件编辑输入项,完成新建进入原理图编辑窗口。 2.在原理图编辑窗口任意位置右击鼠标,将出现快捷菜单,选择其中的输入元件项insert symbol,按照所设计的电路,放置器件,排版,连线,完成设计后选择另存为命令,命名为h_adder存放在指定文件夹中。

3.完成半加器的设计后,重复新建命令,开始进行全加器设计,在新建的原理图中,双击鼠标,在弹出的窗口中选择project选项,将之前存入的h_adder元件,放入原理图中。 2.全加器 实验步骤 1.新建工程,在新建的工程中建立VHDL语言编辑文件,在编辑窗口处,输入设计的半加器全加器程序。 2.将设计好程序进行编译,没有错误之后定义全加器五个引脚所对应耳朵硬件电路的引脚号。 3.烧录程序,调试,验证程序是否合理。

二.程序

四位全加器

《计算机组成原理》 实验报告 题目:四位全加器的设计与实现 1、实验内容 四位全加器的设计与实现。 2、实验目的与要求 利用MAX+plusII实现四位全加器并且验证实验内容。

3、实验环境 MAX+plus II 10.1 4、设计思路分析(包括需求分析、整体设计思路、概要设计) 一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 半加器描述: 5、详细设计 A) 半加器设计: 1)新建一个设计文件,使用原理图设计方法设计。 2)将所需元件全部调入原理图编辑窗,所需元件依次为:input 2个;output 2个;and2 1个;xnor 1个;not 1个。 3)依照下图连接好各元件 4)保存为h-adder将当前设计文件设置成工程文件。 5)编译

B) 一位全加器的实现: 1)一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL描述。. 2)依照以下原理图连接好全加器: 其中有两个原件(h-adder)为刚刚设计好的半加器.其他原件为:input 3个, output 2个, or2 1个. 3)保存为f-adder设置成工程文件并选择目标器件为EPF10K20TC144.4 4)编译 C) 四位全加器的实现 1) 4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。 2) 依照以下原理图连接好全加器。、

其中有四个元件为一位全加器(f-adder),其余为九个input元件;五个output 元件。、 4)编译通过。 6、实验结果与分析 1)建立波形图进行半加器、一位全加器和四位全加器的波形观察, 2)设定仿真时间为60.0us。 3)运行仿真器得到下面波形图: 半加器:

一位全加器实验

实验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、在组合逻辑电路连线时,为了防止连线时出错,可以在每连接一根线以后,在组合逻辑电路图中做一个记号,这样可以避免搞错连线,漏掉连线,多余连线等现象发生。

四位全加器实验报告

《四位全加器》实验报告 题目:___ ____ 学号:___ _____姓名:____ _______ 教师:____ ____

1、实验内容 四位全加器的设计与实现。 2、实验目的与要求 利用MAX+plusII实现四位全加器并且验证实验内容。 3、实验环境 MAX+plus II 10.1 4、设计思路分析(包括需求分析、整体设计思路、概要设计) 一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 半加器描述: 根据半加器真值表可以画出半加器的电路图。 a b so Co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 5、详细设计 A) 半加器设计: 1)新建一个设计文件,使用原理图设计方法设计。 2)将所需元件全部调入原理图编辑窗,所需元件依次为:input 2个;output 2个;and2 1个;xnor 1个;not 1个。 3)依照下图连接好各元件

4)保存为h-adder将当前设计文件设置成工程文件。 5)编译 B) 一位全加器的实现: 1)一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL描述。. 2)依照以下原理图连接好全加器: 其中有两个原件(h-adder)为刚刚设计好的半加器.其他原件为:input 3个, output 2个, or2 1个. 3)保存为f-adder设置成工程文件并选择目标器件为EPF10K20TC144.4 4)编译 C) 四位全加器的实现 1) 4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。 2) 依照以下原理图连接好全加器。、

一位全加器

一位全加器的设计 一、实验要求 (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 五、实验结论 本实验实现的是简单层面上设计加法器的功能,而没有考虑到从加法器的性能上选择实验。虽然设计上没有实现,但是我们理论上分析和讨论不同的加法器选择不同门电路在性能上的差别。从而得知在不同的计算机内部采用不同的加法器机制,在具体设计时需要根据具体的应用环境和实现工艺确定采用哪一种加法器。加法器的性能可以从延迟、功耗、面积等方面进行分析。具体的分析方法有三种:一是通过门级模拟器来估算加法器的性能;二是采用标准单元库对每种加法器进行逻辑综合和布局布线来设计电路,然后从版图中反提取电路参数,针对其参数进行电路的模拟,从中得出各种加法器的比较结果;三是通过物理实验在芯片上实现各种加法器,然后通过实际测量进行比较。 六、实验小结 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践

加法器实验报告标准范本

编号:QC/RE-KA5914 加法器实验报告标准范本 The new situation in operation, especially the emergency, makes the information open and transparent by reporting the details, and then forms a closer cooperative relationship. (工作汇报示范文本) 编订:________________________ 审批:________________________ 工作单位:________________________

加法器实验报告标准范本 使用指南:本报告文件适合在为规范管理,让所有人员增强自身的执行力,避免自身发展与集体的工 作规划相违背,按固定模式形成日常报告进行上交最终实现及时更新进度,快速掌握所需了解情况的 效果。文件可用word任意修改,可根据自己的情况编辑。 篇一:加法器实验报告 实验__一__ 【实验名称】 1位加法器 【目的与要求】 1. 掌握1位全加器的设计 2. 学会1位加法器的扩展 【实验内容】 1. 设计1位全加器 2. 将1位全加器扩展为4位全加器 3. 使4位的全加器能做加减法运算 【操作步骤】

1. 1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节2. 将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图 (2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围

EDA VHDL 4位全加器实验报告解析

姓名:车琳班级:通信1101班 学号:0121109320130 实验一用原理图输入法设计4位全加器 一、实验目的 1)熟悉利用Quartus II 的原理图输入方法设计简单组合电路; 2)掌握层次化设计的方法; 3)通过一个4位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 二、实验内容 1)完成半加器、全加器和4位全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。 2)建立一个更高的层次的原理图设计,利用以上获得的1位全加器构成的4位全加器,并完成编译、综合、适配、仿真和硬件测试。建议选择电路模式1:键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout。 三、实验仪器 1)计算机及操作系统; 2)QuartusII软件; 3)编程电缆。

四、实验原理 一个4位全加器可以由4个一位全加器 构成,加法器间的进位可以串行方式实现, 即将低位加法器的进位输出 cout 与相邻的 高位加法器的最低进位输入信号 cin 相接。 一个1位全加器可以参考教材介绍的方 法来完成。1位全加器示意图如图1所示。 其中,其中CI 为输入进位位,CO 为输出进位位,输入A 和B 分别为加数和被加数。S 为输出和,其功能可用布尔代数式表示为: i i i i o i i i ABC ABC ABC ABC C ABC C B A C B A C B A S +++=+++= 五、实验步骤 1、完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。键1、键 2、键3(PIO0/1/2)分别接ain 、bin 、cin ;发光管D2、D1(PIO9/8)分别接sum 和cout 。 2、建立一个更高层次的原理图设计,利用以上获得的1位全加器构成4位全加器,并完成编译、综合、适配、仿真、和硬件测试。建议选择电路模式1(附图F-2):键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout 。 1、一位全加器设计输入 1)创建文件。采用File\new 菜单,创建图形文件。 2)添加元件。采用菜单symbol\enter symbol ,在弹出的对话框中选中相应的库与元件,添加元件,构成一位全加器并保存。 2、一位全加器元件的创建 1)对上述文件编译综合仿真。 2)生成元件。 3)采用菜单FILE\CREATE SYMBOL 生成一位全加器元件。

实验一1 1位全加器的设计

实验一1位全加器的设计 一、实验目的 1.熟悉ISE软件的使用; 2.熟悉下载平台的使用; 3.掌握利用层次结构描述法设计电路。 二、实验原理及说明 由数字电路知识可知,一位全加器可由两个一位半加器与一个或门构成,其原理图如图1所示。该设计利用层次结构描述法,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验板,其中a,b,cin 信号可采用实验箱上SW0,SW1,SW2键作为输入,输出sum,cout信号采用发光二极管LED3,LED2来显示。 图1 全加器原理图 三、实验步骤 1.在ISE软件下创建一工程,工程名为full_adder,工程路径在E盘,或DATA盘, 并以学号为文件夹,注意不要有中文路径,注意:不可将工程放到默认的软件安装 目录中。芯片名为Spartan3E系列的XC3S500E-PQG208 2.新建Verilog HDL文件,首先设计半加器,输入如下源程序; 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.保存半加器程序为half_adder.v,通过HDL Bench画仿真波形,获得仿真用激励文 件,随后进行功能仿真、时序仿真,验证设计的正确性,观察两种仿真波形的差异。 4.在Design窗口中,选择Design Utilities→Create Schematic Symbol创建半加器模 块; 5.新建一原理图(Schematic)文件,在原理图中调用两个半加器模块、一个或门模块, 按照图1所示连接电路,并连接输入、输出引脚。完成后另保存full_adder.sch。 6.对设计进行综合,如出现错误请按照错误提示进行修改。 7.HDL Bench画仿真波形,获得仿真用激励文件,分别进行功能与时序仿真,验证全 加器的逻辑功能,观察两类波形的差异。 8.根据下载板的情况锁定引脚 9.下载,采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察的LED2,LED3, 亮灭情况,验证全加器的逻辑功能。 四、思考题 1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder? 2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别? 3.为什么要进行引脚锁定? 4.采用层次结构法描述电路有什么样的优点?

相关文档
相关文档 最新文档