8位全加器的设计解析

合集下载

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

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

实验一 用原理图输入方法设计8位全加器1.实验目的和要求本实验为综合性实验,综合了简单组合电路逻辑,MAX+plus 10.2的原理图输入方法, 层次化设计的方法等内容。

其目的是通过一个8位全加器的设计熟悉EDA 软件进行电子线路设计的详细流程。

学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。

2.实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor 为同或符合,相同为1,不同为0)来实现。

先设计底层文件:半加器,再设计顶层文件全加器。

(1) 半加器的设计:半加器表达式:进位:co=a and b 和:so=a xnor ( not b )半加器原理图如下:(2) 全加器的设计: 全加器原理图如下:3.主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机I113coa sob101010110001100co so b a notxnor2and2I113ain coutcout ain binsumcinbin sumcinf_adderor2af e du3u2u1b acco soB co soBh_adder A h_adderAEDA实验开发系统 ZY11EDA13BE并口延长线,JTAG延长线实验的软件环境是:MAX+plus 10.24.操作方法与实验步骤●按照4.1 节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

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

5.实验内容及实验数据记录1.设计半加器:用原理图输入的方法输入一个半加器的逻辑图,如图所示:然后在assign里头的device里头根据试验箱的芯片设置Decices,接着就设置输入输出荧脚的输入端和输出端,设置如表1所示:表1.半加器引脚端口设置引脚名称设置端口ain input Pin=45bin input Pin=46co output Pin=19so output Pin=24 然后Save,名称为h_add.gdf,再save & Compile。

8位二进制全加器设计+杭州电子科技大学+EDA实验报告

8位二进制全加器设计+杭州电子科技大学+EDA实验报告

《EDA技术》实验报告实验名称: 8位二进制全加器设计一、实验设计要求以一位二进制全加器为基本元件,用例化语句写出8位并行二进制全加器的顶层文件,并讨论此加法器的电路特性。

二、设计原理电路结构图或原理图电路功能描述定义了8位二进制全加器顶层设计元件端口信号,输入端口:AIN, BIN,是八个二进制数,数据类型被定义为STD_LOGIC_VECTOR。

CIN是输入的进位,数据类型IN STD_LOGIC;输出端口:SUM为和,数据类型IN STD_LOGIC COUT 为输出的进位。

定义了7个信号C1, C2, C3,C4,C5,C6,C7作为器件内部的连接线,采用映射语句port map()将8个一位二进制全加器连接起来构成一个完整的全加器。

低位全加器进位输出端连到高一位全加器的进位输入端,任何一位的加法运算必须等到低位加法完成时才能进行,这种进位方式称为串行进位三、实验程序程序1:半加器描述程序2:一位二进制全加器设计顶层描述功能:程序功能简介程序3:8位并行二进制全加器顶层文件四、编译及仿真结果选用器件型号cyclone编译后使用器件资源情况、引脚配置情况(硬件实验)时序分析结果(最大延时路径、最大时钟频率等等)程序仿真波形图(结合文字分析仿真结果)仿真结果显示:该设计是成功的。

输入的进位也要加上去。

0---255 全加器的COUNT 没有进位,而当加到256,COUNT=1,SUM输出0.五、总结.1 编译不通过,检查后发现在建立工程时,同一工程的所有文件都必须放在同一文件夹中,而这一步没做。

2 程序中没有将文件名与实体名保持一致出错。

输入半加器的VHDL程序保存文件,将输入的VHDL语言程序保存为h _adder.vhd.3 ror: Can't name logic function scfifo0 of instance "inst" -- function has same name as current design file原因:模块的名字和project的名字重名了措施:把两个名字之一改一下,一般改模块的名字4 在QuartusII下进行编译和仿真的时候,会出现一堆warning,虽然编译仿真通过了,有的提醒可以忽视,但是有的还是需要引起重视的。

8位串行全加器设计

8位串行全加器设计

8位串行全加器设计一.实验目的1.掌握ISE开发工具的使用,掌握FPGA开发的基本步骤;2.掌握8位串行全加器电路设计的一般办法;3.掌握程序下载的办法;4.初步了解开发板资源,掌握开发板的使用方法,重点掌握按键,开关,LCD,LED的使用方法。

二.实验内容1.用VHDL实现8位串行全加器8位串行全加器顶层模块电路如下图所示。

