Clone this repo:


  1. e1bfed5 update repo by Jeff DiCorpo · 11 months ago main
  2. fe7296e update repo by Jeff DiCorpo · 11 months ago
  3. 77b8031 final gds oasis by Jeff DiCorpo · 12 months ago
  4. 4156b28 Update by Cocogoat · 1 year ago
  5. 5eaa727 update by Cocogoat · 1 year ago

Caravel User Project

License UPRJ_CI Caravel Build

:exclamation: GF180mcuC shuttle MPW0


This is a simple design with five 4-bit up-counters. The ports of each counter are clock, reset, io_out.

The FiveGuys design (gdsii file) is located at here and the wrappered counter (gdsii file) is located at here.

Step 1: Create the Design with Five Counters

Before running the design flow, please make sure the gf180 PDK was installed correctly. For the information about switching PDK from sky130 to gf180mcuC, you may refer to this video. (Great thanks to Matt)

Once you have done with PDK setups, you can simply follow the commands below after you changed the corresponding cntr_example.v, config.tcl file, all files in the includes directory, and the uprj_netlist.v of the counter:

git clone
cd gf180-FiveGuys
make cntr_example

The command above will generate the digital counter design (gdsii) and all necessary files for the next step---wrapper the design in to user_project_wrapper.

Step 2: Harden the Five Counters in the Wrapper

Before running the flow of user_project_wrapper, please make sure you changed the user_project_wrapper.v, config.tcl for the user_project_wrapper design, and macro.cfg for macro placement.

Once you have done with the above commands, you need to go to gf180-FiveGuys directory again, and use the command below:

make user_project_wrapper

After the flow compeleted, you can repeat the Step 2 iteratively until you get a satisfied design.

Sample result of the FiveGuys wrapper: image

Step 3: Run the precheck

Before running the precheck, you need to modify the user_defines.v to define GPIOs. Then you need to install the local precheck module which will just take a few seconds to finish the installation.

make precheck

After that you can start precheck process:

make run-precheck

This will take a few minutes to a few hours, depending on the size of the entire design.

If the precheck finished with {{SUCCESS}} All Checks Passed !!!, you are done with the design and ready for tape-out, and congradulations!


Jun (Jerry) Yin, Ceylan M. Morgul, Rahul Sreekumar, Xuanjia (Eric) Bi, and Mircea R. Stan.

ECE department of University of Virginia

Additional Information about Caravel

Refer to README for a quickstart of how to use caravel_user_project

Refer to README for this sample project documentation.