https://github.com/slaclab/axi-pcie-core
https://github.com/slaclab/axi-pcie-core
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/slaclab/axi-pcie-core
- Owner: slaclab
- License: other
- Created: 2017-03-06T22:23:52.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2026-03-05T21:59:18.000Z (3 months ago)
- Last Synced: 2026-03-05T23:31:36.503Z (3 months ago)
- Language: VHDL
- Size: 56.5 MB
- Stars: 26
- Watchers: 23
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# axi-pcie-core
[DOE Code](https://www.osti.gov/doecode/biblio/75521)
This GIT repository is intended to be a common firmware library submodule used by many other applications.
Example: https://github.com/slaclab/pgp-pcie-apps/tree/master/firmware/submodules
# Before you clone the GIT repository as a submodule in another repo
1) Create a github account:
> https://github.com/
2) On the Linux machine that you will clone the github from, generate a SSH key (if not already done)
> https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
3) Add a new SSH key to your GitHub account
> https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
4) Setup for large filesystems on github
```bash
$ git lfs install
```
# How to load the driver
```bash
# Confirm that you have the board the computer with VID=1a4a ("SLAC") and PID=2030 ("AXI Stream DAQ")
$ lspci -nn | grep SLAC
04:00.0 Signal processing controller [1180]: SLAC National Accelerator Lab TID-AIR AXI Stream DAQ PCIe card [1a4a:2030]
# Clone the driver github repo:
$ git clone --recursive https://github.com/slaclab/aes-stream-drivers
# Go to the driver directory
$ cd aes-stream-drivers/data_dev/driver/
# Build the driver
$ make
# Example of loading driver with 2MB DMA buffers
$ sudo /sbin/insmod ./datadev.ko cfgSize=0x200000 cfgRxCount=256 cfgTxCount=16
# Give appropriate group/permissions
$ sudo chmod 666 /dev/data_dev*
# Check for the loaded device
$ cat /proc/data_dev0
```
# How to install the Rogue With Anaconda
> https://slaclab.github.io/rogue/installing/anaconda.html
# How to reprogram the PCIe firmware via Rogue software
Note: This update script will only work if the axi-pcie-core firmware already loaded in FPGA and won't work if the factory default is still loaded. Use the JTAG interface and Vivado Hardware Manager to load the axi-pcie-core firmware for the first time.
1) Setup the rogue environment
```bash
$ source /path/to/my/anaconda3/etc/profile.d/conda.sh
$ conda activate rogue_env
```
2) Run the PCIe firmware update script:
```bash
$ python axi-pcie-core/python/updatePcieFpga.py --path
```
where is path to .MCS image directory
3) Reboot the computer
```bash
$ sudo reboot
```
# Vivado flow for Alveo boards removed
https://github.com/Xilinx/XilinxBoardStore/issues/470
Example of copying over a board files to Linux Vivado install:
```bash
$ cp -rf au55c /data/xhub/boards/XilinxBoardStore/boards/Xilinx/.
```