图 8位串行全加器顶层模块其中a_in,b_in:数据输入,使用板上开关(S0~S15);sum_out:运算结果输出,使用LED显示运算结果。

2.将程序下载到FPGA并进行检验资源使用要求用开关(S0~S15)输入加数,被加数。

用 LED(D8~D15)显示运算结果。

三.实验步骤1.启动ISE,新建工程文件;2.编写8位串行全加器模块Hadder,其原理图如上图所示。

3.编写完加法器模块之后,在顶层文件上实现映射;4.新建UCF文件,输入位置约束;5.完成综合,实现,生成下载文件;6.连接开发板USB下载线,开启开发板电源;7.下载FPGA;8.输入数据,验证结果。

四.关键代码entity add_one isPort ( a_in : in STD_LOGIC;b_in : in STD_LOGIC;cin : in STD_LOGIC;si : out STD_LOGIC;cout : out STD_LOGIC);end add_one;architecture Behavioral of add_one isbeginsi<=(a_in xor b_in)xor cin;cout<=(a_in and b_in)or(cin and a_in)or(cin and b_in); end Behavioral;-- 一位加entity add_eight isPort ( a : in STD_LOGIC_VECTOR (7 downto 0);b : in STD_LOGIC_VECTOR (7 downto 0);sum : out STD_LOGIC_VECTOR (7 downto 0);c_out :out STD_LOGIC);end add_eight;architecture Behavioral of add_eight is component add_oneport( a_in,b_in,cin:in STD_LOGIC;si,cout:out STD_LOGIC);end component;signal c: STD_LOGIC_VECTOR (7 downto 0);signal c_in:STD_LOGIC:='0';beginu0: add_one port map(a(0),b(0),c_in,sum(0),c(0)); u1: add_one port map(a(1),b(1),c(0),sum(1),c(1)); u2: add_one port map(a(2),b(2),c(1),sum(2),c(2)); u3: add_one port map(a(3),b(3),c(2),sum(3),c(3)); u4: add_one port map(a(4),b(4),c(3),sum(4),c(4)); u5: add_one port map(a(5),b(5),c(4),sum(5),c(5)); u6: add_one port map(a(6),b(6),c(5),sum(6),c(6)); u7: add_one port map(a(7),b(7),c(6),sum(7),c_out); end Behavioral;--八位加。

实验六 8位全加器的设计

实验六 8位全加器的设计

实验六8位全加器的设计实验报告一、实验要求1、GW48实验箱;2、用原理图输入方式设计8位全加器,并进行编译、仿真、下载;3、总结实验步骤和实验结果。

二、实验内容1、本设计中的8位二进制并行加法器即是由两个4位二进制并行加法器级联而成的,其电路原理图如图所示2、完成4位全加器ADDER4B的设计,并将此全加器电路设置成一个硬件符号入库。

建立一个更高的原理图设计层次,可以取名为ADDER8B。

利用以上获得的4位全加器构成8位全加器,并完成编译,仿真和硬件测试。

3、硬件逻辑验证:选择实验电路结构图NO.1和上图确定引脚的锁定。

如可取实验电路结构图的PIO3~PIO0接A[3..0],PIO7~PIO4接A[7..4],PIO11~PIO8接B[3..0],PIO15~PIO12接B[7..4],PIO49接CIN。

此加法器的被加数A和加数B分别由键2与键1、键4与键3输入,加法器的最低位进位CIN由键8输入,计算和S将分别通过PIO23~PIO20,PIO19~PIO16输出并显示于数码管6(高四位)和数码管5(低四位),溢出进位COUT由PIO39输出,当有进位时,结果显示于发光管D8上。

参考源程序:4位二进制并行加法器的源程序ADDER4Bmodule ADDER4B(A,B,CIN,S,CONT);output [3:0]S;output CONT;input [3:0]A,B;input CIN;assign {CONT, S}=A+B+CIN;endmodule三、实验步骤1、创建文件Max-plus->text editor源代码2、创建缺省符号(Creat Default Symbol)然后添加到框图中:3、连线并标注接口4、编译5、仿真6、下载1)引脚锁定2)开始下载四、实验结果选择实验电路结构图NO.1,此加法器的被加数A和加数B分别由键2与键1、键4与键3输入,加法器的最低位进位CIN由键8输入,当有进位时,结果显示于发光管D8上。

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

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

