
8-Player Fastest Finger First Game Author: Hannes Pall Thordarson Wokwi Project: https://wokwi.com/projects/446363696538901505 Description This project is an 8-player Fastest Finger First game, perfect for a large quiz or game show.
It's built using only standard digital logic gates (like AND, OR, NOT) and D-type flip-flops. There is no microcontroller or CPU; the entire game logic is implemented in pure hardware.
When the game is reset, the first player to press their button will light their corresponding LED. This action simultaneously locks out all other players, preventing them from registering a press until the game is reset again.
How it Works The design uses a clever combinatorial feedback loop to manage the game state. Each of the 8 players has an identical logic cell, which consists of one D-flip-flop, one AND gate, and one OR gate.
A single, global "Game Armed" signal is used to lock out players.
Global Lock Logic: The "Game Armed" signal is generated by feeding all 8 flip-flop outputs (Q0...Q7) into an 8-input OR gate. The output of this OR gate is then inverted with a NOT gate.
Game_Armed = NOT (Q0 OR Q1 OR ... OR Q7) Player Latch Logic: For each player, the D-input of their flip-flop is controlled by their OR gate. This OR gate's inputs are:
The flip-flop's own Q output (to keep itself "on" once set). The output of their AND gate. Player Input Logic: Each player's AND gate checks for two conditions:
Is the player's button being pressed? Is the "Game Armed" signal high (meaning no one has won yet)? Game Sequence:
Reset: The rst_n signal clears all 8 flip-flops. All Q outputs are 0. Game Armed: Because all Q outputs are 0, the 8-input OR gate outputs 0. The NOT gate inverts this, making the "Game Armed" signal 1. The game is now live. Player 1 Presses: Player 1's AND gate sees Button_1 = 1 and Game_Armed = 1, so its output becomes 1. This 1 passes through the OR gate to Player 1's D-input. First Clock Edge: On the next clock, Player 1's flip-flop latches the 1, and Q1 becomes 1. Player 1's LED turns on. Lockout: Instantly, the 8-input OR gate sees Q1 is 1, and its output goes to 1. The NOT gate inverts this, and the "Game Armed" signal drops to 0. Game Locked: This 0 signal is fed to all 8 player AND gates, disabling them. Even if Player 2 presses their button, their AND gate will output 0. Winner Stays Lit: Player 1's light stays on because their D-input is fed by their OR gate, which is now receiving a 1 from its own Q1 output. How to Test Assert the rst_n pin (set to 0). De-assert the rst_n pin (set to 1). The game is now armed. Press any of the 8 player buttons (ui_in[0] through ui_in[7]). The corresponding LED pin (uo_out[0] through uo_out[7]) will go high. Try pressing the other player buttons. They will have no effect, as the game is locked. Go back to step 1 to start a new round. Pinout This design uses the 8 dedicated inputs (ui_in) for the players and the 8 dedicated outputs (uo_out) for the LEDs. The uio_ (bidirectional) pins are not used.
ui_in (Inputs) uo_out (Outputs) ui_in[0]: Player 1 Button uo_out[0]: Player 1 LED ui_in[1]: Player 2 Button uo_out[1]: Player 2 LED ui_in[2]: Player 3 Button uo_out[2]: Player 3 LED ui_in[3]: Player 4 Button uo_out[3]: Player 4 LED ui_in[4]: Player 5 Button uo_out[4]: Player 5 LED ui_in[5]: Player 6 Button uo_out[5]: Player 6 LED ui_in[6]: Player 7 Button uo_out[6]: Player 7 LED ui_in[7]: Player 8 Button uo_out[7]: Player 8 LED Dedicated Chip Pins:
clk: The main clock signal used by all flip-flops. rst_n: The active-low reset signal to start a new game.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | input a | output a | |
| 1 | Input b | output b | |
| 2 | input c | output c | |
| 3 | input d | output d | |
| 4 | input e | output e | |
| 5 | input f | output f | |
| 6 | input g | output g | |
| 7 | input h | output h |