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

单窗口排队机电路设计VHDL代码Quartus仿真

07/04 09:19
352
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24011F9294O12.doc

共1个文件

名称:单窗口排队机电路设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

单窗口排队机电路设计

EDA平台下使用VDL语言为工具,设计单窗口排队机电路,给每个新加入排队人员编号,并计算队伍长度。

要求:

1.进入队伍和离开队伍为外界输入信号,当前服务号码和当前队伍长度各由两个数码管显示;

2.队伍长度初始化后为0,队伍编号由1开始递增并输出;

3.队伍长度达到99后,若又有新加入人员,则输出溢出报警;

4.每个人员完成业务后由业务员点击完成,对该队伍长度进行刷新。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

分频模块

控制模块

显示模块

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
--排队设计
ENTITY?line?IS
???PORT?(
??????clk_in????:?IN?STD_LOGIC;--50MHz
??????reset_n???:?IN?STD_LOGIC;--复位
??????in_line???:?IN?STD_LOGIC;--进队
??????out_line??:?IN?STD_LOGIC;--出队
alarm_led?????:?OUT?STD_LOGIC;????--溢出
??????dig_led???:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--数码管位选
??????seg_led???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--数码管段选
???);
END?line;
ARCHITECTURE?behave?OF?line?IS
--50MHz分频到1KHz
???COMPONENT?divider?IS
??????PORT?(
?????????clk_in????:?IN?STD_LOGIC;--50MHz
?????????clk_1K????:?OUT?STD_LOGIC--分频得到1Khz
??????);
???END?COMPONENT;
???--显示模块
???COMPONENT?display?IS
??????PORT?(
?????????clk???????:?IN?STD_LOGIC;
?????????current_num?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--当前号码
?????????long_num??:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--队长
?????????dig_led???:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--数码管位选
?????????seg_led???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--数码管段选
??????);
???END?COMPONENT;
???
???--排队控制模块
???COMPONENT?line_ctrl?IS
??????PORT?(
?????????clk???????:?IN?STD_LOGIC;--1KHz
?????????reset_n???:?IN?STD_LOGIC;--复位
?????????in_line???:?IN?STD_LOGIC;--进队
?????????out_line??:?IN?STD_LOGIC;--出队
alarm_led?????:?OUT?STD_LOGIC;
?????????current_num?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--当前号码
?????????long_num??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--队长
??????);
???END?COMPONENT;
???
???SIGNAL?clk_1K????????:?STD_LOGIC;
???
???SIGNAL?current_num???:?STD_LOGIC_VECTOR(7?DOWNTO?0);--当前号码
???SIGNAL?long_num??????:?STD_LOGIC_VECTOR(7?DOWNTO?0);--队长
???SIGNAL?dig_led_buf?:?STD_LOGIC_VECTOR(3?DOWNTO?0);
???SIGNAL?seg_led_buf?:?STD_LOGIC_VECTOR(7?DOWNTO?0);
BEGIN
???dig_led?<=?dig_led_buf;
???seg_led?<=?seg_led_buf;
???
???--50MHz分频到1KHz
???i_divider?:?divider
??????PORT?MAP?(
?????????clk_in??=>?clk_in,--50MHz
?????????clk_1K??=>?clk_1K--分频得到1Khz
??????);
???
???--排队控制模块
???i_line_ctrl?:?line_ctrl
??????PORT?MAP?(
?????????clk??????????=>?clk_1K,--1KHz
?????????reset_n??????=>?reset_n,--复位
?????????in_line??????=>?in_line,--进队
?????????out_line?????=>?out_line,--出队
alarm_led??=>?alarm_led,--溢出报警
?????????current_num??=>?current_num,--当前号码
?????????long_num?????=>?long_num--队长
??????);

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

  • 2-24011F9294O12.doc
    下载

相关推荐