名称:排队电路设计Verilog代码Quartus EP4C开发板
软件:Quartus
语言:Verilog
代码功能:
排队电路设计
单窗口排队机电路,给每个新来者编号,并计算队伍长度。
(1)进队、离队两个信号作为输入,当前服务号码和队长各由4个数码管显示;
(2)初始时队长0,进队号码由1顺序递增,输出编号;
(3)有人入队,长度加,有人离队长度减;
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在EP4C开发板验证,EP4C开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
整体仿真图
分频模块
控制模块
显示模块
部分代码展示:
//排队设计 module line( input clk_in,//50MHz input reset_n,//复位 input in_line,//进队 input out_line,//出队 output [2:0] dig_led,//数码管位选 output [7:0] seg_led//数码管段选 ); wire clk_1K; //50MHz分频到1KHz divider i_divider( . clk_in(clk_in),//50MHz . clk_1K(clk_1K)//分频得到1Khz ); wire [15:0] current_num;//当前号码 wire [15:0] long_num;//队长 //排队控制模块 line_ctrl i_line_ctrl( . clk(clk_1K),//1KHz . reset_n(reset_n),//复位 . in_line(in_line),//进队 . out_line(out_line),//出队 . current_num(current_num),//当前号码 . long_num(long_num)//队长 ); //显示模块 display i_display( . clk(clk_1K), . current_num(current_num),//当前号码 . long_num(long_num),//队长 . dig_led(dig_led),//数码管位选 . seg_led(seg_led)//数码管段选 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1032
阅读全文
472