Introduction to the Altera Qsys System Integration Tool. 1 Introduction. For Quartus Prime 15.1

Size: px
Start display at page:

Download "Introduction to the Altera Qsys System Integration Tool. 1 Introduction. For Quartus Prime 15.1"

Transcription

1 Introduction to the Altera Qsys System Integration Tool For Quartus Prime Introduction This tutorial presents an introduction to Altera s Qsys system integration tool, which is used to design digital hardware systems that contain components such as processors, memories, input/output interfaces, timers, and the like. The Qsys tool allows a designer to choose the components that are desired in the system by selecting these components in a graphical user interface. It then automatically generates the hardware system that connects all of the components together. The hardware system development flow is illustrated by giving step-by-step instructions for using the Qsys tool in conjunction with the Quartus Prime software to implement a simple example system. The last step in the development process involves configuring the designed hardware system in an actual FPGA device, and running an application program. To show how this is done, it is assumed that the user has access to an Altera DE-series Development and Education board connected to a computer that has Quartus Prime and Nios II software installed. The screen captures in the tutorial were obtained using the Quartus Prime version 15.1; other versions of the software may be slightly different. Contents: Nios II System Altera s Qsys Tool Integration of a Nios II System into a Quartus Prime Project Compiling a Quartus Prime Project when using the Qsys Tool Using the Altera Monitor Program to Download a Designed Hardware System and Run an Application Program 1

2 2 Altera DE-series FPGA Boards INTRODUCTION TO THE ALTERA QSYS TOOL For Quartus Prime 15.1 For this tutorial we assume that the reader has access to an Altera DE-series board, such as the one shown in Figure 1. The figure depicts the DE1-SoC board, which features an Altera Cyclone IV FPGA chip. The board provides a lot of other resources, such as memory chips, slider switches, pushbutton keys, LEDs, audio input/output, video input (NTSC/PAL decoder) and video output (VGA). It also provides several types of serial input/output connections, including a USB port for connecting the board to a personal computer. In this tutorial we will make use of only a few of the resources: the FPGA chip, slider switches, LEDs, and the USB port that connects to a computer. Although we have chosen the DE1-SoC board as an example, the tutorial is pertinent for other DE-series boards that are described in the University Program section of Altera s website. Figure 1. An Altera DE1-SoC board. 3 A Digital Hardware System Example We will use a simple hardware system that is shown in Figure 2. It includes the Altera Nios II embedded processor, which is a soft processor module defined as code in a hardware-description language. A Nios II module can be included as part of a larger system, and then that system can be implemented in an Altera FPGA chip by using the Quartus Prime software. 2

3 Host computer Reset_n Clock USB-Blaster interface Nios II processor JTAG Debug module JTAG UART interface FPGA chip Avalon switch fabric On-chip memory Switches parallel input interface LEDs parallel output interface SW7 SW0 LEDR7 LEDR0 Figure 2. A simple example of a Nios II system. As shown in Figure 2, the Nios II processor is connected to the memory and I/O interfaces by means of an interconnection network called the Avalon switch fabric. This interconnection network is automatically generated by the Qsys tool. The memory component in our system will be realized by using the on-chip memory available in the FPGA chip. The I/O interfaces that connect to the slider switches and LEDs will be implemented by using the predefined modules that are available in the Qsys tool. A special JTAG UART interface is used to connect to the circuitry that provides a USB link to the host computer to which the DE-series board is connected. This circuitry and the associated software is called the USB-Blaster. Another module, called the JTAG Debug module, is provided to allow the host computer 3

4 to control the Nios II system. It makes it possible to perform operations such as downloading Nios II programs into memory, starting and stopping the execution of these programs, setting breakpoints, and examining the contents of memory and Nios II registers. Since all parts of the Nios II system implemented on the FPGA chip are defined by using a hardware description language, a knowledgeable user could write such code to implement any part of the system. This would be an onerous and time consuming task. Instead, we will show how to use the Qsys tool to implement the desired system simply by choosing the required components and specifying the parameters needed to make each component fit the overall requirements of the system. Although in this tutorial we illustrate the capability of the Qsys tool by designing a very simple system, the same approach is used to design larger systems. Our example system in Figure 2 is intended to realize a trivial task. Eight slider switches on the DE1-SoC board, SW 7 0, are used to turn on or off eight LEDs, LEDR7 0. To achieve the desired operation, the eight-bit pattern corresponding to the state of the switches has to be sent to the output port to activate the LEDs. This will be done by having the Nios II processor execute a program stored in the on-chip memory. Continuous operation is required, such that as the switches are toggled the lights change accordingly. In the next section we will use the Qsys tool to design the hardware depicted in Figure 2. After assigning the FPGA pins to realize the connections between the parallel interfaces and the switches and LEDs on the DE1-SoC board, we will compile the designed system. Finally, we will use the software tool called the Altera Monitor Program to download the designed circuit into the FPGA device, and download and execute a Nios II program that performs the desired task. Doing this tutorial, the reader will learn about: Using the Qsys tool to design a Nios II-based system Integrating the designed Nios II system into a Quartus Prime project Implementing the designed system on the DE1-SoC board Running an application program on the Nios II processor 4 Altera s Qsys Tool The Qsys tool is used in conjunction with the Quartus Prime CAD software. It allows the user to easily create a system based on the Nios II processor, by simply selecting the desired functional units and specifying their parameters. To implement the system in Figure 2, we have to instantiate the following functional units: Nios II processor On-chip memory, which consists of the memory blocks in the FPGA chip; we will specify a 4-Kbyte memory arranged in 32-bit words Two parallel I/O interfaces 4

5 JTAG UART interface for communication with the host computer To define the desired system, start the Quartus Prime software and perform the following steps: 1. Create a new Quartus Prime project for your system. As shown in Figure 3, we stored our project in a directory called qsys_tutorial, and we assigned the name lights to both the project and its top-level design entity. You can choose a different directory or project name. Step through the screen for adding design files to the project; we will add the required files later in the tutorial. In your project, choose the FPGA device used on your DE-series board. A list of FPGA devices on the DE-series boards is given in Table 1. Figure 3. Create a new project. Board DE0-CV DE0-Nano DE0-Nano-SoC DE1-SoC DE2-115 Device Name Cyclone V 5CEBA4F23C7 Cyclone IVE EP4CE22F17C6 Cyclone V SoC 5CSEMA4U23C6 Cyclone V SoC 5CSEMA5F31C6 Cyclone IVE EP4CE115F29C7 Table 1. DE-series FPGA device names 5

