VIVADO显示模块verilog代码Nexys4开发板

名称:VIVADO显示模块verilog代码Nexys4开发板

软件:VIVADO

语言:Verilog

代码功能:

显示模块

拨动右边的 8 个开关,右边的四个数码管可以显示

8 位二进制对应的十进制数,这里的二进制要求是补码(最高为是 1 的话会输出负数)。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在Nexys4开发板验证,Nexys4开发板如下,其他开发板可以修改管脚适配:nexys4_ddr开发板.png



演示视频:


设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. Xdc约束文件



部分代码展示:

//显示模块
//拨动右边的 8 个开关,右边的四个数码管可以显示
//8 位二进制对应的十进制数,这里的二进制要求是补码(最高为是 1 的话会输出负数)。
module display
(
input clk,
input [7:0] SW,//右边的 8 个开关
output reg [7:0] bit_select,//数码管位选
output reg [7:0] seg_select//数码管段选
);
//二进制转十进制
wire [3:0]signed_flag;//负号指示
assign signed_flag=(SW[7])? 4'hA : 4'hF;//负号
wire [7:0] data;
assign data=(SW[7]==0)? SW : ~(SW - 1);//正数是本身,负数减1再取反
wire [3:0] data_hun;//百位
wire [3:0] data_ten;//十位
wire [3:0] data_one;//个位
assign data_hun=data/100;//百位
assign data_ten=data/10%10;//十位
assign data_one=data%10;//个位
reg [31:0] count_num=32'd0;
////////////////////////////////////////////位选////////////////////////////////////////////////
always @(posedge clk )  //扫描频率
begin
if(count_num == 32'd99_999)  
begin
count_num <= 32'd0; 
end 
else begin
count_num <=count_num +1'd1; //扫描频率计时数字
end
end
reg [2:0] shumaguan_num=3'd0;
always @(posedge clk )  
begin
if(count_num == 32'd99_999)
begin
if(shumaguan_num == 3'd3)
begin
shumaguan_num <= 3'd0;//计数0~3,共4个数码管显示
end
else begin
shumaguan_num <= shumaguan_num + 1'd1;    //扫描那个管子的指示位
end
end
end


代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » VIVADO显示模块verilog代码Nexys4开发板

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员