Skip to content

psychogenic/efabless-fpga-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Efabless FPGA dev board

Learn to create digital designs and then get them fabricated on actual silicon using Tiny Tapeout and efabless

Quick Start

Step 1: fork the repo

Fork this repository so you can make changes

Step 2: create your design

Use wokwi or Verilog to create a digital design.

Step 3: edit the info.yaml

Edit the info.yaml file to specify all the fields. Don't forget to set the clock_hz field to something appropriate for your design (pretty much anything between 10 and 40000000 Hz will be accepted).

Step 4: push the changes

Commit your changes and push up to the repository.

Step 5: get the UF2

Github actions will run on each commit, and you can find them under the actions tab. github action

Once the run is complete, click on the action and you'll find an fpga_bitstream zip file to download. bitstream

Grab that, unzip it, and within you'll find the tt_fpga.uf2 file. Copy that UF2 to the FPGAUPDATE drive. The project should start running a few seconds later.

FPGA dev board

The development boards will pop up the FPGAUpdate drive when they are plugged into USB.

fpga dev board

These boards map well to Tiny Tapeout projects as they have:

  • 8 inputs, connected to the piano switch on the left, which map to ui_in[7:0];

  • 8 GPIO on PMOD1, similar to the bidirection PMOD on TT demoboards uio_in/uio_out[7:0]; and

  • 8 output IO, which go both to the 7-segment display and to PMOD2, which are the uo_out[7:0]

Clocking

The project will, by default, be clocked at the rate you specified in the info.yaml (or as close as possible to that rate). To enable single stepping ("manual" clocking), hold the switch on the top right (next to the USB port) and keep it held as you plug into USB.

Once it's powered-up, you may release the switch and then every press will clock the project once.

What is Tiny Tapeout?

Tiny Tapeout is an educational project that aims to make it easier and cheaper than ever to get your digital and analog designs manufactured on a real chip.

To learn more and get started, visit https://tinytapeout.com.

Resources

About

Template for efabless FPGA dev board

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors