1位全加器的设计max
EDA课程设计_一位全加器的设计

EDA课程设计一位全加器的设计The design of one bit full adder学校:兰州交通大学学院:电子与信息工程学院班级:姓名:学号:指导老师:成绩:摘要:本设计主要是利用VHDL语言设计一个一位全加器,它由半加器和或门两个模块组成。
两个模块通过顶层元件例化连接到一起。
几个模块组成的整体能够实现全加器的功能,对所给数据,能够准确快速地计算出其结果.具体的该设计利用VHDL语言使用文本输入,新建工程,通过设计输入、编译、仿真完成各种模块设计,然后生成元器件,再根据元件例化完成各部分的整合,从而形成一个完整的全加器,功能上很好地被满足。
关键字:全加器元件例化Abstract:This design primarily uses VHDL language to design the one bit full adder, which is composed of two half adder and a OR gate. The two modules are connected by top Component instance. Finally, the whole of several parts achieve the function of full adder. For given dates, it can calculate its consequence accurately and quickly.In detail, the design uses text input method by VHDL language to create new projects. By designing the input, compile, simulate, it complete various modules design and generate new components. Then it forms a complete one bit full adder by accomplishing the integration of all parts, according to component instance. And the function can be well satisfied.Key word:full adder component instance一.原理(说明)在计算机中2个二进制数之间的加减乘除算术运算都是由若干加法运算实现的.全加器是算术逻辑运算的重要组成部分,对其深入探索研究有重要的意义。
全加器设计

步骤8:编程下载
(1)下载方式设定。
通信仿真之MAX+plus II应用
39
步骤8:编程下载
通信仿真之MAX+plus II应用
40
步骤8:编程下载
通信仿真之MAX+plus II应用
41
步骤8:编程下载
(2)下载。连接好硬件及下载连接线等。按“Configure”下载 配置文件。成功后通过硬件进行逻辑验证。
通信仿真之MAX+plus II应用
2
3基本设计步骤
步骤1:为本项工程设计建立文件夹 任何一项设计都是一项工程(Project),都 必须首先为此工程建立一个放置与此工程相关的 文件的文件夹,此文件夹将被EDA软件默认为工 作库(Work Library)。一般不同的设计项目最 好放在相应的文件夹中,注意,一个设计项目可 以包含多个设计文件。 假设本项设计的文件夹取名为MY_Project,路径 为D:\ MY_Project, MAX+plus II 软件装在D盘 maxplus2文件夹下。 注意:文件夹名不能用中文,且不可带空格。
通信仿真之MAX+plus II应用 8
步骤2:输入设计项目和存盘
(4)调入元件and2、not、xnor、input和output。
方法一:用鼠标双击元件 库“Symbol Libraries”中 d:\maxplus2\maxplus2\ma x2lib\prim项。在 “Symbol Files”窗口即可 看到基本逻辑元件库prim 中的所有元件,双击需要 的元件即可调入原理图编 辑窗中。
27
步骤5:时序仿真
(7)运行仿真器。
一位全加器的设计

