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-getting-started-with-microblaze:start [2016/11/15 01:11] – [13. Creating HDL System Wrapper] jon peyron | learn:programmable-logic:tutorials:nexys-4-getting-started-with-microblaze:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Nexys 4 - Getting Started with Microblaze ====== | ====== Nexys 4 - Getting Started with Microblaze ====== | ||
| + | |||
| + | <WRAP round important 660px> | ||
| + | === Important! === | ||
| + | This guide is obsolete, the updated guide can be found [[: | ||
| + | </ | ||
| + | |||
| {{ : | {{ : | ||
| Line 150: | Line 156: | ||
| > | > | ||
| - | >5.3) This will add a UART block to the existing design. We need a UART controller to communicate between the terminal window on the Host-PC and the Nexys 4 DDR hardware. | + | >5.3) This will add a UART block to the existing design. We need a UART controller to communicate between the terminal window on the Host-PC and the Nexys 4 hardware. |
| > | > | ||
| > | > | ||
| Line 189: | Line 195: | ||
| ----- | ----- | ||
| - | ==== 13. Creating HDL System Wrapper ==== | + | ==== 8. Creating HDL System Wrapper ==== |
| - | >13.1) As highlighted in this step, right click on // | + | >8.1) As highlighted in this step, right click on // |
| > | > | ||
| > | > | ||
| - | >13.2) A system wrapper file will be generated and a message will be displayed in the tcl console informing us that the // | + | >8.2) A system wrapper file will be generated and a message will be displayed in the tcl console informing us that the // |
| > | > | ||
| > | > | ||
| ----- | ----- | ||
| - | ==== 14. Generating Bit File ==== | + | ==== 9. Generating Bit File ==== |
| - | >14.2) In the //Flow Navigator// panel on the left, under //Program and Debug// select the //Generate Bitstream// option. If you haven' | + | >9.1) In the //Flow Navigator// panel on the left, under //Program and Debug// select the //Generate Bitstream// option. If you haven' |
| > | > | ||
| > | > | ||
| - | >14.3) The bit file generation will begin. The tool will run // | + | >9.2) The bit file generation will begin. The tool will run // |
| > | > | ||
| > | > | ||
| - | >14.4) After the bitstream has been generated, a message prompt may pop-up on the screen. You don't have to open the Implemented Design for this demo. Just click on **Cancel**. | + | >9.3) After the bitstream has been generated, a message prompt may pop-up on the screen. You don't have to open the Implemented Design for this demo. Just click on **Cancel**. |
| > | > | ||
| > | > | ||
| ----- | ----- | ||
| + | ==== 10. Exporting Hardware Design to SDK ==== | ||
| + | |||
| + | >10.1) On the top left corner of the window, from the tool bar click on //File// and select //Export Hardware//. | ||
| + | >This will export the hardware design with system wrapper for the Software Development Tool - Vivado SDK. **Make sure the generated bitstream is included by checking the box**. | ||
| + | > | ||
| + | > | ||
| + | |||
| + | >10.2) A new file directory will be created under **Hello_World.SDK** similar to the Vivado hardware design project name. Two other files, //.sysdef// and //.hdf// are also created. This step essentially creates a new SDK Workspace. | ||
| + | >If you browse to the location on the drive where the Vivado project has been created, you will see that new folders have been created under SDK. See TCL Console message in the screen capture below. Now that the design has been exported to Software Development Kit (SDK) tool, the next step will be to launch the SDK tool. | ||
| + | > | ||
| + | > | ||
| + | |||
| + | ----- | ||
| + | ==== 11. Launching SDK ==== | ||
| + | |||
| + | >11.1) Go to //File// and select //Launch SDK// and click OK. The SDK file created local to the Vivado design project location will be launched. The hand-off to SDK from Vivado is complete. | ||
| + | > | ||
| + | > | ||
| + | |||
| + | ----- | ||
| + | |||
| + | ==== 12. Creating New Application Project in SDK ==== | ||
| + | |||
| + | >12.1) Go to //File// in the main tool bar and select **New Application Project**. A new project window will pop up. Give your SDK project a name that has no empty spaces as shown below. Make sure the //Target Hardware// is the correct hardware design. In our case, it will be **design_1_wrapper_hw_platform_0**. | ||
| + | >If for example, you also have another hardware design in the //Project Explorer// window, then you will also see this design name in the Target Hardware drop down selection list. | ||
| + | >Since we only have one hardware design | ||
| + | >Click Next. | ||
| + | > | ||
| + | > | ||
| + | |||
| + | ----- | ||
| + | ==== 13. Selecting Hello World Application from available templates ==== | ||
| + | |||
| + | >13.1) Select **Hello World** under //Available Templates// on the left panel and click Finish. | ||
| + | > | ||
| + | > | ||
| + | |||
| + | |||
| + | >13.2) After completing the previous step, you will see two new folders in the //Project Explorer// panel: | ||
| + | > | ||
| + | >- **display_hello_world** which contains all the binaries, .C and .H (Header) files | ||
| + | >- **display_hello_world_bsp** which is the board support folder | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | |||
| + | ----- | ||
| + | ==== 14. Programming FPGA with Bit File ==== | ||
| + | |||
| + | >14.1) Make sure that the Nexys 4 DDR is turned on and connected to the host PC with the provided micro USB cable. | ||
| + | >In the quick selection tool bar, you will find a symbol with a red arrow and three green square boxes. This clickable button is physically located under the //Search// tab in the main tool bar. | ||
| + | >Click on this symbol to open the Program FPGA window. | ||
| + | >Make sure that the //Hardware Platform// is selected as **design_1_wrapper_hw_platform_0**. | ||
| + | >In the software configuration box, under //ELF File to Initialize in Block RAM// column, the row option must read **bootloop**. If not, click on the row and select **bootloop**. | ||
| + | >Now click on Program. | ||
| + | > | ||
| + | > | ||
| + | |||
| + | ----- | ||
| + | ==== 15. Run Configuration | ||
| + | |||
| + | >15.1) After the FPGA has been successfully programmed with the bit file, from the //Project Explorer// panel, right click on the **display_hello_world** project folder which has been highlighted in the screen capture below. | ||
| + | >At the bottom of the drop down list, select **Run As** and then select **launch on hardware**. | ||
| + | |||
| + | > | ||
| + | }} | ||
| + | ----- | ||
| + | ==== 16. Using Terminal Emulator ==== | ||
| + | |||
| + | You can use any serial terminal you would like including the one on SDK. We use Tera Term. | ||
| + | Refer to this link [[http:// | ||
| + | You can download and install Tera Term from this link [[http:// | ||
| + | |||
| + | |||
| + | >16.1) Establish a serial connection with the correct communication port inside Tera Term. | ||
| + | >Go to //SDK Run Configurations// | ||
| + | >Tera Term will work as a Console by displaying the output. | ||
| + | >Notice that inside the built-in console window of SDK, there is a message displayed that reads // Port COM4 is already in use// indicating that the //COM4// port is in use by Tera Term. | ||
| + | > | ||
| + | > | ||
| + | |||
| + | ----- | ||
| + | |||
| + | / | ||
| + | |||

