Hawaii RFSOC quickstart - IAA-BURSTT/document GitHub Wiki
Introduction
This guide assumes that the system has been configured. The document is intended to provide an overview of the basic operation.
The first RFSOC (also referred to as just the FPGA) has a control IP of 192.168.40.215.
account setup (once per account)
Some of the functions mentioned here require setting up the account environment.
- link the rfsoc working directory (to your home directory)
cd
ln -fs /data/rfsoc .
- add the following into your .bashrc (/home/your_name/.bashrc)
source /data/kylin/bin/start_bashrc.example
export PATH1=$PATH
alias rfsoc="export PATH=$PATH:$HOME/rfsoc/python_zcu216:$HOME/rfsoc/python_zcu216/config_arp; . /data/kylin/bin/mod_activate.sh rfsoc; cd $HOME/rfsoc/python_zcu216"
alias rfsoc_off="conda deactivate; module rm python/miniconda3; export PATH=$PATH1"
- the current terminal can be closed. and new terminals will have the needed command to start various environments:
bda --> will start the (bursttda) environment for data analysis
rfsoc --> will start the (rfsoc) environment for interacting with the RFSOC/FPGA
After booting up the server and making all the connections
- verify/restart the FPGA control DHCP service (dnsmasq) is running
sudo systemctl status dnsmasq
sudo systemctl restart dnsmasq
When the DHCP works properly, one can ping the FPGA or ssh into it. i.e.
ssh 192.168.40.215
- loading the bitcode
start a terminal as 'ubuntu'
type 'rfsoc' to enable the (rfsoc) python environment, which also switches the working directory to /home/ubuntu/rfsoc/python_zcu216/.
./zcu216_100g_config_log.py -c fpga_configs/burstth1_cal.config 192.168.40.215
- interacting with loaded kernel
start another terminal as 'ubuntu'
type 'rfsoc'
cd config_arp
python -i zcu_newcontrol.py
(in the interactive python)
fhi = connect(['215'])
status(fhi)
- capture a snapshot of the FFT spectrum from the FPGA
(in the first (rfsoc) terminal, where the bitcode was loaded)
./zcu216_accum_spec_16inp.py 215 -q -d
start receiving packets with the server
- verify that packets are being received by the server network interfaces
start a new terminal as 'ubuntu'
wireshark &
(the line indicating data rate for the connected interface should be high, as shown below)
double clicking on the receiver interface will start capturing the raw packets. quickly click the 'stop capture' button (red square) at the top to avoid taking up too much temporary disk space with this capture. the status summary of the capture should look like the figure below:
- receiving packets
start a new terminal as 'ubuntu'
cd /home/ubuntu/rudp16
sudo ./sock2shmd
sudo ./submit16_h1_cal.sh
to stop the data receiving, type this command:
./sendsocket -cmd -1
- monitoring the data rate
start another new terminal as 'ubuntu'
cd /home/ubuntu/rudp16
./readshm