Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
basys3:xadcdemo [2015/06/25 22:42] – [A Note About The XADC Port] Sam Lowebasys3:xadcdemo [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 2: Line 2:
 ====== Basys3 XADC Demo ====== ====== Basys3 XADC Demo ======
  
-{{ :basys3_overview.png?nolink |}}+{{:basys3:xadc4.jpg?500|}}
  
------ +===== Overview ===== 
-===== Features Used =====+==== Features Used ====
  
 |                                    ^ Not Used  ^ Used  ^ |                                    ^ Not Used  ^ Used  ^
Line 21: Line 21:
  
  
-===== Description =====+==== Description ====
  
 This simple XADC Demo project demonstrates a simple usage of the Basys3's  This simple XADC Demo project demonstrates a simple usage of the Basys3's 
Line 35: Line 35:
 On the Basys3, the XADC Pmod connector houses 4 differential analog pairs. The corresponding XADC channels are 6, 7, 14, and 15. Below is a picture of the pinout of the Pmod Header. On the Basys3, the XADC Pmod connector houses 4 differential analog pairs. The corresponding XADC channels are 6, 7, 14, and 15. Below is a picture of the pinout of the Pmod Header.
  
 +{{:basys3:xadcpinout1.png?300|}}
  
-The differential pairs are grouped by columns. Looking at the number above, 1 corresponds to XA1_P and XA1_N. Column 2 routes to XA2_P and XA2_N. 3 routes to XA3_P and XA3_N. 4 routes to XA4_P and XA4_N. +The differential pairs are grouped by columns. Looking at the number above, 1 corresponds to XA1_P and XA1_N, column 2 routes to XA2_P and XA2_N, 3 routes to XA3_P and XA3_N, and 4 routes to XA4_P and XA4_N. Below is from the Basys3 schematics that will show the internal connections of these signals.
-===== How to Build and Program =====+
  
-You will need...\\+{{:basys3:basys3xadcinternal.png?400|}}
  
-1. Vivado installed on your computer\\ +From the schematic we can see XA1 is connected to XADC channel 6, XA2 is connected to XADC channel 14, XA3 is connected to XADC channel 7, and XA4 is connected to XADC channel 15. 
-2. Basys3 board from digilent\\ +
-3. Wires and a voltage to measure\\+
  
 +-------
  
 +===== Prerequisites =====
  
-==== 1. Download the Project ====+===Skills=== 
 +  * **Basic familiarity with Vivado** 
 +    *  //This experience can be found by walking through our "Getting Started with Vivado" guide//
  
-Download the project zip file here. {{:basys3:basys3xadc.zip|}} Once you have downloaded the project, unzip it in the location of your choosing.+===Hardware=== 
 +  * **Basys3 FPGA board** 
 +  * **Micro-USB cable**  
 +  * **Wires and a voltage to measure**
  
 +===Software===
 +  * **Vivado Design Suite 2015.X** 
 +    * //Newer/older versions can be used, but the procedure may vary slightly//
  
-==== 2. Load the Vivado Project ====+-----
  
-In your now unzipped project, open the file basys3XADC.xpr. This should open your project in Vivado. +===== Downloads =====
  
-{{:basys3:gpio_load.png?600|}}+Basys 3 Support Repository -- [[https://github.com/Digilent/Basys3/archive/master.zip|ZIP]] [[https://github.com/Digilent/Basys3|GIT Repo]]
  
-==== 3. Synthesize, Implement and Generate Bitstream ====+------ 
 +===== How to...  =====
  
-To complete this step all that you need to do is click **Generate Bitstream** on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically. If you want, you can click each step by itself in the order of **Run Synthesis**, **Run Implementation** and then **Generate Bitstream**.+==== 1. Generate the Project ====
  
-{{:basys3:buildflow.png?600|}}+>1.1) Download the repository linked in the download section and place it in the location of your choosing. 
  
-==== 4. Connect and Program the Basys3 ====+>1.2) Generate the **XADC** project in the Projects folder by following this guide before continuing: [[vivado:github|How to Generate a Project from Digilent's Github]]
  
-Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option.+==== 2. Build the Project ====
  
-{{:basys3:device_connected.png?600|}}+>2.1) Click **Generate Bitstream** on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically.  
 +> 
 +>Note: If you want, you can click each step by itself in the order of **Run Synthesis**, **Run Implementation** and then **Generate Bitstream**. 
 +> 
 +>{{:basys3:buildflow.png?600|}}
  
-After your board is connected, just click program to load the XADC demo onto your Basys3.+==== 3. Program the Board ====
  
-===== Running the Basys3 XADC Demo =====+>3.1) Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. 
 +> 
 +>{{:basys3:device_connected.png?600|}}
  
-This portion will help you run the demo and observe all its features.+>3.2) Click program to load the project onto your Basys3.
  
-==== 1. Applying a voltage to the XADC port ====+==== 4. Run the Project ====
  
-For this demo, the AD6, 7, 14 and 15  pins are used on the JXADC header. We hooked up a signal generator to our pins. All of the other pins were grounded to avoid coupling.+This portion will help you run the demo and observe all its features.
  
-{{:basys3:xadc3.jpg?300|}}{{:basys3:xadc4.jpg?300|}}+>4.1) Applying a voltage to the XADC port 
 +> 
 +>For this demo, the AD6, 7, 14 and 15  pins are used on the JXADC header. We hooked up a signal generator to our pins. All of the other pins were grounded to avoid coupling. 
 +> 
 +>{{:basys3:xadc3.jpg?300|}}{{:basys3:xadc4.jpg?300|}}
  
  
-==== 2. Seven Segment Display and LEDs ====+>4.2) Seven Segment Display and LEDs 
 +> 
 +>The 7-Segment display shows the current voltage across the selected xadc pins. The LEDs turn on from right to left as the input voltage increases. 
 +> 
 +>{{:basys3:xadc1.jpg?300|}}{{:basys3:xadc2.jpg?300|}}
  
-The 7-Segment display shows the current voltage across the selected xadc pins. The LEDs turn on from right to left as the input voltage increases. +>4.3) Selecting a channel 
- +> 
-{{:basys3:xadc1.jpg?300|}}{{:basys3:xadc2.jpg?300|}} +>To display a different channel on the display and LEDs, change sw0 and sw1 to the desired channel.
- +
-==== 3. Selecting a channel ==== +
- +
-To display a different channel on the display and LEDs, change sw0 and sw1 to the desired channel.+
  
  
      
-