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

多路智力搶答器VHDL代碼Quartus仿真

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

2-240110092022Q6.doc

共1個(gè)文件

名稱:多路智力搶答器VHDL代碼Quartus仿真

軟件:Quartus

語(yǔ)言:VHDL

代碼功能:

2.多路智力搶答器的VHDL設(shè)計(jì)(每班20號(hào)以后的雙號(hào))

設(shè)計(jì)任務(wù)要求

(1)利用硬件描述語(yǔ)言FPGA器件,設(shè)計(jì)實(shí)現(xiàn)一個(gè)可容納4、5、6、7組參賽者的多路智力搶答器,每組設(shè)置一個(gè)搶答按鈕供搶答者使用。

(2)電路具有第一搶答信號(hào)的鑒別和鎖存功能。

(3)設(shè)置計(jì)分電路。

(4)設(shè)置犯規(guī)扣分電路(選作)。

各模塊實(shí)體名:XXXX自己兩位學(xué)號(hào),XXXX—一自己根據(jù)功能需要起名

任務(wù)學(xué)號(hào)對(duì)應(yīng):20、22、24號(hào)選7路;26、28、30號(hào)選6路;32、34、36號(hào)-選5路;38、40、42號(hào)選4路

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

演示視頻:

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

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 仿真圖

整體仿真圖

控制模塊仿真

計(jì)分模塊仿真