6 2. After completing the New Project Wizard to create the project, in the main Quartus Prime window select Tools > Qsys, which leads to the window in Figure 4. This is the System Contents tab of the Qsys tool, which is used to add components to the system and configure the selected components to meet the design requirements. The available components are listed on the left side of the window. Figure 4. Create a new Nios II system. 3. The hardware system that will be generated using the Qsys tool runs under the control of a clock. For this tutorial we will make use of the 50-MHz clock that is provided on the DE1-SoC board. Your hardware system should contain a clock source called clk_0, whose frequency is 50-MHz. You can check that its frequency is indeed 50-MHz by double clicking the component, and checking the Clock frequency parameter of the component. If your system does not already contain clk_0, it is possible to add a clock source by selecting Basic Functions > Clocks; PLLs and Resets > Clock Source in the IP Catalog tab, then clicking Add Next, specify the processor as follows: On the left side of the Qsys window expand Processors and Peripherals, select Embedded Processors > Nios II (Classic) Processor and click Add..., which leads to the window in Figure 5. 6

7 Figure 5. Create a Nios II processor. Choose Nios II/e which is the economy version of the processor. This version is available for use without a paid license. The Nios II processor has reset and interrupt inputs. When one of these inputs is activated, the processor starts executing the instructions stored at memory addresses known as reset vector and interrupt vector, respectively. Since we have not yet included any memory components in our design, the Qsys tool will display corresponding error messages. Ignore these messages as we will provide the necessary information later. You must disable the Include reset_req signal for OCI RAM and Multi- Cycle Custom Instructions setting in the Advanced Features tab to ensure proper operation. It is important that the checkbox is unchecked, otherwise you will experience issues when loading programs onto the system using the Altera Monitor Program. Click Finish to return to the main Qsys window, which now shows the Nios II processor specified as indicated in Figure 6. 7

8 Figure 6. Inclusion of the Nios II processor in the design. 5. To specify the on-chip memory perform the following: Expand the category Basic Functions, and then expand to select On Chip Memory > On-Chip Memory (RAM or ROM), and click Add In the On-Chip Memory Configuration Wizard window, shown in Figure 7, ensure that the Data width is set to 32 bits and the Total memory size to 4K bytes (4096 bytes) Do not change the other default settings Click Finish, which returns to the System Contents tab as indicated in Figure 8 8

9 Figure 7. Define the on-chip memory. 6. Observe that while the Nios II processor and the on-chip memory have been included in the design, no connections between these components have been established. To specify the desired connections, examine the Connections area in the window in Figure 8. The connections already made are indicated by filled circles and the other possible connections by empty circles, as indicated in Figure 9. Clicking on an empty circle makes a connection. Clicking on a filled circle removes the connection. Make the following connections: Clock inputs of the processor and the memory to the clock output of the clock component Reset inputs of the processor and the memory to both the reset output of the clock component and the jtag_debug_module_reset output The s1 input of the memory to both the data_master and instruction_master outputs of the processor The resulting connections are shown in Figure 10. 9

10 Figure 8. The on-chip memory included on a DE-series board. Figure 9. Connections that can be made. 10

11 Figure 10. The connections that are now established. 7. Specify the input parallel I/O interface as follows: Select Processors and Peripherals > Peripherals > PIO (Parallel I/O) and click Add to reach the PIO Configuration Wizard in Figure 11 Specify the width of the port to be 8 bits and choose the direction of the port to be Input, as shown in the figure. Click Finish. 11

12 Figure 11. Define a parallel input interface. 8. In the same way, specify the output parallel I/O interface: Select Processors and Peripherals > Peripherals > PIO (Parallel I/O) and click Add to reach the PIO Configuration Wizard again Specify the width of the port to be 8 bits and choose the direction of the port to be Output. Click Finish to return to the System Contents tab 9. Specify the necessary connections for the two PIOs: Clock input of the PIO to the clock output of the clock component Reset input of the PIO to the reset output of the clock component and the jtag_debug_module_reset output The s1 input of the PIO the data_master output of the processor The resulting design is depicted in Figure

13 Figure 12. The system with all components and connections. 10. We wish to connect to a host computer and provide a means for communication between the Nios II system and the host computer. This can be accomplished by instantiating the JTAG UART interface as follows: Select Interface Protocols > Serial > JTAG UART and click Add to reach the JTAG UART Configuration Wizard in Figure 13 Do not change the default settings Click Finish to return to the System Contents tab Connect the JTAG UART to the clock, reset and data-master ports, as was done for the PIOs. Connect the Interrupt Request (IRQ) line from the JTAG UART to the Nios II processor by selecting the connection under the IRQ column, as shown in Figure 14. Once the connection is made, a box with the number 0 inside will appear on the connection. The Nios II processor has 32 interrupt ports ranging from 0 to 31, and the number in this box selects which port will be used for this IRQ. Click on the box and change it to use port 5. Make sure the irq port of JTAG UART gets automatically connected to the d_irq port of Nios II Processor. 13

14 Figure 13. Define the JTAG UART interface. Figure 14. Connect the IRQ line from the JTAG UART to the Nios II processor. 11. Note that the Qsys tool automatically chooses names for the various components. The names are not necessarily descriptive enough to be easily associated with the target design, but they can be changed. In Figure 2, 14

15 we use the names Switches and LEDs for the parallel input and output interfaces, respectively. These names can be used in the implemented system. Right-click on the pio_0 name and then select Rename. Change the name to switches. Similarly, change pio_1 to LEDs. Figure 15 shows the system with name changes that we made for all components. Figure 15. The system with all components appropriately named. 12. Observe that the base and end addresses of the various components in the designed system have not been properly assigned. These addresses can be assigned by the user, but they can also be assigned automatically by the Qsys tool. We will choose the latter possibility. However, we want to make sure that the on-chip memory has the base address of zero. Double-click on the Base address for the on-chip memory in the Qsys window and enter the address 0x Then, lock this address by clicking on the adjacent lock symbol. Now, let Qsys assign the rest of the addresses by selecting System > Assign Base Addresses (at the top of the window), which produces an assignment similar to that shown in Figure

