• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

在7段数码管上显示自己的最后三位学号数字Verilog代码Vivado仿真

06/24 10:04
857
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240106104U0E1.doc

共1个文件

名称:在7段数码管上显示自己的最后三位学号数字Verilog代码Vivado仿真

软件:Vivado

语言:Verilog

代码功能:

在7段数码管上显示自己的最后三位学号数字

1.实验任务

要求将自己的最后三位学号数字在数码管上显示。

2、实验现象与结果

应能看见自己学号稳定的在数码管上显示,并用手机拍摄记录下来。

3、实验报告

(1)简单陈述在数码管上显示数字的原理。

(2)画出编写 Verilog程序的功能框图。

(3)说明改变扫描频率的软件方法,及对显示的影响。

(4)附上 Verilog实验源程序,并对关键或重要的程序语句给出简要的注释和说明。

(5)将显示的学号截图附上。

(6)如果调试过程遇到了问题,应将问题截图,并给出解决问题的办法和对应的截图。

设计文档:

1. 学号显示

工程文件

程序文件

程序编译

Testbench

仿真图

部分代码展示:

`timescale?1ns?/?1ps
//显示学号后三位122
module?display_num(
input?clk,//时钟
output?reg?[3:0]?bit_select,??//数码管位控制信号
output?reg?[7:0]?lednum_select//数码管段控制信号
);
reg[15:0]counter='d0;
always@(posedge?clk)
begin
????counter<=counter+16'd1;//扫描频率控制计数器
end
reg?[3:0]?display_data=4'd0;
always@(posedge?clk)
begin//counter[5:4]表示扫描频率,若值越大,频率越低,最大可以设置为counter[15:14]
case(counter[5:4])//学号122
2'd1:display_data<=4'd1;//学号1??
2'd2:display_data<=4'd2;//学号2
2'd3:display_data<=4'd2;//学号2
??????default:;
endcase
end
always@(posedge?clk)
begin//counter[5:4]表示扫描频率,若值越大,频率越低,最大可以设置为counter[15:14]
????case(counter[5:4])//数码管位控制信号低电平有效
????????2'd1:?bit_select<=4'b1011;//显示第1个数码管
????????2'd2:?bit_select<=4'b1101;//显示第2个数码管
????????2'd3:?bit_select<=4'b1110;//显示第3个数码管
????????default:bit_select<=4'b1111;//不显示
????endcase
case(display_data)//数码管段控制信号低电平有效
0?:?lednum_select=?8'hc0;?//显示0
1?:?lednum_select=?8'hf9;?//显示1
2?:?lednum_select=?8'ha4;?//显示2
3?:?lednum_select=?8'hb0;?//显示3
4?:?lednum_select=?8'h99;?//显示4
5?:?lednum_select=?8'h92;?//显示5
6?:?lednum_select=?8'h82;?//显示6
7?:?lednum_select=?8'hf8;?//显示7
8?:?lednum_select=?8'h80;?//显示8
9?:?lednum_select=?8'h90;?//显示9
endcase
end
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=502

  • 2-240106104U0E1.doc
    下载

相关推荐