欢迎来到天天文库
浏览记录
ID:59294488
大小:289.00 KB
页数:7页
时间:2020-09-06
《Verilog HDL 二位BCD码加法器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一.系统模块实现方案主模块实现/*********************主模块*********************/moduleBCD(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
2、: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
3、:0]Z1;always//不停重复;beginT0=A0+B0;//低位相加和值赋T0;if(T0>9)beginZ0=10;//如果低位相加有进位,则赋值Z0=10;C0=1;//如果T0>9,则有进位,此时C0=1;endelsebeginZ0=0;C0=0;endbeginT1=A1+B1+C0;//高位为A1加B1再加进位C0,赋值给T1;if(T1>9)beginZ1=10;C1=1;endelsebeginZ1=0;C1=0;endendbeginS0=T0-Z0;//和值S0到S1赋值;S1=T1
4、-Z1;S2=C1;endenddisplayin0(displayA0,A0);displayin1(displayA1,A1);displayin2(displayB0,B0);displayin3(displayB1,B1);displayout0(displayS0,S0);displayout1(displayS1,S1);displayout2(displayS2,S2);endmodule说明由于实验所用开发板芯片应用EP2C35F672C6,不设置时序,always结构让程序处于不停执行状态。译码
5、显示模块实现/*************七段数码管显示译码器******************/moduledecode4_7(decodeout,indec);output[6:0]decodeout;input[3:0]indec;reg[6:0]decodeout;always@(indec)begincase(indec)//用case语句进行译码4'd0:decodeout=7'b1000000;4'd1:decodeout=7'b1111001;4'd2:decodeout=7'b0100100;4
6、'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;endcaseendendmodule说明此处采用老师提供PDF里面的四输入七段数码管显示译码器模块,四个输入
7、端口,七个输出端口分别对应数码管的七段LED灯,LED灯由低电平控制。一.结果与讨论出现的问题以及解决过程A.一开始输出端口为s0,s1,s2,无法对应七段数码显示管,后来把它当成变量换成七位输出端口对应数码管成功。B.一些语法错误比如缺少end,缺少“;”号,以及输出对象被说明为wire类型。后来编译过程中排除了语法错误,把错误说明wire类型与reg类型更改修正。仿真的结果波形仿真开发板仿真结果一.实验总结此次实验内容虽然说不是很困难,甚至应该说这是一个入门级的小实验,但是前前后后也是花了我很多脑细胞和时间,
8、跑了很多次实验室,才搞定。通过此次实验,首先是对VerilogHDL语言的设计思想有了深入理解,将这种自顶向下的设计理念运用于实践中,设计2位BCD码加法器,突出了VerilogHDL作为硬件描述语言的良好可读性和可移植性,对上学期所学的而理论知识有了深刻的理解。在这次的课程设计中我不仅学习到有关程序编写以及设计方面的逻辑思维,对系统功能的实现也有了较为深入的了解,对各模
此文档下载收益归作者所有