16 Figure 16. The system with assigned addresses. 13. The behavior of the Nios II processor when it is reset is defined by its reset vector. It is the location in the memory device from which the processor fetches the next instruction when it is reset. Similarly, the exception vector is the memory address of the instruction that the processor executes when an interrupt is raised. To specify these two parameters, perform the following: Right-click on the nios2_processor component in the window displayed in Figure 16, and then select Edit to reach the window in Figure 17 Select onchip_memory.s1 to be the memory device for both reset and exception vectors, as shown in Figure 17 Do not change the default settings for offsets Observe that the error messages dealing with memory assignments shown in Figure 5 will now disappear Click Finish to return to the System Contents tab 16

17 Figure 17. Define the reset and exception vectors. 14. So far, we have specified all connections inside our nios_system circuit. It is also necessary to specify connections to external components, which are switches and LEDs in our case. To accomplish this, double click on Double-click to export (in the Export column of the System Contents tab) for external_connection of the switches PIO, and type the name switches. Similarly, establish the external connection for the lights, called leds. This completes the specification of our nios_system, which is depicted in Figure

18 Figure 18. The complete system. 15. Having specified all components needed to implement the desired system, it can now be generated. Save the specified system; we used the name nios_system. Then, select Generate > Generate HDL, which leads to the window in Figure 19. Select None for the option Simulation > Create simulation model, because in this tutorial we will not deal with the simulation of hardware. Click Generate on the bottom of the window. When successfully completed, the generation process produces the message Generate Completed". Exit the Qsys tool to return to the main Quartus Prime window. 18

19 Figure 19. Generation of the system. Changes to the designed system are easily made at any time by reopening the Qsys tool. Any component in the System Contents tab of the Qsys tool can be selected and edited or deleted, or a new component can be added and the system regenerated. 5 Integration of the Nios II System into a Quartus Prime Project To complete the hardware design, we have to perform the following: Instantiate the module generated by the Qsys tool into the Quartus Prime project Assign the FPGA pins Compile the designed circuit Program and configure the FPGA device on the DE1-SoC board 5.1 Instantiation of the Module Generated by the Qsys Tool The Qsys tool generates a Verilog module that defines the desired Nios II system. In our design, this module will have been generated in the nios_system.v file, which can be found in the directory qsys_tutorial/nios_system/synthesis of the project. The Qsys tool generates Verilog modules, which can then be used in designs specified using either Verilog or VHDL languages. Normally, the Nios II module generated by the Qsys tool is likely to be a part of a larger design. However, in the case of our simple example there is no other circuitry needed. All we need to do is instantiate the Nios II system in 19

20 our top-level Verilog or VHDL module, and connect inputs and outputs of the parallel I/O ports, as well as the clock and reset inputs, to the appropriate pins on the FPGA device. The Verilog code in the nios_system.v file is quite large. Figure 20 depicts the portion of the code that defines the input and output ports for the module nios_system. The 8-bit vector that is the input to the parallel port switches is called switches_export. The 8-bit output vector is called leds_export. The clock and reset signals are called clk_clk and reset_reset_n, respectively. Note that the reset signal was added automatically by the Qsys tool; it is called reset_reset_n because it is active low. Figure 20. A part of the generated Verilog module. The nios_system module has to be instantiated in a top-level module that has to be named lights, because this is the name we specified in Figure 3 for the top-level design entity in our Quartus Prime project. For the input and output ports of the lights module we have used the pin names that are specified in the DE1-SoC User Manual: CLOCK_50 for the 50-MHz clock, KEY for the pushbutton switches, SW for the slider switches, and LEDR for the red LEDs. Using these names simplifies the task of creating the needed pin assignments. 20

21 5.1.1 Instantiation in a Verilog Module Figure 21 shows a top-level Verilog module that instantiates the Nios II system. If using Verilog for the tutorial, type this code into a file called lights.v, or use the file provided with this tutorial. // Implements a simple Nios II system for the DE-series board. // Inputs: SW7 0 are parallel port inputs to the Nios II system // CLOCK_50 is the system clock // KEY0 is the active-low system reset // Outputs: LEDR7 0 are parallel port outputs from the Nios II system module lights (CLOCK_50, SW, KEY, LEDR); input CLOCK_50; input [7:0] SW; input [0:0] KEY; output [7:0] LEDR; // Instantiate the Nios II system module generated by the Qsys tool: nios_system NiosII (.clk_clk(clock_50),.reset_reset_n(key),.switches_export(sw),.leds_export(ledr)); endmodule Figure 21. Instantiating the Nios II system using Verilog code Instantiation in a VHDL Module Figure 22 shows a top-level VHDL module that instantiates the Nios II system. If using VHDL for the tutorial, type this code into a file called lights.vhd, or use the file provided with this tutorial. 21