南通大学计算机科学与技术学院课程实验报告
课程名称:计算机组成原理年级: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位全加器

原理图输入设计8位全加器一、实验目的掌握运用MAX+plusII原理图编辑器进行层次电路系统设计的方法。

进一步熟悉利用MAX+plusII进行电路系统设计的一般流程。

掌握8位全加器原理图输入设计的基本方法及过程。

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

而一个1位全加器则可由实验一包装元件入库得到。

实验步骤1、为本项设计建立文件夹2、输入设计项目和存盘根据8位全加器原理图输入设计8位全加器。

并另存(Save As)在为本设计建立的文件夹中。

3、将设计项目设置成工程文件将8位全加器设置为工程文件。

4、选择目标器件并编译首先在Assign选项的下拉菜单中选择器件选择项Device,此窗口的Device Family是器件序列栏,应该首先在此拦中选定目标器件对应的序列名,为了选择EPF1K30TC144-3器件,应将此栏下方标有Show only Fastest Speed Grades的勾消去,以便显示出所有速度级别的器件。

完成器件选择后,按OK键。

最后启动编译器,首先选择左上角的MAX+plusII选项,在其下拉菜单中选择编译器项Compiler。

(此编译器的功能包括网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等。

)点击Start,开始编译!如果发现有错,排除错误后再次编译。

5、时序仿真接下来应该测试设计项目的正确性,即逻辑仿真,具体步骤如下:(1)建立波形文件。

(2)输入信号节点。

(3)设置波形参量。

(4)设定仿真时间宽度。

(5)加上输入信号。

(6)波形文件存盘。

(7)运行仿真器。

选择MAX+plusII项及其中的仿真器Simulator选项,点击跳出的仿真器窗口中的Start键。

(注意,刚进入窗口时,应该将最下方的滑标拖向最左侧,以便可观察到初始波形)。

实验一 八位全加器的设计

实验一 八位全加器的设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8位串行全加器设计

8位串行全加器设计

8位串行全加器设计串行全加器是一种基本的数字电路,用于实现两个二进制数的加法运算。

它可以将两个数位相同的二进制数相加,并将其和以及进位输出。

本文将详细介绍如何设计一个8位串行全加器。

首先,我们需要了解全加器的功能。

全加器由两个输入和两个输出组成。

输入包括两个要相加的二进制数位以及前一位的进位(Carry In),输出包括当前位的和(Sum)和当前位的进位(Carry Out)。

设计一个8位串行全加器时,我们需要将8个全加器连接在一起。

每个全加器的输入为两个二进制数位和前一位的进位,输出为当前位的和和当前位的进位。

具体设计步骤如下:1.首先,我们需要设计一个单个全加器电路。

全加器电路可以通过将两个半加器连在一起来实现。

半加器接收两个输入,并输出当前位的和和当前位的进位。

2.设计一个半加器电路。

半加器电路由两个输入和两个输出组成。

输入包括两个要相加的二进制数位,输出包括当前位的和和当前位的进位。

3.实现半加器电路的真值表。

半加器的真值表如下:输入A,输入B,输出S,进位--------,--------,--------,-------0,0,0,0,1,1,1,0,1,1,1,0,根据真值表可知,半加器的和输出为输入A和输入B的异或运算结果,进位输出为输入A和输入B的与运算结果。

4.通过使用逻辑门来实现半加器电路。

可以使用异或门实现和输出,使用与门实现进位输出。

5.设计一个完整的全加器电路。

一个全加器电路由一个半加器和一个或门构成。

半加器负责计算两个输入位的和和进位,而或门负责计算前一位的进位和当前位的进位的和。

全加器电路的输入为两个要相加的二进制数位和前一位的进位,输出为当前位的和和当前位的进位。

6.将8个全加器连在一起。

将第一个全加器的输入连接到待相加的两个8位二进制数的最低位和前一位的进位,将第二个全加器的输入连接到待相加的两个8位二进制数的次低位和第一个全加器的进位,以此类推。

最后一个全加器的输出即为所求的和。

8位全加器的设计

8位全加器的设计

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

4位全加器采用VHDL语言输入方式进行设计,将设计的4位全加器变成一个元件符号,在8位全加器的设计中进行调用。