一位全加器的设计一.实验目的1.掌握原理图输入设计。
2.利用一位半加器实现一位全加器。
二.实验原理1.一位半加器输入a,b;输出co,so;其中co为进位输出;so为和的输出;真值表如下图所示。
2.一位全加器真值表如下图所示。
三.实验内容1.以原理图输入作为设计输入,设计半加器。
2.利用设计好的半加器,实现全加器的设计。
3.通过仿真,观察设计的正确性。
4.仿真完成后,将原理图设计转换为VHDL文件。
四.设计提示仔细阅读真值表,思考如何将半加器设计为全加器。
五.实验报告要求1.写出原理图设计。
(半加器电路原理图)(全加器原理图)2.分析设计过程。
用两个半加器构成全加器。
3.记录仿真波形,保存生成的元件以及RTL,将原理图文件转变为VHDL文件。
(全加器仿真图)(符号元件)(全加器RTL)(全加器VHDL文件)LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY work;ENTITY quan2 ISPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;c : IN STD_LOGIC;ci : OUT STD_LOGIC;si : OUT STD_LOGIC);END quan2;ARCHITECTURE bdf_type OF quan2 ISCOMPONENT quanPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;co : OUT STD_LOGIC;so : OUT STD_LOGIC);END COMPONENT;SIGNAL SYNTHESIZED_WIRE_0 : STD_LOGIC;SIGNAL SYNTHESIZED_WIRE_1 : STD_LOGIC;SIGNAL SYNTHESIZED_WIRE_2 : STD_LOGIC;BEGINb2v_inst : quanPORT MAP(a => a,b => b,co => SYNTHESIZED_WIRE_2,so => SYNTHESIZED_WIRE_0);b2v_inst1 : quanPORT MAP(a => SYNTHESIZED_WIRE_0,b => c,co => SYNTHESIZED_WIRE_1,so => si);ci <= SYNTHESIZED_WIRE_1 OR SYNTHESIZED_WIRE_2;END bdf_type;4.书写实验报告时要结构合理,层次分明,在分析描述的时候,注意语言的流畅。
一位全加器的设计

一位全加器的设计全加器的主要作用是将两个二进制数相加,并产生一个结果和一个进位。
在设计全加器时,我们需要考虑以下几个方面:输入信号的处理、逻辑门的选择、进位的传递、和输出结果的计算。
首先,我们需要考虑输入信号的处理。
一个全加器需要接收两个二进制数和一个进位作为输入信号。
每个输入信号都可以用一个二进制位表示,这些位可以通过电路的输入端口进入电路。
在设计全加器时,我们需要确定如何使用这些输入信号。
其次,我们需要选择逻辑门来实现全加器。
逻辑门是数字电路的基本组件,通常用于实现计算和逻辑运算。
在设计全加器时,我们可以使用与门、或门和异或门来完成计算。
接下来,我们需要实现进位的传递。
当两个二进制数相加时,如果它们的和超过了二进制数能够表示的范围,就会产生一个进位。
为了实现进位的传递,我们可以使用逻辑门来判断是否产生了进位,并将进位传递到高位。
最后,我们需要计算输出结果。
一个全加器的输出结果是一个和位和一个进位位。
和位表示两个输入位的和,进位位表示是否产生了进位。
我们可以通过使用逻辑门和输入信号来计算输出结果。
下面是一个典型的全加器电路的设计:首先,我们将输入信号连接到三个输入端口。
一个输入端口用于接收两个输入二进制数,另一个输入端口用于接收进位。
接下来,我们将输入信号与逻辑门连接起来。
我们可以使用两个异或门来实现和位的计算,然后使用一个与门计算进位。
最后,我们将输出信号连接到两个输出端口。
一个输出端口用于输出和位,另一个用于输出进位位。
在实际设计中,我们需要综合考虑多个全加器的连接,以实现更复杂的计算。
这可以通过将多个全加器链接成一个加法器来实现。
加法器是一个包含多个全加器的数字电路,可以将更长的二进制数相加。
总结起来,全加器是一个重要的数字电路组件,用于将两个二进制数相加。
在全加器的设计过程中,我们需要考虑输入信号的处理、逻辑门的选择、进位的传递、和输出结果的计算。
通过合理选择逻辑门和连接输入输出信号,我们可以实现一个高效的全加器。
一位全加器实验报告

实验题目
实验报告正文一律使用A4打印纸打印或手写,页眉上标明“《XXXX》课程实验”字样。
页面设置上边距2.5cm,下边距2 cm,右边距2 cm(左装订),多倍行距1.25倍。
正文用宋体5号字,页眉和页脚同宋体小5号字并居中。
1、实验内容
用MAX+plus II 10.1设计一位全加器
2、实验目的与要求
设计一位全加器,并且熟悉MAX+plus II 10.1使用环境。
3、实验环境
MAX+plus II 10.1
4、设计思路分析(包括需求分析、整体设计思路、概要设计)
用两个半加器和一个或门,设计一位全加器。
5、详细设计
一位全加器可以用两个半加器和一个或门连接而成,半加器由一个与门,一个非门,同或门来实现。
在MAX+plus II 10.1环境操作步骤如下:
1、半加器的设计
2、全加器的设计
3、分配管脚
4、编译
5、仿真
6、下载
7、观察结果
6、实验结果与分析
半加器原理图
半加器波形图
全加器原理图
全加器波形图
7、实验体会与建议
通过这次实验课的学习,我学会了MAX+plus 的使用。
了解了半加器和全加器的设计原理和在MAX+plus中的实现方法。
在操作过程中虽然遇到了很多的困难,但在同学的帮助下都克服了。
同学的帮助在学习的过程中是很重要的。
1位全加器的设计

