Basil is a modular data acquisition (DAQ) framework developed by SiLab for the characterization of monolithic and hybrid pixel detectors. It comprises a library of HDL modules (written in Verilog) for custom FPGA readout boards, paired with a collection of Python code that control the hardware over USB, Ethernet, or serial interfaces from a host PC. Basil also includes Python drivers for common lab instruments such as power supplies, oscilloscopes, and other bench equipment.
- Firmware:
- very simple single master bus definition
- multiple basic modules (SPI, SEQ, GPIO, I2C, JTAG)
- multiple interfaces (UART, USB2, USB3, Ethernet)
- Software:
- layer structure following hardware
- generation based on yaml file
- register abstract layer (RAL)
- simulator interface allows software test against simulated RTL (thanks to cocotb)
Install via PyPI:
pip install basil-daqNote
The PyPI package may be outdated. Installing from source (below) is recommended to get the latest version.
Or install from source:
git clone https://github.com/SiLab-Bonn/basil.git
cd basil
pip install -e .Please use GitHub's issue tracker for bug reports/feature requests/questions.
For CERN users: Feel free to subscribe to the basil mailing list
Documentation can be found under: https://basil.rtfd.org
- TJ-Monopix2 - DAQ for TJ-Monopix2 depleted monolithic pixel sensor
- BDAQ53 - Readout system for ATLAS ITkPix (RD53) chips
- LF-Monopix2 - DAQ for LF-Monopix2 depleted monolithic pixel sensor
- FRIDA - DAQ for FRIDA, an ADC test array for frame-based imaging detectors
If not stated otherwise.
- Host Software:
- The host software is distributed under the BSD 3-Clause ("BSD New" or "BSD Simplified") License.
- FPGA Firmware:
- The FPGA code is distributed under the GNU Lesser General Public License, version 3.0 (LGPLv3).