北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)

北邮22信通一枚~

跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章

持续关注作者 迎接数电实验学习~

获取更多文章,请访问专栏:

北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客

关注作者的uu们可以进群啦~ 

一.verilog代码

1.1 decoder_led.v

module decoder_led(A,RBI,LT,BI_RBO,seg_led,seg_led_DP,seg_led_DIG);
	input [3:0] A;
	input RBI;//灭零输入信号
	input LT;//试灯信号
	input BI_RBO;//消隐输入、灭零输出信号
	output [6:0]seg_led;//输出信号
	
	output wire seg_led_DP;
	output wire seg_led_DIG;
	assign seg_led_DP=0;
	assign seg_led_DIG=0;
	
	decoders decoder_1(A,RBI,LT,BI_RBO,seg_led);//高位
endmodule

1.2 decoders.v

module decoders
(
	A,
	RBI,
	LT,
	BI,
	out,
	RBO,
);

	input [3:0]A;
	output reg [6:0]out;
	input LT,RBI,BI;
	output wire RBO;
	
	always @(*)begin
		casex({LT,RBI,A,BI})
			7'b110_0001:out=7'b111_1110;
			7'b1x0_0011:out=7'b011_0000;
			7'b1x0_0101:out=7'b110_1101;
			7'b1x0_0111:out=7'b111_1001;
			7'b1x0_1001:out=7'b011_0011;
			7'b1x0_1011:out=7'b101_1011;
			7'b1x0_1101:out=7'b101_1111;
			7'b1x0_1111:out=7'b111_0000;
			
			7'b1x1_0001:out=7'b111_1111;
			7'b1x1_0011:out=7'b111_1011;
			7'b1x1_0101:out=7'b000_1101;
			7'b1x1_0111:out=7'b001_1001;
			7'b1x1_1001:out=7'b010_0011;
			7'b1x1_1011:out=7'b100_1011;
			7'b1x1_1101:out=7'b000_1111;
			7'b1x1_1111:out=7'b000_0000;
			7'bxxx_xxx0:out=7'b000_0000;
			7'b100_0000:out=7'b000_0000;
			7'b0xx_xxx1:out=7'b111_1111;
			
			default out=7'b000_0000;
			
		endcase
	end
	assign RBO=(LT& ~RBI &(A==4'b0000))?0:1;
endmodule

二.管脚分配

北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)_第1张图片

三.效果展示

通过拨动拨码开关可以控制七段数码管显示不同的数字。拨码开关是4为二进制。

北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)_第2张图片北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)_第3张图片北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)_第4张图片北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)_第5张图片北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)_第6张图片

你可能感兴趣的:(北邮22级信通院数电实验,fpga开发)