1位全加器的设计
- 格式:docx
- 大小:25.41 KB
- 文档页数:2
一位全加器的设计(总23页) --本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--课程设计任务书学生姓名:袁海专业班级:电子1303班指导教师:封小钰工作单位:信息工程学院题目: 一位全加器的设计初始条件:计算机、ORCAD软件,L-EDIT软件要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周2、技术要求:(1)学习ORCAD软件,L-EDIT软件。
(2)设计一个一位全加器电路。
(3)利用ORCAD软件对该电路进行系统设计、电路设计,利用L-EDIT软件进行版图设计,并进行相应的设计、模拟和仿真工作。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:布置课程设计任务、选题;讲解课程设计具体实施计划与课程设计报告格式的要求;课程设计答疑事项。
学习ORCAD软件和L-EDIT软件,查阅相关资料,复习所设计内容的基本理论知识。
对一位全加器电路进行设计仿真工作,完成课设报告的撰写。
提交课程设计报告,进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要........................................................ 错误!未定义书签。
ABSTRACT .................................................... 错误!未定义书签。
1绪论...................................................... 错误!未定义书签。
集成电路发展现状........................................ 错误!未定义书签。
集成电路版图工具L-edit简介............................. 错误!未定义书签。
目录1 绪论 (1)1.1 设计背景 (1)1.2 设计目标 (1)2一位全加器电路原理图编辑 (2)2.1 一位全加器电路结构 (2)2.2 一位全加器电路仿真分析波形 (3)2.3 一位全加器电路的版图绘制 (3)2.4一位全加器版图电路仿真并分析波形 (3)2.5 LVS检查匹配 (3)总结 (3)参考文献 (3)附录一:电路原理图网表 (3)附录二:版图网表 (3)1 绪论1.1 设计背景Tanner集成电路设计软件是由Tanner Research 公司开发的基于Windows 平台的用于集成电路设计的工具软件。
早期的集成电路版图编辑器L-Edit在国已具有很高的知名度。
Tanner EDA Tools 也是在L-Edit的基础上建立起来的。
整个设计工具总体上可以归纳为电路设计级和版图设计级两大部分,即以S-Edit 为核心的集成电路设计、模拟、验证模块和以L-Edit为核心的集成电路版图编辑与自动布图布线模块。
Tanner软件包括S-Edit,T-Spice,L-Edit与LVS[1]。
L-Edit Pro是Tanner EDA软件公司所出品的一个IC设计和验证的高性能软件系统模块,具有高效率,交互式等特点,强大而且完善的功能包括从IC设计到输出,以及最后的加工服务,完全可以媲美百万美元级的IC设计软件。
L-Edit Pro包含IC设计编辑器(Layout Editor)、自动布线系统(Standard Cell Place & Route)、线上设计规则检查器(DRC)、组件特性提取器(Device Extractor)、设计布局与电路netlist的比较器(LVS)、CMOS Library、Marco Library,这些模块组成了一个完整的IC设计与验证解决方案。
L-Edit Pro丰富完善的功能为每个IC 设计者和生产商提供了快速、易用、精确的设计系统。
1.2 设计目标1.用tanner软件中的原理图编辑器S-Edit编辑一位全加器电路原理图2.用tanner软件中的TSpice对一位全加器的电路进行仿真并分析波形3.用tanner软件中的版图编辑器L-Edit进行一位全加器电路的版图绘制,并进行DRC验证4.用tanner软件中的TSpice对一位全加器的版图进行仿真并分析波形5.用tanner软件的layout-Edit中的lvs功能对一位全加器进行LVS检验观察原理图与版图的匹配程度2一位全加器电路原理图编辑2.1 一位全加器电路结构一位全加器电路是数据运算和数字信号处理中应用最广泛的组合模块之一。
实验三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.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ORM2 ISPORT (A,B: IN STD_LOGIC;C: OUT STD_LOGIC);END ORM2;ARCHITECTURE ART1 OF ORM2 ISBEGINC<=A OR B;END ARCHITECTURE ART1;(3)保存文件:按工具栏中的按钮,或选择File→Save,出现对话框:在File Name(文件名)栏中输入文件名,如ORM2.vhd在驱动器选择栏选刚刚建立的项目路径所在的驱动器,如e:在路径栏选择所建立的项目路径,如:example在Automatic Extension(自动扩展名)的下拉菜单中选择.vhd按键,就把输入的文件存放在了目录e:\example中了。
此时,所有的标识符都变色。
实验一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-PQG2082.新建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;endmodule3.保存半加器程序为half_adder.v,通过HDL Bench画仿真波形,获得仿真用激励文件,随后进行功能仿真、时序仿真,验证设计的正确性,观察两种仿真波形的差异。
4.在Design窗口中,选择Design Utilities→Create Schematic Symbol创建半加器模块;5.新建一原理图(Schematic)文件,在原理图中调用两个半加器模块、一个或门模块,按照图1所示连接电路,并连接输入、输出引脚。
完成后另保存full_adder.sch。
6.对设计进行综合,如出现错误请按照错误提示进行修改。
7.HDL Bench画仿真波形,获得仿真用激励文件,分别进行功能与时序仿真,验证全加器的逻辑功能,观察两类波形的差异。
FPGA一位全加器设计实验报告
本实验的目的是学习使用FPGA设计一个全加器,通过实践掌握FPGA硬件描述语言和数字电路设计的一些基础知识和技能。
一、实验背景
数字逻辑电路是计算机硬件的基础,而硬件描述语言是数字电路设计的重要手段。
FPGA是可编程逻辑器件,它可以根据用户的需求进行编程,实现不同的数电逻辑电路。
全加器是组成加法器的重要单元,也是我们学习数字逻辑的重要基础。
二、实验设计
本实验我们将采用Verilog硬件描述语言来设计一个全加器。
代码如下:
module full_add(
input A,B,Cin,
output S,Cout
);
wire w1,w2,w3;
xor(S,w1,A^B);//A异或B
xor(Cout,w2,A&Cin);//A与Cin之后异或
xor(w3,B&Cin,A&Cin);//B与Cin之后异或
xor(Cout,Cout,w3);//再次异或
endmodule
三、测试结果
我们使用Quartus II软件进行仿真和综合。
通过对代码的仿真和波形分析,我们发现该全加器符合设计要求,并且可以正确地输出结果。
四、实验总结
本实验我们学习了FPGA硬件描述语言,掌握了数字电路设计的一些基础知识和技能。
通过设计全加器,我们更深入地理解了数字逻辑电路的原理和应用。
希望在今后的学习中,能够继续深入研究数字电路的知识,为我们掌握计算机硬件设计打下坚实的基础。
END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder ISCOMPONENT h_adderPORT ( a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END COMPONENT ;COMPONENT or2aPORT (a,b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f : STD_LOGIC;BEGINu1 : h_adder PORT MAP(a=>ain,b=>bin,co=>d,so=>e);u2 : h_adder PORT MAP(a=>e, b=>cin, co=>f,so=>sum); u3 : or2a PORT MAP(a=>d, b=>f, c=>cout);END ARCHITECTURE fd1;(2)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder isSIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ;BEGINabc <= a & b ;PROCESS(abc)BEGINCASE abc ISWHEN "00" => so<='0'; co<='0' ;WHEN "01" => so<='1'; co<='0' ;WHEN "10" => so<='1'; co<='0' ;WHEN "11" => so<='0'; co<='1' ;WHEN OTHERS => NULL ;END CASE;END PROCESS;END ARCHITECTURE fh1 ;(3)LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a, b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b ;END ARCHITECTURE one五、实验仿真、结果及分析1.仿真结果如图2.结果及分析:该一位加法器是由两个半加器组成,在半加器的基础上,采用元件的调用和例化语句,将元件连接起来,而实现全加器的VHDL编程和整体功能。
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位全加器。
logisim1位全加器构成4位加法器的设计过程描述[logisim1位全加器构成4位加法器的设计过程描述]在数字电路设计中,加法器是最基本也是最常见的电路之一。
一个4位加法器由四个1位全加器组成,每个1位全加器都能实现两个1位二进制数的加法。
本文将以构造一个4位加法器为例,详细介绍1位全加器的设计过程及其在4位加法器中的应用。
1. 1位全加器的功能和原理:1位全加器是一种能够实现三个二进制输入数(a、b和进位cin)加和产生两个输出数(和sum和进位cout)的电路。
其最基本的真值表可以表示为:a b cin sum cout-0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1从上表中可以看出,和sum的计算结果是输入数a、b和cin的异或值;而进位cout的计算结果则是输入数a、b和cin的与运算后再与(a、b的异或结果)的或运算的结果。
2. 1位全加器的逻辑门电路设计:根据上述的真值表,我们可以设计出1位全加器的逻辑门电路。
一种常见的实现方式是使用两个异或门、一个与门和一个或门组合而成。
具体接线如下图所示:a -oooob -ooocin -oooosum cout Cin3. 构造4位加法器的步骤:一位全加器是完成二进制的加法运算的基本单元,我们可以通过将四个1位全加器按照特定的连接方式组成一个4位加法器。
下面是构造一个4位加法器的详细步骤:3.1 连接四个1位全加器:将四个1位全加器按照从右至左的顺序依次连接起来,其中每一个全加器的进位输入cin连接到其前一个全加器的进位输出cout。
这样,第一个全加器的进位输入cin可以直接连接到一个外部的输入信号,即加法器的进位输入Cin。
3.2 确定输入连接方式:将待相加的两个4位二进制数a和b的对应位与进位输入Cin分别与第一个全加器的a、b和cin相连。
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;
endmodule
3.保存半加器程序为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.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder?
2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别?
3.为什么要进行引脚锁定?
4.采用层次结构法描述电路有什么样的优点?。