Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
learn:programmable-logic:tutorials:nexys-video-dpti-demo:start [2017/02/08 15:09] – Sergiu Arpadi | learn:programmable-logic:tutorials:nexys-video-dpti-demo:start [2021/06/09 00:31] (current) – Arthur Brown | ||
---|---|---|---|
Line 5: | Line 5: | ||
----- | ----- | ||
===== Overview ===== | ===== Overview ===== | ||
+ | The DPTI demo consists of a Vivado hardware project, an SDK project for the MicroBlaze processor, and a Windows application written in Visual Studio. Using these, the user can communicate with the Nexys Video' | ||
+ | |||
==== Features Used ==== | ==== Features Used ==== | ||
Line 26: | Line 28: | ||
^ USB HID Host | ^ USB HID Host | ||
^ USB PROG/ | ^ USB PROG/ | ||
+ | |||
- | + | ---- | |
- | ===== Description ===== | + | |
- | The DPTI demo consists of a Vivado hardware project, an SDK project for the Microblaze processor and a Windows application written in Visual Studio. Using them the user can communicate with the Nexys Video' | + | |
- | | + | |
===== Prerequisites ===== | ===== Prerequisites ===== | ||
Line 47: | Line 47: | ||
* **Vivado Design Suite 2015.4** | * **Vivado Design Suite 2015.4** | ||
* // | * // | ||
- | * **Xilinx SDK** * | + | * **Xilinx SDK** |
- | * **Digilent | + | * **Digilent |
- | * //Availavle | + | * //Available |
----- | ----- | ||
Line 57: | Line 58: | ||
------- | ------- | ||
- | ===== How to... ===== | + | ===== Tutorial |
Line 64: | Line 65: | ||
>1.1) Download the repository linked in the download section and place it in the location of your choosing. | >1.1) Download the repository linked in the download section and place it in the location of your choosing. | ||
+ | > | ||
+ | >1.2) Generate the **DPTI** project within the " | ||
- | >1.2) Generate the **dpti** project within the " | ||
+ | ---- | ||
==== 2. Build the Project ==== | ==== 2. Build the Project ==== | ||
- | >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. | + | >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**, | + | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, |
> | > | ||
- | > | + | > |
+ | |||
+ | ---- | ||
==== 3. Export to SDK ==== | ==== 3. Export to SDK ==== | ||
- | Export the microblaze | + | >Export the MicroBlaze |
+ | |||
+ | ---- | ||
==== 4. Import the SDK files ==== | ==== 4. Import the SDK files ==== | ||
- | In your project Explorer window on the left side, click **File> | + | >In your project Explorer window on the left side, click **File> |
+ | |||
+ | ---- | ||
==== 5. Program the FPGA ==== | ==== 5. Program the FPGA ==== | ||
- | Click **Xilinx Tools> | + | >Click **Xilinx Tools> |
- | ==== 6. Run the program ==== | + | ---- |
- | Right click on the **dpti_demo** folder and click **Run as> | + | ==== 6. Run the SDK program |
- | ==== 7. Run the DPTI Transfer application ==== | + | > |
- | Double click on the **DPTI_Transfer.exe** file found in the **???** folder. Check if the top left indicator is green and the text is **DPTI * ON**. //If it is red then the board is either not turned on or it is not connencted properly.// | + | ---- |
- | Select **Write to memory** and enter a value for the address which must be between 0x90000000 and 0xA0000000 since half of the 512MB DDR memory is reserved for the Microblaze | + | ==== 7. Running the Nexys Video DPTI Demo ==== |
+ | > | ||
+ | >7.1) Double-click on the **DPTI_Transfer.exe** file found in the **DPTI_Transfer> | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | >Click on the **Select file** button and choose a file that you wish to transfer to the board. Video files, for example, are generally large and verifying their integrity after reading back is easy. Make sure to not exceed 256 MB. | ||
+ | > | ||
+ | >After selecting the file, press the **Write data** button to send the file. You can follow the progress using a UART terminal (9600 BAUD). | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | >When the transfer is finished, the top left box should be green with **Upload complete** written inside. Also, details regarding the transfer should appear on the right side of the window. | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | >7.3) Now select the **Read from memory** option and use the same address as before. In this case, the user must also enter the amount of data that they want to transfer. You can copy the value from the **Number of bytes** field corresponding to the address used. After that, click on the **Save file as** button and provide a location and a file name. Make sure to enter the same termination that the file had when it was uploaded. Click on the **Read data** button to start the transfer. You can now check the file's integrity. | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | > | ||
- | {{:learn:programmable-logic:tutorials:nexys-video-dpti-demo: | + | {{tag>learn programmable-logic nexys-video}} |
- | + | ||
- | Click on the **Select file** button and choose a file that you wish to transfer to the board. Video files for example are generally large and verifying their integrity after reading back is easy. Make sure to not exceed 256 MB. | + | |
- | + | ||
- | After selecting the file, press the **Write data** button to send the file. You can follow the progress using a UART terminal (9600 BAUD). When the transfer is finished, the top left box should be green with **Upload complete** written inside. Also, details regarding the transfer should appear on the right side of the window. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ==== 3. Load the Vivado Project ==== | + | |
- | + | ||
- | In your now unzipped project, open the file NexysVideoDMAAudio.xpr. This should open your project in Vivado. | + | |
- | + | ||
- | *The screenshots below are from another project but should look relatively the same and will work for our purposes. | + | |
- | + | ||
- | + | ||
- | {{: | + | |
- | + | ||
- | ==== 4. Synthesize, Implement and Generate Bitstream ==== | + | |
- | + | ||
- | 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**, | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | ==== 5. Connect and Program the Nexys Video ==== | + | |
- | + | ||
- | Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option (Or press auto connect). | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | After your board is connected, click program device to load the DMA Audio Demo onto your Nexys Video. | + | |
- | + | ||
- | ==== 4. Export to SDK ==== | + | |
- | + | ||
- | Export the microblaze project by going to **File> | + | |
- | + | ||
- | ==== 5. Import the SDK files ==== | + | |
- | + | ||
- | In your project Explorer window on the left side, click **File> | + | |
- | + | ||
- | ==== 6. Program the FPGA ==== | + | |
- | + | ||
- | Click **Xilinx Tools> | + | |
- | + | ||
- | ==== 7. Run the program ==== | + | |
- | + | ||
- | Right click on the **demo** folder and click **Run as> | + | |
- | + | ||
- | ===== Running the Nexys Video DMA Audio Demo ===== | + | |
- | + | ||
- | This portion will help you run the demo and observe all its features. | + | |
- | + | ||
- | ==== 1. Recording from an input ==== | + | |
- | + | ||
- | To record from the microphone input, press btnu. To record from the line input, press btnr. Once the recording is activated, the message "Start Recording..." | + | |
- | + | ||
- | ==== 2. Playing to an output ==== | + | |
- | + | ||
- | To play to the microphone input, press btnd. To play to the line output, press btnl. Once the playback is activated, | + | |
- | + | ||
- | + |