https://github.com/broccolimicro/bcli
A docker container with all of the tools needed for tapeout
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.4%) to scientific vocabulary
Keywords
Repository
A docker container with all of the tools needed for tapeout
Basic Info
- Host: GitHub
- Owner: broccolimicro
- License: gpl-3.0
- Language: Vim Script
- Default Branch: develop
- Homepage: https://broccolimicro.io
- Size: 2.01 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
Broccoli Development Environment
The following tools are available:
go - architectural and behavioral simulation
haystack - formal synthesis of self-timed circuits
act - circuit design and digital simulation
prspice - configure digital/analog circuit co-simulation
Xyce - analog circuit simulation
gaw - analog waveform viewer
klayout - circuit layout
magic - circuit layout
OpenROAD - physical design
Semiconductor PDKs are in /opt/cad/conf
Packages may be installed with 'sudo apt install
Other usages of sudo are disabled
Setup
Download the Skywater 130nm PDK and configuration files, and extract them to your home directory:
wget https://broccoli-hosting.s3.us-east-2.amazonaws.com/sky130.tar.gz
mkdir ~/tech; tar -xzvf sky130.tar.gz -C ~/tech
Pull the docker image for the broccoli command line interface, and configure it.
docker pull broccolimicro/broccoli-cli:latest
git clone https://git.broccolimicro.io/Broccoli/broccoli-cli.git
source broccoli-cli/bcli-develop.sh
export BCLI_TECH="$HOME/tech"
Runtime
Boot up the development environment in docker
bcli up
Open up a shell inside the development environment. Here you will have access to all of the necessary tools.
bcli
Your home directory will be mounted at
/host
Many of the installed tools may be found at
/opt
Finally, vim is fully set up for both golang and act.
vim file.act
When you are done, you can shut down the development environment.
bcli down
Troubleshooting
This script runs the docker container with the following commands:
```
This produces a list of groups and their gids like so:
1000 nbingham
138 docker
...
MEMBERS="$(groups | sed 's/ /\n/g' | xargs -I{} getent group {} | sed 's/([^:]):[^:]:([^:]):./\2 \1/g')"
docker run --rm -d --net=host \ -v $HOME:/host \ -v "${BCLITECH:-/opt/tech}:/opt/cad/conf" \ --name "bcli-$USER" \ -h "bcli-$USER" \ -e USER=$USER \ -e USERID=$(id -u) \ -e GROUP_ID=$(id -g) \ -e DISPLAY=$DISPLAY \ -e MEMBERS="$MEMBERS" \ -v "/tmp/.X11-unix:/tmp/.X11-unix:rw" \ broccolimicro/broccoli-cli:latest > /dev/null ```
There are multiple versions of docker, the one that seems to work best for this is docker.io. docker-ce seems to have trouble writing files in the container.
sudo apt install docker.io
If graphical tools (such as magic and gaw) fail to launch, you may need to install xhost on your local machine, and grant docker permission to access your X server.
xhost +local:docker
Owner
- Name: broccolimicro
- Login: broccolimicro
- Kind: organization
- Repositories: 1
- Profile: https://github.com/broccolimicro
GitHub Events
Total
Last Year
Dependencies
- ubuntu latest build