FPGA Tic Tac Toe (6 / 10 steg)
Steg 6: Slutar spelet med en slips
Denna modul är annorlunda. Vi ansåg att det är sista baby steg innan du kan köra gratis.
Vad händer när vi slutar med en slips? Vill du användaren att fortsätta ändra input?
Nej, vi vill inte att ändra sin input. Som skulle vara otrogen!
För att förhindra användaren för att ändra deras input när spelet slutar med en slips och inga knappar är kvar för att trycka, kommer vi att använda 9 D flip flops med D inställd på '1' automatiskt för att bestämma om knapparna har pressats eller inte.
Sedan använda AND-gate, kommer vi att "och" alla utgångar D flip flops tillsammans. Modulens utgång får resultatet av detta och-grind.
I modulen Main spelet styrelsen om produktionen av slutet-Tie modulen är lika till "1 kommer"sedan knappen alla få värdet av "0". Det innebär att användaren inte kommer att kunna trycka på valfri knapp och har det registrera.
enhet End_Tie är
port (knappen: i std_logic_vector (8 b 0);
Reset: i std_logic;
Klocka: i std_logic;
Omdöme: ut std_logic);
slutet End_Tie;
arkitektur beteende av End_Tie är
komponent D_FlipFlop är
port (aktiverar: i std_logic;
D: i std_logic;
Reset: i std_logic;
Klocka: i std_logic;
Q: ut std_logic);
slutet komponent;
signal btn0, Knp1, btn2, btn3, btn4, btn5, btn6, btn7, btn8: std_logic;
börja
D_FF0: D_FlipFlop port map(Button(0), '1', återställa, klocka, btn0);
D_FF1: D_FlipFlop port map(Button(1), '1', återställa, klocka, Knp1);
D_FF2: D_FlipFlop port map(Button(2), '1', återställa, klocka, btn2);
D_FF3: D_FlipFlop port map(Button(3), '1', återställa, klocka, btn3);
D_FF4: D_FlipFlop port map(Button(4), '1', återställa, klocka, btn4);
D_FF5: D_FlipFlop port map(Button(5), '1', återställa, klocka, btn5);
D_FF6: D_FlipFlop port map(Button(6), '1', återställa, klocka, btn6);
D_FF7: D_FlipFlop port map(Button(7), '1', återställa, klocka, btn7);
D_FF8: D_FlipFlop port map(Button(8), '1', återställa, klocka, btn8);
Dom < = btn0 och Knp1 och btn2 och btn3 och btn4 och btn5 och btn6 och btn7 och btn8;
slutet beteende;