... | ... | @@ -26,60 +26,6 @@ and get the ip address of the board from the output. |
|
|
|
|
|
Power off the rfsoc4x2. Connect it to a network over ethernet cable and power on the rfsoc4x2. Try to ssh into the rfsoc 4x2 with casper@<ip address> and password: 'casper'. If this works you can move on to the next step.
|
|
|
|
|
|
## Installing python and casperfpga
|
|
|
The python module casperfpga will allow you to communicate with the rfsoc4x2, including programming the fpga.
|
|
|
|
|
|
The following instructions explain how to setup a python environment using miniconda.
|
|
|
Miniconda is a lightweight version of anaconda. Before proceeding, download and install miniconda on your system by running the bash script:
|
|
|
|
|
|
$ sh ./Miniconda3-latest-Linux-x86_64.sh
|
|
|
|
|
|
We are going to create a shell environment that uses a specific version of python. Do so by running,
|
|
|
|
|
|
$ conda create -n casper python=3.8.20
|
|
|
|
|
|
Activate this environment by running
|
|
|
|
|
|
$ conda activate casper
|
|
|
|
|
|
Remember to activate the environment at the start of every new session.
|
|
|
|
|
|
We will now install casperfpga. The repository for casperfpga has been included. Navigate to its directory and run the following:
|
|
|
|
|
|
$ pip install -r requirements.txt
|
|
|
$ pip install .
|
|
|
|
|
|
Casperfpga is now installed! Test this by opening an ipython session
|
|
|
$ ipython
|
|
|
In the ipython session, import casperfpga:
|
|
|
|
|
|
import casperfpga
|
|
|
|
|
|
If no errors are thrown, then you installed casperfpga correctly.
|
|
|
|
|
|
# Programming the rfsoc4x2
|
|
|
This needs to be done every time the rfsoc4x2 boots up. We use casperfpga for programming. Once again enter an ipython session:
|
|
|
|
|
|
$ ipython
|
|
|
|
|
|
Create an object that connects to the board
|
|
|
|
|
|
import casperfpga
|
|
|
fpga = casperfpga.CasperFpga(<ip addr in quotes>)
|
|
|
|
|
|
Upload the provided .fpg file
|
|
|
|
|
|
fpga.upload_to_ram_and_program(<.fpg path>)
|
|
|
|
|
|
Program the clocks
|
|
|
|
|
|
rfdc = fpga.adcs['rfdc']
|
|
|
rfdc.init()
|
|
|
rfdc.progpll('lmk', 'rfsoc4x2_lmk_PL_125M_SYSREF_5M_LMXREF_250M.txt')
|
|
|
rfdc.progpll('lmx', 'rfsoc4x2_lmx_inputref_250M_outputref_250M.txt')
|
|
|
|
|
|
At this point the rfsoc4x2 is ready to go! The next section describes how to set up the Orin.
|
|
|
|
|
|
# Orin Board Setup and Installation
|
|
|
For the Orin board and getting the proper drivers/packages I took the following steps to get the board set up.
|
|
|
## System Flashing
|
... | ... | @@ -194,6 +140,59 @@ Save then reboot the system. Post reboot you will want to check whether this cha |
|
|
|
|
|
If this doesn't return what is placed in the APPEND key above then one of the previous steps was done correctly. If it does match this process is complete.
|
|
|
|
|
|
## Installing python and casperfpga
|
|
|
The python module casperfpga will allow you to communicate with the rfsoc4x2, including programming the fpga.
|
|
|
|
|
|
The following instructions explain how to setup a python environment using miniconda.
|
|
|
Miniconda is a lightweight version of anaconda. Before proceeding, download and install miniconda on your system by running the bash script:
|
|
|
|
|
|
$ sh ./Miniconda3-latest-Linux-x86_64.sh
|
|
|
|
|
|
We are going to create a shell environment that uses a specific version of python. Do so by running,
|
|
|
|
|
|
$ conda create -n casper python=3.8.20
|
|
|
|
|
|
Activate this environment by running
|
|
|
|
|
|
$ conda activate casper
|
|
|
|
|
|
Remember to activate the environment at the start of every new session.
|
|
|
|
|
|
We will now install casperfpga. The repository for casperfpga has been included. Navigate to its directory and run the following:
|
|
|
|
|
|
$ pip install -r requirements.txt
|
|
|
$ pip install .
|
|
|
|
|
|
Casperfpga is now installed! Test this by opening an ipython session
|
|
|
$ ipython
|
|
|
In the ipython session, import casperfpga:
|
|
|
|
|
|
import casperfpga
|
|
|
|
|
|
If no errors are thrown, then you installed casperfpga correctly.
|
|
|
|
|
|
# Programming the rfsoc4x2
|
|
|
This needs to be done every time the rfsoc4x2 boots up. We use casperfpga for programming. Once again enter an ipython session:
|
|
|
|
|
|
$ ipython
|
|
|
|
|
|
Create an object that connects to the board
|
|
|
|
|
|
import casperfpga
|
|
|
fpga = casperfpga.CasperFpga(<ip addr in quotes>)
|
|
|
|
|
|
Upload the provided .fpg file
|
|
|
|
|
|
fpga.upload_to_ram_and_program(<.fpg path>)
|
|
|
|
|
|
Program the clocks
|
|
|
|
|
|
rfdc = fpga.adcs['rfdc']
|
|
|
rfdc.init()
|
|
|
rfdc.progpll('lmk', 'rfsoc4x2_lmk_PL_125M_SYSREF_5M_LMXREF_250M.txt')
|
|
|
rfdc.progpll('lmx', 'rfsoc4x2_lmx_inputref_250M_outputref_250M.txt')
|
|
|
|
|
|
At this point the rfsoc4x2 is ready to go! The next section describes how to set up the Orin.
|
|
|
|
|
|
## Hashpipe
|
|
|
|
... | ... | |