maheredia / tt03-arbiter_game

Submission template for Tiny Tapeout 03

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arbiter Game

Description

This is an implementation of a simple 2 players game based on the educational example arbiter from the EDU-CIAA-FPGA public repository.

The purpose of the game is to introduce students to sequential logic by implementing common digital blocks like: counters, registers, shift registers and finite state machines.

sequential_circuit

Block diagram

arbiter_game_bd

States diagram (sketch)

states_diagram

Game description

This is a 2 players game, where every player has an active low pushbutton assigned (req1_in and req2_in inputs to top level). After applying reset to the circuit, a countdown will be displayed at the output ports (ideally connected to some LEDs). Then, when the last LED stops toggling, the players will press the buttons. The first player to press the button wins and this will be displayed in output LEDs:

Player 1 wins

Player 2 wins

GDS render

gds_render

More about EDU-CIAA-FPGA project:

The EDU-CIAA-FPGA project is an open source initiative that encompases:

  • Open hardware
  • Open toolchain
  • An active community providing support with examples and educational resources.

For more information about the project visit:

What is Tiny Tapeout?

TinyTapeout is an educational project that aims to make it easier and cheaper than ever to get your digital designs manufactured on a real chip!

Go to https://tinytapeout.com for instructions!

How to change the Wokwi project

Edit the info.yaml and change the wokwi_id to match your project.

How to enable the GitHub actions to build the ASIC files

Please see the instructions for:

How does it work?

When you edit the info.yaml to choose a different ID, the GitHub Action will fetch the digital netlist of your design from Wokwi.

After that, the action uses the open source ASIC tool called OpenLane to build the files needed to fabricate an ASIC.

Resources

What next?

About

Submission template for Tiny Tapeout 03

License:Apache License 2.0


Languages

Language:Verilog 77.8%Language:Python 14.9%Language:Tcl 6.4%Language:Makefile 0.9%