HyperBus Memory Controller (HBMC) Tutorial

Size: px
Start display at page:

Download "HyperBus Memory Controller (HBMC) Tutorial"

Transcription

1 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 reference design for S/Labs HBMC IP targeted specifically to Intel Cyclone 10LP evaluation board or devboards GmbH HyperMAX 10M25 and 10M50 boards. Most HBMC customers using any of these boards board will want to start with this tutorial. This tutorial describes key aspects of how to configure a.qsys reference project and then walks through the process of generating and compiling that.qsys project. This tutorial then describes how to compile the example Nios II source code, integrate the firmware into the FPGA bitstream and then run the reference design on the development board. page 1

2 Table of Contents Set-Up Requirements: Create Quartus Prime Hardware Design Project : Install S/Labs' HBMC Qsys Component into the project IP Folder Create Qsys/Nios II processor design Creating the reference Qsys project Adding Components to the reference project Adding S'Labs Hyperbus Controller IP Adding Nios II Embedded processor Adding Avalon-MM Pipeline Bridge Adding Jtag Uart Adding PIO Led connection Wiring the core components Configuring the Nios II processor Generating the Qsys Design Completing the Quartus project Adding Files to the Quartus Project Settings the pin locations and pin constraints Preparing the firmware Open the NIOS II Software Built Tools for Eclipse Create a simple application and BSP Configure the Board Support Package (BSP) Generate the BSP and clean the project Build the Nios II Application Program the FPGA Bitstream into the FPGA device Run the HelloWorld application from within Nios II SBT...37 page 2

3 Set-Up Requirements: Step 1: Obtain core materials 1. Download and install Quartus Prime Standard/Lite 17.0 on your PC, please ensure that your PC meets the required minimum specification. 2. For Intel's C10LP Evaluation board : Create a folder/directory for your work. We suggest: C:\C10_lab\ Download reference design HelloWorld_Project_C10LP_final from: /HelloWorld_Project_C10LP_final.zip Extract to: C:\C10_lab\ This zip file contains a full working example of the Quartus project as described in this tutorial. These files and folder may act as reference when building this project. 3. For devboards HyperMAX board : Create a folder/directory for your work. We suggest: C:\HyperMAX_lab Download reference design HelloWorld_Project_HM10M25_final from: /HelloWorld_Project_HM10M25_final.zip Extract to: C:\HyperMAX_lab\ page 3

4 Step 2: License Setup 1. Next you need to apply for Synaptic Labs' HyperBus Memory Controller license. You can skip this step if you already installed the license at some earlier stage. Free enrollment can be obtained from: 2. Synaptic Labs offers two Installation Guides that: a. Begin by preparing you to enroll to receive a Basic Edition (OpenCore) license b. Guide you on how to install the license file you will receive after enrolment c. Guide you on how to install the Qsys components that you will receive after enrollment 3. Please download and read one of those Installation Guides: a. Developers familiar with installing third party IP into Quartus will probably prefer the streamlined: HBMC IP Installation Guide for Experience Developers. b. All other developers should download the: HBMC IP Installation Guide with Detailed Step-by-Step Instructions. page 4

5 1. Create Quartus Prime Hardware Design Project Synaptic Labs' HyperBus Memory Controller (HBMC) Reference design projects includes the following files and directories: Now you are going to create a Quartus Prime project with a setting for the Cyclone 10 LP device on the board. If not already open, start the Quartus Prime software by double-clicking on the icon on the desktop From the top menu select, File -> New Project Wizard and select Next page 5

6 Enter the path to the folder you created and a project name. We suggest a path of C:\C10Lab\ and project name of HelloWorld_C10LP HelloWorld_Project_C10LP HelloWorld_Project_C10LP Select Next If prompted, allow the tool to create a new folder Select Empty project. Select Next. Add files Select Next. Device -> Select: Family: Cyclone 10 LP Device: 10CL025YU256I7G You can use the filters to make this easier Package: UFPGA Pin Count: 256 Speed grade: 7 Or use the name filter Select Finish The Quartus Prime project is now ready to build an IP system and compile the project. The HyperMAX 10M25 board employs the 10M25DAF256C7G device. The HyperMAX 10M50 board employs the 10M50DAF256I7G device. The Intel C10LP Evaluation board employs the 10CL025YU256I7G device page 6

7 1.1: Install S/Labs' HBMC Qsys Component into the project IP Folder 1. In this tutorial we assume that S/Labs HyperBus Memory Controller (HBMC) will be located in the Project directory. a. Other Qsys component installation methods are described in the above mentioned installation Guides. 2. Download the latest version of Synaptic Labs' HBMC IP from: 3. For Intel's C10LP Evaluation board : Create a new folder inside the project directory. Name this folder ip Extract to the project/ip directory : C:\C10_lab\HelloWorld_Project_C10LP\ip 4. For devboards HyperMAX board : Create a new folder inside the project directory. Name this folder ip Extract to the project/ip directory : C:\C10_lab\HelloWorld_Project_HM10M25\ip page 7

