This is a demonstration Tiny Tapeout project for the workshop series held by the Columbus chapter of IEEE SSCS/CAS. The goal of this project is to demonstrate the Tiny Tapeout flow starting from a Verilog design to build a GDS file for manufacturing. The project itself is quite simple, it generates the Nth number from the Fibonacci sequence by iteratively building the sequence each time. For more information look in info.md, but a schematic of the design is shown here.
The design is quite simple and only uses about 9.5% of the avalible Tiny Tapeout tile area as shown in the GDS render.
The project includes two methods to test its functionality; with testbenches written in Python cocotb cocotb testbench (for Github action based simulation) and Icarus Verilog simulation testbench code for use on local computers.
Note
Icarus Verilog is used for local simulation since the OSS-CAD-Suite don't currently install a working cocotb implementation on Windows. As we desire to have participants build custom testbenches on their local computers in future workshops, we needed a testbench platform that can be easily used without installing additional tools beyond the basic ones provided in the binary distribution. For Verilog syntax highlighting, I'm using the Verilog-HDL/SytemVerilog/Bluespec SystemVerilog Extension
The following instructions describe how to get the tools needed to simulate this project locally on your computer
Tip
We assume that the reader has a basic understanding of how to use git and and have a text editor with reasonable syntax hilighting. If you don't, I recommend using VS Code and following their tutorial on using git within VS Code.
- Clone this repo: Use git to download this project to somewhere on your computer.
git clone https://github.com/sellicott/sellicott_fib_seq.git
Note
If you plan on modifying the design instead of just looking at it, you should "fork" the repo instead of cloning it. This will allow you to push your own changes to Github to run the tests and OpenLane in Github actions.
- Install OSS-CAD-Suite: This process will be slightly different depending on your OS. The basic instructions are to download one of the. pre-compiled releases for your operating system/processor type, then extract the file to a location of your choosing.
Caution
On Windows, make sure to extract the binaries to a path without spaces. Some of the tools are picky about this.
I recommend C:\oss-cad-suite
- Startup the CAD Tools: Open up a terminal window (on Windows this is "Command Prompt") and activate the OSS-CAD-Suite environment by calling the activate script for your OS. For Linux/Mac this will be:
source <extracted_location>/oss-cad-suite/environment
For Windows it will be
<extracted_location>\oss-cad-suite\environment.bat
If you installed to the recommended location for Windows:
C:\oss-cad-suite\environment.bat
At this point your command prompt should change to either (OSS CAD Suite) <prompt>
or
[OSS CAD Suite] <prompt>
for Linux/Mac and Windows respectively. At this point you can access any
tools provided by the suite.