Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| nexys4_ddr:getting_started_with_vivado_ip_integrator [2014/12/19 00:34] – Varun Kondagunturi | nexys4_ddr:getting_started_with_vivado_ip_integrator [2014/12/22 23:32] (current) – removed sbobrowicz | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | When you first run Vivado this will be the main start window where you can create a new project or open a recent one. | ||
| - | 1. Click on Create New Project. Choose the Project Name and Location such that there are no blank spaces. It is important to practice this rule when working with all Xilinx Tools. Project names, File names and Location Paths must not contain empty spaces. Using underscore in place of an empty space is recommended. | ||
| - | |||
| - | It is also good practice to have a dedicated folder for Vivado Projects, preferably with the smallest possible path length. Example: C:/ | ||
| - | |||
| - | Name your Project and select the Project location and click next. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | 2. Choose Project Type as RTL Project. Leave the - do not specify sources box unchecked and click next. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 3. If you have followed the instructions for saving Board Support Files in the Xilinx Installation directory ... | ||
| - | |||
| - | Click on Boards and choose from the filter options below, make the selections for Vendor, Display Name and Board Revision. Nexys4 DDR should be displayed in the selection list. Make sure this is the Board you have with you and click next. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 4. A summary of the new project design sources and target device is displayed. Click Finish. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 5. This is the main project window where you can add design or create design sources, perform simulation and generate a bit file. You can also program the board directly from Vivado with the generated bit file for an RTL project using the Hardware Manager. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 6. On the left you should see the Flow Navigator. Select Create Block Design under the IP Integrator. Give a name to your design without any blank spaces. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 7. An empty design space is created where you can add IP blocks. You can click on the "Add IP" message prompt on the top or click on the yellow rectangular box with a green " | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 8. This is the Xilinx Microblaze IP block. When a new IP block is added the user can customize the block properties by either clicking on the "Run Block Automation" | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 9. Block automation window will open up. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 10. Select block options as shown below and click ok. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 10. Running the block automation will auto-generate a set of additional IP blocks as part of your design based on the options selected in the previous step. Do not click on Run Connection Automation yet. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 11. Double click on the Clock Wizard (clk_wiz_1) IP block. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 12. Choose sys clock for CLK_IN1. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 13. Select the output Clocks tab. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 14. Select clk_out2 output frequency as 200.000 (Mhz) and set Reset type as Active Low. Now the reset pin should be displayed as " | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 15. Moving to the Port Renaming view will give you a summary of the inputs and outputs to the Clock Wizard block.Click ok to finish block automation of Clock Wizard. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 16. Do not run connection automation yet. Select the Add IP as shown and search for UART. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 17. Select the "AXI Uartlite" | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 18. This will add a UART block to the existing design. We need a UART controller to display the "Hello World" message in the terminal. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 19. Now select the "Run Connection Automation" | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 20. Select all available connections. Completing this step will connect all the IP blocks that have been added and customized up to this point. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 21. Manually connect main " | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 22. Do not select Run Connection Automation at this point. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 23. Memory Interface Generator will be the final IP block to add in the design. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 24. After adding the MIG IP block, double click on the block to Run Block Automation. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 25. Board part interface will be displayed as DDR2_SDRAM. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 26. When the MIG block automation is run, you will see this specific error message [BD 41-1273]. You can ignore this for now. It will not affect your design in any way. The MIG block will be configured as per the board support files that have been downloaded for Nexys4 DDR. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 27. Now click on Run Connection Automation. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 28. Select only the mig_7series_0 in the connection automation list. Do not select Microblaze in this step. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 29. New connections will be displayed. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 30. Manually connect clk_out2 output port signal on the clk_wiz_1 to the sys_clk_i input port on the mig_7series_ block. clk_out2 is the 200 Mhz clock signal we have added during the Clock Wizard block automation step. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 31 Select the button shown below. This is the " | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 32. The right most top block is the MIG. Right click on the DDR2 port and select "Make External" | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 33. This will create a new output port connection labeled as DDR2. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 34. Regenerate the layout one more time. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 35. Select Validate Design. This will check for any design and connection errors. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 36. After the design validation step has been successful we will now proceed with creating a HDL System Wrapper. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 37. As highlighted in this step, right click on " | ||
| - | |||
| - | {{: | ||
| - | |||
| - | 38. A system wrapper file will be generated and a message will be displayed in the project location as shown in the TCL console. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | {{: | ||