8 2. Create Qsys/Nios II processor design Now you will build a basic system using the Qsys tool. The system will contain: Nios II /f CPU Synaptic Labs' HyperBUS memory controller IP JTAG UART peripheral PIO (connected to LED) You will need a license for the Hyperbus memory controller to build the system, if you haven t installed the license please refer to the setup section at the beginning of this tutorial. In essence, you will be building a system that looks like this: Nios II SLL HBMC IP Jtag Uart Avalon-MM Bridge PIO This system will have a processor and a minimal number of standard embedded peripherals that enable it to run and communicate/interact with the outside world. Throughout this lab as we add components, it can make things easier to read and check connectivity if you re-order the components. The screenshots provided may be organized to make the connections more obvious, but do not have to be ordered that way. Once the hardware is built you will create a simple software project from a template and run it on the board. page 8

9 3. Creating the reference Qsys project In the menu bar of Quartus Prime, select Tools Qsys Save the Qsys project. Select File Save as Type hypernios.qsys as the file name Click Save 3.1 Adding Components to the reference project The reference Qsys project in this tutorial employs a NiosII/f processor, Synaptic Labs' HyperBus Memory Controller (HBMC) IP, and various peripherals such as Altera s JTAG UART as illustrated below. All these Qsys components are connected together. page 9

10 3.2 Adding S'Labs Hyperbus Controller IP Locate and select Synaptic Labs' Hyperbus controller component in the IP Library. This can be found at Library Synaptic Labs Memory Hyperbus S/Labs HyperBus Memory Controller The configuration wizard will open. page 10

11 In the "Master Configuration" tab The open-core edition of SLL HBMC IP only supports HyperRAM. The full edition of SLL HBMC IP supports any combination of HyperFlash and HyperRAM. Both editions offer preconfigured memory options for supported COTS FPGA development boards. The full edition of SLL HBMC IP also includes the option to manually configure the HyperBus devices. To configure the project to just use HyperRAM on the Intel C10LP/HyperMAX board: The FPGA board type field is set to either: Devboards - HyperMAX 10M25 (HyperRAM) or Devboards - HyperMAX 10M50 (HyperRAM) or Intel Cyclone 10LP Evaluation Kit (HyperRAM) To configure the project to use both HyperFlash and HyperRAM on the HyperMAX board: The FPGA board type field is set to either: Devboards - HyperMAX 10M25 (HyperFlash and HyperRAM) or Devboards - HyperMAX 10M50 (HyperFlash and HyperRAM) Currently, Intel's Cyclone 10LP evaluation board does not contain a HyperFlash device. S/Labs recommends using the HyperRAM only configuration if this is your first time through the tutorial. Leave everything as default and click Finish to add the IP to the system contents. reported error messages. Ignore any page 11

12 3.3 Adding Nios II Embedded processor Locate and select the Nios II processor in the IP Library, this can be done by entering Nios in the search bar and double clicking on the Nios II processor. The configuration wizard will open. Select the Nios II/f core and click on FINISH Once completed there will be some red Error messages in the Qsys messages tab, these are caused by the Nios II IP requiring settings for system memory; we will set these correctly after wiring the design page 12

13 3.4 Adding Avalon-MM Pipeline Bridge Locate and select the Avalon-MM Pipeline Bridge in the IP Library, this can be done by entering Bridge in the search bar and double clicking on the Avalon-MM Pipeline Bridge. This step is important so that we will be able to connect any peripherals to the Nios II processor over this bridge, while keeping the interconnect resources to a minimum. Tick [x] Use automatically determine address width. Leave everything else as default. Click on FINISH page 13

14 3.5 Adding Jtag Uart Locate and select the JTAG_Uart in the IP Library, this can be done by entering Uart in the search bar and double clicking on the JTAG_Uart. Select a Buffer depth of 1024 bytes as shown above. Leave everything else as default. Click on FINISH page 14

15 3.6 Adding PIO Led connection Locate and select the PIO (Parallel IO) in the IP Library, this can be done by entering Pio in the search bar and double clicking on the PIO (Parallel IO) component. For now you just want to drive the 4 LEDs on the board, so set for 4 bit width and select Output direction. Leave everything else as default. Click on FINISH page 15

16 3.7 Wiring the core components Input Clock source connections The Clock Source component is required in every Qsys system and can provide the clock and reset signal. The clock from this IP block will be the 50MHz clock coming into the Cyclone 10 device from the oscillator on the board; you will connect this into the clock input of S/Labs Hyperbus Controller (in_clk ) component. connect up the clk signal of the clock source to the clock input of S/Labs Hyperbus Controller (in_clk ). connect up the clk_reset of the clock source to the reset input of S/Labs Hyperbus Controller (i_ext_rstn ). Avalon Clock/Reset source connections S/Labs HBMC component contains an internal PLL. This will generate an output clock (o_av_out_clk) and and output reset (o_av_out_rstn) to drive all components in the Qsys system. The frequency on this clock can be configured in S/Labs HBMC IP directly. Connect S/Labs Hyperbus Controller o_av_out_clk Clock output to the clk (clock) inputs on the Nios II processor, Avalon pipeline bridge, JTAG UART and PIO components. Connect S/Labs Hyperbus Controller o_av_out_clk Clock output to the i_iavs0_clk (clock) input on S/Labs Hyperbus Controller. The o_av_out_clk signal connection is shown in red in the figure below. Connect S/Labs Hyperbus Controller o_av_out_rstn Reset output to the reset (reset) inputs on the Nios II processor, Avalon pipeline bridge, JTAG UART and PIO components. Connect S/Labs Hyperbus Controller o_av_out_rstn Reset output to the i_iavs0_rstn (Reset) input on S/Labs Hyperbus Controller. The o_av_out_rstn signal connection is shown in blue in the figure below. Nios II debug reset source connections When the debugger resets the Nios II processor, it is good if the rest of the system resets as well. So you should also connect the Nios II debug_reset_request (reset Output) to the rest inputs of the other components. The Nios II debug_reset_request signal connecttion is shown in green in the figure below. Do not connect the Nios II debug reset to S/Labs Hyperbus Controller (i_ext_rstn) reset input. page 16

