Verilog简易数码管显示(de2-115)加法器

输入两个数令数码管显示数字并显示加法和
实验器材:de2-115
在这里插入图片描述

实验要求:利用开关输入数字并在数码管上显示,将两段数码管显示的数字的加法和显示在第三段数码管上。
电路图如下:
在这里插入图片描述实验原理:
这里用两个译码器将输入的二进制数转换为十进制并输出,然后设置一个加法器求和,再用译码器输出,两位数要注意个位和十位要分别转换,因为做的比较简单,所以只能实现0~9的加法,也就是和的最大数是18
实验代码:

`简单译码器
`timescale 1ns/1ps
module my_fpga (a,dr);
	input[3:0]a;
	output[6:0]dr;
	assign  dr=(a==4'b0000)?7'b1000000://0
				  (a==4'b0001)?7'b1111001://1
				  (a==4'b0010)?7'b0100100://2
				  (a==4'b0011)?7'b0110000://3
				  (a==4'b0100)?7'b0011001://4		  
				  (a==4'b0101)?7'b0010010://5			  
				  (a==4'b0110)?7'b0000010://6
				  (a==4'b0111)?7'b1111000://7		  
				  (a==4'b1000)?7'b0000000://8
				  (a==4'b1001)?7'b0010000://9		  
				  (a==4'b1010)?7'b1111111:	dr;
endmodule	

`加法器
module add1(a1,a2,add_out);
input[3:0]a1;
input [3:0]a2;
output [5:0]add_out;
assign add_out=a1+a2;
endmodule
module BOT2(add_out,a4,a5);
   input[5:0]add_out;
	output[3:0]a4;
	output[3:0]a5;
	assign a4=	(add_out<6'd10)? add_out:
					(add_out<6'd20)? add_out-4'd10:a4;
				// (T<6'd20)? T-6'd10: 
				// (T<6'd30)? T-6'd20:
				// (T<6'd40)? T-6'd30:
				// (T<6'd50)? T-6'd40:
				// (T<6'd60)? T-6'd50:
				// (T<7'd70)? T-6'd60: 
	assign  a5=(add_out<6'd10)?4'd0:
					(add_out<6'd20)? 4'd1:a5;
	/*a1=(close==1'b1)?4'd10:
					 (T<6'd10)? 4'd0:
				 (T<6'd20)? 4'd1:
				 (T<6'd30)? 4'd2:
				 (T<6'd40)? 4'd3:
				 (T<6'd50)? 4'd4:
				 (T<6'd60)? 4'd5:
				 (T<7'd70)? 4'd6:a1;*/
endmodule

管脚配置:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值