Skip to content

rolfmobile99/tt02-submission-template

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Description

This project is a rather simplified 4-bit ALU inspired by the 2022 Supercon Badge. The challenge was to do this within the constraints of the Tiny Tapeout submission.

A typical 4-bit ALU needs 12 pins just to handle the two input ports and an output port. Additional pins would be needed for control. It might also have outputs for a carry-out and a zero-detect. So it's easy to imagine a need for at least 10 inputs (assuming 2 input pins to control the ALU mode) and 6 outputs (assuming an ALU result, carry-out, and a zero-detect).

Tiny Tapeout (TT02) is limited to 8 inputs and 8 outputs!

To work around these constraints, we surround the ALU with some registers. There is an A register and a B register for the A and B inputs of the ALU. There is also a Mode register to set the ALU mode (i.e. add or subtract). We then add a state machine to allow selectively loading those registers. However, the output of the ALU goes directly to the chip-designated outputs.

Currently, only two ALU operations are supported, ADD and SUB.

That's it!

=====

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?

Releases

No releases published

Packages

No packages published

Languages

  • Verilog 46.4%
  • Python 40.3%
  • Tcl 10.5%
  • Makefile 2.8%