22 -- Implements a simple Nios II system for the DE-series board. -- Inputs: SW7-0 are parallel port inputs to the Nios II system -- CLOCK_50 is the system clock -- KEY0 is the active-low system reset -- Outputs: LEDR7-0 are parallel port outputs from the Nios II system LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY lights IS PORT ( CLOCK_50 : IN STD_LOGIC; KEY : IN STD_LOGIC_VECTOR (0 DOWNTO 0); SW : IN STD_LOGIC_VECTOR (7 DOWNTO 0); LEDR : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END lights; ARCHITECTURE lights_rtl OF lights IS COMPONENT nios_system PORT ( SIGNAL clk_clk: IN STD_LOGIC; SIGNAL reset_reset_n : IN STD_LOGIC; SIGNAL switches_export : IN STD_LOGIC_VECTOR (7 DOWNTO 0); SIGNAL leds_export : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END COMPONENT; BEGIN NiosII : nios_system PORT MAP( clk_clk => CLOCK_50, reset_reset_n => KEY(0), switches_export => SW(7 DOWNTO 0), leds_export => LEDR(7 DOWNTO 0) ); END lights_rtl; Figure 22. Instantiating the Nios II system using VHDL code. 22

23 6 Compiling the Quartus Prime Project Add the lights.v/vhd file to your Quartus Prime project. Also, add the necessary pin assignments for the DE-series board to your project. The procedure for making pin assignments is described in the tutorial Quartus Prime Introduction Using Verilog/VHDL Designs. Note that an easy way of making the pin assignments when we use the same pin names as in the DE1-SoC User Manual is to import the assignments from a Quartus Prime Setting File with Pin Assignments. For example, the pin assignments for the DE1-SoC board are provided in the DE1_SoC.qsf file, which can be found on Altera s University Program website. Since the system we are designing needs to operate at a 50-MHz clock frequency, we can add the needed timing assignment in the Quartus Prime project. The tutorial Using TimeQuest Timing Analyzer shows how this is done. However, for our simple design, we can rely on the default timing assignment that the Quartus Prime compiler assumes in the absence of a specific specification. The compiler assumes that the circuit has to be able to operate at a clock frequency of 1 GHz, and will produce an implementation that either meets this requirement or comes as close to it as possible. Finally, before compiling the project, it is necessary to add the nios_system.qip file (IP Variation file) in the directory qsys_tutorial/nios_system/synthesis to your Quartus Prime project. Then, compile the project. You may see some warning messages associated with the Nios II system, such as some signals being unused or having wrong bit-lengths of vectors; these warnings can be ignored. 7 Using the Altera Monitor Program to Download the Designed Circuit and Run an Application Program The designed circuit has to be downloaded into the FPGA device on a DE-series board. This can be done by using the Programmer Tool in the Quartus Prime software. However, we will use a simpler approach by using the Altera Monitor Program, which provides a simple means for downloading the circuit into the FPGA as well as running the application programs. A parallel I/O interface generated by the Qsys tool is accessible by means of registers in the interface. Depending on how the PIO is configured, there may be as many as four registers. One of these registers is called the Data register. In a PIO configured as an input interface, the data read from the Data register is the data currently present on the PIO input lines. In a PIO configured as an output interface, the data written (by the Nios II processor) into the Data register drives the PIO output lines. If a PIO is configured as a bidirectional interface, then the PIO inputs and outputs use the same physical lines. In this case there is a Data Direction register included, which determines the direction of the input/output transfer. In our unidirectional PIOs, it is only necessary to have the Data register. The addresses assigned by the Qsys tool are 0x for the Data register in the PIO called switches and 0x for the Data register in the PIO called LEDs, as indicated in Figure 16. Our application task is very simple. A pattern selected by the current setting of slider switches has to be displayed on the LEDs. We will show how this can be done in both Nios II assembly language and C programming language. 23

24 7.1 A Nios II Assembly Language Program Figure 23 gives a Nios II assembly-language program that implements our task. The program loads the addresses of the Data registers in the two PIOs into processor registers r 2 and r 3. It then has an infinite loop that merely transfers the data from the input PIO, switches, to the output PIO, leds..equ switches, 0x equ leds, 0x global _start _start: movia r2, switches movia r3, leds LOOP: ldbio r4, 0(r2) stbio r4, 0(r3) br LOOP.end Figure 23. Assembly-language code to control the lights. The directive.global _start indicates to the Assembler that the label _start is accessible outside the assembled object file. This label is the default label we use to indicate to the Linker program the beginning of the application program. For a detailed explanation of the Nios II assembly language instructions see the tutorial Introduction to the Altera Nios II Soft Processor, which is available on Altera s University Program website. Enter this code into a file lights.s, or use the file provided with this tutorial, and place the file into a working directory. We placed the file into the directory qsys_tutorial\app_software. 7.2 A C-Language Program An application program written in the C language can be handled in the same way as the assembly-language program. A C program that implements our simple task is given in Figure 24. Enter this code into a file called lights.c, or use the file provided with this tutorial, and place the file into a working directory. #define switches (volatile char *) 0x #define leds (char *) 0x void main() { while (1) *leds = *switches; } Figure 24. C-language code to control the lights. 24

25 7.3 Using the Altera Monitor Program The Altera University Program provides the monitor software, called Altera Monitor Program, for use with the DEseries boards. This software provides a simple means for compiling, assembling and downloading of programs onto a DE-series board. It also makes it possible for the user to perform debugging tasks. A description of this software is available in the Altera Monitor Program tutorial. We should also note that other Nios II development systems are provided by Altera, for use in commercial development. Although we will use the Altera Monitor Program in this tutorial, the other Nios II tools available from Altera could alternatively be used with our designed hardware system. Open the Altera Monitor Program, which leads to the window in Figure 25. Figure 25. The Altera Monitor Program main window. 25

26 The monitor program needs to know the characteristics of the designed Nios II system, which are given in the file nios_system.qsys. Click the File > New Project menu item to display the New Project Wizard window, shown in Figure 26, and perform the following steps: 1. Enter the qsys_tutorial\app_software directory as the Project directory by typing it directly into the Project directory field, or by browsing to it using the Browse... button. 2. Enter lights_example (or some other name) as the Project name 3. Select Nios II as the Architecture and click Next, leading to Figure 27. Figure 26. Specify the project directory and name. 26

27 Figure 27. The System Specification window. 4. From the Select a System drop-down box select Custom System, which specifies that you wish to use the hardware that you designed. Click Browse... beside the System description field to display a file selection window and choose the nios_system.sopcinfo file. Note that this file is in the design directory qsys_tutorial. Select the lights.sof file in the Quartus Prime programming (SOF) file field, which provides the information needed to download the designed system into the FPGA device on the DE-series board. Click Next, which leads to the window in Figure

28 Figure 28. Specification of the program type. 5. If you wish to use a Nios II assembly-language application program, select Assembly Program as the program type from the drop-down menu. If you wish to use a C-language program, select C Program. Click Next, leading to Figure Click Add... to display a file selection window and choose the lights.s file, or lights.c for a C program, and click Select. We placed the application-software files in the directory qsys_tutorial\app_software. Upon returning to the window in Figure 29, click Next. 28

29 Figure 29. Specify the application program to use. 7. In the window in Figure 30, ensure that the Host Connection is set to USB-Blaster, the Processor is set to nios2_processor and the Terminal Device is set to jtag_uart. Click Next. 29

30 Figure 30. Specify the system parameters. 8. The Monitor Program also needs to know where to load the application program. In our case, this is the memory block in the FPGA device. The name assigned to this memory is onchip_memory. Since there is no other memory in our design, the Monitor Program will select this memory by default, as shown in Figure 31. Having provided the necessary information, click Finish to confirm the system configuration. When a pop-up box asks you if you want to have your system downloaded onto the DE-series board click Yes. 30

31 Figure 31. Specify where the program will be loaded in the memory. 9. Now, in the monitor window in Figure 25 select Actions > Compile & Load to assemble and download your program. 10. The downloaded program is shown in Figure 32. Run the program and verify the correctness of the designed system by setting the slider switches to a few different patterns. 31

32 Figure 32. Display of the downloaded program. 32

33 Copyright Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, mask work rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. This document is being provided on an as-is basis and as an accommodation and therefore all warranties, representations or guarantees of any kind (whether express, implied or statutory) including, without limitation, warranties of merchantability, non-infringement, or fitness for a particular purpose, are specifically disclaimed. 33

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction Introduction to the Altera SOPC Builder Using Verilog Designs 1 Introduction This tutorial presents an introduction to Altera s SOPC Builder software, which is used to implement a system that uses the

More information

Introduction to the Altera SOPC Builder Using Verilog Design

Introduction to the Altera SOPC Builder Using Verilog Design Introduction to the Altera SOPC Builder Using Verilog Design This tutorial presents an introduction to Altera s SOPC Builder software, which is used to implement a system that uses the Nios II processor

More information

Using the SDRAM on Altera s DE1 Board with Verilog Designs. 1 Introduction. For Quartus II 13.0

Using the SDRAM on Altera s DE1 Board with Verilog Designs. 1 Introduction. For Quartus II 13.0 Using the SDRAM on Altera s DE1 Board with Verilog Designs For Quartus II 13.0 1 Introduction This tutorial explains how the SDRAM chip on Altera s DE1 Development and Education board can be used with

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip 1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based

More information

Making Qsys Components. 1 Introduction. For Quartus II 13.0

Making Qsys Components. 1 Introduction. For Quartus II 13.0 Making Qsys Components For Quartus II 13.0 1 Introduction The Altera Qsys tool allows a digital system to be designed by interconnecting selected Qsys components, such as processors, memory controllers,

More information

SignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1

SignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1 SignalTap II with Verilog Designs For Quartus II 13.1 1 Introduction This tutorial explains how to use the SignalTap II feature within Altera s Quartus II software. The SignalTap II Embedded Logic Analyzer

More information

University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual

University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual Lab 1: Using NIOS II processor for code execution on FPGA Objectives: 1. Understand the typical design flow in

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems NIOS-II SoPC: PART-II 1 Introduction This lab has been constructed to introduce the development of dedicated

More information

Disassemble the machine code present in any memory region. Single step through each assembly language instruction in the Nios II application.

Disassemble the machine code present in any memory region. Single step through each assembly language instruction in the Nios II application. Nios II Debug Client This tutorial presents an introduction to the Nios II Debug Client, which is used to compile, assemble, download and debug programs for Altera s Nios II processor. This tutorial presents

More information

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 04 November 2009 Introduction This tutorial details how to set up and instantiate a Nios II system on Terasic Technologies, Inc. s DE2 Altera

More information

Generic Serial Flash Interface Intel FPGA IP Core User Guide

Generic Serial Flash Interface Intel FPGA IP Core User Guide Generic Serial Flash Interface Intel FPGA IP Core User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Generic

More information

Introduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus Prime 16.1

Introduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus Prime 16.1 Introduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor For Quartus Prime 16.1 1 Introduction This tutorial provides an introduction to simulation of logic circuits using the

More information

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.

More information

Quartus II Introduction Using Verilog Design

Quartus II Introduction Using Verilog Design Quartus II Introduction Using Verilog Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented

More information

Laboratory Exercise 5

Laboratory Exercise 5 Laboratory Exercise 5 Bus Communication The purpose of this exercise is to learn how to communicate using a bus. In the designs generated by using Altera s SOPC Builder, the Nios II processor connects

More information

Using Library Modules in VHDL Designs. 1 Introduction. For Quartus II 12.1

Using Library Modules in VHDL Designs. 1 Introduction. For Quartus II 12.1 Using Library Modules in VHDL Designs For Quartus II 12.1 1 Introduction This tutorial explains how Altera s library modules can be included in VHDL-based designs, which are implemented by using the Quartus

More information

Quartus II Introduction Using Schematic Design

Quartus II Introduction Using Schematic Design Quartus II Introduction Using Schematic Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented

More information

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim Ray Duran Staff Design Specialist FAE, Altera Corporation 408-544-7937

More information

University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA

University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring 2007 Lab 1: Using Nios 2 processor for code execution on FPGA Objectives: After the completion of this lab: 1. You will understand

More information

Using Library Modules in Verilog Designs. 1 Introduction. For Quartus II 13.0

Using Library Modules in Verilog Designs. 1 Introduction. For Quartus II 13.0 Using Library Modules in Verilog Designs For Quartus II 13.0 1 Introduction This tutorial explains how Altera s library modules can be included in Verilog-based designs, which are implemented by using

More information

Using Library Modules in VHDL Designs

Using Library Modules in VHDL Designs Using Library Modules in VHDL Designs This tutorial explains how Altera s library modules can be included in VHDL-based designs, which are implemented by using the Quartus R II software. Contents: Example

More information

Quartus II Introduction Using Verilog Designs. 1 Introduction. For Quartus II 12.0

Quartus II Introduction Using Verilog Designs. 1 Introduction. For Quartus II 12.0 Quartus II Introduction Using Verilog Designs For Quartus II 12.0 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow for

More information

Using Library Modules in VHDL Designs

Using Library Modules in VHDL Designs Using Library Modules in VHDL Designs This tutorial explains how Altera s library modules can be included in VHDL-based designs, which are implemented by using the Quartus R II software. Contents: Example

More information

1 Introduction 2. 2 Background 3. 3 Getting Started 4. 4 Starting a New Project 6. 5 Design Entry Using VHDL Code 13

1 Introduction 2. 2 Background 3. 3 Getting Started 4. 4 Starting a New Project 6. 5 Design Entry Using VHDL Code 13 Quartus Prime Introduction Using VHDL Designs For Quartus Prime 17.0 Contents 1 Introduction 2 2 Background 3 3 Getting Started 4 3.1 Quartus Prime Online Help................................................................................................

More information

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0 Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We

More information

Using Library Modules in Verilog Designs

Using Library Modules in Verilog Designs Using Library Modules in Verilog Designs This tutorial explains how Altera s library modules can be included in Verilog-based designs, which are implemented by using the Quartus R II software. Contents:

More information

NIOS Character. Last updated 7/16/18

NIOS Character. Last updated 7/16/18 NIOS Character Last updated 7/16/18 Character Buffer Block Diagram CLK RST Clock Reset_bar CLK RST PLL 25MHz* CPU Onchip Memory JTAG UART Timer System ID S M S S S S S M S Character Buffer DMA Dual Port

More information

DDR and DDR2 SDRAM Controller Compiler User Guide

DDR and DDR2 SDRAM Controller Compiler User Guide DDR and DDR2 SDRAM Controller Compiler User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Operations Part Number Compiler Version: 8.1 Document Date: November 2008 Copyright 2008 Altera

More information

Estimating Nios Resource Usage & Performance

Estimating Nios Resource Usage & Performance Estimating Nios Resource Usage & Performance in Altera Devices September 2001, ver. 1.0 Application Note 178 Introduction The Excalibur Development Kit, featuring the Nios embedded processor, includes

More information

Nios II Performance Benchmarks

Nios II Performance Benchmarks Subscribe Performance Benchmarks Overview This datasheet lists the performance and logic element (LE) usage for the Nios II Classic and Nios II Gen2 soft processor, and peripherals. Nios II is configurable

More information

SISTEMI EMBEDDED. Building a Nios II Computer from scratch. Federico Baronti Last version:

SISTEMI EMBEDDED. Building a Nios II Computer from scratch. Federico Baronti Last version: SISTEMI EMBEDDED Building a Nios II Computer from scratch Federico Baronti Last version: 20160321 1 Introduction Problem: Build a (NIOS II) Computer tailored to application needs Solutions: Use library

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercise 6 Using C code with the Nios II Processor This is an exercise in using C code with the Nios II processor in a DE-Series computer system. We will use the Intel FPGA Monitor Program software

More information

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to VHDL Design on Quartus II and DE2 Board ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and

More information

Using HAL Device Drivers with the Altera Monitor Program. 1 Introduction. For Quartus II 13.1

Using HAL Device Drivers with the Altera Monitor Program. 1 Introduction. For Quartus II 13.1 Using HAL Device Drivers with the Altera Monitor Program For Quartus II 13.1 1 Introduction This tutorial shows how to develop C programs that use device driver functions for the I/O devices in a Nios

More information

Simulating the ASMI Block in Your Design

Simulating the ASMI Block in Your Design 2015.08.03 AN-720 Subscribe Supported Devices Overview You can simulate the ASMI block in your design for the following devices: Arria V, Arria V GZ, Arria 10 Cyclone V Stratix V In the Quartus II software,

More information

Debugging of Application Programs on Altera s DE-Series Boards. 1 Introduction

Debugging of Application Programs on Altera s DE-Series Boards. 1 Introduction Debugging of Application Programs on Altera s DE-Series Boards 1 Introduction This tutorial presents some basic concepts that can be helpful in debugging of application programs written in the Nios II

More information

SerialLite III Streaming IP Core Design Example User Guide for Intel Stratix 10 Devices

SerialLite III Streaming IP Core Design Example User Guide for Intel Stratix 10 Devices SerialLite III Streaming IP Core Design Example User Guide for Intel Stratix 10 Devices Updated for Intel Quartus Prime Design Suite: 17.1 Stratix 10 ES Editions Subscribe Send Feedback Latest document

More information

Creating projects with Nios II for Altera De2i-150. By Trace Stewart CPE 409

Creating projects with Nios II for Altera De2i-150. By Trace Stewart CPE 409 Creating projects with Nios II for Altera De2i-150 By Trace Stewart CPE 409 CONTENTS Chapter 1 Hardware Design... 1 1.1 Required Features... 1 1.2 Creation of Hardware Design... 1 Chapter 2 Programming

More information

DDR & DDR2 SDRAM Controller Compiler

DDR & DDR2 SDRAM Controller Compiler DDR & DDR2 SDRAM Controller Compiler May 2006, Compiler Version 3.3.1 Errata Sheet This document addresses known errata and documentation issues for the DDR and DDR2 SDRAM Controller Compiler version 3.3.1.

More information

University Program 3 Kit

University Program 3 Kit University Program 3 Kit VLSI Tutorial : LEDs & Push Buttons Version 02.00 System Level Solutions Inc. (USA) 14702 White Cloud Ct. Morgan Hill, CA 95037 2 System Level Solutions Copyright 2003-2005 System

More information

DDR & DDR2 SDRAM Controller Compiler

DDR & DDR2 SDRAM Controller Compiler DDR & DDR2 SDRAM Controller Compiler march 2007, Compiler Version 7.0 Errata Sheet This document addresses known errata and documentation issues for the DDR and DDR2 SDRAM Controller Compiler version 7.0.

More information

Audio core for Intel DE-Series Boards. 1 Core Overview. 2 Functional Description. For Quartus Prime 16.1

Audio core for Intel DE-Series Boards. 1 Core Overview. 2 Functional Description. For Quartus Prime 16.1 Audio core for Intel DE-Series Boards For Quartus Prime 16.1 1 Core Overview The Audio core interacts with the Audio CODEC (encoder/decoder) on the Intel DE-series boards and provides an interface for

More information

High Bandwidth Memory (HBM2) Interface Intel FPGA IP Design Example User Guide

High Bandwidth Memory (HBM2) Interface Intel FPGA IP Design Example User Guide High Bandwidth Memory (HBM2) Interface Intel FPGA IP Design Example Updated for Intel Quartus Prime Design Suite: 18.1.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. High Bandwidth

More information

Using ModelSim to Simulate Logic Circuits for Altera FPGA Devices

Using ModelSim to Simulate Logic Circuits for Altera FPGA Devices Using ModelSim to Simulate Logic Circuits for Altera FPGA Devices This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We show how to perform functional

More information

Active Serial Memory Interface

Active Serial Memory Interface Active Serial Memory Interface October 2002, Version 1.0 Data Sheet Introduction Altera Cyclone TM devices can be configured in active serial configuration mode. This mode reads a configuration bitstream

More information

DDR & DDR2 SDRAM Controller Compiler

DDR & DDR2 SDRAM Controller Compiler DDR & DDR2 SDRAM Controller Compiler August 2007, Compiler Version 7.1 Errata Sheet This document addresses known errata and documentation issues for the DDR and DDR2 SDRAM Controller Compiler version

More information

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T005C: A Qsys based Nios II Reference design with a simple HyperFlash test device using S/Labs' HBMC IP and S/Labs' Memory Region Mapper IP This

More information

Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit)

Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit) Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit) Date: 1 December 2016 Revision:1.0 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY,