三、实验内容和步骤:1. 采用VHDL语言输入方式设计4位全加器(1)打开QuartusII,执行File|New,在New窗口中的Device Design Files 中选择VHDL Files,然后在VHDL文本编译窗中输入程序。

执行File|Save As,找到已设立的文件夹,存盘文件名应该与实体名一致。

(2)将设计项目设置成可调用的元件选择File→create/update→create symbol Files for current file命令,将转换好的元件存在当前工程的路径文件夹中。

2.采用原理图输入方式设计8位全加器(1)打开QuartusII,执行File|New,选择block diagram/schematic file,在原理图编辑窗口中连接好8位全加器电路图(注意元件的调用),存盘。

(2)创建工程:执行File|New Project Wizard,选择目标芯片。

(3)编译:执行Processing|Start Compilation命令,进行编译。

(4)引脚锁定:在菜单Assignments中选Assignments Editor按钮,先单击右上方的Pin,再双击下方最左栏的“New”选项,弹出信号名栏,锁定所有引脚,进行编译,存盘。

选择编程模式1,键2、键1输入8位加数,键4、键3输入8位被加数,键8输入进位cin,数码管6/5显示和,D8显示进位cout。

5. 编程下载及验证:执行Tool|Programmer命令,选择program/config;执行start,进行验证,记录结果。

4位全加器的参考源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder4b ISPORT(cin:IN STD_LOGIC;a,b:IN STD_LOGIC_VECTOR(3 DOWNTO 0);s:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);cout:OUT STD_LOGIC);END ENTITY adder4b;ARCHITECTURE art OF adder4b ISSIGNAL sint,aa,bb:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINaa<='0'&a;bb<='0'&b;sint<=aa+bb+cin;s<=sint(3 downto 0);cout<=sint(4);END art;触发器功能的模拟实现三、实验内容:基本RS触发器、同步RS触发器、集成JK触发器和D触发器同时集成在一个芯片上,实现的原理图如下:输入信号Sd、Rd对应的管脚接按键开关,CLK1、CLK2接时钟源(频率<5Hz);J,K,D,R,S对应的管脚分别接拨码开关;输出信号QRS,NQRS,QRSC,NQRSC,QJK,NQJK,QD,NQD对应管脚分别接LED灯。

8位加法器设计程序过程

8位加法器设计程序过程

8位加法器设计程序过程八位加法器是一种组合逻辑电路,用于计算两个八位二进制数的和。

在设计过程中,需要确定输入和输出的位数、电路逻辑、输入输出关系等。

下面是一个八位加法器设计程序的详细过程。

1.确定输入和输出的位数:首先,我们需要明确八位加法器的输入和输出的位数。

在这个例子中,我们使用八位二进制数作为输入,并需要输出一个八位的和。

因此,输入和输出的位数均为8位。

2.确定输入和输出的表示形式:在计算机中,二进制数通常以补码形式进行表示。

因此,在这个例子中,我们将使用补码表示输入和输出。

3.分析电路逻辑:一个八位加法器由八位的全加器以及一个进位逻辑组成。

全加器用于计算两个相应位数相加的结果,而进位逻辑负责处理进位位。

因此,我们需要设计八个全加器和一个进位逻辑。

4.设计全加器电路:全加器是八位加法器的核心部分,用于计算两个位的和以及进位。

全加器的输入包括两个加数位和一个来自前一位的进位位。

输出包括和位以及进位位。

以下是一个典型的全加器电路:- 输入:A、B和C_in- 输出:Sum和C_out-逻辑表达式:Sum = A 异或 B 异或 C_inC_out = (A and B) 或 (C_in and (A 异或 B))设计八个这样的全加器电路,分别用于计算八个相应位数的和以及进位。

5.设计进位逻辑电路:进位逻辑电路负责处理来自各个位的进位。

具体来说,进位逻辑电路需要计算进位位以及进位到下一位的值。

以下是一个典型的进位逻辑电路:- 输入:C_in、C_0、C_1、C_2、C_3、C_4、C_5、C_6 和 C_7- 输出:C_out 和 C_next-逻辑表达式:C_out = C_7C_next = (C_6 and C_7) 或 (C_5 and (C_6 or C_7)) 或 (C_4 and (C_5 or (C_6 or C_7))) 或 ......(C_1 and (C_2 or (C_3 or (C_4 or (C_5 or (C_6 or C_7))))))其中,C_out代表从最高位传出的进位,C_next代表传递给下一位的进位。

