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

合集下载

8位全加器设计

8位全加器设计

实验报告
系别电子信息工程系课程名称《EDA技术及其应用》实验
班级1班实验名称8位全加器设计
姓名×××实验时间××××年××月××日
学号××××××××指导教师×××
报告内容
一、实验目的和任务
学习使用QuartusⅡ9.0软件,熟悉EDA设计流程。

学习用图形输入法设计八位全加器,并对其进行分析和测试。

二、实验原理介绍
学习用四位全加器设计八位全加器,第1片74283(四位全加器)的进位输出信号应该和第2片74283的进位输入信号相连。

三、设计代码、仿真波形及分析
任务1:学习使用QuartusⅡ软件,熟悉EDA设计流程(主要为软件设计部分)。

步骤:
编辑输入图形、编译设计文件、仿真设计文件
仿真波形如下图所示:
任务2:硬件验证8位全加器的功能。

步骤:
引脚锁定、编译、下载、硬件测试
可选实验电路模式1;
键2、键1和键3、4分别负责输入两个加数A和B;且能在数码管1、2和3、4上显示;两个加数的和在数码管5、6显示;发光管D1显示进位输出。

编译下载后进行硬件测试;
实验室演示
四、实验结论与心得。

[高等教育]实验三 用原理图输入法设计8位全加器

[高等教育]实验三  用原理图输入法设计8位全加器

实验三用原理图输入法设计8位全加器1、实验目的:学习利用原理图输入法设计简单组合电路,掌握层次化设计的方法,掌握用原理图进行设计的整体流程。

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

利用QuartusII完成1位全加器文本编辑输入设计,并以此为依据,再利用原理图输入法设计8位全加器,得出仿真输出波形,并进行硬件引脚锁定,在实验系统上进行硬件测试,验证其硬件实现功能。

3、主要仪器设备:EDA实验箱、QuartusII软件和计算机。

4、实验内容及过程:在E:/EDA/下建立一个新的文件夹为ADDER8。

本设计的思路是先设计1个1位半加器,因此建立新建文件夹E:/EDA/ ADDER8/h_adder;要利用1位的半加器构造1位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/f_adder;要利用1位的全加器构造8位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/adder8;(1)、用原理图输入法构造1位半加器打开QuartusII软件,选择新建一个原理图文件,进入原理图编辑窗。

在空白编辑窗的地方电击鼠标右键,选择加入模块。

此图电击OK,为加入输入引脚。

以同样的方法加入其它模块,如下图所示。

对其连线。

连线时注意,若信号为1位,则用导线进行连接,若信号为多位,则用总线进行连接。

注意连线时,最后连好的线平滑,无x等标识方能表明线正确连接。

连好后更改输入输出引脚。

保存到E:/EDA/ ADDER8/h_adder路径下,文件名为h_adder。

建立相应的工程文件,并编译。

编译成功后转换为原理图模块。

(2)、用原理图输入法构造1位全加器把1位半加器的模块和原理图拷入文件夹E:/EDA/ ADDER8/f_adder。

用两个1位半加器构造1位全加器,以同样的步骤和方式建立1位全加器的原理图,如下图所示。

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位串行进位加法器实验报告一、实验目的使对quartus II的使用进行初步的了解,对于一些芯片的组合应用更加掌握。

二、实验内容设计8位串行进位加法器用半加器设计一个全加器元件,然后根据图4-38,在顶层设计中用8个1位全加器构成8位串行进位加法器。

给出时序仿真波形并说明之、引脚锁定编译、编程下载于FPGA中进行硬件测试。

完成实践报告。

三、实验步骤及各步结果1、分析8位串行全加器的层次结构2、半加器3、一位全加器output S,CO;wire S1,D1,D2;halfadder HA1(S1,D1,A,B);halfadder HA2(S,D2,S1,CI);or g1(CO,D2,D1);endmodule//8-bit full addermodule _8bit_adder(S,C7,A,B,C_1);input[7:0]A,B;input C_1;output [7:0]S;output C7;wire C0,C1,C2,C3,C4,C5,C6,C7;fulladderFA0(S[0],C0,A[0],B[0],C_1),FA1(S[1],C1,A[1],B[1],C0),FA2(S[2],C2,A[2],B[2],C1),FA3(S[3],C3,A[3],B[3],C2),FA4(S[4],C4,A[4],B[4],C3),FA5(S[5],C5,A[5],B[5],C4),FA6(S[6],C6,A[6],B[6],C5),FA7(S[7],C7,A[7],B[7],C6);endmodule4、软件使用(1)、新建一个工程,工程名为_8bit_adder(2)、新建一个Verilog HDL File文件并写入程序代码(3)、对写完的代码进行编译,发现没有错误(4)、新建一个波形文件(5)、新建(6)、插入程序后双击输入数值进行数据的输入(7)、输入相应的值(8)、仿真出来的结果(9)、按时序给输入端输入不同的数据(10)、继续仿真,波形如图(11)、时序仿真(12)、放大后这里出现了冒险竞争。

