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

排队叫号电路系统verilog代码Basys3开发板验证

05/26 16:46
2172
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-2311202234111D.doc

共1个文件

名称:排队叫号电路系统verilog代码Basys3开发板验证(代码在文末下载)

软件:VIVADO

语言:Verilog

代码功能:

设计一个排队叫号系统:

1.进队,离队两个信号作为输入,当前服务号码和队长各由两个数码管显示。

2.初始队长0,进队号码由1顺序递增,输出编号。

3.有人入队长度加,有人出队长度减。

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

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

basys3开发板.png

 

演示视频:

设计文档:

排队叫号仿真

1. 工程文件

2. 程序文件

3. 约束文件

4. 程序编译

5. RTL图

6. Testbench

7. 仿真图

整体仿真

按键模块仿真

排队控制模块

显示模块

时序仿真与功能仿真类似,只需要编译综合后点击下图时序仿真即可,参考视频的步骤仿真

部分代码展示:

module?paidui_top(
input?clk,
input?rst,//按下为高电平
input?in_duilie,//按下为高电平
input?out_duilie,//按下高低电平
output?[3:0]?bit_select,//数码管位选
output?[7:0]?lednum_select//数码管段选
);
wire?in_duilie_P;
wire?out_duilie_P;
wire?[7:0]?long_num_O;//队列长度
wire?[7:0]?current_num_O;//当前叫号
//按键消抖模块
key_jitter?i1_key_jitter(
?????.?clkin(clk),
?????.?key_in(in_duilie),//输入
?.?key_posedge(in_duilie_P)//消抖后按键上升沿
);
//按键消抖模块
key_jitter?i2_key_jitter(
?????.?clkin(clk),
?????.?key_in(out_duilie),//输入
?.?key_posedge(out_duilie_P)//消抖后按键上升沿
);
//排队控制模块
paidui?i_paidui(
.?clk(clk),
.?rst(rst),//按下为高电平
.?in_duilie_P(in_duilie_P),//入队
.?out_duilie_P(out_duilie_P),//离队
.?long_num_O(long_num_O),//队列长度
.?current_num_O(current_num_O)//当前叫号
);
//显示模块
display_num?i_display_num(
.?clk(clk),
.?long_num_O(long_num_O),//队列长度
.?current_num_O(current_num_O),//当前叫号
.?bit_select(bit_select),//数码管位选
.?lednum_select(lednum_select)//数码管段选
);
endmodule

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

  • 1-2311202234111D.doc
    下载

相关推荐