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/09 11:10] ā removed Sergiu Arpadi | learn:programmable-logic:tutorials:nexys-video-dpti-demo:start [2021/06/09 00:31] (current) ā Arthur Brown | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Nexys Video DPTI Demo ====== | ||
+ | |||
+ | {{: | ||
+ | ----- | ||
+ | ===== 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 ==== | ||
+ | |||
+ | | ^ Not Used ^ Used ^ | ||
+ | ^ 8 user switches | ||
+ | ^ 8 user LEDs | X | | | ||
+ | ^ 128Ć32 monochrome OLED display | ||
+ | ^ USB-UART Bridge | ||
+ | ^ 160-pin FMC LPC connector | ||
+ | ^ Micro SD card connector | ||
+ | ^ HDMI Sink and HDMI Source | ||
+ | ^ DisplayPort Source | ||
+ | ^ Audio codec w/ four 3.5mm jacks | X | | | ||
+ | ^ 6 user push buttons | ||
+ | ^ User EEPROM | ||
+ | ^ 10/100/1000 Ethernet PHY | ||
+ | ^ 512MiB 800Mt/s DDR3 Memory | ||
+ | ^ Serial Flash | ||
+ | ^ Four Pmod ports | X | | | ||
+ | ^ Pmod for XADC signals | ||
+ | ^ USB HID Host | ||
+ | ^ USB PROG/ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Prerequisites ===== | ||
+ | |||
+ | ===Skills=== | ||
+ | * **Basic familiarity with Vivado** | ||
+ | * //This experience can be found by walking through our " | ||
+ | * **Basic familiarity with Xilinx SDK** | ||
+ | |||
+ | |||
+ | ===Hardware=== | ||
+ | * **Nexys Video FPGA board** | ||
+ | * **Micro-USB cable** | ||
+ | |||
+ | ===Software=== | ||
+ | * **Vivado Design Suite 2015.4** | ||
+ | * // | ||
+ | * **Xilinx SDK** | ||
+ | * **Digilent Adept 2 System** | ||
+ | * //Available for download [[/ | ||
+ | |||
+ | |||
+ | ----- | ||
+ | |||
+ | ===== Downloads ===== | ||
+ | Nexys Video Support Repository -- [[https:// | ||
+ | |||
+ | ------- | ||
+ | ===== Tutorial ===== | ||
+ | |||
+ | |||
+ | |||
+ | ==== 1. Generate the Project ==== | ||
+ | |||
+ | >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 " | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 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. | ||
+ | > | ||
+ | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | ||
+ | > | ||
+ | > | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 3. Export to SDK ==== | ||
+ | |||
+ | >Export the MicroBlaze project by going to **File> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 4. Import the SDK files ==== | ||
+ | |||
+ | >In your project Explorer window on the left side, click **File> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 5. Program the FPGA ==== | ||
+ | |||
+ | >Click **Xilinx Tools> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 6. Run the SDK program ==== | ||
+ | |||
+ | > | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 7. Running the Nexys Video DPTI Demo ==== | ||
+ | > | ||
+ | >7.1) Double-click on the **DPTI_Transfer.exe** file found in the **DPTI_Transfer> | ||
+ | > | ||
+ | >7.2) 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 processor (starting at 0x80000000) and the rest is available for this demo. This can be changed in the linker script. | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | >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. | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | |||
+ | {{tag> |