顯示模塊仿真

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
???USE?ieee.std_logic_arith.all;
--數(shù)碼管顯示模塊
ENTITY?display_26?IS
???PORT?(
??????clk?????????????:?IN?STD_LOGIC;
??????score_1?????????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)1
??????score_2?????????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)2
??????score_3?????????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)3
??????score_4?????????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)4
??????score_5?????????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)3
??????score_6?????????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)4
??????--數(shù)碼管
??????HEX0????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
??????HEX1????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
??????HEX2????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
??????HEX3????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
??????HEX4????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
??????HEX5????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)
???);
END?display_26;
ARCHITECTURE?behavioral?OF?display_26?IS
BEGIN
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?score_1?IS--顯示1組分?jǐn)?shù)
????????????WHEN?"0000"?=>
???????????????HEX0?<=?"11000000";
????????????WHEN?"0001"?=>
???????????????HEX0?<=?"11111001";
????????????WHEN?"0010"?=>
???????????????HEX0?<=?"10100100";
????????????WHEN?"0011"?=>
???????????????HEX0?<=?"10110000";
????????????WHEN?"0100"?=>
???????????????HEX0?<=?"10011001";
????????????WHEN?"0101"?=>
???????????????HEX0?<=?"10010010";
????????????WHEN?"0110"?=>
???????????????HEX0?<=?"10000010";
????????????WHEN?"0111"?=>
???????????????HEX0?<=?"11111000";
????????????WHEN?"1000"?=>
???????????????HEX0?<=?"10000000";
????????????WHEN?"1001"?=>
???????????????HEX0?<=?"10010000";
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;
?
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?score_2?IS--顯示2組分?jǐn)?shù)
????????????WHEN?"0000"?=>
???????????????HEX1?<=?"11000000";
????????????WHEN?"0001"?=>
???????????????HEX1?<=?"11111001";
????????????WHEN?"0010"?=>
???????????????HEX1?<=?"10100100";
????????????WHEN?"0011"?=>
???????????????HEX1?<=?"10110000";
????????????WHEN?"0100"?=>
???????????????HEX1?<=?"10011001";
????????????WHEN?"0101"?=>
???????????????HEX1?<=?"10010010";
????????????WHEN?"0110"?=>
???????????????HEX1?<=?"10000010";
????????????WHEN?"0111"?=>
???????????????HEX1?<=?"11111000";
????????????WHEN?"1000"?=>
???????????????HEX1?<=?"10000000";
????????????WHEN?"1001"?=>
???????????????HEX1?<=?"10010000";
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;?
???
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?score_3?IS--顯示3組分?jǐn)?shù)
????????????WHEN?"0000"?=>
???????????????HEX2?<=?"11000000";
????????????WHEN?"0001"?=>
???????????????HEX2?<=?"11111001";
????????????WHEN?"0010"?=>
???????????????HEX2?<=?"10100100";
????????????WHEN?"0011"?=>
???????????????HEX2?<=?"10110000";
????????????WHEN?"0100"?=>
???????????????HEX2?<=?"10011001";
????????????WHEN?"0101"?=>
???????????????HEX2?<=?"10010010";
????????????WHEN?"0110"?=>
???????????????HEX2?<=?"10000010";
????????????WHEN?"0111"?=>
???????????????HEX2?<=?"11111000";
????????????WHEN?"1000"?=>
???????????????HEX2?<=?"10000000";
????????????WHEN?"1001"?=>
???????????????HEX2?<=?"10010000";
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;
???
???
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?score_4?IS--顯示4組分?jǐn)?shù)
????????????WHEN?"0000"?=>
???????????????HEX3?<=?"11000000";
????????????WHEN?"0001"?=>
???????????????HEX3?<=?"11111001";
????????????WHEN?"0010"?=>
???????????????HEX3?<=?"10100100";
????????????WHEN?"0011"?=>
???????????????HEX3?<=?"10110000";
????????????WHEN?"0100"?=>
???????????????HEX3?<=?"10011001";
????????????WHEN?"0101"?=>
???????????????HEX3?<=?"10010010";
????????????WHEN?"0110"?=>
???????????????HEX3?<=?"10000010";
????????????WHEN?"0111"?=>
???????????????HEX3?<=?"11111000";
????????????WHEN?"1000"?=>
???????????????HEX3?<=?"10000000";
????????????WHEN?"1001"?=>
???????????????HEX3?<=?"10010000";
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?score_5?IS--顯示5組分?jǐn)?shù)
????????????WHEN?"0000"?=>
???????????????HEX4?<=?"11000000";
????????????WHEN?"0001"?=>
???????????????HEX4?<=?"11111001";
????????????WHEN?"0010"?=>
???????????????HEX4?<=?"10100100";
????????????WHEN?"0011"?=>
???????????????HEX4?<=?"10110000";
????????????WHEN?"0100"?=>
???????????????HEX4?<=?"10011001";
????????????WHEN?"0101"?=>
???????????????HEX4?<=?"10010010";
????????????WHEN?"0110"?=>
???????????????HEX4?<=?"10000010";
????????????WHEN?"0111"?=>
???????????????HEX4?<=?"11111000";
????????????WHEN?"1000"?=>
???????????????HEX4?<=?"10000000";
????????????WHEN?"1001"?=>
???????????????HEX4?<=?"10010000";
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;
?
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?score_6?IS--顯示6組分?jǐn)?shù)
????????????WHEN?"0000"?=>
???????????????HEX5?<=?"11000000";
????????????WHEN?"0001"?=>
???????????????HEX5?<=?"11111001";
????????????WHEN?"0010"?=>
???????????????HEX5?<=?"10100100";
????????????WHEN?"0011"?=>
???????????????HEX5?<=?"10110000";
????????????WHEN?"0100"?=>
???????????????HEX5?<=?"10011001";
????????????WHEN?"0101"?=>
???????????????HEX5?<=?"10010010";
????????????WHEN?"0110"?=>
???????????????HEX5?<=?"10000010";
????????????WHEN?"0111"?=>
???????????????HEX5?<=?"11111000";
????????????WHEN?"1000"?=>
???????????????HEX5?<=?"10000000";
????????????WHEN?"1001"?=>
???????????????HEX5?<=?"10010000";
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;?
END?behavioral;

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

  • 2-240110092022Q6.doc
    下載

相關(guān)推薦