收藏 分享(赏)

4位全加器实验报告.doc

上传人:weiwoduzun 文档编号:3284637 上传时间:2018-10-10 格式:DOC 页数:5 大小:139.60KB
下载 相关 举报
4位全加器实验报告.doc_第1页
第1页 / 共5页
4位全加器实验报告.doc_第2页
第2页 / 共5页
4位全加器实验报告.doc_第3页
第3页 / 共5页
4位全加器实验报告.doc_第4页
第4页 / 共5页
4位全加器实验报告.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1四位全加器11 微电子 黄跃 1117426021【实验目的】采用 modelsim 集成开发环境,利用 verilog 硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。【实验内容】加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。实现多位二进制数相加的电路称为加法器,它能解决二进制中1110的功能(当然还有 00

2、、01、10).【实验原理】全加器 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图 4 为全加器的方框图。图 5 全加器原理图。被加数 Ai、加数 Bi从低位向本位进位Ci-1作为电路的输入,全加和 Si与向高位的进位 Ci作为电路的输出。能实现全加运算功能的电路称为全加电路。全加器的逻辑功能真值表如表 2 中所列。信号输入端 信号输出端Ai Bi Ci Si Ci0 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 12表2 全加器逻辑功能真值表图4 全加器方框图图5 全加器原理图多位全加器

3、连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。四位全加器如图 9 所示,四位全加器是由半加器和一位全加器组建而成:图 9 四位全加器原理图【实验步骤】(1)建立新工程项目:打开 modelsim 软件,进入集成开发环境,点击 FileNew project 建立一3个工程项目 adder_4bit。建立文本编辑文件:点击 FileNew 在该项目下新建 Verilog 源程序文件 adder_4bit.v并且输入源程序。(2)编译和仿真工程项目:在 verilog 主页面下,选择 Compile Compile All 或点击工具栏上的按钮启动编译,

4、直到 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 四位全加器

5、原理图【仿真和测试结果】下图为四位全加器的仿真图:4图 10 仿真图【程序源代码】1 位全加器程序代码如下:module f_adder(a,b,cin,sum,cout); output sum,cout;input a,b,cin;wire s1,c1,c2;xor(s1,a,b);and(c1,a,b);or(sum,s1,cin);and(c2,s1,cin);xor (cout,c2,c1);endmodule四位全加器程序代码如下:module adder_4bit(s,co,a,b,ci); output3:0 s;output co;input3:0 a,b;input ci;

6、wire ci1,ci2,ci3;f_adder f0(a0,b0,ci,s0,ci1);f_adder f1(a1,b1,ci1,s1,ci2);f_adder f2(a2,b2,ci2,s2,ci3);f_adder f3(a3,b3,ci3,s3,co);Endmodule四位全加器测试程序代码如下:module test_adder_4bit;reg 3:0 A,B;reg CI;wire 3:0 S;wire CO;adder_4bit A1(S,CO,A,B,CI);initialbegin$monitor($time,“A=%b,B=%b,CI=%b,CO=%b,S=%bn“,A,B,CI,CO,S);5endinitialbeginA=4d0;B=4d0; CI=1B0;#5 A=4d3;B=4d4;#5 A=4d2;B=4d5;#5 A=4d9;B=4d9;#5 A=4d10;B=4d15;#5 A=4d10;B=4d5;CI=1b1;endendmodule【实验心得和体会】通过设计 4 位全加器,熟练了原理图输入方法,学会使用 Verilog 语言输入方法,也能较灵活地使用 modlesim 软件。由时序图可以看出实现了 4 位全加器的功能,Verilog 的程序设计是正确的,实验是成功的。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 研究报告 > 教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报