原理图输入设计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键。

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

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位二进制数的次低位和第一个全加器的进位,以此类推。

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

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

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

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

基于FPGA的八位加法器

基于FPGA的八位加法器

课程实训报告课程名称EDA 技术设计题目基于FPGA的八位加法器院系名称机械电子工程学院专业班级电子信息工程2014级姓名学号成绩指导教师2016年12月目录1、设计目的、要求.................................................................................................................... - 2 -1.1、设计目的.................................................................................................................... - 2 -1.2、系统设计要求............................................................................................................ - 2 -2、设计原理及相关硬件............................................................................................................ - 3 -2.1、系统设计方案及原理................................................................................................ - 3 -2.2、硬件原理.................................................................................................................... - 3 -3、主要模块设计........................................................................................................................ - 5 -3.1、模块Key-led............................................................................................................. - 5 -3.2、模块Adder................................................................................................................. - 6 -4、系统编译及仿真过程............................................................................................................ - 6 -4.1、系统编译.................................................................................................................... - 6 -4.2、仿真............................................................................................................................ - 7 -5、硬件验证过程和分析............................................................................................................ - 8 -5.1、引脚设置和保护........................................................................................................ - 8 -5.2、硬件下载.................................................................................................................... - 8 -5.3、硬件测试结果及分析................................................................................................ - 9 -6、实验参考程序........................................................................................................................ - 9 -6.1、模块key_led............................................................................................................. - 9 -6.2、模块adder4b........................................................................................................... - 13 -6.3、模块adder8b........................................................................................................... - 14 -总结 ......................................................................................................................................... - 15 -参考文献...................................................................................................................................... - 0 -附录 ........................................................................................................................................... - 1 -1、设计目的、要求1.1、设计目的(1)了解并掌握一般设计方法,具备初步的独立设计能力;(2)掌握用VerilogHDL语言程序的基本技能;(3)提高综合运用所学的理论知识独立分析和解决问题的能力;(4)进一步掌握EDA技术的开发流程;(5)学习较复杂的数字系统设计方法。

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

八位超前进位加法器电路

八位超前进位加法器电路

八位超前进位加法器电路
1. 结构描述,八位超前进位加法器电路通常由八个全加器和一个最高位的进位输入组成。

每个全加器负责对应位置上的两个二进制位和上一位的进位进行加法运算,并输出该位置的结果和进位。

最高位的进位输入则用于处理最高位的进位情况。

2. 功能原理,当两个八位二进制数输入到这个电路时,每个全加器会对应位置上的两个二进制位进行加法运算,并考虑上一位的进位情况。

如果相加的结果超过了二进制的表示范围,就会产生进位。

最后,所有的进位输出会被连接起来,形成最终的进位输出。

3. 电路设计,八位超前进位加法器电路的设计需要考虑到每个全加器的连接方式,以及最高位的进位输入。

通常会采用级联的方式连接八个全加器,同时将最高位的进位输入与最高位的两个二进制位相加的进位输出相连。

4. 性能特点,这种电路能够高效地对两个八位二进制数进行加法运算,并能够处理进位情况,保证计算的准确性。

同时,由于采用了超前进位的设计,可以加快进位的传播速度,提高运算效率。

5. 应用领域,八位超前进位加法器电路常常用于数字逻辑电路中,例如在计算机的算术逻辑单元(ALU)中,用于执行二进制加法运算。

此外,在数字信号处理、通信系统等领域也有广泛的应用。

总结起来,八位超前进位加法器电路是一种用于对两个八位二进制数进行加法运算的电路,它的结构、功能原理、电路设计、性能特点和应用领域都有着重要的意义。

希望以上回答能够满足你的要求。

8位全加器的设计

8位全加器的设计

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

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

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

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

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

FPGA八位加法器

FPGA八位加法器

FPGA 实验报告(信息科学与工程学院)实验名称:流水线设计技巧设计加法器专业:通信071学生姓名:喻明富学号:07437126 2010 ~2010学年第一学期第一次试验实验日期:10月30号指导教师:刘威成绩:审阅教师:信息科学与工程学院电子与信息技术实验中心教务处一、实验目的1、理解流水线设计技巧的原理;2、通过比较普通加法器和流水线加法器的性能验证后者的优越性。