17 NIOS II Avalon Instruction, Data master connections Connect the Nios II Avalon Instruction Master to S/Labs HBMC Avalon-MM Slave (iavs0) and Nios II debug_mem_slave. Connect the Nios II Avalon Data Master to S/Labs HBMC Avalon-MM Slave (iavs0), Nios II debug_mem_slave and Avalon pipeline bridge slave (s0). Avalon-MM bridge master connections Connect the Avalon-MM pipeline bridge Master to the avalon_jtag_slave (Avalon Memory Mapped Slave) port on the JTAG UART. Connect the Avalon-MM pipeline bridge Master to the s1 (Avalon Memory Mapped Slave) port on the PIO component. Nios II interrupt connections Finally, you need to connect the irq (interrupt sender) of the JTAG UART to the Nios II processor so that the UART can interrupt the Nios II processor when required. Your system should now look like this: page 17

18 All of the connections made so far are internal to the system. This is done by double clicking on the Conduit connections in the export column. This makes the signals visible externally at the top level of the generated Qsys system. Once visible they can then be connected to external pins or other system modules You need to connect the conduit signals of S/Labs HBMC component and connect them to the external pins of the Cyclone 10 device. Double clicking on the Conduit connections in the export column. You need to connect the outputs of the PIO component and connect them to the external pins of the Cyclone 10 device. Double clicking on the Conduit connections in the export column. page 18

19 Assigning base addresses Now you need to correctly set all the base addresses of each component in the memory map. In this example, we are setting the HyperRAM memory base address to 0x0. In the Base column, double click on S/Labs HBMC Avalon MM Slave. Set the respective field to 0. Click on the lock icon to lock this memory region and prevent it from being changed when automatically assigning base addresses. Lock icon Next, we need to set all the base addresses of each component in the memory map Fortunately, Qsys provides a mechanism for automatically assigning all the component base addresses and correctly building the Nios II memory map. Go to the Qsys menu and select System Assign Base Addresses. You can do the same for assigning the IRQ interrupt numbers. Go to the Qys menu and select System Assign Interrupt Numbers. page 19

20 3.8 Configuring the Nios II processor In this example, the Nios II/f Reset and Exception vectors are mapped to the HyperRAM as illustrated below. This means that the Nios II/f processor will look for the boot code and exception handling / interrupt code in the HyperRAM memory. As illustrated below, the instruction and data caches of the Nios II/f core have both been set to 4Kbytes in size to accelerate software performance. The instruction and data caches have both been configured with their burstcount signal enabled so that both caches issue burst memory transfer requests. This is done because: (a) the HyperBus protocol employs burst memory transfer requests with closed page mode of operation; and (b) SLL s HBMC employs an Avalon interface with burst mode of operation. page 20

21 4. Generating the Qsys Design Once the Qsys project has been correctly configured, press the [ Generate HDL ] button on the bottom right hand side of the Qsys window. In the Synthesis section, set the Create HDL design files for synthesis field to Verilog. In the Simulation section, set the Create simulation model field to None. Then click on the [ Generate ] button. You may see a Save System window. Click the [ Close ] button to close the save window. This should take a minute or so to complete. There maybe a few warnings but we can ignore these for now. Generating the.qsys project updates the.sopc file which will be used by the Nios II Software Build Tools (SBT) environment. Click the [ Close ] button to close the generate window. You may want to close the Qsys window. page 21

22 5. Completing the Quartus project You should get an information window stating that you need to add the.qip/.sip files (just generated by Qsys) to your project. (With newer versions of Quartus Prime you have to manually add the.qip file Qsys has just generated into the files list). This ensures that Quartus Prime builds the design correctly, and if later on you update and re-generate the Qsys system then Quartus Prime will automatically recognize this and rebuild as required. Select OK to close the dialog box. On the top level menu select 5.1 Adding Files to the Quartus Project Project-> Add/Remove Files in Project Click on the Browse button and select the hypernios.qip file (C:\C10Lab\HelloWorld_Poject_C10LP\hypernios\synthesis). Double click on the file or select Open to add the file to the list. Close the settings dialog window by clicking on OK You have now used Qsys to create an IP module that contains a Nios II processor and small peripheral set. Now you need to add this IP module into the Quartus Prime top-level file just as you would have to with any other module or block of RTL. This is normally created manually, you can copy the top-level entity/architecture from the generated QSys top-level file. Hint: If you want to create your own top level file Qsys has already created much of what you need; browse to HelloWorld_Poject_C10LP\hypernios\synthesis and open hypernios.vhd or hypernios.v. In this file, you will see the entity declaration for the Qsys IP module which you can then cut/paste into the top level file. page 22