用原理图方法设计8位全加器

用原理图方法设计8位全加器

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

二、实验内容1.根据工作原理,完成1位半加器和全加器的设计;2.建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真。

三、实验环境计算机、QuartusII软件四、实验步骤1.根据半加器工作原理,建立电路并仿真,并将元件打包。

(1)电路(2)仿真:仿真结果分析:S为和信号,当A=1,B=0或A=0,B=1时,和信号S为1,否则为0.当A=B=1时,产生进位信号,及CO=1。

(3)打包后的文件:2.利用半加器构成一位全加器,并打包。

(1)电路(2)仿真仿真结果分析:CI为来自低位的进位,S=A xor B xor CI,即:当A,B,CI中有一位为高电平‘1’或者三位同时高电平为‘1’,则S=1,否则S=0;当A,B,CI有两位或者三位同为高电平‘1’时,产生进位信号CO=‘1’。

(3)打包后的文件3.利用全加器构成8位全加器,并完成编译、综合、适配、仿真。

(1)电路(2)仿真仿真结果分析:八位全加器,和S分别与A,B 对应。

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

五、实验结果与讨论实验的仿真结果与预计的结果一致,所以所设计的电路是正确的。

不足的地方有:1、对软件还不够熟悉,所以操作的有点慢;2、设计电路时,由于数字电路的知识有些开始淡忘了,所以应当及时去补缺补弱。

六、总结思考题:为了提高加法器工作速度,如何改进以设计的进位方式?答:采用超前进位。

串行加法器的第i位进位是由0~(i-1)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

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)。

8位加法器的设计

8位加法器的设计

8位加法器的设计一个8位加法器的设计需要考虑到以下几个方面:输入端口、输出端口、运算器、控制电路和时序以及综合测试等。

输入端口是加法器的输入,我们需要为每个输入端口分配相应的位数。

对于一个8位加法器,我们需要8个输入端口,每个端口为1位。

可以使用开关或者其他输入设备来控制输入信号。

输出端口是加法器的输出,同样需要为每个输出端口分配相应的位数。

对于一个8位加法器,我们需要8个输出端口,每个端口为1位。

可以使用LED灯等输出设备来显示输出结果。

运算器是加法器的核心部件,负责实现加法运算。

我们需要使用逻辑门电路来实现8位加法。

常见的实现方式是使用二进制加法器来实现,其中包括全加器、半加器等。

控制电路和时序是为了保证加法器的稳定运行。

可以采用时钟信号来对加法器的运算进行控制,时钟信号可以通过一个时钟源或者其他方式来产生。

综合测试是为了确保加法器的正确性。

我们需要设计一个测试电路,输入各种可能的输入信号,并检查输出结果是否符合预期。

以下是一个8位加法器的设计实例:1.输入端口设计:设计8个输入端口,每个端口为1位。

2.输出端口设计:设计一个8位输出端口,用于显示加法结果。

3.运算器设计:使用全加器和半加器组成8位二进制加法器。

首先将每一位的输入与进位相加,得到部分和和进位,然后再将部分和与下一位的输入和进位再相加,依次类推,最后得到8位加法结果。

4.控制电路和时序设计:使用时钟信号来控制加法器的运算。

可以通过一个时钟源或者其他方式来产生时钟信号。

5.综合测试设计:设计一个测试电路,输入各种可能的输入信号,并检查输出结果是否符合预期。

可以使用计算机软件来进行模拟测试。

在设计过程中,需要充分考虑各个部件之间的连接和信息传递,确保输入信号能够正确地经过运算器进行运算,并将运算结果正确地传递到输出端口。

总之,一个8位加法器的设计需要考虑到输入端口、输出端口、运算器、控制电路和时序以及综合测试等方面。

在具体设计过程中,还需要充分考虑其稳定性、可靠性和正确性等因素。

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的基本知识,并且熟习了一些封装等的操作,为以后的实验打下基础。

实验二 用原理图输入法设计8 位全加器

实验二  用原理图输入法设计8 位全加器

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

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

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

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

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

(5)通过之后,将该全加器封装入库待设计8位全加器的时候调用。

