# Caravel User Project

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![UPRJ_CI](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml) [![Caravel Build](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml)

# Zero to ASIC group submission MPW3

This index was made with [multi project tools](https://github.com/mattvenn/multi_project_tools)

![multi macro](pics/multi_macro_annotated.png)

## RGB Mixer

* Author: Matt Venn
* Github: https://github.com/mattvenn/wrapped_rgb_mixer
* commit: mpw3
* Description: reads 3 encoders and generates PWM signals to drive an RGB LED

![RGB Mixer](pics/schematic.jpg)

## Frequency counter

* Author: Matt Venn
* Github: https://github.com/mattvenn/wrapped_frequency_counter
* commit: mpw3
* Description: Counts pulses on input and displays frequency on 2  seven segment displays

![Frequency counter](pics/frequency_counter.png)

## VGA Clock

* Author: Matt Venn
* Github: https://github.com/mattvenn/wrapped_vga_clock
* commit: main
* Description: shows the time on a 640x480 panel

![VGA Clock](pics/vga_clock.jpg)

## TPM2137

* Author: Q3K & Matt Venn
* Github: https://github.com/mattvenn/wrapped_tpm2137
* commit: main
* Description: CTF by Q3K - turn on the green light by sending the right code

![TPM2137](pics/tpm2137.png)

## WS2812

* Author: Matt Venn
* Github: https://github.com/mattvenn/wrapped_ws2812
* commit: main
* Description: WS2812 LED driver

![WS2812](pics/ws2812.jpg)

## Zube

* Author: Jonathan 'theJPster' Pallant
* Github: https://github.com/thejpster/zube_submission
* commit: v1.4.1
* Description: A generic Z80 bus peripheral

![Zube](pics/zube.png)

## Hack soc

* Author: Maximo Balestrini
* Github: https://github.com/mbalestrini/wrapped_hack_soc
* commit: f9c39c3cff53683a6e26b55d6d7da565dff1822c
* Description: Hardware implementation of the Hack Computer from the Nand to Tetris courses

![Hack soc](pics/project.jpg)

## nco

* Author: Ameet Gohil
* Github: https://github.com/ameetgohil/mpw3-nco
* commit: main
* Description: generates signed sin and cos outputs given an angle accessible via wishbone

![nco](pics/empty.png)

