• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

單窗口排隊(duì)機(jī)電路設(shè)計(jì)VHDL代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-24011F9294O12.doc

共1個(gè)文件

名稱:?jiǎn)未翱谂抨?duì)機(jī)電路設(shè)計(jì)VHDL代碼Quartus仿真

軟件:Quartus

語(yǔ)言:VHDL

代碼功能:

單窗口排隊(duì)機(jī)電路設(shè)計(jì)

EDA平臺(tái)下使用VDL語(yǔ)言為工具,設(shè)計(jì)單窗口排隊(duì)機(jī)電路,給每個(gè)新加入排隊(duì)人員編號(hào),并計(jì)算隊(duì)伍長(zhǎng)度。

要求:

1.進(jìn)入隊(duì)伍和離開隊(duì)伍為外界輸入信號(hào),當(dāng)前服務(wù)號(hào)碼和當(dāng)前隊(duì)伍長(zhǎng)度各由兩個(gè)數(shù)碼管顯示;

2.隊(duì)伍長(zhǎng)度初始化后為0,隊(duì)伍編號(hào)由1開始遞增并輸出;

3.隊(duì)伍長(zhǎng)度達(dá)到99后,若又有新加入人員,則輸出溢出報(bào)警;

4.每個(gè)人員完成業(yè)務(wù)后由業(yè)務(wù)員點(diǎn)擊完成,對(duì)該隊(duì)伍長(zhǎng)度進(jìn)行刷新。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. Testbench

6. 仿真圖

整體仿真圖

分頻模塊

控制模塊

顯示模塊

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
--排隊(duì)設(shè)計(jì)
ENTITY?line?IS
???PORT?(
??????clk_in????:?IN?STD_LOGIC;--50MHz
??????reset_n???:?IN?STD_LOGIC;--復(fù)位
??????in_line???:?IN?STD_LOGIC;--進(jìn)隊(duì)
??????out_line??:?IN?STD_LOGIC;--出隊(duì)
alarm_led?????:?OUT?STD_LOGIC;????--溢出
??????dig_led???:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管位選
??????seg_led???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--數(shù)碼管段選
???);
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);--當(dāng)前號(hào)碼
?????????long_num??:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--隊(duì)長(zhǎng)
?????????dig_led???:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管位選
?????????seg_led???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--數(shù)碼管段選
??????);
???END?COMPONENT;
???
???--排隊(duì)控制模塊
???COMPONENT?line_ctrl?IS
??????PORT?(
?????????clk???????:?IN?STD_LOGIC;--1KHz
?????????reset_n???:?IN?STD_LOGIC;--復(fù)位
?????????in_line???:?IN?STD_LOGIC;--進(jìn)隊(duì)
?????????out_line??:?IN?STD_LOGIC;--出隊(duì)
alarm_led?????:?OUT?STD_LOGIC;
?????????current_num?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--當(dāng)前號(hào)碼
?????????long_num??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--隊(duì)長(zhǎng)
??????);
???END?COMPONENT;
???
???SIGNAL?clk_1K????????:?STD_LOGIC;
???
???SIGNAL?current_num???:?STD_LOGIC_VECTOR(7?DOWNTO?0);--當(dāng)前號(hào)碼
???SIGNAL?long_num??????:?STD_LOGIC_VECTOR(7?DOWNTO?0);--隊(duì)長(zhǎng)
???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
??????);
???
???--排隊(duì)控制模塊
???i_line_ctrl?:?line_ctrl
??????PORT?MAP?(
?????????clk??????????=>?clk_1K,--1KHz
?????????reset_n??????=>?reset_n,--復(fù)位
?????????in_line??????=>?in_line,--進(jìn)隊(duì)
?????????out_line?????=>?out_line,--出隊(duì)
alarm_led??=>?alarm_led,--溢出報(bào)警
?????????current_num??=>?current_num,--當(dāng)前號(hào)碼
?????????long_num?????=>?long_num--隊(duì)長(zhǎng)
??????);

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=582

  • 2-24011F9294O12.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!