Building an Embedded Processor System on Xilinx NEXYS3 FPGA and Profiling an Application: A Tutorial Introduction: Modern FPGA’s are equipped with a lot of resources that allow them to hold large digital systems on a single chip. FPGA vendors provide tools that allow the designer to build embedded systems on efficiently on FPGAs. One of the new concepts that you will learn in this experiments is the system-on-chip approach (SoC). In this methodology, a complete micro-processor system is implemented on a single chip. In our experiment we will use an FPGA board that is equipped with an FPGA from Xilinx a leading FPGA vendor. Xilinx provides a tool for building an embedded SoC on its FPGAs, and we are going to use this tool in this experiment. This tool is called Xilinx Embedded Development Kit (EDK). The EDK allows the designer to build the processor system based on an embedded processor from Xilinx called MicroBlaze. The tool provides a C/C++ compiler for that processor and an IDE based on Eclipse framework. In this tutorial we will build a processor system based on MicroBlaze using the EDK and run this system on Nexys 3 FPGA board. Objectives: Demonstrate the concept of SoC. Familiar students with embedded soft processor systems on FPGA. Build a soft processor system that will perform simple operations. Profile the Application. Equipment and Tools Nexys 3 FPGA board, use two USB cables: Connect the first to the USB PROG port. Connect the second to the UART port. Xilinx Embedded Development Kit (XPS, SDK). This is tested on revision 13.4 successfully. Detailed Steps Building the hardware system on FPGA In previous labs you learned about the Xilinx ISE design flow and how to use it to map a design using VHDL on FPGA. In this tutorial we will use the Xilinx EDK to build a micro-processor system and write a simple program for that processor to perform simple I/O operations. The first part of the tutorial attempts to build the hardware system. The EDK is composed of two software components: i) Xilinx Platform Studio (XPS) which is used to build and configure the soft
Expand the folder “src” in the “hello_world_0” project. You will notice several C as seen in Figure 29. Double click the file “hello_world.c” to open it. The code should look like Figure 30. The code is a simple C application that will print the word “Hello World” on the output device. Figure 29. Project Explorer (Step 8) Figure 30. Initial World “Source Code” (Step 8) Modify the source code with your application that you need to profile. When done save the file. Note that once you are done, the SDK will start compiling your code automatically and generate the output files (in this case it is the download.bit file). To display any messages you will need to set the terminal as will be explained in the Appendix at the end. Highlight the “hello_world_0” with your mouse and right click. This will show a new menu. Zoom on “C/C++ Build Setting”. This will produce a new screen “C Code Properties” as seen in Figure 31. Figure 31. Properties for hello_world_0 (Step 10) Highlight profiling and enable it as seen in Figure 32. A message “Finished building: hello_world_0.elf.elfcheck” will be produced in the console.