二、实验要求1、用《EDA技术》课程所学方法设计一个8位加法器;2、用流水线技巧设计一个2级流水线的8位加法器;3、比较普通加法器和流水线加法器的性能。

三、实验原理1、设计一个普通加法器,用8个一位加法器级联,组成行波进位式加法器;图1-1 行波进位式加法器为了方便进行时间分析,需要在输入和输出端分别加上寄存器。

输入端(图1-2)图1-2 输入端所加的寄存器输出端(图1-3)图1-3 输出端所加的寄存器处理后可进行delay time分析、setup/hold time分析和频率分析。

2、流水线设计方法流水线设计就是将一个时延比较大的复杂的组合逻辑系统地分割,在各个部分(分级)之间插入寄存器以暂存中间数据的方法。

目的是将一个大操作分解成若干的小操作,每一步小操作的耗时较小,各小操作能并行执行,所以数据可以像流水线一样轮流进入每一步小操作进行处理,这样整体地来看系统,数据可以更快地进入和流出系统,所以能提高数据吞吐率(提高处理速度)。

这样的流水线的速率取决于每一步小操作所耗费的时间。

由于采用同步寄存器分割组合逻辑,只要每个组合逻辑的时延小于寄存器的时钟周期,那么系统的频率取决于系统的时钟频率。

流水线处理是高速设计中的一个常用设计手段。

如果某个设计的处理流程分为若干步骤,而且整个数据处理是“单流向”的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法来提高系统的工作频率。

例如,利用FPGA设计8位加法器时,考虑到:1>FPGA每个逻辑单元规模小,一般为4输入LUT,如果加法器位数大于4bit,则会受到LUT容量限制。

基于FPGA的8位加法器原理图和文本设计法

基于FPGA的8位加法器原理图和文本设计法

END ad de r s ;
A R C H IT E C T U R E S O F a dd e r 8 IS
S IG N A IJ S I N T : IN T E GE R R A N G E O
科技资讯 SCI〔 NC〔 & 1 〔 NOLOGY IN「 日 - ION - C日 0 MAI
A LL ; EN T IT Y a d d er 8 IS
当在库中 找不到库元件时, 用VHDL等硬件描 述语言 的文本输入法将是最好的选择, 当然还 有很多时候, 我们用到原理图和文本输入法结
合来设计电路 。
Ol ; T PORT(CIN :IN 5 2
INTEGER RANGE O
参考文献
【 华成英.数字电子技术基础. 高等教育出版 ] 1 社, 1998. 1 江国强. EDA 技术与应用. 北京: 电子工 ] 2 业出版社, , 2004 8. 仁 谭会生. EDA 技术综合应用实例与分析. ] 3 西安: 西安电子科技大学出版社, 2004 .
出不同的选择, 当库中提供了库元件的话 , 为 了显示的直观, 我们可以采用原理图输入法;
2 原理图 输入方式
原理图输入, 这是一种最直接的设计输入 方式, 它使用软件系统提供的器件库及各种符 号和连线画出设计电路的原理图, 形成图形输 人文件。这种方式大多用在设计者对系统及 各部分电路很熟悉或系统对设计特性要求较 高的场合。优点是容易实现仿真, 便于信号 的观察和电路的调整。 由于MAX+PLUS l软件的宏函数库种有 l 8 位加法器的元件, 这样我们只要调用出这个 s f a d d 元件, 再加上输入、输出即可。整体 设计如图 1 。 图 1 中, a[7二0]和b[7二0]是两个8 位的二

八位全加器

八位全加器

EDA技术课程大作业设计题目:八位全加器设计院系:电子信息与电器工程学院学生姓名:学号:200902070002班级:09电信专升本2010 年12 月8 日八位全加器设计1.设计背景和设计方案1.1设计背景近年来,由于EDA技术迅猛发展,已成为电子领域的一项重要技术。

设计方法也多种多样。

本文用EDA技术作为开发手段,用图形输入设计方法,实现一个八位加法器的设计,并进行了系统仿真。

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

并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将低位加法器的进位输出与相邻的高位加法器的进位输入信号相连,将全加器级联构成多位加法器。

并行进位加法器通常比串行级联占用更多的资源。

随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。

因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

1.2设计方案本实验采用串行级联的方式构成八位加法器。

该八位加法器由八个一位全加器构成,加法器间的进位由串行方式实现,即将低位加法器的进位输出与相邻的高位加法器的最低进位输入信号相连。

