blob: ec0cec24544bc9c8e17f078c53e22830bed6c217 [file] [log] [blame] [view]
matt venn26d18912020-12-16 20:52:29 +01001# Multi Project Harness - mpw-one-b
shalan0d14e6e2020-08-31 16:50:48 +02002
matt venn26d18912020-12-16 20:52:29 +01003* This is a proposal for handling multiple projects in the user project area of the [Caravel harness](https://github.com/efabless/caravel)
4* This is a fork of caravel with https://github.com/mattvenn/multi-project-harness/tree/separate-macro added to /verilog/rtl/
5* user_project_wrapper is then adjusted to instantiate all the submodules.
shalan0d14e6e2020-08-31 16:50:48 +02006
matt venn26d18912020-12-16 20:52:29 +01007![multi project harness](doc/multi-project-harness.png)
shalan0d14e6e2020-08-31 16:50:48 +02008
matt venn26d18912020-12-16 20:52:29 +01009# Important!
Ahmed Ghazy0893d012020-12-05 23:30:25 +020010
matt venn26d18912020-12-16 20:52:29 +010011* If you want to actually build the wrapper, you need to checkout the release branch.
12* This branch is just used to rebuild caravel.gds with 'make ship'
agorararmard7d6fadb2020-11-25 20:23:20 +020013
matt venn26d18912020-12-16 20:52:29 +010014# Tests
Ahmed Ghazy0893d012020-12-05 23:30:25 +020015
matt venn26d18912020-12-16 20:52:29 +010016* Full system tests for each sub project: verilog/dv/caravel/user_proj_example
17* Separate projects: run make sim in root directory of multi_project_harness: https://github.com/mattvenn/multi-project-harness/blob/separate-macro/test_harness.py
agorararmard7d6fadb2020-11-25 20:23:20 +020018
matt venn26d18912020-12-16 20:52:29 +010019# OpenLane Configs
agorararmardd4a2d6f2020-12-01 19:21:51 +020020
Matt Venn85fd5282021-01-29 14:17:38 +010021All the OpenLane configs for each project are here: https://github.com/mattvenn/multi-project-harness/tree/separate-macro/openlane
22
23The multi project harness turned out to be more of a MUX, and was hardened separately. Make sure you are on the 'separate-macro' branch of the repo.
agorararmardd4a2d6f2020-12-01 19:21:51 +020024
matt venn26d18912020-12-16 20:52:29 +010025# Submodules
agorararmard212cd822020-11-26 22:40:17 +020026
matt venn26d18912020-12-16 20:52:29 +010027## seven-segment-seconds
agorararmard212cd822020-11-26 22:40:17 +020028
matt venn26d18912020-12-16 20:52:29 +010029description: shows seconds on a seven segment LED display.
agorararmarddc723a62020-11-26 20:00:29 +020030
matt venn26d18912020-12-16 20:52:29 +010031author: Matt Venn
agorararmarddc723a62020-11-26 20:00:29 +020032
matt venn26d18912020-12-16 20:52:29 +010033url: https://github.com/mattvenn/seven-segment-seconds
agorararmarddc723a62020-11-26 20:00:29 +020034
matt venn26d18912020-12-16 20:52:29 +010035## ws2812
agorararmard0cd21c92020-12-09 17:02:18 +020036
matt venn26d18912020-12-16 20:52:29 +010037description: ws2812 LED interface for 8 addressable LEDs
agorararmard0cd21c92020-12-09 17:02:18 +020038
matt venn26d18912020-12-16 20:52:29 +010039author: Matt Venn
agorararmarddc723a62020-11-26 20:00:29 +020040
matt venn26d18912020-12-16 20:52:29 +010041url: https://github.com/mattvenn/ws2812-core.git
agorararmarddc723a62020-11-26 20:00:29 +020042
matt venn26d18912020-12-16 20:52:29 +010043## vga-clock
agorararmard3741dfc2020-12-01 18:04:37 +020044
matt venn26d18912020-12-16 20:52:29 +010045description: show the time on a VGA panel
agorararmarddc723a62020-11-26 20:00:29 +020046
matt venn26d18912020-12-16 20:52:29 +010047author: Matt Venn
agorararmarddc723a62020-11-26 20:00:29 +020048
matt venn26d18912020-12-16 20:52:29 +010049url: https://github.com/mattvenn/vga-clock.git
agorararmarddc723a62020-11-26 20:00:29 +020050
matt venn26d18912020-12-16 20:52:29 +010051## spinet
agorararmard3741dfc2020-12-01 18:04:37 +020052
matt venn26d18912020-12-16 20:52:29 +010053description: multi node computer controller
agorararmard3741dfc2020-12-01 18:04:37 +020054
matt venn26d18912020-12-16 20:52:29 +010055author: Richard Miller
agorararmard3741dfc2020-12-01 18:04:37 +020056
matt venn26d18912020-12-16 20:52:29 +010057url: https://github.com/millerresearch/spinet
agorararmard3741dfc2020-12-01 18:04:37 +020058
matt venn26d18912020-12-16 20:52:29 +010059## asicfreq
agorararmard3741dfc2020-12-01 18:04:37 +020060
matt venn26d18912020-12-16 20:52:29 +010061description: Frequency counter
agorararmard3741dfc2020-12-01 18:04:37 +020062
matt venn26d18912020-12-16 20:52:29 +010063author: Michael Betz & Vamsi Vytla
agorararmard3741dfc2020-12-01 18:04:37 +020064
matt venn26d18912020-12-16 20:52:29 +010065url: https://git.sr.ht/~jersey99/asicfreq
agorararmard8e874782020-12-15 23:10:59 +020066
matt venn26d18912020-12-16 20:52:29 +010067## ASIC_watch
agorararmard8e874782020-12-15 23:10:59 +020068
matt venn26d18912020-12-16 20:52:29 +010069description: 4 digit 7 segment clock
agorararmard8e874782020-12-15 23:10:59 +020070
matt venn26d18912020-12-16 20:52:29 +010071author: Guillem Cabo
agorararmardda92aef2020-12-04 23:56:37 +020072
matt venn26d18912020-12-16 20:52:29 +010073url: https://github.com/GuillemCabo/ASIC_watch.git
agorararmardda92aef2020-12-04 23:56:37 +020074
matt venn26d18912020-12-16 20:52:29 +010075## TPM2137
shalan0d14e6e2020-08-31 16:50:48 +020076
matt venn26d18912020-12-16 20:52:29 +010077description: Reverse Engineering challenge
shalan0d14e6e2020-08-31 16:50:48 +020078
matt venn26d18912020-12-16 20:52:29 +010079author: Q3K
shalan0d14e6e2020-08-31 16:50:48 +020080
matt venn26d18912020-12-16 20:52:29 +010081url: https://github.com/mattvenn/TPM2137
shalan0d14e6e2020-08-31 16:50:48 +020082
matt venn26d18912020-12-16 20:52:29 +010083## mm2hdmi
agorararmarddc723a62020-11-26 20:00:29 +020084
matt venn26d18912020-12-16 20:52:29 +010085description: HDMI driver
86
87author: Aleksandar Pajkanovic
88
89url: https://github.com/nanoluka/mm2hdmi.git