1位全加器的设计一、实验目的1.熟悉QUARTUSII软件的使用;2.熟悉实验箱的使用;3.掌握利用层次结构描述法设计电路。
二、实验原理及说明由数字电路知识可知,一位全加器可由两个一位半加器与一个或门构成,其原理图如图1所示。
该设计利用层次结构描述法,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实验箱上SW0,SW1,SW2键作为输入,并将输入的信号连接到红色LED管LEDR0,LEDR1,LEDR2上便于观察,sum,cout信号采用绿色发光二极管LEDG0,LEDG1来显示。
图1.1 全加器原理图三、实验步骤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;endmodule3.保存半加器程序为half_adder.v,进行功能仿真、时序仿真,验证设计的正确性4.选择菜单Fil e→Create/Update→Create Symbol Files for current file,创建半加器模块;5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。
并将输入ain,bin,cin连接到FPGA的输出端,便于观察。
完成后另保存full_adder。
6.对设计进行全编译,如出现错误请按照错误提示进行修改。
7.分别进行功能与时序仿真,验证全加器的逻辑功能。
9.下载采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察的LEDR[0],LEDR[1],LEDR[2],LEDG[0],LEDG[1]亮灭验证全加器的逻辑功能。
1位全加器的设计

实验一 1位全加器的设计一、实验目的:1、掌握Quartus Ⅱ 6.0软件使用流程。
2、初步掌握VHDL的编程方法。
一位全加器的逻辑表达式为:sum=a^b^Cl;Ch= a&b|(a^b)&Cl.三、实验连线1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边2、将JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上,,打开实验箱电源。
四、实验步骤:1、打开Quartus II 6.0软件,点击“File→OpenP roject”出现如下的对话框(图2.1),选中左端addre,点打开即可;图12、点击“Tools-Programmer”后出现如下图下载对话窗口,图 23、点”Edit→Add File………”出现如下对话框(图2.2),在图2.3对话框中,选中EP2C5/4fulladder/4fulladder.sof项目后点击打开,回到Programmer对话框, 在下载对话窗口中“选中Program/ Configure”,点击Start”即进行下载。
图3图4五、实验现象:(程序:EP2C5\fulladder\fulladder.sof)SW1,SW2,SW3对应a,b,Cl;D101,D102分别对应sum和Ch,当结果为0时彩色LED灯熄灭,当结果为1时彩灯点亮,改变SW1,SW2,SW3的输入状态,观察实验结果。
参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY shiyan ISPORT(A,B,C1 :IN STD_LOGIC;CH,SUM : OUT STD_LOGIC);END ENTITY shiyan;ARCHITECTURE ADO OF shiyan isSIGNAL AB :STD_LOGIC;BEGINSUM<=A XOR B XOR C1;AB<=A XOR B;CH<=(A AND B) OR (AB AND C1);END ARCHITECTURE ADO;六、实验结果1)引脚分配:图52)实验结果图63)仿真图图7七、实验总结第一次实验学会了使用掌握Quartus Ⅱ 6.0软件使用流程,初步掌握VHDL的编程方法。
1位全加器电路设计

