111 files changed
tree: 287640ddc1ee0b326dd133e9a95fb183eeb1f462
  1. def/
  2. deps/
  3. docs/
  4. gds/
  5. lef/
  6. lib/
  7. mag/
  8. maglef/
  9. openlane/
  10. sdc/
  11. sdf/
  12. signoff/
  13. spef/
  14. spi/
  15. verilog/
  16. .gitignore
  18. Makefile
  19. README.md

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 https://github.com/AyaseErii/gf180-FiveGuys.git
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-demo-binary_counter 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


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.