| commit | 4ebbfba91d435ec6bcd375b226477c92a505e80b | [log] [tgz] |
|---|---|---|
| author | osboxes.org <julien.oury@outlook.fr> | Mon Mar 21 07:22:26 2022 -0400 |
| committer | osboxes.org <julien.oury@outlook.fr> | Mon Mar 21 07:22:26 2022 -0400 |
| tree | 69a9f76f04f24bbe2a1eac3e928ffa4a57a8facd | |
| parent | 58beede5852e7a37f27915b09423ff1b820eb3ad [diff] |
Add caravel repository
This design implements a Christmas tree controller that include four dedicated modules :
The purpose of this System On Chip (SoC) is to control a Christmas tree. This controller allows, thanks to an infrared remote control, to control an garland of RGB LEDs as well as its rotating star at its top.
This design is based on Caravel user project template.
Below is a representation of the architecture:
The Wishbone bus address mapping below :
| ADDRESS | DESCRIPTION |
|---|---|
| 0x30000000 | NEC IR receiver |
| 0x30010000 | PseudoRandom generator |
| 0x30020000 | Step motor controller |
| 0x30030000 | String Led controller |
Below is a representation of the ASIC layout:
sudo apt-get update
sudo apt-get install m4 --assume-yes
sudo apt-get install tcsh --assume-yes
sudo apt-get install csh --assume-yes
sudo apt-get install libx11-dev --assume-yes
sudo apt-get install tcl-dev tk-dev --assume-yes
sudo apt-get install libcairo2-dev --assume-yes
sudo apt-get install mesa-common-dev libglu1-mesa-dev --assume-yes
sudo apt-get install libncurses-dev --assume-yes
sudo apt-get install git --assume-yes
git clone https://github.com/RTimothyEdwards/magic.git
cd magic
./configure
sudo make
sudo make install
sudo apt-get install build-essential clang bison flex \
libreadline-dev gawk tcl-dev libffi-dev git \
graphviz xdot pkg-config python3 libboost-system-dev \
libboost-python-dev libboost-filesystem-dev zlib1g-dev --assume-yes
git clone https://github.com/YosysHQ/yosys.git
cd yosys
sudo make
sudo make install
sudo apt-get remove docker docker-engine docker.io containerd runc --assume-yes
sudo apt-get update --assume-yes
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release --assume-yes
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg --yes
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update --assume-yes
sudo apt-get install docker-ce docker-ce-cli containerd.io --assume-yes
project_name=EfablessMpw5 design_name=ChristmasTreeController project_folder=$BASEDIR/$project_name design_folder=$project_folder/$design_name export OPENLANE_ROOT=$project_folder/openlane export PDK_ROOT=$OPENLANE_ROOT/pdks export CARAVEL_ROOT=$design_folder/caravel export PRECHECK_ROOT=$project_folder/precheck
mkdir -p $project_folder cd $project_folder git clone https://github.com/JulienOury/ChristmasTreeController.git $design_name
cd $design_folder make install make install_mcw git clone https://github.com/efabless/caravel_pico.git make user_proj_example make user_project_wrapper
cd $design_folder make simenv make simlink export SIM=RTL make verify-all-rtl
cd $design_folder make simenv make simlink export SIM=GL make verify-all-gl
cd $design_folder make zip
cd $design_folder make unzip
cd $design_folder make clean make clean-user_project_wrapper make clean-user_proj_example rm -rf openlane/user_proj_example/runs rm -rf openlane/user_project_wrapper/runs rm -f ./def/* rm -f ./lef/* rm -f ./gds/* rm -f ./mag/* rm -f ./maglef/* rm -f ./spef/* rm -f ./spi/lvs/* rm -f ./sdf/* rm -rf ./sdf