原理图编辑如下:图一八位全加器设计原理图2. 方案实施2.1 半加器设计采用图形输入设计方法,实现半加器的设计。

在D盘上建立本实验文件夹,取名为adder8。

打开Quartus II,进入原理图输入编辑窗口。

分别调入and2,not,xnor和输入输出引脚input和output,并按照下图连接好电路。

然后分别修改input和output的引脚名为a、b、co和so。

把该文件名改为h_adder,并保存在adder8文件夹中。

保存后,把该文件转换为元件符号存盘。

图二半加器设计原理图2.2(宋体四号,加粗)一位全加器设计(宋体小四,1.5倍行距)重新打开一个原理图编辑窗口,调入h_adder、or2、input和output,连接好一位全加器电路图。

修改input和output的引脚名,并把文件名修改为f_adder后存盘。

实验二 用原理图输入法设计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的对话框。

8位全加器-FPGA

8位全加器-FPGA

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity counter8 isport(clk,key1,key2,key3,key4,key5:in std_logic;cout,sum:out std_logic_vector(7 downto 0);dig,seg:out std_logic_vector(7 downto 0));end counter8;architecture behave of counter8 issignal keyin:std_logic_vector(15 downto 0);signal datas:std_logic_vector(15 downto 0);signal storer:std_logic_vector(31 downto 0);begincount1:process(key1,key2,key3,key4,key5)beginif(key1='1') thenkeyin(15 downto 12)<=keyin(15 downto 12)+1;end if;if(key2='1') thenkeyin(11 downto 8)<=keyin(11 downto 8)+1;end if;if(key3='1') thenkeyin(7 downto 4)<=keyin(7 downto 4)+1;end if;if(key4='1') thenkeyin(3 downto 0)<=keyin(3 downto 0)+1;end if;if(key5='1') thendatas(15 downto 12)<=datas(15 downto 12)+1;end if;end process count1;count2:process(keyin,datas)beginif(datas(3 downto 0)>="1010")thendatas(3 downto 0)<=datas(3 downto 0)-"1010";datas(7 downto 4)<=datas(7 downto 4)+1;end if;if(datas(7 downto 4)>="1010")thendatas(7 downto 4)<=datas(7 downto 4)-"1010";datas(11 downto 8)<=datas(11 downto 8)+1;end if;datas(3 downto 0)<=keyin(11 downto 8)+keyin(3 downto 0);datas(7 downto 4)<=keyin(15 downto 12)+keyin(7 downto 4); cout<=datas(15 downto 8);sum<=datas(7 downto 0);end process count2;decoder_dig:process(clk)variable i:integer range 0 to 8;beginif(clk'event and clk='1') thenif(i>7)then i:=0;else i:=i+1;case i iswhen 1 =>dig<="01111111";when 2 =>dig<="10111111";when 3 =>dig<="11011111";when 4 =>dig<="11101111";when 5 =>dig<="11110111";when 6 =>dig<="11111011";when 7 =>dig<="11111101";when 8 =>dig<="11111110";when others=>null;end case;end if;end if;end process decoder_dig;decoder_seg:process(clk)beginstorer(15 downto 0)<=keyin;storer(31 downto 16)<=datas;for n in 0 to 7 loopcase storer(n*4+3 downto n*4 )iswhen"0000"=>seg<="11000000";when"0001"=>seg<="11111001";when"0010"=>seg<="10100100";when"0011"=>seg<="10110000";when"0100"=>seg<="10011001";when"0101"=>seg<="10010010";when"0110"=>seg<="10000010";when"0111"=>seg<="11111000";when"1000"=>seg<="10000000";when"1001"=>seg<="10010000";when others=>null;end case;end loop;end process decoder_seg;end behave;。

分别使用原理图和VHDL语言输入方法设计8位全加器

分别使用原理图和VHDL语言输入方法设计8位全加器

分别使用原理图和VHDL语言输入方法设计8位全加器大庆石油学院课程设计2006年9 月12 日大庆石油学院课程设计任务书课程硬件课程设计题目分别使用原理图和VHDL语言输入方法设计8位全加器专业计算机科学与技术姓名孟庆军学号040702140408主要内容、基本要求、主要参考资料等一、主要内容:利用EDA-V型实验系统、微机和Maxplus-II软件系统,分别使用原理图和VHDL语言输入方法设计8位全加器。

要求利用层次设计方法,首先设计1位半加器,仿真和测试成功后把它保存到元件库中去;之后以1位半加器为底层元件设计1位全加器,仿真和测试成功后把它也保存到元件库中去;最后以1位全加器为基本元件,设计8位全加器的顶层文件,进行仿真和测试。

二、基本要求:1、熟练掌握EDA软硬件系统的使用方法。

2、设计出8位全加器,精通原理图输入方法,初步学会使用VHDL语言输入方法。

3、学会功能仿真和时序仿真。

大庆石油学院硬件课程设计4、按照规范写出论文,要求字数在4000字以上,并进行答辩。

论文内容包括概述(学习、调研、分析、设计的内容摘要)、EDA技术的现状和发展趋势、对EDA_V型实验系统和MaxplusII软件的掌握程度、8位全加器设计过程(包括原理图或程序设计、编译、仿真分析、硬件测试的全过程),论文中含有原理图、程序、仿真波形图及其分析报告。

三、主要参考资料:[1] 潘松.EDA技术实用教程[M].北京:科学出版社,2003.11-13.[2] 杨恒.FPGA/CPLD最新实用技术指南[M].北京:清华大学出版社, 2005.20-22.[3] EDA先锋工作室.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社2005.32-33.[4] 求是科技.CPLD/FPGA应用开发技术与工程实践[M].北京:人民邮电出版社2005. 55-58.[5] 潘松.SOPC技术实用教程[M] .清华大学出版社.2005.1-15.完成期限第28周指导教师专业负责人年月日大庆石油学院课程设计成绩评价表指导教师:年月日摘要本文介绍了利用EDA-V硬件系统和微机上的MaxPlus-I I等软件系统,分别使用原理图和VHDL语言输入方法设计8位全加器。

8位加法器设计

8位加法器设计

目录第1章概述 (1)第2章设计总体思路 (3)第3章单元电路设计 (5)3.1 八位二进制加法器 (5)3.2 译码显示电路 (8)第4章波形仿真结果分析 (11)第5章安装调试步骤 (12)第6章故障分析与改进 (13)第7章心得体会 (14)参考文献 (15)附录:整体电路图 (16)第1章概述随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。

随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。

因此学好EDA技术对我们有很大的益处。

EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

VHDL系统优势:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。

强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。

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

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的对话框。

分别在Name栏键入原件名and2、not、xnor和输出引脚output,并用单击拖动的方法连接电路。

然后分别在input和output引脚的PIN NAME上双击使其变为黑色,再用键盘输入各引脚名:a、b、co和so。

最后作为本工程的顶层原理设计图如4-3。

图4-3
(5)仿真测试半加器。

全程编译后,对此半加器工程进行方针测试,仿真波形如下图所示4-4。

图4-4
(6)把以上设计的半加器h_adder.bdf设置成可调用的底层原件。

方法如图4-5,在半加器原理图打开的情况下选择菜单File-Create/Update Symbol Files For Current File,即可将当前电路图变成一个原件符号存盘(元件文件名是h_adder.bsf),以便在高层次中调用。

图4-5
(7)把1位半加器的模块和原理图拷入文件夹D:/ADDER8/f_adder。

用两个1位半加器构造1位全加器的元件并存盘。

原理图如4-6,仿真时序图如4-7.然后把此原理图设置成可调用的底层原件。

图4-6
图4-7
(8)用原理图输入法构造8位全加器。

把1位半加器和1位全加器的原理图和模块共四个文件拷入E:/EDA/ ADDER8/adder8,用1个1 位半加器和7个1位全加器构造8位全加器。

原理图如4-8,仿真时序图如4-9.
图4-8
图4-9
4、硬件测试。

(1)引脚锁定。

选择菜单Assignments-Assignment Editor,弹出窗口中在Category中选择Pin然后在New 栏把所有引脚列出,选取模式1的电路实现此功能。

键2、键1输入8位加数;键4、键3输入8位被加数;数码8/7显示加和;D8显示进位cout。

查出对应的PIO口和对应芯片的引脚,引脚锁定如下图:
图4-10
(2)点击保存储存这些引脚锁定的信息后,必须再编译(启动Start Complilation)一次,才能将引脚锁定信息编译进下载文件中。

(3)下载到硬件显示。

连好实验箱,打开电源,下载到实验箱上。

点击Programmer下载程序出现如下图4-11所示,然后点击start。

选择实验箱上的模式1,从键2、键1输入加数,从数码管2、1上可看到相应的输入;从键4、键3输入被加数,从数码管4、3上可看到相应的输入;从数码管8、7可看到两数相加后的和,从D8显示进位情况。

5、实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告
图4-11。

相关文档
最新文档