首页 Verilog HDL 二位BCD码加法器

Verilog HDL 二位BCD码加法器

举报
开通vip

Verilog HDL 二位BCD码加法器一. 系统模块实现方案 主模块 实现 /*********************主模块*********************/ module BCD(A0,A1,B0,B1,displayA0,displayA1,displayB0,displayB1,displayS0,displayS1,displayS2);  //主模块端口 input [3:0]A0;  //考虑到A0、B0、A1、B1的值可能超过十进制数8,顾定义长度为4位; input [3:0]A1; input [3:0]B0; in...

Verilog HDL 二位BCD码加法器
一. 系统模块实现 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 主模块 实现 /*********************主模块*********************/ module BCD(A0,A1,B0,B1,displayA0,displayA1,displayB0,displayB1,displayS0,displayS1,displayS2);  //主模块端口 input [3:0]A0;  //考虑到A0、B0、A1、B1的值可能超过十进制数8,顾定义长度为4位; input [3:0]A1; input [3:0]B0; input [3:0]B1; output [6:0]displayB0; output [6:0]displayB1; output [6:0]displayA0; output [6:0]displayA1; output [6:0]displayS0; output [6:0]displayS1; output [6:0]displayS2; reg [3:0]S0; reg [3:0]S1; reg [3:0]S2; reg [4:0]C0;  reg [4:0]C1;  reg [4:0]T0;  //低位和值可能超过16,所以定义T0、T1长度为5; reg [4:0]T1;                                reg [4:0]Z0;  reg [4:0]Z1;  always  //不停重复; begin T0=A0+B0;    //低位相加和值赋T0; if(T0>9) begin Z0=10;        //如果低位相加有进位,则赋值Z0=10; C0=1;        //如果T0>9,则有进位,此时C0=1; end else begin Z0=0; C0=0; end begin T1=A1+B1+C0;    //高位为A1加B1再加进位C0,赋值给T1; if(T1>9) begin Z1=10; C1=1; end else begin Z1=0; C1=0; end end begin S0=T0-Z0;      //和值S0到S1赋值; S1=T1-Z1; S2=C1; end end display in0(displayA0,A0); display in1(displayA1,A1); display in2(displayB0,B0); display in3(displayB1,B1); display out0(displayS0,S0); display out1(displayS1,S1); display out2(displayS2,S2);  endmodule 说明 由于实验所用开发板芯片应用EP2C35F672C6,不设置时序,always结构让程序处于不停执行状态。 译码显示模块 实现 /*************七段数码管显示译码器******************/ module decode4_7(decodeout,indec); output[6:0] decodeout; input[3:0] indec; reg[6:0] decodeout; always @(indec) begin case(indec) //用case 语句进行译码 4'd0:decodeout=7'b1000000; 4'd1:decodeout=7'b1111001; 4'd2:decodeout=7'b0100100; 4'd3:decodeout=7'b0110000; 4'd4:decodeout=7'b0011001; 4'd5:decodeout=7'b0010010; 4'd6:decodeout=7'b0000010; 4'd7:decodeout=7'b1111000; 4'd8:decodeout=7'b0000000; 4'd9:decodeout=7'b0010000; default: decodeout=7'bz; endcase end endmodule 说明 此处采用老师提供PDF里面的四输入七段数码管显示译码器模块,四个输入端口,七个输出端口分别对应数码管的七段LED灯,LED灯由低电平控制。 二. 结果与讨论 出现的问题以及解决过程 A. 一开始输出端口为s0,s1,s2,无法对应七段数码显示管,后来把它当成变量换成七位输出端口对应数码管成功。 B. 一些语法错误比如缺少end,缺少“;”号,以及输出对象被说明为wire类型。后来编译过程中排除了语法错误,把错误说明wire类型与reg类型更改修正。 仿真的结果 波形仿真 开发板仿真结果 三. 实验 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 此次实验内容虽然说不是很困难,甚至应该说这是一个入门级的小实验,但是前前后后也是花了我很多脑细胞和时间,跑了很多次实验室,才搞定。通过此次实验,首先是对Verilog HDL语言的设计思想有了深入理解,将这种自顶向下的设计理念运用于实践中,设计2位BCD码加法器,突出了Verilog HDL作为硬件描述语言的良好可读性和可移植性,对上学期所学的而理论知识有了深刻的理解。 在这次的课程设计中我不仅学习到有关程序编写以及设计方面的逻辑思维,对系统功能的实现也有了较为深入的了解,对各模块的调试等也学习到不少东西,总之,从这次设计中学到很多东西,也巩固了我的理论学习。
本文档为【Verilog HDL 二位BCD码加法器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_153723
暂无简介~
格式:doc
大小:23KB
软件:Word
页数:0
分类:互联网
上传时间:2019-09-01
浏览量:63