名稱:單窗口排隊(duì)機(jī)電路Verilog代碼Quartus仿真
軟件:Quartus
語言:Verilog
代碼功能:
單窗口排隊(duì)機(jī)電路
給每個(gè)新來者編號,并計(jì)算隊(duì)伍長度。
(1)進(jìn)隊(duì)、離隊(duì)兩個(gè)信號作為輸入,當(dāng)前服務(wù)號碼和隊(duì)長各由4個(gè)數(shù)碼管顯示;
(2)初始時(shí)隊(duì)長0,進(jìn)隊(duì)號碼由1順序遞增,輸出編號;
(3)有人入隊(duì),長度加,有人離隊(duì)長度減;
(4)工作時(shí)鐘適當(dāng)即可。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真圖
整體仿真圖
分頻模塊
控制模塊
顯示模塊
部分代碼展示:
//排隊(duì)設(shè)計(jì) module?line( input?clk_in,//50MHz input?reset_n,//復(fù)位 input?in_line,//進(jìn)隊(duì) input?out_line,//出隊(duì) output?[7:0]?dig_led,//數(shù)碼管位選 output?[7:0]?seg_led//數(shù)碼管段選? ); wire?clk_1K; //50MHz分頻到1KHz divider?i_divider( .?clk_in(clk_in),//50MHz .?clk_1K(clk_1K)//分頻得到1Khz ); wire?[15:0]?current_num;//當(dāng)前號碼 wire?[15:0]?long_num;//隊(duì)長 //排隊(duì)控制模塊 line_ctrl?i_line_ctrl( .?clk(clk_1K),//1KHz .?reset_n(reset_n),//復(fù)位 .?in_line(in_line),//進(jìn)隊(duì) .?out_line(out_line),//出隊(duì) .?current_num(current_num),//當(dāng)前號碼 .?long_num(long_num)//隊(duì)長 ); //顯示模塊 display?i_display( .?clk(clk_1K), .?current_num(current_num),//當(dāng)前號碼 .?long_num(long_num),//隊(duì)長 .?dig_led(dig_led),//數(shù)碼管位選 .?seg_led(seg_led)//數(shù)碼管段選 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=581