1位全加器电路设计全加器是一种组合逻辑电路,用于将两个二进制数相加,并输出和及进位。
一个1位全加器包含两个输入(被加数和加数)和两个输出(和和进位)。
全加器具有一个额外的输入(进位输入)来接收来自上一位的进位。
一个1位全加器可以使用与门(AND)、异或门(XOR)和或门(OR)来实现。
设计思路如下:1.将两个输入(被加数和加数)分别与一个异或门(XOR)连接,得到一个输出(和)。
2.将两个输入(被加数和加数)分别与一个与门(AND)连接,得到一个输出(进位)。
3.将两个输入的与门(AND)的输出(进位)与进位输入进行异或运算,得到最终的进位输出。
4.将输出(和)和最终进位输出作为全加器的输出。
下面是我对1位全加器的详细设计:首先,我们需要定义输入和输出信号:输入信号:A, B, Cin(被加数,加数,进位输入)输出信号:S, Cout(和,进位输出)接下来,我们可以按照设计思路,逐步实现1位全加器:Step 1: 设计异或门(XOR)的电路将输入A和B连接到一个异或门,得到一个信号X(X=AXORB)Step 2: 设计与门(AND)的电路将输入A和B连接到一个与门,得到一个信号Y(Y=AANDB)Step 3: 设计第一个异或门(XOR)的电路将信号X和进位输入Cin连接到一个异或门,得到一个信号Z(Z = X XOR Cin)Step 4: 设计与门(AND)的电路将信号X和进位输入Cin连接到一个与门,得到一个信号CarryOut (CarryOut = X AND Cin)Step 5: 设计或门(OR)的电路将信号Y和信号CarryOut连接到一个或门,得到输出信号Cout (Cout = Y OR CarryOut)Step 6: 设计或门(OR)的电路将信号X和信号Z连接到一个或门,得到输出信号S(S=XORZ)最后,我们将输入A、B和Cin以及输出S、Cout连接到1位全加器的电路中,即可实现1位全加器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三1位全加器的设计
一、实验目的:
熟悉Alter公司的Max+Plus II软件,掌握采用EDA技术进行设计的过程,学会使用原理图和VHDL语言的两种方法进行电路设计。
二、实验内容:
1、编写2输入或门的VHDL程序。
2、编写半加法器的VHDL程序。
3、采用原理图方法设计全加器。
4、进行逻辑编译、综合和优化。
5、进行软件仿真。
三、实验步骤:
1、建立新目录:如e:\example;
2、第一次运行MAX+PLUS II——进入MAX+PLUS II
双击MAX+PLUS II 图标:
或:开始→程序→Altera→
3、创建VHDL源程序
A:创建2输入或门的VHDL源程序:ORM2.VHD
(1)生成一个新的文本文件:按屏幕上方的按钮,或选择“file”→“new…”,
出现对话框:
选择Text Editor file(文本编辑方式),然后按下OK按钮,会出现一个无标题的文本编辑窗口——Untitled-Text Editor。
(2)在编文本辑窗口中输入2输入或门的VHDL源程序:ORM2.VHD
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY ORM2 IS
PORT (A,B: IN STD_LOGIC;
C: OUT STD_LOGIC);
END ORM2;
ARCHITECTURE ART1 OF ORM2 IS
BEGIN
C<=A OR B;
END ARCHITECTURE ART1;
(3)保存文件:按工具栏中的按钮,或选择File→Save,出现对话
框:
在File Name(文件名)栏中输入文件名,如ORM2.vhd
在驱动器选择栏选刚刚建立的项目路径所在的驱动器,如e:
在路径栏选择所建立的项目路径,如:example
在Automatic Extension(自动扩展名)的下拉菜单中选择.vhd
按键,就把输入的文件存放在了目录e:\example中了。
此时,所有的标识符都变色。
(4)创建元件图形符号:(为了能在图形编辑器中调用ORM2)
(a)选择“File”→“Create Default Symbol”,出现对话框:
(b)按确定后编辑器开始进行编译:
如果编译出现错误,要对源程序进行修改,重复上面的步骤,直到元件符号创建成功为止,成功后出现对话框。
然后退出编辑器,回到主窗口。
B:创建半加器的VHDL源程序H_ADDER.VHD,及其并其元件符号:重复上面(1)~(4)步骤。
【注】:必须将文件放在同一目录下。
半加器的VHDL程序:H_ADDER.VHD
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY H_ADDER IS
PORT ( A,B: IN STD_LOGIC;
CO,SO:OUT STD_LOGIC);
END H_ADDER;
ARCHITECTURE ART2 OF H_ADDER IS
BEGIN
SO<=( A OR B) AND (A NAND B);
CO<=NOT (A NAND B);
END ARCHITECTURE ART2;
C:创建源文件:全加器F_ADDER.GDF
(1)新建图形文件:“file”→“New”,选择“Graphic Editor File”,按“OK”。
(2)往图中添加元件:
a. 在图形编辑器中的任意位置双击鼠标左键,或单击鼠标右键,选择“Enter Symbol”,出现对话框,可以在“Symbol Name”中输入元件名,也可以在“symbol File”中选择。
将2输入或门ORM2.vhd和2个半加器H_ADDER.vhd调入原理图编辑器中。
b. 添加“input”和“output”,直接输入元件名“input”和“output”,或在“e:\maxplus2\max2lib\prim”库中查找。
(3)按图在符号之间进行连线:
如果需要连接两个端口,将鼠标移到其中一个端口,则鼠标自动变为‘+’形状。
一直按住鼠标的左键并将鼠标拖到第二个端口,放开左键,则一条连接线被画好了。
如果需要删除一根连接线,单击这根连接线并按Del 键。
(4)设置输入/输出引脚名
在“input”和“output”符号的引脚上双击鼠标左键,就可以在端口上输入新的引脚名。
如“AIN、BIN、CIN”和“COUT、SUM”。
(5)保存顶层文件:“file”→“save”,取名为“F_ADDER.GDF”。
4、系统的编译、综合、适配
(1)将所要编译的文件设置为顶层文件:
选择“File”→“Projiet”→“Set Project to Current File”,把当前的工程设为顶层。
(2)选择目标芯片:
首先,需要为项目指定一个器件系列,然后,选择某个具体的器件,也可以让编译器在该器件系列内自动选择最适合的项目的器件。
“Assign”→“Device…”,在对话框中的Device Family下拉栏中选择FLEX10K,在Devices列表中选择芯片型号“EPF10K10LC84-3”,或选择AUTO 让MAX+PLUS II 来选择一个器件,然后按“OK”。
(3)确定引脚:
Altera 推荐让编译器自动为您的项目进行管脚分配。
但如果用户必须自己分配管脚,请按以下步骤进行:
“Assign”→“Pin/Location/Chip”,弹出对话框,在“Note Name”中输入引脚名,在“Pin:”中选择芯片的引脚号。
然后按“Add”,就在下面的窗口中出现引脚设定的说明句。
(注:引脚必须一个一个地确定),全部设定结束以后,按“OK”。
引脚设定
(4)编译、综合、适配:打开编译器窗口:
在MAX+PLUS II 菜单内选择Compiler项,则出现编译器窗口。
选择Start即可开始编译,MAX+PLUS II 编译器将检查项目是否有错,
并对项目进行逻辑综合,然后配置到一个Altera 器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件,则一次性完成编译、综合、优化、逻辑分割和适配。
5、软件仿真
(1)建立波形文件:选择“File”→“New”,选择“Waveform Editor file”。
(2)选择仿真信号:“Node”→“Enter Nodes from SNF…”,出现选择信号对话框。
按右侧的“List”按钮,左边的列表框中将立即列出所有可以选择的信号,然后按右侧的“=>”按钮,将左边列表框中的信号全部选中到右边的列表中。
按“OK”。
(3)保存波形文件:“File”→“Save”,取名为F_ADDER.scf。
(4)设置信号类型:
先用鼠标在输入波形上拖一需要改变的黑色区域,然后点击左排按钮,“0”代表低电平、“1”高电平、“X”任意、“Z”高阻态、“INV”反相、“G”
总线数据设置。
按集成环境中的缩小波形按钮,以便在仿真时能浏览波形全貌。
(5)运行仿真器:“MAX+plusⅡ”→“Simulator”。
(6)观察仿真波形,与1位全加器的真值表相比较,确定设计的正确性。
1位全加器的真值表。