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-4-ddr-looper-demo:start [2017/02/20 22:37] – Andrew Holzer | learn:programmable-logic:tutorials:nexys-4-ddr-looper-demo:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| ===== Overview ===== | ===== Overview ===== | ||
| - | ==== Features Used ==== | ||
| - | |||
| - | | ^ Not Used ^ Used ^ | ||
| - | ^ 16 user switches | ||
| - | ^ 16 user LEDs | | X | | ||
| - | ^ Two tri-color LEDs | X | | | ||
| - | ^ 5 User Push Buttons | ||
| - | ^ Two 4-digit 7-segment displays | ||
| - | ^ 4 Pmod ports | ||
| - | ^ Pmod for XADC signals | ||
| - | ^ 12-bit VGA output | ||
| - | ^ USB-UART Bridge | ||
| - | ^ Serial Flash for Application Data | ||
| - | ^ USB HID Host With Mouse | ||
| - | ^ USB HID Host With Keyboard | ||
| - | ^ Micro SD card connector | ||
| - | ^ PWM audio output | ||
| - | ^ PDM microphone | ||
| - | ^ 3-axis accelerometer | ||
| - | ^ Temperature sensor | ||
| - | ^ 10/100 Ethernet PHY | ||
| ==== Description ==== | ==== Description ==== | ||
| Line 55: | Line 34: | ||
| ^ S | Bank is stopped | ^ S | Bank is stopped | ||
| + | ==== Features Used ==== | ||
| + | |||
| + | | ^ Not Used ^ Used ^ | ||
| + | ^ 16 user switches | ||
| + | ^ 16 user LEDs | | ||
| + | ^ Two tri-color LEDs | | ||
| + | ^ 5 User Push Buttons | ||
| + | ^ Two 4-digit 7-segment displays | ||
| + | ^ 4 Pmod ports | | ||
| + | ^ Pmod for XADC signals | ||
| + | ^ 12-bit VGA output | ||
| + | ^ USB-UART Bridge | ||
| + | ^ Serial Flash for Application Data | ||
| + | ^ USB HID Host With Mouse | ||
| + | ^ USB HID Host With Keyboard | ||
| + | ^ Micro SD card connector | ||
| + | ^ PWM audio output | ||
| + | ^ PDM microphone | ||
| + | ^ 3-axis accelerometer | ||
| + | ^ Temperature sensor | ||
| + | ^ 10/100 Ethernet PHY | ||
| ------- | ------- | ||
| - | ===Skills=== | + | ===== Prerequisites ===== |
| - | * **Basic familiarity with Vivado** | + | |
| - | | + | === Skills === |
| - | * **Basic | + | * **Basic |
| * //We will be cutting an auxiliary cable// | * //We will be cutting an auxiliary cable// | ||
| * **Basic Breadboarding** | * **Basic Breadboarding** | ||
| * //There is a small circuit we must construct on a breadboard// | * //There is a small circuit we must construct on a breadboard// | ||
| - | + | ||
| - | ===Hardware=== | + | === Hardware === |
| - | * **Nexys 4 DDR board** | + | * **Nexys 4 DDR Board** |
| - | * **Micro-USB | + | * **Micro-USB |
| - | * **Headphones or speaker** | + | * **Headphones or Speaker** |
| * **Breadboard** | * **Breadboard** | ||
| - | * **2 identical resistors** | + | * **2 Identical Resistors** |
| - | * **100pF | + | * **100pF |
| * **Wires** | * **Wires** | ||
| - | * **Electrical instrument | + | * **Electric Musical Instrument |
| - | ===Software=== | + | === Software === |
| * **Vivado Design Suite 2016.4** | * **Vivado Design Suite 2016.4** | ||
| * //Newer versions can be used, but the procedure may vary slightly// | * //Newer versions can be used, but the procedure may vary slightly// | ||
| * **Nexys 4 DDR Support Files** | * **Nexys 4 DDR Support Files** | ||
| * These files will describe GPIO interfaces on your board and make it easier to select your FPGA board and add GPIO IP blocks. | * These files will describe GPIO interfaces on your board and make it easier to select your FPGA board and add GPIO IP blocks. | ||
| - | * Follow the Wiki guide: [[vivado: | + | * Follow the Wiki guide on how to install |
| ----- | ----- | ||
| ===== Downloads ===== | ===== Downloads ===== | ||
| - | Nexys 4 DDR Support Repository -- [[https:// | + | |
| + | Nexys 4 DDR Support Repository -- [[https:// | ||
| ------- | ------- | ||
| - | ===== How to... ===== | ||
| - | ==== 1. Setup ==== | + | ===== Set up Hardware ===== |
| - | >1.1) Start by cutting off one end of your auxiliary input cord (that plugs into your instrument) and split up the wires. | + | >1) Start by cutting off one end of your auxiliary input cord (that plugs into your instrument) and split up the wires. |
| > | > | ||
| > {{: | > {{: | ||
| - | >1.2) The XADC requires an input wave biased at .5V, so take the 1.0V rail found on J14 and create a voltage divider to get .5V. This is where the ground wire from your aux input will be connected. Connect the positive wire(s) of your aux input to AD3P on the JXADC connector. Put the 100pf capacitor from the aux input to GND to reduce noise. Connect AD3N to GND. | + | >2) The XADC port requires an input wave biased at .5V, so take the 1.0V rail found on J14 and create a voltage divider to get .5V. This is where the ground wire from your aux input will be connected. Connect the positive wire(s) of your aux input to AD3P on the JXADC connector. Put the 100pf capacitor from the aux input to GND to reduce noise. Connect AD3N to GND. |
| > | > | ||
| > | > | ||
| - | >1.3) Plug in your headphones/ | + | >3) Plug in your headphones/ |
| - | ==== 2. Generate | + | ===== Download and Launch |
| - | >2.1) Download | + | >Follow the [[: |
| - | >2.2) Generate | + | ===== Using the Nexys 4 DDR Music Looper |
| - | ==== 3. Build the Project | + | ==== 1. Initial State ==== |
| - | >3.1) Click **Generate Bitstream** | + | >In the looper' |
| > | > | ||
| - | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | + | >{{:nexys4-ddr:base.jpg?1000|}} |
| - | > | + | |
| - | >{{:basys3:buildflow.png?600|}} | + | |
| - | ==== 4. Program the Board ==== | + | ==== 2. Switching Banks ==== |
| - | >4.1) Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. | ||
| - | > | ||
| - | > | ||
| - | |||
| - | >4.2) Click program to load the project onto your Nexys4-DDR. | ||
| - | |||
| - | ==== 5. Run the Project ==== | ||
| - | |||
| - | This portion will help you run the demo and observe all its features. | ||
| - | |||
| - | >5.1) Initial State | ||
| - | > | ||
| - | >In its initial state, you should see bA0E left 7-segment display, and four 0's on the right display. bA0E means that you are on ' | ||
| - | > | ||
| - | > | ||
| - | |||
| - | >5.2) Switching banks | ||
| - | > | ||
| >Press BTNL and BTNR to change the bank to edit. There are 8 banks numbered 0 through 7. Each bank should initially be ' | >Press BTNL and BTNR to change the bank to edit. There are 8 banks numbered 0 through 7. Each bank should initially be ' | ||
| > | > | ||
| > | > | ||
| - | >5.3) Recording to a bank | + | ==== 3. Recording to a Bank ==== |
| - | > | + | |
| >Press the play/record button (BTNC) to start recording to whichever bank you are on. The red LED will turn on LD16, and the 7-segment display will display an ' | >Press the play/record button (BTNC) to start recording to whichever bank you are on. The red LED will turn on LD16, and the 7-segment display will display an ' | ||
| > | > | ||
| > | > | ||
| - | >5.3) Saving the loop | + | ==== 4. Saving the Loop ==== |
| - | > | + | |
| >When you have finished recording, press the play/record button again. The Nexys 4 DDR will start looping the recorded audio data. The 7-segment display will now display a ' | >When you have finished recording, press the play/record button again. The Nexys 4 DDR will start looping the recorded audio data. The 7-segment display will now display a ' | ||
| > | > | ||
| > | > | ||
| - | >5.4) Stopping | + | ==== 5, Stoppng |
| - | > | + | |
| >Press the stop button on a bank that is currently playing, to stop playback on that bank. The 7-segment display will display an " | >Press the stop button on a bank that is currently playing, to stop playback on that bank. The 7-segment display will display an " | ||
| > | > | ||
| > | > | ||
| - | >5.5) Recording to another bank | + | ==== 6. Recording to Another Bank ==== |
| - | > | + | |
| >Press play again on the previous bank to resume playback, then press BTNL or BTNR to change to another bank that is not recorded on and press the play/record button to start recording to the new bank. The green LED will stay on and the red LED will turn on. | >Press play again on the previous bank to resume playback, then press BTNL or BTNR to change to another bank that is not recorded on and press the play/record button to start recording to the new bank. The green LED will stay on and the red LED will turn on. | ||
| > | > | ||
| > | > | ||
| - | > | + | |
| >When finished, press play/record again and the bank will be saved. The state will change to to ' | >When finished, press play/record again and the bank will be saved. The state will change to to ' | ||
| > | > | ||
| > | > | ||
| - | >5.6) Canceling a recording | + | ==== 7. Canceling a Recording ==== |
| - | > | + | |
| >If, while recording, you want to cancel the recording, you can press the stop button and it will erase the bank. | >If, while recording, you want to cancel the recording, you can press the stop button and it will erase the bank. | ||
| - | >5.7) Erasing an already recorded bank | + | ==== 8. Erasing an Already Recorded Bank ==== |
| - | > | + | |
| >Hold down the stop button for 1.5 seconds to erase the data on the corresponding bank. You will see an ' | >Hold down the stop button for 1.5 seconds to erase the data on the corresponding bank. You will see an ' | ||
| - | >5.8) Using the Change Track Feature | + | ==== 9. Using the Change Track Feature |
| - | > | + | |
| > | > | ||
| - | >5.9) Resetting the looper | + | ==== 10. Resetting the Looper ==== |
| - | > | + | |
| >Press the CPU_RESET button on the Nexys 4 DDR to reset all of the banks to ' | >Press the CPU_RESET button on the Nexys 4 DDR to reset all of the banks to ' | ||
| > | > | ||
| > | > | ||
| - | {{tag> | + | |
| + | |||
| + | {{tag> | ||