四、实验步骤1、设计半加器:(1)打开QUARTUS?,选file->new,在弹出的new对话框中选择Device DesignFiles页的原理图文件编辑输入项Block diagram\Schematic File,按OK后将打开原理图输入窗。

(2)原理图输入结果如下图所示:(3)保存此原理图文件,命名为h_adder.bdf,并为此文件建立工程。

(4)编译此原理图文件得到如下结果:(5)对半加器进行仿真得到结果:(6)通过之后,将该半加器封装入库待设计全加器的时候调用。

2、设计全加器(1)重复1 中的步骤(1)和(2),设计如下所示的全加器原理图:(2)保存此原理图文件,命名为f_adder.bdf,新建工程名f_adder.qpf,将此文件设置为工程顶层文件。

(3)编译此原理图文件得到如下结果:(4)对全加器进行仿真得到结果:(5)通过之后,将该全加器封装入库待设计8位全加器的时候调用。

(6)对全加器进行硬件测试,其相应引脚设置为:键1、键2、键3(PIO 0/1/2) 分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。

8位全加器设计

8位全加器设计

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

实验原理:一个8位全加器可以由8个1位全加器串行构成,即将低位加法器的进位输出cout与相临的高位加法器的最低位输入信号cin相接。

试验任务:1.完成半加器和全加器的设计。

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

实验步骤:一、1位全加器设计1.建立工程文件夹adder,路径d:\adder。

2.输入设计项目和存盘原理图编辑输入流程如下:(1)打开Quartus II,选择file—>new命令,在弹出的窗口中选择block diagram/schematic file 选项,单击ok按钮后将打开原理图编辑窗口。

(2)在编辑窗口中的任何一个位置上右击,将弹出快捷菜单,选择inset—>symbol命令,将弹出元件输入对话框。

(3)单击“…”按钮,找到基本元件库路径d:/altera/90/quartus/libraries/primitives/logic项(假设软件安装在D盘),选中需要的元件,单击“打开”按钮,此元件即显示在窗口中,然后单击symbol窗口中的ok按钮,即可将元件调入原理图编辑窗口中。

也可以在name栏输入需要的元件名。

调入好元件和引脚后,连接好电路,再输入各引脚名。

(4)选择file—>save as命令,选择刚才为自己的工程建立的目录d:\adder,将已设计好的原理图取名为h_adder.bdf,并存盘此文件夹内。

3.将设计好的项目设置成可调用的元件为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成可调用的元件。

在打开半加器原理图文件的情况下,选择file—>create/update—>create symbol file for current file命令,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待高层次设计中调用。

FPGA 8位全加器的原理图设计

FPGA 8位全加器的原理图设计

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

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

3、实验内容及过程:在D盘下建立一个新的文件夹为ADDER8。

本设计的思路是先设计1个1位半加器,因此建立新建文件夹D:/ ADDER8/h_adder;要利用1位的半加器构造1位的全加器,因此建立新建文件夹D:/ADDER8/f_adder;要利用1位的全加器构造8位的全加器,因此建立新建文件夹D:/ADDER8/adder8;(1)、用原理图输入法构造1位半加器打开QuartusII软件,选择菜单File-New,在弹出的New对话框中选择原理图文件编辑输入项Block Diagram/Schematic File(如图4-1所示),按ok按钮后将打开原理图编辑窗口。

(2)建立一个初始原理图。

在编辑窗口中的任何一个位置上右击鼠标,选择输入原件项Insert-Symbol,或者直接双击原理图编辑窗口,于是将弹出如图4-2所示原件对话框。

在坐下的Name栏键入输入引脚符号input。

然后单击ok按钮。

即可将元件调入原理图编辑窗口。

图4-1 图4-2(3)原理图文件存盘。

选择菜单File-Save As,将此原理图文件存于刚才建立的目录D:/ ADDER8/h_adder 中,取文件名为:h_adder.bdf。

然后将h_adder.bdf设定为工程,创建工程。

(4)绘制半加器原理图。

在工程管理窗口,双击工程名,再次进入原理图编辑窗。

双击原理图任何位置,再次弹出4-2的对话框。

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

