学号滚动显示及加法器设计Verilog代码VIVADO basys3开发板
名称:学号滚动显示及加法器设计Verilog代码VIVADO basys3开发板
软件:VIVADO
语言:Verilog
代码功能:
1.目标
设计一个数字系统
•系统启动时,在FPGA板上的四个数码管(SSD)上滚动您的学生ID,然后
•两个4位2的补码相加,并在数码管(SSD)上显示十进制结果
FPGA板。
2.要求
第1部分。ID学号滚动
本实验的第一部分是将实验室合作伙伴之一的学生ID从以下四个数码管(SSD)中滚动从左到右,或从右到左,或来回。设备启动后,应立即开始滚动由开关操作或控制。轧制速度由设计师决定,但应该合理,所以人们看到每个角色都很舒服。除了学生证,您还可以选择
显示你想要的任何东西或任何图案。发挥创造力!学生ID只需在数码管(SSD)中滚动一次。但你可以选择滚动它多次或由控制开关激活的任何时间。一旦滚动完成或禁用通过控制开关,系统应进入正常运行模式&计算器。
第2部分。学生用函数计算器
计算器将两个4位2的补码相加,并输出一个4位2中的补码
应将其解释为带符号的十进制数,并使用1显示(用于阳性结果)
或两个(对于阴性结果)数码管(SSD)。必须使用一个数码管(SSD)显示负片的“–”符号数字。计算器还必须检测结果中是否有溢出,并指示LED显示溢出结果。
计算器的两个4位操作数必须使用相同的四个开关输入。因此操作数必须依次输入。必须使用按钮才能起到计算器的“enter”或“equal”键。在使用四个开关形成第一个数字之后
按下“相等”按钮后,数码管(SSD)上应立即显示十进制等效值。之后第二个数字是使用相同的四个开关形成的,十进制结果应显示在一旦按下“相等”按钮,数码管(SSD)就会启动。当多次按下“相等”按钮时,每次按下按钮时,计算器应继续将第二个数字添加到结果中。这个更改的结果应相应地在数码管(SSD)上更新。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在basys3开发板验证,basys3开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1、工程文件

2、程序文件

3、程序编译

4、RTL图

5、管脚分配

部分代码展示:
module add_display(
input clk,//100M
input reset,//复位
input SW,//切换开关
input [3:0] data_in,//输入数据
input enter_btn_in,//确认按键
output [3:0] bit_select,//数码管位选
output [7:0] lednum_select//数码管段选
);
wire enter_btn;//消抖后按键
//按键消抖
key_jitter i_key_jitter(
. clkin(clk),
. key_in(enter_btn_in),//输入
. key_posedge(enter_btn)//消抖后按键上升沿
);
reg [31:0] div_cnt=32'd0;
always@(posedge clk or posedge reset)
if(reset)
div_cnt=32'd100_000_000)//计数到100_000_000就是1秒
div_cnt<=32'd0;
else
div_cnt<=div_cnt+32'd1;
reg clk_1s=0;
always@(posedge clk or posedge reset)
if(reset)
clk_1s=32'd100_000_000)
clk_1s<=1;//1s使能信号
else
clk_1s<=0;
//数码管循环显示20150615
reg [31:0] data_ID=32'h20150615;
always@(posedge clk or posedge reset)
if(reset)
data_ID<=32'h20150615;
else
if(SW==1)//SW==1时显示ID
if(clk_1s==1)
data_ID<={data_ID[27:0],data_ID[31:28]};//左移4位
else
data_ID<=data_ID;
else
data_ID<=data_ID;代码文件(付费下载):
![]()
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 学号滚动显示及加法器设计Verilog代码VIVADO basys3开发板
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm