Skip to content

Commit

Permalink
copy edits to the readmes (#41)
Browse files Browse the repository at this point in the history
  • Loading branch information
egriendeau authored Jun 24, 2024
2 parents 9a9214d + c7fe2d5 commit c629656
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 48 deletions.
39 changes: 21 additions & 18 deletions installation/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@ The RFSoC4x2, as shown in the image below, is a board built and sold by [Real Di


<p align="center">
<img src="graphics/RFSoC4x2_base_image.png"
<img src="./../_static/RFSoC4x2_base_image.png"
alt="RFSoC4x2 with inputs and outputs labelled"
width="600px"/>

</p>





In this document we outline the setup for using QICK-DAWG with a RFSoC4x2. Specifically, we show how to:

1. Setup RFSoC4x2 Hardware<br>
Expand All @@ -25,7 +28,7 @@ In this document we outline the setup for using QICK-DAWG with a RFSoC4x2. Speci
a. Download/clone QICK-DAWG <br>
b. Install necessary packages<br>

3. Upload and install QICK-DAWG and other software to you RFSoC4x2<br>
3. Install QICK-DAWG and other software to your RFSoC4x2 <br>
a. Flash your microSD card<br>
b. Clone QICK-DAWG on your RFSoC4x2 <br>
c. Install necessary packages on your RFSOC4x2<br>
Expand Down Expand Up @@ -61,7 +64,7 @@ The input electronics for one ADC channel on the RFSoC4x2 is shown in the figure

<figure>
<p align="center">
<img src="graphics/balun_circuit.PNG"
<img src="./../_static/balun_circuit.PNG"
alt="Balun Surgery"
width="1000px"/>
</p>
Expand All @@ -72,7 +75,7 @@ The combination of the balun (MABA-011118) and the two 100nF capacitors (C302 an


<p align="center">
<img src="graphics/balun_surgery_1.PNG"
<img src="./../_static/balun_surgery_1.PNG"
alt="Balun Surgery"
width="1000px"/>
</p>
Expand All @@ -83,7 +86,7 @@ The combination of the balun (MABA-011118) and the two 100nF capacitors (C302 an
To properly condition our signal for digitization, we use a Texas Instruments [Texas Instruments LMH5401 EVM](https://www.digikey.com/en/products/detail/texas-instruments/LMH5401EVM/5031896?s=N4IgTCBcDaIDIFkASBWALABgIwFEBqCIAugL5A) evaluation board. This board takes in one or two signals and outputs two voltages above (V<sub>p</sub>) and below (V<sub>m</sub>) a common voltage (V<sub>cm</sub>). For full scale, the RFSoC4x2 requires an offset voltage of V<sub>cm</sub> = 0.7V (note that this is also true for the ZCU216 evaluation board, but the ZCU111 evaluation board requires V<sub>cm</sub> = 1.2 V). Additionally, the differential amplifier requires two voltages for power, which are optimally set to (V<sub>cm</sub> + 2.5) = 3.2V and (V<sub>cm</sub> - 2.5 )= -1.8. A labeled diagram of the LMH5401EVN is shown in the figure below.

<p align="center">
<img src="graphics/differential_amp.PNG"
<img src="./../_static/differential_amp.PNG"
alt="Balun Surgery"
width="450px"/>
</p>
Expand All @@ -101,7 +104,7 @@ To connect the low frequency differential amplifier to the RFSoC4x2,

The image below is the circuit diagram for the RFSoC4x2 ADC modification.
<p align="center">
<img src="graphics/balun_surgery_2.PNG"
<img src="./../_static/balun_surgery_2.PNG"
alt="Balun Surgery"
width="1000px"/>
</p>
Expand All @@ -117,7 +120,7 @@ Note if you are worried about removing the balun from your RFSoC4x2, marketplace
To control the laser with TTLs you must connect your laser to the PMOD located on the corner of the board. To connect, we cut the female head off a PMOD cable and soldered on a female BNC head instead. PMOD A 0-7 are enabled for QICK-DAWG (in the demo we use PMOD 0). The image below provides a schematic of the PMOD on the RFSoC4x2.

<p align="center">
<img src="graphics/PMOD.png"
<img src="./../_static/PMOD.png"
alt="PMOD diagram"
width="800px"/>
</p>
Expand All @@ -131,7 +134,7 @@ With the hardware modified and differential amplifier connected, the RFSoC4x2 ca

You should hear the fan above the RFSoC chip begin to whir and you should see green LED lights blinking all over the board. After about 30 seconds the boot light should turn green and the LED screen will display the board's IP address. Your setup should resemble the schematic below.
<p align="center">
<img src="graphics/RFSoC_Diagram_WAN.png"
<img src="./../_static/RFSoC_Diagram_WAN.png"
alt="Diagram of the RFSoC4x2 Board"
width="800px"/>
</p>
Expand All @@ -148,7 +151,7 @@ In our lab, we have assembled all the necessary components into a custom rack bo
- Router_Holder.SLDPRT, CAD for 3D printable router cage for holding the router in the enclosure

<p align="center">
<img src="graphics/Full_enclosure.jpg"
<img src="./../_static/Full_enclosure.jpg"
alt="Full Enclosure "
width="800px"/>
</p>
Expand All @@ -172,19 +175,19 @@ This will install QICK-DAWG and it's dependent packages.

(Getting started directions adapted from [QICK ZCU111 quick-start-guide](https://github.com/openquantumhardware/qick/blob/main/quick_start/README_ZCU111.md))

## 3a. ***Flash your Micro SD Card***
## 3a. Flash your Micro SD Card ##
- First, you will need to flash the micro SD card with the **RFSoC4x2 PYNQ** image found [here](http://www.pynq.io/board.html). Download the RFSoC4x2 PYNQ image and unzip the file if it is a .zip file.

(Windows)
- With your micro SD card plugged in to your computer, open Win32DiskImager. Select the PYNQ file as your image file and select your micro SD card as the device. Double check you are not flashing the image file to the wrong drive (**not your computer hard drive**)! To execute, click `Write`.

<p align="center">
<img src="graphics/Flash_SD_Card.PNG"
<img src="./../_static/Flash_SD_Card.PNG"
alt="Flashing your micro SD card using Win 32 Disk Imager"
width="500px"/>
</p>

## 3b. Clone QICK-DAWG on your RFSoC4x2
## 3b. Clone QICK-DAWG on your RFSoC4x2 ##
We clone QICK-DAWG from the GitHub repository by establishing a ssh connect with the RFSoC4x2 and running a git clone command. To simplify the process we have a batch file that you can run `FPGA_SETUP_WAN.bat`.

To run this file
Expand All @@ -195,13 +198,13 @@ To run this file



### 3c. Install necessary Packages on your RFSoC4x2
## 3c. Install necessary Packages on your RFSoC4x2 ##
With the required files copied to your RFSoC4x2, we will now install the required packages by running an .ipynb though the RFSoC4x2's Jupyter Notebook server. To connect to the jupyter notebook server:

- in a browser window type your RFSoC4x2 IP address as shown on the board's LED screen and use password `xilinx` as shown in the graphic below

<p align="center">
<img src="graphics/jupyter_initial.PNG"
<img src="./../_static/jupyter_initial.PNG"
alt="Initial view of Jupyter Hub"
width="800px"/>
</p>
Expand All @@ -210,28 +213,28 @@ From the home page, navigate to the installation folder, open Installation_Packa



### 3d. Run the Pyro server to remotely connect to QICK and the RFSoC4x2
## 3d. Run the Pyro server to remotely connect to QICK and the RFSoC4x2 ##

With all of the packages installed, you can now run your Pyro server to connect to an instance of QICK. This is accomplished by running two jupyter notebooks.

- First we run `run_server/name_server.ipynb` which starts a Pyro server. In this notebook, you need to change the IP address to the IP address of your board.
<p align="center">
<img src="graphics/name_server.jpg"
<img src="./../_static/name_server.jpg"
alt="Name Server"
width="800px"/>
</p>


- Second, we run the `run_server/qick_daemon.ipynb` notebook, which uploads firmware to the RFSoC4x2 and creates a python socket to communicate with the board. This notebook has a string which contains the path to our alternative firmware and has a `ns_host` variable which needs to be assigned to the IP address of your RFSoC4x2 board.
<p align="center">
<img src="graphics/qick_daemon.jpg"
<img src="./../_static/qick_daemon.jpg"
alt="Name Server"
width="800px"/>
</p>

With these two notebooks running you can now start communicating with your RFSoC4x2 from a python kernel on your main computer. From here, we recommend running through `qickdawg/jupyter_notebooks/NVDemo_RFSoC4x2.ipynb` which contains significant documentation on how to run our basic NV characterization notebooks.

## 3e. (Supplemental) Establish SSH Remote Connection with the RFSoC4x2
## 3e. (Supplemental) Establish SSH Remote Connection with the RFSoC4x2 ##

You can also connect to your RFSoC4x2 through an Secure Shell (SSH) connection. To do so:
- open the command prompt on your lab computer;
Expand Down
Loading

0 comments on commit c629656

Please sign in to comment.