课程设计报告课程名称数字逻辑课程设计课题8位全加器的设计专业计算机科学与技术班级1202学号34姓名贺义君指导教师刘洞波陈淑红陈多2013年12月13日课程设计任务书课程名称数字逻辑课程设计课题8位全加器的设计专业班级计算机科学与技术1202学生姓名贺义君学号34指导老师刘洞波陈淑红陈多审批刘洞波任务书下达日期:2013年12月13日任务完成日期:2014年01月21日一、设计内容与设计要求1.设计内容:本课程是一门专业实践课程,学生必修的课程。

其目的和作用是使学生能将已学过的数字电子系统设计、VHDL程序设计等知识综合运用于电子系统的设计中,掌握运用VHDL或者Verilog HDL 设计电子系统的流程和方法,采用Quartus II等工具独立应该完成1个设计题目的设计、仿真与测试。

加强和培养学生对电子系统的设计能力,培养学生理论联系实际的设计思想,训练学生综合运用数字逻辑课程的理论知识的能力,训练学生应用Quartus II进行实际数字系统设计与验证工作的能力,同时训练学生进行芯片编程和硬件试验的能力。

题目一4线-16线译码器电路设计;题目二16选1选择器电路设计;题目三4位输入数据的一般数值比较器电路设计题目四10线-4线优先编码器的设计题目五8位全加器的设计题目六RS触发器的设计;题目七JK触发器的设计;题目八D触发器的设计;题目九十进制同步计数器的设计;题目十T触发器的设计;每位同学根据自己学号除以10所得的余数加一,选择相应题号的课题。

参考书目1 EDA技术与VHDL程序开发基础教程雷伏容,李俊,尹霞清华大学出版社978-7-302-22416-7 2010 TP312VH/362 VHDL电路设计雷伏容清华大学出版社7-302-14226-2 2006 TN702/1853 VHDL 电路设计技术王道宪贺名臣刘伟国防工业出版社7-118-03352-9 2004 TN702/624 VHDL 实用技术潘松,王国栋7-81065 7-81065-290-7 2000 TP312VH/15 VHDL 语言100 例详解北京理工大学ASIC研究所7-900625 7-900625-02-X 1999 TP312VH/36 VHDL编程与仿真王毅平等人民邮电出版社7-115-08641-9 2000 73.9621/W38V7 VHDL程序设计教程邢建平曾繁泰清华大学出版社7-302-11652-0 2005 TP312VH/27/32.设计要求:1) 课程设计报告规范课程设计报告应包含如下几个部分(1)功能描述说明设计器件的功能,包括真值表(功能表),函数表达式,逻辑电路图(2) 详细设计按照VHDL语言开发流程写出整个开发的详细过程,可以根据如下步骤适当导出程序,程序界面截图到课程设计报告对应模块。

基本设计流程如下:①工程管理:新建工程,工程管理;②源文件输入:VHDL程序或者原理图的设计,内嵌模块的调用;③综合、编译:检查语法,连接错误,生成综合后网表;④功能仿真:综合后的功能仿真;⑤简单约束:管脚分配,I/O特性约束,简单的时序约束;⑥全编译:软件自动完成布局布线,生成最终编程文件;⑦时序仿真:带延时的和实际情况非常接近的时序仿真;⑧编程:下载到硬件当中。

(3) 调试分析以及设计体会①仿真或程序下载调试(附界面截图)。

②设计过程中遇到的问题以及解决问题的方法。

③课程设计过程经验教训、心得体会。

(4) 书写格式见附带说明。

(5) 附录①参考书目②源程序清单(带注释)2) 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。

具体考核标准包含以下几个部分:(1)平时出勤(占10%)(2)系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)(3)程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)(4)设计报告(占30%)(5)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。

(6)独立完成情况(占10%)。

3) 课程设计验收要求(1)运行所设计的系统。

(2)回答有关问题。

(3)提交课程设计报告纸质稿。

(4)提交源程序或设计报告文档电子稿。

(5)依内容的创新程度,完善程序情况及对程序讲解情况打分。

二、进度安排上机时间、地点:16 周周二下午E410/41316 周周二下午E413/41416 周周三下午E414/606附带说明:1. 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(程序清单)。

2. 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。

3. 正文的内容:一、课题的主要功能;二、详细设计;三、程序调试;四、总结;五、附件(所有程序的原代码,要求对程序写出必要的注释)。

