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