23 To save time we have created a simple top-level project file; this files creates the top-level, instantiates the QSys IP component and maps this instantiation to top level signals. Copy the file NIOS_HyperRAM.vhd from the HelloWorld_Project_C10LP_final reference design folder. (C:\C10Lab\ HelloWorld_Project_C10LP_final \) into the Quartus Prime project folder C:\C10Lab\HelloWorld_Project_C10LP\). In Quartus Prime, on the top level menu select Project-> Add/Remove Files in Project Click on the Browse button and select the NIOS_HyperRAM.vhd file. Double click on the file or select Open to add the file to the list. The file should now appear in the Project Navigator->Files window. Double click on it or use File->Open to view the file in the editor. Review the contents of the file. Everything is now in place, but Quartus Prime needs to know what to build. Go to the Project Navigator and select Files from the drop-down list. Right click on the file NIOS_HyperRAM.vhd and select Set as Top-Level Entity page 23

24 5.2 Settings the pin locations and pin constraints For this lab, your top-level design has four types of signals defined: Clock (input) Reset (input) 4 LEDs (outputs) HyperRAM deive signals To get this design really working on the board you need to define how these signals should be connected to the FPGA pins From the schematics of the Cyclone10 LP evaluation board you can see that: The c10_clk50m is a 50MHz reference clock on the board (recall you set this when you configured the PLL within QSys). From the schematic this pin is E1. The c10_resetn signal is connected to pin J15 of the FPGA. the 4 LEDs on the board are connected to 4 pins on the FPGA: o user_led3 connects to pin J13 o user_led2 connects to pin J14 o user_led1 connects to pin K15 o user_led0 connects to pin L14 the HyperRAM signals are conneced to the following pins on the FPGA Pin Name on Board hbus_dq[0] hbus_dq[1] hbus_dq[2] hbus_dq[3] hbus_dq[4] hbus_dq[5] hbus_dq[6] hbus_dq[7] hbus_cs2n hbus_rstn hbus_rwds hbus_clk0p hbus_clk0n Pin location on FPGA T12 T13 T11 R10 T10 R11 R12 R13 P9 N9 T14 P14 R14 Pin IO Standard 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V 1.8V page 24

25 You can make these connections in Quartus Prime in a number of different ways, but one of the easiest is via a graphical tool called the Pin Planner. From the Quartus menu, select Assignments Pin Planner you should then see the following window: In the middle of the screen you can see a physical view of the FPGA pins on the U256 package. At the bottom of the screen you can see the pins that Quartus Prime has identified in our design from the top level design file, namely Clk, Reset, LEDs, Hyperbus Signals etc (you may also see 4 pins for the JTAG interface but you can ignore these). You can see that Quartus Prime may already assigned these pins (Fitter location), you now need to edit each of these signals and assign them correctly in the Location column. page 25

26 Once you have assigned the pins close the pin planner and re-build the project. Go to the Quartus menu and select Processing -> Start Compilation, OR go to the button toolbar and click on the start compilation button Once the build is complete you will have a sof file in the output folder: C:\C10Lab\HelloWorld_Poject_C10LP\output_files\c10Lab_time_limited.sof This file will be used to configure the FPGA on the development board for the next exercise. page 26

27 6. Preparing the firmware 6.1 Open the NIOS II Software Built Tools for Eclipse In Quartus Prime, go to the menu bar and select Tools NIOS II Software Built Tools for Eclipse. Click the [Browse ] button. A new file selector window will open. In this tutorial we are going to select the software folder located inside the project folder as the workspace. Create a software folder incide the Quartus project. Then click the [ OK ] button. Be sure to leave the [ ] Use this as the default field unticked. Click the [ OK ] button. page 27

28 6.2 Create a simple application and BSP The software folder in the reference project is empty. This is because problems can be experienced when moving the Eclipse Workshop folder between Windows and Linux Systems. We need to create a Nios II application, and Nios II board support package for that Nios II application: In the Eclipse window, go the menu bar and select: File New NIOS II Application and BSP from Template A new window will pop up: (most of the fields below will initially be empty) hypernios.sopcinfo page 28

29 In the Target hardware information, click on the [ ] button A file browser window will open. Locate and select the hypernios.sopcinfo file generated by Qsys and stored in the project directory. Click [Open]. It may take around 30 seconds for the Eclipse application to parse the.sopcinfo file. Select a Project name. In this example, we are using HelloWorld as the project name. Ensure that: [x] Use default location is ticked. We now need to select a template from the Project Template list. In this example, select the Hello World template. Press the [ Finish ] button to complete the current step. The Nios II SBT will now generate: a HelloWorld application folder that contains the hello_world.c file. a HelloWorld_bsp folder that contains the Nios II Board Support Package (BSP) hardware abstraction layer (HAL). page 29

30 6.3 Configure the Board Support Package (BSP) The Nios II BSP must be configured before we can compile the source code. In the Project Explorer tab, right click on: HelloWorld_bsp Nios II -> BSP Editor... page 30

31 In the Main Tab of the BSP editor, in the panel on the left hand side, select: Settings Common Leave the sys_clk_timer field to none This is used to generate a recurring system clock interrupt for the hardware abstraction layer. Leave the timestamp_timer field to none This field is used to enable the hardware abstraction layer to perform fine precision timing. The Newlib ANSI C standard library can be configured as small or normal Generally, when mapping code and data to on-chip memory: Tick the [x] Enable small C library field to reduce the size of the executable code generated by the hardware abstraction layer (HAL). Ticking this option also reduces the functionality and performance of the HAL. Please note that the inbuilt memset() and memcpy() routines will be very slow. Generally, when mapping code and data to HyperRAM and/or HyperFlash: Untick the [ ] Enable small C library field to increase the functionality and performance of the executable code generated by the hardware abstraction layer (HAL). The inbuilt memset() and memcpy() routines will achieve good performance. However, the executable code will be considerably larger. We recommend the UnTick the [ ] Enable small C library for this specific tutorial. page 31