4. 正文总字数要求在5000字以上(不含程序原代码)。

目录(1)功能描述 (1)(2)详细设计……………………………………………………………………………………………………3.(3)调试分析与设计体会 (10)(4)书写格式 (13)(5)附录 (14)(1)功能描述1.1全加器介绍全加器是能够计算低位进位的二进制加法电路。

一位全加器(FA)的逻辑表达式为:S=A⊕B⊕Cin Co=AB+BCin+ACin其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;如果要实现多位加法可以进行级联,就是串起来使用;比如8位全加器,就需要8个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加法,如果将全加器的输入置换成A和B的组合函数Xi和Y(S0…S3控制),然后再将X,Y 和进位数通过全加器进行全加,就是ALU的逻辑结构结构。

即X=f(A,B) Y=f(A,B)不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。

1.3函数表达式Si=Ai⊕Bi⊕Ci-1Ci=AiBi+Ci-1(Ai⊕Bi)1.4逻辑电路图(2)详细设计按照VHDL语言开发流程写出整个开发过程,可以根据如下步骤适当导出程序,程序界面截图到课程设计报告对应模块。

2.1新建工程管理2.2输入文本语言程序2.3编译2.4选择波形编辑器2.5对应节点2.6形成综合编译后网表2.7进行仿真调试2.8生成波形图2.9配置管脚(3)调试分析与设计体会3.1调试分析在编辑好程序代码完成后,编译结果如图:图3.1 编译结果虽然有警告,当时不碍事,继续运行代码,查看表编译分析结果,如图:图3.2 结果分析程序运行正常,没有大的错误。

3.2分析设计过程中遇到的问题以及解决问题的方法。

设计过程中遇到的主要困难就是源程序不会写,因为我们根本没有学过VHDL这门程序语言,即使在网上搜索的或图书馆找的的源程序,一旦出现错误,也很难自己改正。

其次,就是对Quartus II软件应用不熟悉,全英文式的操作界面,让这个英语很菜的我用的很费劲,有有时操作到一半,竟不知下一步该怎么弄,又得去看教材或问同学,花费了很多时间。

对于出现的这些问题,我会先查查资料,理解实验的具体信息,不懂的地方问同学或上网查资料。

看看VHDL,理解源程序的组成,以便出现错误时能够自我改正。

对于软件应用的不熟习,进行反复操作,增加熟练度。

3.3课程设计过程经验教训、心得体会。

通过这次课程设计,加强了我们动手、思考和解决问题的能力。

在整个设计过程中,我设计了数字逻辑中八位全加器的设计。

在设计过程中,经常会遇到这样那样的情况,就是对于VHDL中源代码中出现的错误不会改正,还有就是对Quartus II应用的不熟悉,有时竟忘了下一步该怎么操作,又得去查阅资料或阅读教材,因此耗费在这上面的时间用去很多。

我觉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用设计程序的功能,而且我们并没有学习VHDL这门程序语言,因此给课程设计造成了很大的困难。

平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了,而且还可以记住很多东西,映象深刻。

经过几天的上机操作,过程曲折可谓一语难尽。

在此期间我们也失落过,也曾一度热情高涨。

从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。

生活就是这样,汗水预示着结果也见证着收获。

劳动是人类生存生活永恒不变的话题。

通过实习,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计为我们的社会付出。

我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以在一起讨论、研究,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年的相处还赶不上这几天的合作,我感觉我和同学们之间的距离更加近了;我想说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋;正所谓“三百六十行,行行出状元”。

我们同样可以为社会作出我们应该做的一切,这有什么不好?我们不断的反问自己。

也许有人不喜欢这类的工作,也许有人认为设计的工作有些枯燥,但我们认为无论干什么,只要人生活的有意义就可。

社会需要我们,我们也可以为社会而工作。

既然如此,那还有什么必要失落呢?于是我们决定沿着自己的路,执着的走下去。

同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。

某个人的离群都可能导致导致整项工作的失败。

实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。

团结协作是我们实习成功的一项非常重要的保证。

而这次实习也正好锻炼我们这一点,这也是非常宝贵的。

对我们而言,知识上的收获重要,精神上的丰收更加可喜。

挫折是一份财富,经历是一份拥有。

这次实习必将成为我人生旅途上一个非常美好的回忆。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。

同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。

相关文档
最新文档