sled.v

来自「dp_xiliux 的 CPLD Verilog设计实验,7个LED演示.代码测」· Verilog 代码 · 共 53 行

V
53
字号
module sled (seg , sl , clock);					//定义模块结构
    	output [7:0] seg;						//定义数码管段输出引脚
		output [3:0] sl;						//定义数码管选择输出引脚
    	input clock;						//定义输入时钟引脚

	reg [7:0] seg_reg;					//定义数码管段输出寄存器
	reg [3:0] sl_reg;						//定义数码管选择输出寄存器
	reg [3:0] disp_dat;					//定义显示数据寄存器
	reg [36:0] count;						//定义计数器寄存器

always @(posedge clock)					//定义clock信号下降沿触发
begin
	count=count+1;						//计数器值加1
end

always
begin
	sl_reg=4'b0000;
end

always @(count[16])	    				//定义显示数据触发事件
begin
	disp_dat = count[27:24];		//显示个位数值
end

always @(disp_dat)						//显示译码输出
begin
	case (disp_dat)						//选择输出数据
		4'h0: seg_reg = 8'hc0;				//显示0
		4'h1: seg_reg = 8'hf9;				//显示1
		4'h2: seg_reg = 8'ha4;				//显示2
		4'h3: seg_reg = 8'hb0;				//显示3
		4'h4: seg_reg = 8'h99;				//显示4
		4'h5: seg_reg = 8'h92;				//显示5
		4'h6: seg_reg = 8'h82;				//显示6
		4'h7: seg_reg = 8'hf8;				//显示7
		4'h8: seg_reg = 8'h80;				//显示8
		4'h9: seg_reg = 8'h90;				//显示9
		4'ha: seg_reg = 8'h88;				//显示a
		4'hb: seg_reg = 8'h83;				//显示b
		4'hc: seg_reg = 8'hc6;				//显示c
		4'hd: seg_reg = 8'ha1;				//显示d
		4'he: seg_reg = 8'h86;				//显示e
		4'hf: seg_reg = 8'h8e;				//显示f
	endcase
end

assign seg=seg_reg;						//输出数码管译码结果
assign sl=sl_reg;							//输出数码管选择

endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?