32 In the Main Tab of the BSP editor, in the panel on the left hand side, select: Settings Advanced hal.linker For the purpose of this tutorial, the following configuration will generally work: Tick [x] allow_code_at_reset Tick [x] enable_alt_load Tick [x] enable_alt_load_copy_rodata Tick [x] enable_alt_load_copy_rwdata Tick [x] enable_alt_load_copy_exception UnTick [ ] enable_exception_stack However, this specific configuration may not be the best configuration for your project s needs. Please refer to Altera s documentation for detailed information on how to setup the hal.linker fields: Generic Nios II Booting Methods User Guide, UG-20001, df page 32

33 Select the Linker Script Tab of the BSP editor. For this tutorial example, we are going to: Map the reset vector (.reset) to the HyperRAM ( sll_hyperbus_controller_top_0. This is generated by Qsys and depends on the location of the Nios II reset vector. Map the exception vector (.exceptions) to the HyperRAM (sll_hyperbus_controller_top_0). This is generated by Qsys and depends on the location of the Nios II exception vector. Map the instruction code (.text) in the HyperRAM (sll_hyperbus_controller_top_0) Map all other data regions (.bss,.heap,.rodata,.rwdata,.stack) to the HyperRAM (sll_hyperbus_controller_top_0) This will map all memory regions generated by the GCC tools to the HyperRAM memory. For more information see: Nios II Gen2 Software Developer's Handbook, NII5V2Gen2, Section 5, Nios II Software Build Tools Now: Click on the [ Exit ] button on the bottom right hand corner of the BSP Editor window. Then click on the [Yes, Save] button on the Save Changes window to save the BSP settings. page 33

34 6.4 Generate the BSP and clean the project The software developer must re-generate the BSP every time the Qsys project is regenerated. This ensures that the device drivers and addresses of peripherals are reflected correctly in the hardware abstract library. To (re)generate the BSP: Go to the Nios II eclipse window. Right click on HelloWorld_bsp project then select Nios II then select Generate BSP. Right click on the HelloWorld_bsp project then select Clean Project to delete any intermediate files generated by the gcc compiler for this application library. Right click on the HelloWorld project then select Clean Project to delete any intermediate files generated by the gcc compiler for this application folder. 6.6 Build the Nios II Application We now want to run the compiler and linker: Go to the Nios II eclipse window. Go to the menu bar and select: Project ->Build All If the project produces warning / error messages, you may need to build the project twice. The HelloWorld executable firmware (.ELF) is now generated. The.ELF can be downloaded directly into HyperRAM using the Nios II Debugger. page 34

35 7. Program the FPGA Bitstream into the FPGA device Connect the HyperMAX/Intel C10LP Evaluation kit to the USB port of your computer Open the Quartus Prime window In the menubar, click on Tools then Programmer to start the Altera Programmer Click on Hardware Setup. A new window will open. Double Click on the HyperMax (or Intel C10LP Evaluation kit) device, then click the [ Close ] button. If the NIOS_HyperRAM_time_limited.sof is not already selected: Click Add File... in the programmer window. Go to the output_files folder Double click on NIOS_HyperRAM_time_limited.sof Click the [ Start ] button and the FPGA bitstream will be programmed into the SRAM configuration memory of the FPGA device. A window called OpenCore Plus Status should open. page 35

36 8. Run the HelloWorld application from within Nios II SBT Select the Nios II Software Built Tools for Eclipse window. Right click on Benchmark Run As Run Configurations... page 36

37 A new window will open Make sure the Project name: field says HelloWorld. Select the Target Configuration tab. Press the [Refresh Connection] button to detect the Nios II processor. Tick the [Ignore mismatched System ID] field. Tick the [Ignore mismatched System timestamp] field. Press the [ Run ] button to download the firmware from the desktop and copy it directly into HyperRAM and then run the firmware from HyperRAM. Messages similar to the one below are displayed in the Nios II Console Window. page 37

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

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

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

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T002A: A Qsys based Nios II reference design using Intel s MSGDMA to benchmark memory copy operations on the HyperRAM device using S/Labs' HBMC

More information

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T002A: A Qsys based Nios II reference design using Intel s MSGDMA to benchmark memory copy operations on the HyperRAM device using S/Labs' HBMC

More information

Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial

Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T001B: A Qsys based Nios II reference design with a simple Memory Bandwidth Benchmark of the HyperRAM device using S/Labs' HBMC IP This tutorial

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

Synaptic Labs HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices

Synaptic Labs HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices Benjamin Gittins Chief Technical Officer Mbl: +995 551 026 588 b.gittins@synaptic-labs.com Synaptic Laboratories Ltd. Company ID 41272593 www.synaptic-labs.com info@synaptic-labs.com Monday, July 16, 2018

More information

Synaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices

Synaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices Benjamin Gittins Chief Technical Officer Mbl: +995 551 026 588 b.gittins@synaptic-labs.com Synaptic Laboratories Ltd. Company ID 41272593 www.synaptic-labs.com info@synaptic-labs.com Monday, July 16, 2018

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

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

Synaptic Labs' Hyperbus Controller Design Guidelines

Synaptic Labs' Hyperbus Controller Design Guidelines Synaptic Labs' Hyperbus Controller Design Guidelines Table of Contents Introduction...1 1.0 Synaptic Labs' HBMC Controller IP Qsys Component...3 2.0 Typical S/Labs HBMC connection in Qsys...4 3.0 Typical

More information

Synaptic Labs. HyperFlash Programmer for the Nios II Ecosystem. Introduction

Synaptic Labs. HyperFlash Programmer for the Nios II Ecosystem. Introduction Synaptic Labs HyperFlash Programmer for the Nios II Ecosystem User Manual An easy to use solution for programming the HyperFlash memory with Nios II based projects. Introduction Synaptic Labs HyperFlash

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

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

Synaptic Labs' AXI HyperBus Memory Controller (HBMC) IP for Xilinx FPGA Devices Tutorial

Synaptic Labs' AXI HyperBus Memory Controller (HBMC) IP for Xilinx FPGA Devices Tutorial Synaptic Labs' AXI HyperBus Memory Controller (HBMC) IP for Xilinx FPGA Devices Tutorial X-T001A: A Vivado based MicroBlaze Reference design with a simple application running on a HyperRAM device using

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

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

AN 812: Qsys Pro System Design Tutorial

AN 812: Qsys Pro System Design Tutorial AN 812: Qsys Pro System Design Tutorial AN-812 2017.08.15 Subscribe Send Feedback Contents Contents Qsys Pro System Design Tutorial... 3 Hardware and Software Requirements... 4 Download and Install the

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

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

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

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

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

Synaptic Labs' AXI-Hyperbus Controller Design Guidelines

Synaptic Labs' AXI-Hyperbus Controller Design Guidelines Synaptic Labs' AXI-Hyperbus Controller Design Guidelines Table of Contents Introduction...3 1.0 Set-Up Requirements...4 Step 1: Obtain core materials...4 Step 2: License Setup...4 Step 3: Install AXI HBMC

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

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial Embedded Processor Hardware Design October 6 t h 2017. VIVADO TUTORIAL 1 Table of Contents Requirements... 3 Part 1:

More information

Tutorial for Altera DE1 and Quartus II

Tutorial for Altera DE1 and Quartus II Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development

More information

Designing with ALTERA SoC Hardware

Designing with ALTERA SoC Hardware Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory

More information

Designing with Nios II Processor for Hardware Engineers

Designing with Nios II Processor for Hardware Engineers Designing with Nios II Processor for Hardware Engineers Course Description This course provides all theoretical and practical know-how to design ALTERA SoC FPGAs based on the Nios II soft processor under

More information

Quick Tutorial for Quartus II & ModelSim Altera

Quick Tutorial for Quartus II & ModelSim Altera Quick Tutorial for Quartus II & ModelSim Altera By Ziqiang Patrick Huang Hudson 213c Ziqiang.huang@duke.edu Download & Installation For Windows or Linux users : Download Quartus II Web Edition v13.0 (ModelSim

More information

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

9. Building Memory Subsystems Using SOPC Builder

9. Building Memory Subsystems Using SOPC Builder 9. Building Memory Subsystems Using SOPC Builder QII54006-6.0.0 Introduction Most systems generated with SOPC Builder require memory. For example, embedded processor systems require memory for software

More information

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

Introduction to the Altera Qsys System Integration Tool. 1 Introduction. For Quartus Prime 15.1 Introduction to the Altera Qsys System Integration Tool For Quartus Prime 15.1 1 Introduction This tutorial presents an introduction to Altera s Qsys system integration tool, which is used to design digital

More information

Chapter 2 Getting Hands on Altera Quartus II Software

Chapter 2 Getting Hands on Altera Quartus II Software Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building

More information

Building an Embedded Processor System on Xilinx NEXYS3 FPGA and Profiling an Application: A Tutorial

Building an Embedded Processor System on Xilinx NEXYS3 FPGA and Profiling an Application: A Tutorial 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

More information

NOTE: This tutorial contains many large illustrations. Page breaks have been added to keep images on the same page as the step that they represent.

NOTE: This tutorial contains many large illustrations. Page breaks have been added to keep images on the same page as the step that they represent. CSE 352 Tutorial # 4 Synthesizing onto an FPGA Objectives This tutorial will walk you through the steps of implementing a design made in Active-HDL onto the Altera Cyclone II FPGA NOTE: This tutorial contains

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

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

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

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

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

Using Tightly Coupled Memory with the Nios II Processor

Using Tightly Coupled Memory with the Nios II Processor Using Tightly Coupled Memory with the Nios II Processor TU-N2060305-1.2 This document describes how to use tightly coupled memory in designs that include a Nios II processor and discusses some possible

More information

Digital Systems Design. System on a Programmable Chip

Digital Systems Design. System on a Programmable Chip Digital Systems Design Introduction to System on a Programmable Chip Dr. D. J. Jackson Lecture 11-1 System on a Programmable Chip Generally involves utilization of a large FPGA Large number of logic elements

More information

Nios II Embedded Design Suite Release Notes

Nios II Embedded Design Suite Release Notes Nios II Embedded Design Suite Release Notes Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1...3 1.1 Product Revision History... 3 1.2 Nios II EDS v15.0 Updates...4 1.3

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

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

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

Using NIOS 2 Embedded Design Suite 10

Using NIOS 2 Embedded Design Suite 10 Quick Start Guide Embedded System Course LAP IC EPFL 2010 Version 0.1 (Preliminary) Cagri Onal, René Beuchat 1 Installation and documentation Main information in this document has been found on: http:\\www.altera.com

More information

Design of Embedded Hardware and Firmware

Design of Embedded Hardware and Firmware Design of Embedded Hardware and Firmware Introduction on "System On Programmable Chip" NIOS II Avalon Bus - DMA Andres Upegui Laboratoire de Systèmes Numériques hepia/hes-so Geneva, Switzerland Embedded

More information

Getting Started With the Nios II DPX Datapath Processor ---Version

Getting Started With the Nios II DPX Datapath Processor ---Version Getting Started With the Nios II DPX Datapath Processor ---Version 11.0--- This tutorial teaches you how to develop a complete system employing Altera event-driven datapath processing. In this tutorial,

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

Arria 10 JESD204B IP Core Design Example User Guide

Arria 10 JESD204B IP Core Design Example User Guide Arria 10 JESD204B IP Core Design Example User Guide UG-DEX-A10-JESD204B 2017.05.08 Last updated for Intel Quartus Prime Design Suite: 17.0 Subscribe Send Feedback Contents Contents 1 Arria 10 JESD204B

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

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

Embedded Design Handbook

Embedded Design Handbook Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Introduction... 6 1.1 Document Revision History... 6 2 First Time Designer's Guide... 7 2.1 FPGAs and Soft-Core Processors...

More information

Spartan-6 LX9 MicroBoard Embedded Tutorial. Tutorial 1 Creating an AXI-based Embedded System

Spartan-6 LX9 MicroBoard Embedded Tutorial. Tutorial 1 Creating an AXI-based Embedded System Spartan-6 LX9 MicroBoard Embedded Tutorial Tutorial 1 Creating an AXI-based Embedded System Version 13.1.01 Revision History Version Description Date 13.1.01 Initial release for EDK 13.1 5/15/2011 Table

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou, Andrew Douglass

More information

E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design

E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design Objective The purpose of this lab is to learn to use Field Programmable Gate Array (FPGA) tools to simulate

More information

AN 817: Static Update Partial Reconfiguration Tutorial

AN 817: Static Update Partial Reconfiguration Tutorial AN 817: Static Update Partial Reconfiguration Tutorial for Intel Arria 10 GX Updated for Intel Quartus Prime esign Suite: 18.1 Subscribe Latest document on the web: PF HTML Contents Contents 1. Static

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

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003 SOPC LAB1 I. Introduction The purpose of this lab is to familiarize you with all the items in the kit. This tutorial tells you how to develop FPGA system in Quartus II. You are ready to begin using the

More information

Zynq-7000 All Programmable SoC: Embedded Design Tutorial. A Hands-On Guide to Effective Embedded System Design

Zynq-7000 All Programmable SoC: Embedded Design Tutorial. A Hands-On Guide to Effective Embedded System Design Zynq-7000 All Programmable SoC: Embedded Design Tutorial A Hands-On Guide to Effective Embedded System Design Revision History The following table shows the revision history for this document. Date Version

More information

NIOS II Pixel Display

NIOS II Pixel Display NIOS Pixel Display SDRAM 512Mb Clock Reset_bar CPU Onchip Memory External Memory Controller JTAG UART Pixel DMA Resampler Scaler Dual Port FIFO VGA Controller Timer System ID VGA Connector PLL 2 tj SDRAM

More information

AN 826: Hierarchical Partial Reconfiguration Tutorial for Stratix 10 GX FPGA Development Board

AN 826: Hierarchical Partial Reconfiguration Tutorial for Stratix 10 GX FPGA Development Board AN 826: Hierarchical Partial Reconfiguration Tutorial for Stratix 10 GX FPGA Development Board Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF

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

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOALS: Getting familiar with DE2 board installation, properties, usage.

More information

Guidelines for Developing a Nios II HAL Device Driver

Guidelines for Developing a Nios II HAL Device Driver Guidelines for Developing a Nios II HAL Device Driver AN-459-4.0 Application Note This application note explains the process of creating and debugging a hardware abstraction layer (HAL) software device

More information

Design Flow Tutorial

Design Flow Tutorial Digital Design LU Design Flow Tutorial Jakob Lechner, Thomas Polzer {lechner, tpolzer}@ecs.tuwien.ac.at Department of Computer Engineering University of Technology Vienna Vienna, October 8, 2010 Contents

More information

Lab 1 - Zynq RTL Design Flow

Lab 1 - Zynq RTL Design Flow NTU GIEE, MULTIMEDIA SYSTEM-ON-CHIP DESIGN Lab 1 - Zynq RTL Design Flow Pin-Hung Kuo May 11, 2018 1 INTRODUCTION In this lab, we are going to build a simple Zynq system on ZedBoard. This system works as

More information

Designing with ALTERA SoC

Designing with ALTERA SoC Designing with ALTERA SoC תיאורהקורס קורסזהמספקאתכלהידע התיאורטיוהמעשילתכנוןרכיביSoC שלחברתALTERA תחתסביבת הפיתוחII.Quartus הקורסמשלב 60% תיאוריהו- 40% עבודה מעשית עללוחותפיתוח.SoC הקורסמתחילבסקירתמשפחותרכבי

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

Adding Custom IP to the System

Adding Custom IP to the System Lab Workbook Introduction This lab guides you through the process of creating and adding a custom peripheral to a processor system by using the Vivado IP Packager. You will create an AXI4Lite interface

More information

FPGA RGB Matrix. Created by lady ada. Last updated on :15:42 PM UTC

FPGA RGB Matrix. Created by lady ada. Last updated on :15:42 PM UTC FPGA RGB Matrix Created by lady ada Last updated on 2017-12-27 09:15:42 PM UTC Guide Contents Guide Contents Overview Controlling the Adafruit 32x16 RGB LED Matrix with a DE0-Nano FPGA Board Prerequisites

More information

Nios II Studio Help System

Nios II Studio Help System Nios II Studio Help System 101 Innovation Drive San Jose, CA 95134 www.altera.com Nios II Studio Version: 8.1 Beta Document Version: 1.2 Document Date: November 2008 UG-01042-1.2 Table Of Contents About

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 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

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

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

NIOS II Instantiating the Off-chip Trace Logic

NIOS II Instantiating the Off-chip Trace Logic NIOS II Instantiating the Off-chip Trace Logic TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... NIOS... NIOS II Application

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

AN 806: Hierarchical Partial Reconfiguration Tutorial for Intel Arria 10 GX FPGA Development Board

AN 806: Hierarchical Partial Reconfiguration Tutorial for Intel Arria 10 GX FPGA Development Board AN 806: Hierarchical Partial Reconfiguration Tutorial for Intel Arria 10 GX FPGA Development Board Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents

More information

Altera JTAG-to-Avalon-MM Tutorial

Altera JTAG-to-Avalon-MM Tutorial Altera JTAG-to-Avalon-MM Tutorial Version 1.0 D. W. Hawkins (dwh@ovro.caltech.edu) March 14, 2012 Contents 1 Introduction 3 2 SOPC Builder and Qsys 5 3 SOPC Builder Design Flow 6 3.1 Project Creation......................................

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil Khatri TA: Monther Abusultan (Lab exercises created by A. Targhetta / P. Gratz)

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 FPGA Development Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF

More information

Hello World on the ATLYS Board. Building the Hardware

Hello World on the ATLYS Board. Building the Hardware 1. Start Xilinx Platform Studio Hello World on the ATLYS Board Building the Hardware 2. Click on Create New Blank Project Using Base System Builder For the project file field, browse to the directory where

More information

TP : System on Chip (SoC) 1

TP : System on Chip (SoC) 1 TP : System on Chip (SoC) 1 Goals : -Discover the VIVADO environment and SDK tool from Xilinx -Programming of the Software part of a SoC -Control of hardware peripheral using software running on the ARM

More information

ERIKA Enterprise Multicore Tutorial. for the Altera Nios II platform

ERIKA Enterprise Multicore Tutorial. for the Altera Nios II platform ERIKA Enterprise Multicore Tutorial for the Altera Nios II platform version: 1.0.1 May 27, 2009 About Evidence S.r.l. Evidence is a spin-off company of the ReTiS Lab of the Scuola Superiore S. Anna, Pisa,

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

Fixed-Point IP Cores (ALTERA_FIXED- POINT_FUNCTIONS) User Guide

Fixed-Point IP Cores (ALTERA_FIXED- POINT_FUNCTIONS) User Guide Fixed-Point IP Cores (ALTERA_FIXED- POINT_FUNCTIONS) User Guide UG-20067 2017.03.31 Subscribe Send Feedback Contents Contents 1 About Fixed-Point IP Cores... 3 2 Getting Started... 4 2.1 Installing and

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

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

Intel Cyclone 10 LP FPGA Webinar

Intel Cyclone 10 LP FPGA Webinar Intel Cyclone 10 LP FPGA Webinar Uniquest Train the Trainer February 2018 Learn about Intel Cyclone 10 LP FPGA Intel s next generation low cost and low power FPGA Get hands on experience with hardware

More information

Embedded Systems. "System On Programmable Chip" NIOS II Avalon Bus. René Beuchat. Laboratoire d'architecture des Processeurs.

Embedded Systems. System On Programmable Chip NIOS II Avalon Bus. René Beuchat. Laboratoire d'architecture des Processeurs. Embedded Systems "System On Programmable Chip" NIOS II Avalon Bus René Beuchat Laboratoire d'architecture des Processeurs rene.beuchat@epfl.ch 3 Embedded system on Altera FPGA Goal : To understand the

More information

Implementing Fractional PLL Reconfiguration with ALTERA_PLL and ALTERA_PLL_RECONFIG Megafunctions

Implementing Fractional PLL Reconfiguration with ALTERA_PLL and ALTERA_PLL_RECONFIG Megafunctions Implementing Fractional PLL Reconfiguration with ALTERA_PLL and ALTERA_PLL_RECONFIG AN-661-1.1 Application Note This application note describes the flow for implementing fractional phase-locked loop (PLL)

More information

Microtronix Avalon I 2 C

Microtronix Avalon I 2 C Microtronix Avalon I 2 C User Manual 9-1510 Woodcock St. London, ON Canada N5H 5S1 www.microtronix.com This user guide provides basic information about using the Microtronix Avalon I 2 C IP. The following

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

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

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

Creating a System With Qsys

Creating a System With Qsys 5 QII51020 Subscribe Qsys is a system integration tool included as part of the Quartus II software. Qsys captures system-level hardware designs at a high level of abstraction and simplifies the task of

More information