8位全加器设计
- 格式:doc
- 大小:127.50 KB
- 文档页数:3
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位全加器的设计实验报告一、实验要求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上。
8位全加器课程设计报告一、课程目标知识目标:1. 学生理解8位全加器的基本概念,掌握全加器的逻辑结构和工作原理;2. 学生掌握8位全加器的电路图绘制方法,能分析并解释全加器中各个部分的作用;3. 学生了解8位全加器在计算机运算中的应用,理解其重要性。
技能目标:1. 学生能够运用所学知识,独立完成8位全加器的电路图设计;2. 学生能够运用逻辑门电路,搭建8位全加器电路,并进行功能验证;3. 学生能够通过实际操作,提高解决问题的能力和团队协作能力。
情感态度价值观目标:1. 学生培养对电子技术课程的兴趣,激发学习热情;2. 学生在学习过程中,树立正确的科学态度,注重实践,勇于创新;3. 学生通过团队合作,培养沟通与协作能力,增强集体荣誉感。
课程性质分析:本课程为电子技术课程的一部分,重点在于让学生掌握8位全加器的原理和应用,培养实际操作能力。
学生特点分析:八年级学生具有一定的电子技术基础,对电路有一定的了解,但可能对全加器的理解尚浅,需要通过具体实例和操作来加深理解。
教学要求分析:本课程要求教师以理论与实践相结合的方式进行教学,注重培养学生的实际操作能力和团队协作能力。
在教学过程中,关注学生的个体差异,给予个性化指导,确保课程目标的实现。
通过本课程的学习,学生能够达到上述具体的学习成果。
二、教学内容1. 引言:介绍全加器在数字电路中的重要性,回顾一位全加器的基本原理,引出8位全加器的研究意义。
2. 理论知识:a. 8位全加器的定义和功能;b. 8位全加器的逻辑结构,包括加法器、进位发生器和进位传递部分;c. 8位全加器的真值表和逻辑表达式。
3. 实践操作:a. 8位全加器电路图的绘制;b. 利用集成电路芯片搭建8位全加器电路;c. 电路功能测试及故障排查。
4. 应用拓展:a. 8位全加器在计算机运算中的应用案例;b. 探讨8位全加器与其他数字电路模块的组合应用。
教学大纲安排:第一课时:引言及理论知识(1、2a)第二课时:理论知识(2b、2c)第三课时:实践操作(3a、3b)第四课时:实践操作(3c)第五课时:应用拓展(4a、4b)教材章节关联:本教学内容与教材中“第十章 数字电路及其应用”相关,涉及全加器部分的内容,与教材中的理论知识和实践操作相结合,确保学生能够系统地学习和掌握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位全加器。
原理图输入设计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位二进制数进行加法运算。
所需材料
- 8个全加器芯片
- 连接线
- 电源
步骤
1. 首先,将8个全加器芯片连接在一起。
每个全加器芯片有三
个输入端(A,B,Carry In)和两个输出端(Sum,Carry Out)。
2. 将第一个全加器的A端连接到第一个输入二进制数的最低位,将B端连接到第二个输入二进制数的最低位。
3. 将第一个全加器的Carry In端连接到电源的地线。
4. 将第一个全加器的Sum端连接到输出线,用于输出加法结果的最低位。
5. 将第一个全加器的Carry Out端连接到第二个全加器的Carry In端。
6. 将第二个全加器的A端连接到第一个全加器的Sum端,将B端连接到第三个输入二进制数的最低位。
7. 将第二个全加器的Sum端连接到输出线,用于输出加法结果的次低位。
8. 将第二个全加器的Carry Out端连接到第三个全加器的Carry In端。
9. 重复以上步骤,将所有的全加器连接在一起,直到连接完所有的位。
10. 最后一个全加器的Sum端将是输出加法结果的最高位。
结论
通过按照上述步骤构建电路,我们可以实现一个8位加法器电路,用于对两个8位二进制数进行加法运算。
电子科技大学电子工程学院标准实验报告(实验)课程名称EDA技术与应用**:**学号:*****************:**电子科技大学教务处制表实验一八位全加器的设计一、预习内容1.结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程;2.八位全加器设计原理。
二、实验目的1.掌握图形设计方法;2.熟悉QuartusⅡ软件的使用及设计流程;3.掌握全加器原理,能进行多位加法器的设计。
三、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干四、实验要求1、用VHDL设计一个四位并行全加器;2、用图形方式构成一个八位全加器的顶层文件;3、完成八位全加器的时序仿真。
五、实验原理与内容1、原理:加法器是数字系统中的基本逻辑器件。
例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。
但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。
多位加法器的构成有两种方式:并行进位和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。
通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。
这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。
因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。
2、实现框图:1)四位加法器四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。
显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。
通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。
因此,减小进位的延迟对提高运算速度非常有效。
八位全加器设计一、实验目的熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
二、实验原理及仿真结果方案一8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与下一级一位全加器的进位输入信号cin相连。
设计流程(含仿真波形图):1、全加器的实现:由半加器加上组合电路实现。
仿真结果为:2、八位全加器的实现:由八个全加器组合生成八位全加器。
仿真结果为:方案二直接调用Quartus内部的宏功能模块LPM_ADD_SUB来实现8位全加器,其电路结构图如下:仿真结果为:方案三利用VHDL语言的运算操作符“+”和并置符“&”,可以通过少量的代码来实现复杂的全8位加器,关键代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_unsigned.ALL;ENTITY fulladderarray ISPORT(aa: IN STD_LOGIC_vector(7 downto 0);bb: IN STD_LOGIC_VECTOR(7 DOWNTO 0);cin: IN STD_LOGIC;sum: out STD_LOGIC_VECTOR(7 DOWNTO 0);cout: OUT STD_LOGIC);END ENTITY fulladderarray ;ARCHITECTURE one OF fulladderarray ISsignal nn: std_logic_vector(8 downto 0);BEGINnn<='0'& aa+bb+cin;sum<=nn(7 downto 0);cout<=nn(8);END ARCHITECTURE one;仿真结果为:三、方案比较三种方案的仿真时间如下:三种方案对FPGA的资源利用数量为:方案一方案二方案三经比较分析可得:方案一用时最多,方案三最少;方案一和方案三都用了较少的内部资源,方案一利用了较多的内部资源。
二、实验原理:一个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位全加器设计
实验目的:熟悉利用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变成一个元件符号存盘,以待高层次设计中调用。
4.设计全加器顶层文件
打开一个原理图编辑窗口,方法同前。
在新打开的原理图窗口中双击,在弹出的窗口中选择project选项,选择h_adder.bdf,并调入其他元件,连接好电路。
以f_adder.bdf名存在同一路径d:\adder中。
二、8位全加器设计
1.将刚设计好的1位全加器设置成可调用的元件,方法同上。
2.调入元件,连接电路图,以8f_adder.bdf保存于同一路径d:\adder中的文件夹中。
3.将顶层文件8f_adder.bdf设置为工程。
4.编译与仿真
原理图与仿真波形分析:
1.一位全加器原理图与仿真
半加器原理图
1位全加器原理图
1位全加器仿真波形2.8位全加器原理图与仿真
8位全加器原理图8位全加器仿真波形。