Forked from
emu / 0xBEFE
358 commits behind the upstream repository.
-
Andrew Peck authoredAndrew Peck authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
README.md 1.96 KiB
EMU 0xBEFE Project
This repository contains firmware code for endcap muon systems (GEM and CSC) backend and frontend electronics.
0xBEFE
├── Makefile
├── README.md
├── doc ; documentation
├── regtools ; XML to VHDL register tool
├── Hog ; HOG build system (submodule)
├── Top ; directory for HOG projects
├── address_table ; xml address tables
│ ├── boards ;; board specific address tables
│ ├── common ;; common address tables (ttc etc.)
│ └── gem ;; GEM specific address tables
├── boards ;; Board specific VHDL/BD/Constraints/IP
│ ├── apex
│ ├── ctp7
│ ├── cvp13
│ ├── ge11_oh
│ ├── ge21_oh
│ ├── glib
├── common ; Common sources (GEM + CSC + OH)
│ ├── hdl
│ └── ip
├── gem ; GEM specific sources
│ ├── hdl
│ └── ip
├── IP_repository ; Folder for packaged Xilinx IP
└── scripts ; useful scripts
Building the firmware
This firmware is using the HOG framework as a build system:
- HOG Documentation: http://hog-user-docs.web.cern.ch
- HOG Source Code: https://gitlab.cern.ch/hog/Hog
HOG allows for multiple projects to happily coexist within a single repository, allowing sharing of source code between OH + GEM backend + CSC FED, as well as managing the deployment to the numerous hardware platforms that are supported.
In general, the process to build firmware from a fresh checkout consists of:
# shortcut to initialize git submodules
make init
# creates a Vivado / ISE project
Hog/CreateProject.sh <project name>
# Launches synthesis + implementation
Hog/LaunchWorkflow.sh <project name>
The available projects can be seen as directories in the Top/
folder. HOG will
also report a list of projects if you type Hog/CreateProject.sh
without a
project name.