Basil is a modular data acquisition system and system testing framework in Python.
It also provides generic FPGA firmware modules for different hardware platforms and drivers for wide range of lab appliances.
Documentation can be found under: http://basil.rtfd.org
Clone the repository to get a copy of the source code (for developers):
git clone https://github.com/SiLab-Bonn/basil.git
cd basil
python setup.py develop
or install via PyPI into the Python's site-packages folder (for non-developers):
pip install basil_daq==version
where version is a version number (e.g. 2.4.6)
or install from git, when no PyPI package is available (for non-developers):
pip install git+https://github.com/SiLab-Bonn/basil.git@branch
where branch is a branch name (e.g. master or v2.4.6).
Check .travis.yml for installation/testing hints.
Basil mailing list: subscribe
- 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)
- pyBAR - Bonn ATLAS Readout in Python
- MCA - Multi Channel Analyzer
- fe65_p2 - DAQ for FE65P2 prototype
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).