4位全加器实验报告_第1页
4位全加器实验报告_第2页
4位全加器实验报告_第3页
4位全加器实验报告_第4页
4位全加器实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

今年以来我们在上级党组织的领导和区精神文明办的关心支持指导下坚持以邓小平理论和三个代表重要思想为指导认真落实科学发展观4位全加器实验报告篇一:四位全加器实验报告实验一:四位全加器实验报告实验日期:XX.4.15 学生姓名:陆小辉(学号:1228402025) 指导老师:黄秋萍 加法器是数字系统中的基本逻辑器件,是构成算数运算电路的基本单元。1位加法器有全加器和半加器两种。多位加法器构成方式有并行进位方式和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度较快;串行进位加法器是将全加器级联构成多位加法器。并行进位加法器通常比串行进位加法器占用更多的资源,随着位数的增多,相同位数的并行进位加法器比串行进位加法器的资源占用差距快速增大。因此,在工程中使用加法器时,要在速度与容量之间寻求平衡。一、设计要求:设计四位全加器,完成相应的功能。可采用并行进位方式和串行进位方式,可采用三种常用建模方式中的任意一种。 三、测试代码如(转载自:www.xiaocaOfaNW 小草 范 文 网:4位全加器实验报告)下: module text_fulladd4; 二、设计代码如下:(此处采用数据流建模)wire 3:0sum; module fulladd4(sum,cout,a,b,cin); wire cout; output 3:0sum; reg 3:0a,b; output cout; reg cin; input 3:0a,b; fulladd4 f1(sum,cout,a,b,cin); input cin; initial assign cout,sum=a+b+cin; begin endmodule a=4b0; b=4b0; cin=1b0; #210 $stop; end always #10 a=a+1; always #5 b=b+1; always #100 cin=cin+1;endmodule 四、仿真波形如下:续图篇二:4位全加器实验报告数电第一次实验 通信1402 程杰 UXX13468 【实验目的】 采用ISE集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四进制全加器。 【实验内容】加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。实现多位二进制数相加的电路称为加法器,它能解决二进制中1110的功能(当然还有 00、01、10).【实验原理】 全加器除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图4为全加器的方框图。图5全加器原理图。被加数Ai、加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。能实现全加运算 表2 全加器逻辑功能真值表 图4 全加器方框图图5 全加器原理图多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。四位全加器如图9所示,四位全加器是由半加器和一位全加器组建而成:图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开ISE软件,进入集成开发环境,点击FileNew project建立一个工程项目adder_4bit。建立文本编辑文件:点击FileNew在该项目下新建Verilog源程序文件adder_4bit.v 并且输入源程序。(2)编译和仿真工程项目:在verilog主页面下,选择Compile Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。四位全加器1、 原理图设计如图9所示,四位全加器是由半加器和一位全加器组建而成:图9 四位全加器原理图【程序源代码】半加器程序代码如下:module Halfadder(S,C,A,B);input A, B;output S, C;xor (S,A,B);and (C,A,B);endmodule一位全加器程序代码如下:module onebit_adder(Sum,Co,A ,B,Ci );input A,B,Ci;output Sum,Co;wire S1,D1,D2;Halfadder HA1(.B(B), .S(S1), .C(D1), .A(A);Halfadder HA2(.A(S1), .B(Ci), .S(Sum), .C(D2);or g1(Co, D2, D1);endmodule四位全加器程序代码如下:module fourbit_adder(S,C3,A,B,C_1 );input 3:0 A,B; input C_1; output 3:0 S; output C3; wire C0,C1,C2; onebit_adder U0_FA(S0,C0,A0,B0,C_1); onebit_adder U1_FA(S1,C1,A1,B1,C0);onebit_adder U2_FA(S2,C2,A2,B2,C1);onebit_adder U3_FA(S3,C3,A3,B3,C2);endmodule 四位全加器仿真代码如下: module fourbir_adder_TF;/ Inputsreg 3:0 A_t;reg 3:0 B_t;reg C_1_t; / Outputswire 3:0 S_t; wire C3_t;/ Instantiate the Unit Under Test (UUT) fourbit_adder uut (.S(S_t), .C3(C3_t), .A(A_t), .B(B_t), .C_1(C_1_t) );initial begin/ Initialize InputsA_t = 0000;B_t = 0001;C_1_t = 0;#10 $display (A B=%b %b,S_t=%b,C3_t=%b,A_t,B_t,S_t,C3_t);A_t = 0011;B_t = 0011;C_1_t = 0;#10 $display (A B=%b %b,S_t=%b,C3_t=%b,A_t,B_t,S_t,C3_t); A_t = 0111;B_t = 1100;C_1_t = 0;#10 $display (A B=%b %b,S_t=%b,C3_t=%b,A_t,B_t,S_t,C3_t);end endmodule 仿真结果截图 引脚分配代码 NET A0 LOC =P11; NET A1 LOC =L3; NET A2 LOC =K3; NET A0 LOC =B4;NET B0 LOC =G3;NET B0 LOC =F3;篇三:四位全加器实验报告 武汉轻工大学 数学与计算机学院 计算机组成原理 实验报告 题 目:4位二进制计数器实验 专 业:软件工程班 级:130X班学 号:1305110XXX姓 名:XX指导老师:郭峰林 XX年11月3日 【实验环境】1. Win 72. QuartusII9.1计算机组成原理教学实验系统一台。【实验目的】1、熟悉VHDL语言的编写。2、验证计数器的计数功能。【实验要求】本实验要求设计一个4位二进制计数器。要求在时钟脉冲的作用下,完成计数功能,能在输出端看到0-9,A-F的数据显示。(其次要求下载到实验版实现显示)【实验原理】计数器是一种用来实现计数功能的时序部件,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等,其最基本的分类如下:?同步计数器?1、结构?异步计数器?计数器的种类?加法计数器 ?2、功能?减法计数器?可逆计数器?二进制计数器?3、进制?十进制计数器?N进制计数器?下面对同步二进制加法计数器做一些介绍。同步计数器中,所有触发器的CP端是相连的,CP的每一个触发沿都会使所有的触发器状态更新。因此不能使用T触发器。应控制触发器的输入端,即将触发器接成T触发器。只有当低位向高位进位时(即低位全1时再加1),令高位触发器的T=1,触发器翻转,计数加1。例如由JK触发器组成的4位同步二进制加法计数器,令其用下降沿触发。下面分析它的工作原理。输出方程nnnnCQ?Q3Q2Q1Q0驱动方程J0?K0?1?n?J1?K1?Q0?nn?J2?K2?Q1Q0nnn?J3?K3?Q2Q1Q0状态方程 本实验中要求用VHDL语言设计同步4位二进制计数器,令其上升沿触发。 说明:为了方便在QuartusII9.1 sp2中完成编译和功能仿真,我们选择芯片Cyclone II,EP2C70F89C6,而在DE2-115开发板中进行下载时,则需要选择与开发板相匹配的芯片Cyclone IVE 中的EP4CE115F29C7。(芯片选择见下文详述,注意每次变换芯片后都需要重新编译) 【实验步骤】 1.1.1 创建项目工程1、首先新建一个文件夹。利用资源管理器,新建一个文件夹,如:d : test1 。作为本项目所有文件存放位置。2、创建一个工程(1)软件。(2)、再开始建立新项目工程。点击:【File】菜单,选择下拉列表中的【New Project Wizard.】命令,打开建立新项目工程的向导对话框。点击next。完成以上命名工作后,点击Next,进入下一步。 图1.1.3添加其他工程的文件到本项目工程中 (5)选择设计文件所需要的可编程芯片的型号,实验中我们所用的实验平台是DE2-115开发板。由于DE2-115实验板中的FPGA芯片较新,QuartusII9.1 sp2软件还没有为其提供相应的仿真功能,因此,我们要选择较早的芯片Cyclone II,EP2C70F89C6图1.1.4选择目标芯片的型号点击Next,进入下一步。如下图对话框: 点击Finish,完成新建项目工程的任务。 1.1.2 创建源程序文件(1)新建一个VHDL项目文件。打开QuartusII,选择菜单“File”?“New”,在New窗中的“ Design Files”中选择编译文件的语言类型,选“VHDL File”(如图所示)。 图1.1.6选择编辑文件的语言类型 (2)然后在VHDL文本编译窗中键入VHDL程序。VHDL语言的程序代码如下图所示:图1.1.7VHDL语言的程序代码其中,CLK是时钟信号,CQ是4位数据输出端。每当检测到CLK出现一个上升沿时,计数器就自加1并输出结果。(3)键入程序后,点击保存,选择默认保存名。在对工程进行编译处理前,必须做好必要的设置:(1)选择目标芯片。目标芯片的选择也可以这样来实现:选择Assignments菜单中的Settings项,在弹出的对话框中选择Categor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论