More information

SerialLite III Streaming IP Core Design Example User Guide for Intel Arria 10 Devices

SerialLite III Streaming IP Core Design Example User Guide for Intel Arria 10 Devices IP Core Design Example User Guide for Intel Arria 10 Devices Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Quick Start

More information

Tutorial on Quartus II Introduction Using Schematic Designs

Tutorial on Quartus II Introduction Using Schematic Designs Tutorial on Quartus II Introduction Using Schematic Designs (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD

More information

Simulating Nios II Embedded Processor Designs

Simulating Nios II Embedded Processor Designs Simulating Nios II Embedded Processor Designs May 2004, ver.1.0 Application Note 351 Introduction The increasing pressure to deliver robust products to market in a timely manner has amplified the importance

More information

Intel Stratix 10 H-tile Hard IP for Ethernet Design Example User Guide

Intel Stratix 10 H-tile Hard IP for Ethernet Design Example User Guide Intel Stratix 10 H-tile Hard IP for Ethernet Design Example User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents

More information

QUARTUS II Altera Corporation

QUARTUS II Altera Corporation QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?

More information

ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II

ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II This lab manual presents an introduction to the Quartus II Computer Aided Design (CAD) system. This manual gives step-by-step

More information

Customizable Flash Programmer User Guide

Customizable Flash Programmer User Guide Customizable Flash Programmer User Guide Subscribe Latest document on the web: PDF HTML Contents Contents 1. Customizable Flash Programmer Overview... 3 1.1. Device Family Support...3 1.2. Software Support...

More information

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T001: A Qsys based Nios II Reference design with HelloWorld test running in HyperRAM device using S/Labs' HBMC IP This tutorial describes a simple

More information

Nios Embedded Processor Development Board

Nios Embedded Processor Development Board Nios Embedded Processor Development Board July 2003, ver. 2.2 Data Sheet Introduction Development Board Features Functional Overview This data sheet describes the features and functionality of the Nios

More information

Nios II Embedded Design Suite 7.1 Release Notes

Nios II Embedded Design Suite 7.1 Release Notes Nios II Embedded Design Suite 7.1 Release Notes May 2007, Version 7.1 Release Notes This document contains release notes for the Nios II Embedded Design Suite (EDS) version 7.1. Table of Contents: New

More information

April 2002, Version 1.1. Component. PTF File. Component. Component GUI Wizards. Generation. System PTF file Files and Libraries.

April 2002, Version 1.1. Component. PTF File. Component. Component GUI Wizards. Generation. System PTF file Files and Libraries. SOPC Builder April 2002, Version 1.1 Data Sheet Introduction SOPC Builder is a tool for composing bus-based systems out of library components such as CPUs, memory interfaces, and peripherals. SOPC Builder

More information

Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide

Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Quick Start Guide...

More information

Nios Soft Core Embedded Processor

Nios Soft Core Embedded Processor Nios Soft Core Embedded Processor June 2000, ver. 1 Data Sheet Features... Preliminary Information Part of Altera s Excalibur TM embedded processor solutions, the Nios TM soft core embedded processor is

More information

Tutorial on Quartus II Introduction Using Verilog Code

Tutorial on Quartus II Introduction Using Verilog Code Tutorial on Quartus II Introduction Using Verilog Code (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow

More information

Interlaken IP Core (2nd Generation) Design Example User Guide

Interlaken IP Core (2nd Generation) Design Example User Guide Interlaken IP Core (2nd Generation) Design Example User Guide UG-20051 2017.09.19 Subscribe Send Feedback Contents Contents 1 Quick Start Guide... 3 1.1 Directory Structure... 4 1.2 Design Components...

More information

Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software.

Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software. White Paper DSSS Modem Lab Background The direct sequence spread spectrum (DSSS) digital modem reference design is a hardware design that has been optimized for the Altera APEX DSP development board (starter

More information

NIOS II Processor Booting Methods In MAX 10 Devices

NIOS II Processor Booting Methods In MAX 10 Devices 2015.01.23 AN-730 Subscribe MAX 10 device is the first MAX device series which supports Nios II processor. Overview MAX 10 devices contain on-chip flash which segmented to two types: Configuration Flash

More information

FPGAs Provide Reconfigurable DSP Solutions

FPGAs Provide Reconfigurable DSP Solutions FPGAs Provide Reconfigurable DSP Solutions Razak Mohammedali Product Marketing Engineer Altera Corporation DSP processors are widely used for implementing many DSP applications. Although DSP processors

More information

DE2 Board & Quartus II Software

DE2 Board & Quartus II Software January 23, 2015 Contact and Office Hours Teaching Assistant (TA) Sergio Contreras Office Office Hours Email SEB 3259 Tuesday & Thursday 12:30-2:00 PM Wednesday 1:30-3:30 PM contre47@nevada.unlv.edu Syllabus

More information

Laboratory Exercise 8

Laboratory Exercise 8 Laboratory Exercise 8 Introduction to Graphics and Animation The purpose of this exercise is to learn how to display images and perform animation. We will use the Nios II processor, in the pre-build DE-series

More information

Debugging Nios II Systems with the SignalTap II Logic Analyzer

Debugging Nios II Systems with the SignalTap II Logic Analyzer Debugging Nios II Systems with the SignalTap II Logic Analyzer May 2007, ver. 1.0 Application Note 446 Introduction As FPGA system designs become more sophisticated and system focused, with increasing

More information

Intel Stratix 10 H-Tile PCIe Link Hardware Validation

Intel Stratix 10 H-Tile PCIe Link Hardware Validation Intel Stratix 10 H-Tile PCIe Link Hardware Validation Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Intel Stratix 10 H-Tile PCIe* Link Hardware Validation... 3 1.1.

More information

2.5G Reed-Solomon II MegaCore Function Reference Design

2.5G Reed-Solomon II MegaCore Function Reference Design 2.5G Reed-Solomon II MegaCore Function Reference Design AN-642-1.0 Application Note The Altera 2.5G Reed-Solomon (RS) II MegaCore function reference design demonstrates a basic application of the Reed-Solomon

More information

DSP Development Kit, Stratix II Edition

DSP Development Kit, Stratix II Edition DSP Development Kit, Stratix II Edition August 2005, Development Kit version 1.1.0 Errata Sheet This document addresses known errata and documentation changes the DSP Development Kit, Stratix II Edition

More information

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T001A: A Qsys based Nios II Reference design with a simple self test of the HyperFlash and HyperRAM device using S/Labs' HBMC IP This tutorial

More information

9. Functional Description Example Designs

9. Functional Description Example Designs November 2012 EMI_RM_007-1.3 9. Functional Description Example Designs EMI_RM_007-1.3 This chapter describes the example designs and the traffic generator. Two independent example designs are created during

More information

Embedded Systems. "System On Programmable Chip" Design Methodology using QuartusII and SOPC Builder tools. René Beuchat LAP - EPFL

Embedded Systems. System On Programmable Chip Design Methodology using QuartusII and SOPC Builder tools. René Beuchat LAP - EPFL Embedded Systems "System On Programmable Chip" Design Methodology using QuartusII and SOPC Builder tools René Beuchat LAP - EPFL rene.beuchat@epfl.ch 3 Tools suite Goals: to be able to design a programmable

More information

AN 797: Partially Reconfiguring a Design on Intel Arria 10 GX FPGA Development Board

AN 797: Partially Reconfiguring a Design on Intel Arria 10 GX FPGA Development Board AN 797: Partially Reconfiguring a Design on Intel Arria 10 GX FPGA Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents Partially Reconfiguring

More information

Laboratory Exercise 7

Laboratory Exercise 7 Laboratory Exercise 7 Using Interrupts with C code The purpose of this exercise is to investigate the use of interrupts for the Nios II processor, using C code. To do this exercise you need to have a good

More information

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents

More information

MAX 10 User Flash Memory User Guide

MAX 10 User Flash Memory User Guide MAX 10 User Flash Memory User Guide Subscribe Last updated for Quartus Prime Design Suite: 16.0 UG-M10UFM 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents MAX 10 User Flash Memory

More information

The development board used in this class is ALTERA s DE The board provides the following hardware:

The development board used in this class is ALTERA s DE The board provides the following hardware: Lab 1 The goal of this lab is to get familiar with the mechanics of designing digital systems using VHDL and ALTERA s FPGAs. The development board used in this class is ALTERA s DE2-115. The board provides

More information

Nios II Custom Instruction User Guide Preliminary Information

Nios II Custom Instruction User Guide Preliminary Information Nios II Custom Instruction User Guide Preliminary Information 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com Copyright 2008 Altera Corporation. All rights reserved. Altera,

More information

Cyclone II FPGA Family

Cyclone II FPGA Family ES-030405-1.3 Errata Sheet Introduction This errata sheet provides updated information on Cyclone II devices. This document addresses known device issues and includes methods to work around the issues.

More information

Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents

More information

Excalibur Solutions DPRAM Reference Design

Excalibur Solutions DPRAM Reference Design Excalibur Solutions DPRAM Reference Design August 22, ver. 2.3 Application Note 173 Introduction The Excalibur devices are excellent system development platforms, offering flexibility, performance, and

More information

Digital Systems Design

Digital Systems Design Digital Systems Design Custom Components for NIOS II Systems Dr. D. J. Jackson Lecture 15-1 Qsys Components A Qsys component includes the following elements: Information about the component type, such

More information

Excalibur Solutions Using the Expansion Bus Interface. Introduction. EBI Characteristics

Excalibur Solutions Using the Expansion Bus Interface. Introduction. EBI Characteristics Excalibur Solutions Using the Expansion Bus Interface October 2002, ver. 1.0 Application Note 143 Introduction In the Excalibur family of devices, an ARM922T processor, memory and peripherals are embedded

More information

25G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

25G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide 25G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. 25G

More information

Excellent for XIP applications"

Excellent for XIP applications Synaptic Labs' Tiny System Cache (CMS-T003) Tutorial T001A: Boot from On-chip Flash: A Qsys based Nios II Reference design based on S/Labs' Tiny System Cache IP and Intel's On-chip Flash Memory Controller

More information

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T005B: A Qsys based Nios II Reference design with a simple application running from HyperFlash and HyperRAM device using S/Labs' HBMC IP. The HyperRAM

More information

Laboratory Exercise 8

Laboratory Exercise 8 Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount

More information

AN 839: Design Block Reuse Tutorial

AN 839: Design Block Reuse Tutorial AN 839: Design Block Reuse Tutorial for Intel Arria 10 FPGA Development Board Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents

More information

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents Partially Reconfiguring

More information

Nios DMA. General Description. Functional Description

Nios DMA. General Description. Functional Description Nios DMA January 2003, Version 1.1 Data Sheet General Functional The Nios DMA module is an Altera SOPC Builder library component included in the Nios development kit. The DMA module allows for efficient

More information

Simple Excalibur System

Simple Excalibur System Excalibur Solutions Simple Excalibur System August 2002, ver. 1.0 Application Note 242 Introduction This application note describes a simple Excalibur system design that consists of software running on

More information

Intel MAX 10 User Flash Memory User Guide

Intel MAX 10 User Flash Memory User Guide Intel MAX 10 User Flash Memory User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Intel MAX 10 User Flash Memory

More information

System Cache (CMS-T002/CMS-T003) Tutorial

System Cache (CMS-T002/CMS-T003) Tutorial Synaptic Labs' System Cache (CMS-T002/CMS-T003) Tutorial T006A: Arduino Style Nios II/e embedded system: A Qsys Nios II Reference design based on S/Labs' HBMC IP and S/Labs' System Cache for accelerating

More information

Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V and Cyclone V Devices

Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V and Cyclone V Devices Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V and Cyclone V Devices Subscribe Feedback The Altera Transceiver Reconfiguration Controller dynamically reconfigures

More information

White Paper AHB to Avalon & Avalon to AHB Bridges

White Paper AHB to Avalon & Avalon to AHB Bridges White Paper AHB to & to AHB s Introduction For years, system designers have been manually connecting IP peripheral functions to embedded processors, taking anywhere from weeks to months to accomplish.

More information

AN 818: Static Update Partial Reconfiguration Tutorial

AN 818: Static Update Partial Reconfiguration Tutorial AN 818: Static Update Partial Reconfiguration Tutorial for Intel Stratix 10 GX Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Static

More information