Synaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices
|
|
- Gwendolyn Manning
- 5 years ago
- Views:
Transcription
1 Benjamin Gittins Chief Technical Officer Mbl: Synaptic Laboratories Ltd. Company ID Monday, July 16, 2018 Synaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices 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 is a a Qsys based Nios II reference design with a simple Memory Bandwidth Benchmark of the HyperRAM device using S/Labs' HBMC IP. This tutorial also shows how to download the Nios II firmware into the FPGA device using the Nios II development environment. This tutorial should be started only after completing all the steps described in the previous tutorial in this series titled: T001A: A Qsys based Nios II Reference design with a simple self test of the HyperFlash and HyperRAM device using S/Labs' HBMC IP The reference project for this Tutorial is bundled with a Free Trial License for the full-edition of S/Labs HBMC IP That Quartus License Key never expires. Please note: This tutorial assumes that the FPGA board type field in the Master Configuration tab of S/Labs HyperBus Memory Controller IP has been set to: Devboards - HyperMAX 10M25 (HyperRAM), or Devboards - HyperMAX 10M50 (HyperRAM), or Intel Cyclone 10LP Evaluation Kit (HyperRAM) T001B 16 July page 1 of 14
2 Table of Contents Synaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices 1 T001B: A Qsys based Nios II reference design with a simple Memory Bandwidth Benchmark of the HyperRAM device using S/Labs' HBMC IP 1 Table of Contents 2 1. Modify the memory initialization field(s) in Qsys 3 2. Synthesize the Design 3 3. Preparing the memory benchmarking firmware 4 4. Configure the Board Support Package (BSP) 6 5. Generate the BSP and clean the project 9 6. Install the memory testing source code 9 7. Build the Nios II Application 9 8. Program the FPGA Bitstream into the FPGA device Run the Benchmark from within Nios II SBT Obtaining good to excellent levels of effective memory bandwidth when using HyperBus devices 14 T001B 16 July page 2 of 14
3 1. Modify the memory initialization field(s) in Qsys 1.1. This memory benchmarking project does not fit within the 40 KB on-chip SRAM. Therefore, we are going to remove the.hex file initialization file for the on-chip memory in the Qsys project: In the Platform Designer application, open the hypernios.qsys project Open the parameters for the On-Chip Memory module Untick the [ ] Enable non-default initialization file field Optional: Untick the [ ] Initialize memory content field as memory initialization of this On-Chip Memory is not required in this example project Save and regenerate the Qsys design Close the Qsys window. 2. Synthesize the Design 2.1. Go to the Quartus Prime window In the menu bar, select: Processing Start Compilation 2.3. The assembler step will create the SRAM FPGA Bitstream file (.sof). Please note: The memory initialisation file (.hex) for the SRAM will no longer be embedded in that FPGA Bitstream file Please note that it is possible to configure the NIOS II Software Built Tools for Eclipse (SBT) independently of (re)compiling the FPGA bitstream. This is because: (a) the SBT tools use the hypernios.sopcinfo file generated by Qsys; but (b) does not use any files generated during hardware compilation process So while the computer is compiling your design we can immediately proceed to the next step below. T001B 16 July page 3 of 14
4 3. Preparing the memory benchmarking firmware 3.1. We will now 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. /software 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. Note: This is the same software folder that we previously used in Tutorial 001A of this Tutorial Series Be sure to leave the [ ] Use this as the default field unticked Click the [ OK ] button Create a simple application and BSP The software folder in the reference project will have the HelloWorld application from Tutorial 001A We now want to create a new Nios II application, and Nios II board support package for the Nios II software HyperRAM bandwidth benchmarking application In the Eclipse window, goto the menu bar and select: File New NIOS II Application and BSP from Template T001B 16 July page 4 of 14
5 A new window will pop up: (most of the fields below will initially be empty) /hypernios.sopcinfo In the Target hardware information section, click on the [ ] button A file browser window will open. Locate and select the hypernios.sopcinfo file generated by Qsys and stored in the reference 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 Benchmark 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: T001B 16 July page 5 of 14
6 a Benchmark application folder that contains the hello_world.c file. We will replace that hello_world.c file with a custom program that tests the HyperRAM device later in this tutorial a Benchmark_bsp folder that contains the Nios II Board Support Package (BSP) hardware abstraction layer (HAL) specifically for the Benchmark application. 4. Configure the Board Support Package (BSP) 4.1. The Nios II BSP must be configured before we can compile the source code In the Project Explorer tab, right click on: Benchmark_bsp Nios II BSP Editor 4.3. A BSP Editor window will open In the Main Tab of the BSP editor, in the panel on the left hand side, select: Settings Common 4.5. Set the sys_clk_timer field to timer_0 This is used to generate a recurring system clock interrupt for the hardware abstraction layer Set the timestamp_timer field to interval_timer This field is used to enable the hardware abstraction layer to perform fine precision event 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). Please note that the inbuilt memset() and memcpy() routines will achieve relatively good performance. However, the executable code will be considerably larger due to other code that is included by the Newlib library In this tutorial, as we have more memory capacity available to store the.elf file. Therefore we recommend ensuring the [ ] enable_small_c_library field is Unticked to improve the performance results of the memcpy benchmarking software. T001B 16 July page 6 of 14
7 4.8. In the Main Tab of the BSP editor, in the panel on the left hand side, select: Settings Advanced hal 4.9. Then, in the panel on the right hand side, scroll down to find the hal.linker as illustrated below We will use the following configuration: 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 Please Note: This specific configuration may not be the best configuration for your future project s needs. Please refer to Altera s documentation for detailed information on how to setup the hal.linker fields in the: T001B 16 July page 7 of 14
8 Generic Nios II Booting Methods User Guide, UG-20001, niosii_generic_booting_methods.pdf Select the Linker Script Tab of the BSP editor: In this tutorial, we are going to: Map the reset vector (.reset) to the onchip memory (onchip_memory2_0). This is generated by Qsys and depends on the location of the Nios II reset vector Map the exception vector (.exceptions) to the onchip memory (onchip_memory2_0). This is generated by Qsys and depends on the location of the Nios II exception vector Map the instruction code (.text) to the HyperRAM memory (sll_hyperbus_controller_top_0) Map all other data regions (.bss,.heap,.rodata,.rwdata,.stack) to the HyperRAM memory (sll_hyperbus_controller_top_0) For more information about linker sections in general, please see: Nios II Gen2 Software Developer's Handbook, NII5V2Gen2, Section 5, Nios II Software Build Tools n2sw_nii5v2gen2.pdf 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. T001B 16 July page 8 of 14
9 5. Generate the BSP and clean the project 5.1. The software developer must regenerate 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 for the Benchmark application: Go to the Nios II eclipse window Right click on Benchmark_bsp project then select Nios II then select Generate BSP Right click on the Benchmark project then select Clean Project to delete any intermediate files generated by the gcc compiler for this application library Right click on the Benchmark_bsp project then select Clean Project to delete any intermediate files generated by the gcc compiler for this board support package folder. 6. Install the memory testing source code 6.1. We now want to replace the original HelloWorld.c source code with software that benchmarks Nios II software memory access performance to the HyperRAM Copy and replace the files located in: /source/testmbs to: /software/benchmark 6.3. In the project explorer window of Eclipse, right click on the Benchmark folder. Then select Refresh. The new source code files should now be visible within Eclipse. 7. Build the Nios II Application 7.1. We now want to run the C compiler and linker: Go to the Nios II eclipse window Right click on the Benchmark project, then select Build Project If the project produces warning / error messages, you may need to build the project twice The Benchmark executable firmware.elf is now generated This.ELF file can be downloaded directly into on-chip SRAM and off-chip SDRAM using the Nios II Debugger. T001B 16 July page 9 of 14
10 8. Program the FPGA Bitstream into the FPGA device 8.1. Ensure that the HyperMAX / Intel C10 LP Evaluation Kit board is connected to the USB port of your computer 8.2. Open the Quartus Prime window 8.3. To start the Altera Programmer, in the menu bar, select: Tools Programmer 8.4. If the HyperMAX/Intel C10LP Evaluation kit device is not already selected: Click on Hardware Setup A new window will open Double Click on the HyperMax (or Intel C10 LP Evaluation Kit) device 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 8.6. On the left hand side of the Programmer window, click the [ Start ] button 8.7. The FPGA bitstream will now be programmed into the SRAM configuration memory of the FPGA device A window called OpenCore Plus Status should open. T001B 16 July page 10 of 14
11 9. Run the Benchmark from within Nios II SBT 9.1. Select the Nios II Software Built Tools for Eclipse window Right click on Benchmark. Then left click on Run As Run Configurations 9.3. A new window will open 9.4. Make sure the Name: field says Benchmark Nios II Hardware configuration T001B 16 July page 11 of 14
12 9.5. Select the Target Configuration tab Press the [ Refresh Connections ] button to detect the Nios II processor on the FPGA board PLEASE NOTE: Please ensure that [ ] Disable Nios II Console view is Unticked to enable the Nios II output to be displayed in the Nios II Console tab in the Nios II Eclipse environment; If [X] Disable Nios II Console view is Ticked you will have to use the nios2-terminal application to see the output of the Nios II core While not normally recommended in day-to-day design, in this tutorial you can optionally: Tick the [x] Ignore mismatched System ID field Tick the [x] Ignore mismatched System timestamp field By ticking these two fields, the Nios II Debugger will attempt to load the software, no matter what version of the Qsys project / FPGA bitstream has been loaded into the FPGA design In most projects, you typically want to the development tools to check the System ID and System timestamp to avoid accidentally loading new software into a FPGA device programmed with an older / incompatible FPGA bitstream Press the [ Run ] button located in the bottom right of the window. This will: Download the.elf firmware from the desktop and program the contents into the relevant volatile memories. In this case, it will program the on-chip memory; and the HyperRAM Boot the firmware from on-chip memory, and run software resident in the HyperRAM If the download does not work, please check that the static timing constraints of your project are passing The output of the Memory Bandwidth Benchmarking program should be displayed in the Nios II Console Window. It will look something like the screenshot below. T001B 16 July page 12 of 14
13 9.12. In this reference design, the 32-bit Nios II core is only running at 100 MHz. The Nios II is an in order execution core that can issue and retire at most one 32-bit OPCODE per clock cycle. The average memcpy() speed is around 19.5 to 24.5 Megabyte/s depending on the length of memory copied per memcpy invocation. This is a good result for this type of simple soft processor core when accessing external memories. Increasing the CPU clock speed, while keeping the HyperBus channel clock speed constant, will measurably increase the performance of the memcpy() result To achieve significantly higher memory throughput use a dedicated Direct Memory Addressing (DMA) module. For example, Intel s Modular Scatter Gather Direct Memory Access (MSGDMA) unit can sustain up to ~281 MegaBytes/s throughput from HyperRAM running at 150 MHz clock speed. T001B 16 July page 13 of 14
14 10. Obtaining good to excellent levels of effective memory bandwidth when using HyperBus devices The HyperBus protocol has a memory access performance behavior that is conceptually similar to operating DDRx SDRAM devices in closed page mode. (e.g. SDRAM PRECHARGE, ROW, COL, PRECHARGE, ) To obtain good performance, all bus-masters directly or indirectly accessing S/Labs HyperBus Memory Controller IP should employ a memory transfer requests with a burst length of 256-bits (8 x 32-bit words) or higher For this reason, please ensure that the Nios II/f instruction and data caches have burst mode enabled in all your HyperBus enabled designs Furthermore, S/Labs HBMC IP can sustain up to ~281 MegaBytes/s (MBps) on the 8-bit DDR HyperRAM channel running at 150 MHz with memory transfer requests with long bursts! Therefore we strongly recommend using large burst lengths where possible (e.g. by using Intel s MSGDMA module configured with bursts lengths that are larger than or equal to 16 words and less than or equal to 128 words where possible). T001B 16 July page 14 of 14
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 informationSynaptic 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 informationHyperBus 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 informationHyperBus 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 informationHyperBus 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 informationHyperBus 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 informationHyperBus 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 informationExcellent 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 informationHyperBus 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 informationSystem 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 informationSynaptic 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 informationSynaptic 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 informationSynaptic 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 informationUniversity 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 informationDesigning 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 informationNIOS 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 informationXilinx 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 informationBoard 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 informationNIOS 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 informationUniversity 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 informationNIOS 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 informationDigital 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 informationBare Metal User Guide
2015.11.30 UG-01165 Subscribe Introduction This guide will provide examples of how to create and debug Bare Metal projects using the ARM DS-5 Altera Edition included in the Altera SoC Embedded Design Suite
More informationNios 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 informationUsing 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 informationIntroduction 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 informationLaboratory 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 informationNIOS 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 information427 Class Notes Lab2: Real-Time Clock Lab
This document will lead you through the steps of creating a new hardware base system that contains the necessary components and connections for the Real-Time Clock Lab. 1. Start up Xilinx Platform Studio
More informationCreating 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 informationHello 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 informationGeneric 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 informationUsing 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 informationSpartan-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 informationCustomizable 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 informationIntel SoC FPGA Embedded Development Suite User Guide
Intel SoC FPGA Embedded Development Suite User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Introduction to
More informationPractical 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 informationSynaptic 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 informationIntel 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 informationDesigning 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 informationIntroduction 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 informationSISTEMI EMBEDDED. Embedded Systems SOPC Design Flow. Federico Baronti Last version:
SISTEMI EMBEDDED Embedded Systems SOPC Design Flow Federico Baronti Last version: 20160229 Definition(s) of Embedded Systems Systems with embedded processors Hamblen, Hall, Furman, Rapid Prototyping Of
More informationBuilding 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 informationAlternative Nios II Boot Methods
Alternative Nios II Boot Methods September 2008, ver. 1.1 Application Note 458 Introduction In any stand-alone embedded system that contains a microprocessor, the processor runs a small piece of code called
More informationDebugging 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 informationNios 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 informationA. FPGA Basics Manuals
A. FPGA Basics Manuals In this practical course, Field-Programmable Gate Array (FPGA) is used as the experimental platform, which means to creation of a hardware description for the FPGA and writing software
More informationBuilding 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 informationNIOS 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 informationDesign 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 informationEmbedded 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 informationNOTE: 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 informationNios 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 informationERIKA 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 informationHigh 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 informationCHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8
CONTENTS CHAPTER 1 Introduction of the tnano Board... 2 1.1 Features...2 1.2 About the KIT...4 1.3 Getting Help...4 CHAPTER 2 tnano Board Architecture... 5 2.1 Layout and Components...5 2.2 Block Diagram
More informationChapter 2: Hardware Design Flow Using Verilog in Quartus II
Chapter 2: Hardware Design Flow Using Verilog in Quartus II 2.1 Introduction to Quartus II System Development Software This chapter is an introduction to the Quartus II software that will be used for analysis
More informationIntroduction 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 informationChapter 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 informationArria 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 informationNios II Classic Software Developer s Handbook
Nios II Classic Software Developer s Handbook Subscribe NII5V2 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents Overview of Nios II Embedded Development...1-1 Prerequisites for Understanding
More informationAN 829: PCI Express* Avalon -MM DMA Reference Design
AN 829: PCI Express* Avalon -MM DMA Reference Design Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Latest document on the web: PDF HTML Contents Contents 1....3 1.1. Introduction...3 1.1.1.
More informationGuidelines 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 informationECEN 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 informationEmbedded System Design Lab 3: Peripherals and Device Drivers
csee 4840 Embedded System Design Lab 3: Peripherals and Device Drivers Stephen A. Edwards Columbia University Spring 2019 Implement on the fpga a memory-mapped peripheral that can receive communication
More informationDE2 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 informationUsing the NicheStack TCP/IP Stack - Nios II Edition Tutorial
Using the NicheStack TCP/IP Stack - Nios II Edition Tutorial Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1... 3 1.1 Introduction...3 1.2 Hardware and Software Requirements...
More informationCyclone V SoC PCI-Express Root Port Example Design. Application Note
Cyclone V SoC PCI-Express Root Port Example Design Application Note 7/1/2013 Table of Contents 1 Revision History... 4 2 Overview... 5 2.1 GSRD... 5 3 Hardware and Software Packages... 6 3.1 GSRD... 6
More informationDDR 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 informationSimulating 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 informationMICROTRONIX AVALON MULTI-PORT FRONT END IP CORE
MICROTRONIX AVALON MULTI-PORT FRONT END IP CORE USER MANUAL V1.0 Microtronix Datacom Ltd 126-4056 Meadowbrook Drive London, ON, Canada N5L 1E3 www.microtronix.com Document Revision History This user guide
More informationAN 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 informationImplementing 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 informationECEN 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 informationP&E Microcomputer Systems, Inc. PKGPPCNEXUS
P&E Microcomputer Systems, Inc. PKGPPCNEXUS Quick Start Guide for the PHYTEC phycore-mpc5554 Rapid Development Kit Visit us on the web: www.pemicro.com 2006 P&E Microcomputer Systems, Inc. All Rights Reserved
More informationEXPERIMENT 1. INTRODUCTION TO ALTERA
EXPERIMENT 1. INTRODUCTION TO ALTERA I. Introduction I.I Objectives In this experiment, you will learn computer aided digital design and verification of it using Field Programmable Gate Arrays (FPGA).
More informationCreating Multiprocessor Nios II Systems Tutorial
Creating Multiprocessor Nios II Systems Tutorial May 2006, Version 6.0 Tutorial Introduction...2 Benefits of Multiprocessor Systems...2 Nios II Multiprocessor Systems...2 Hardware Design Considerations...3
More informationIMPLEMENTING SCL PROGRAMS. Using Codeblocks
IMPLEMENTING SCL PROGRAMS Using Codeblocks With the GSL on Linux Dr. José M. Garrido Department of Computer Science Updated September 2014 College of Science and Mathematics Kennesaw State University c
More informationSISTEMI 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 informationAN 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 informationMICROTRONIX AVALON MOBILE DDR MEMORY CONTROLLER IP CORE
MICROTRONIX AVALON MOBILE DDR MEMORY CONTROLLER IP CORE USER MANUAL V1.6 126-4056 Meadowbrook Drive. London, ON Canada N5L 1E3 www.microtronix.com Document Revision History This user guide provides basic
More informationCPE 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 informationLaboratory 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 informationERIKA Enterprise Multicore Tutorial
ERIKA Enterprise Multicore Tutorial for the Altera Nios II platform version: 1.1.1 December 11, 2012 About Evidence S.r.l. Evidence is a spin-off company of the ReTiS Lab of the Scuola Superiore S. Anna,
More informationMicrotronix 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 informationCopyright 2014 Xilinx
IP Integrator and Embedded System Design Flow Zynq Vivado 2014.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able
More informationCreating PCI Express Links in Intel FPGAs
Creating PCI Express Links in Intel FPGAs Course Description This course provides all necessary theoretical and practical know how to create PCI Express links in Intel FPGAs. The course goes into great
More informationIntroduction to Embedded System Design using Zynq
Introduction to Embedded System Design using Zynq Zynq Vivado 2015.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able
More informationInterrupt Creation and Debug on ML403
Interrupt Creation and Debug on ML403 This tutorial will demonstrate the different debugging techniques used for debugging Interrupt based applications. To show this we will build a simple Interrupt application
More informationBASICS OF THE RENESAS SYNERGY PLATFORM
BASICS OF THE RENESAS SYNERGY PLATFORM TM Richard Oed 2017.12 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues
More informationAltera SoC Embedded Design Suite User Guide
Altera SoC Embedded Design Suite User Guide Subscribe ug-1137 2014.12.15 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents Introduction to SoC Embedded Design Suite... 1-1 Overview...
More informationNios II Embedded Design Suite Release Notes and Errata
Nios II Embedded Design Suite Release Notes and Errata January 2011 RN-EDS-8.0 About These Release Notes These release notes cover versions 9.1 through 10.1 of the Altera Nios II Embedded Design Suite
More informationAXI Interface Based KC705. Embedded Kit MicroBlaze Processor Subsystem (ISE Design Suite 14.4)
AXI Interface Based KC705 j Embedded Kit MicroBlaze Processor Subsystem (ISE Design Suite 14.4) Software Tutorial Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided
More informationQuick 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 informationProfiling Nios II Systems
February 2006, ver. 1.2 Application Note 391 Introduction This application note describes a variety of ways to measure the performance of a Nios II system with three tools: the GNU profiler, called nios2-elf-gprof,
More information4K Format Conversion Reference Design
4K Format Conversion Reference Design AN-646 Application Note This application note describes a 4K format conversion reference design. 4K resolution is the next major enhancement in video because of the
More informationDKAN0011A 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 informationDisassemble 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 informationFPGA Introductory Tutorial: Part 1
FPGA Introductory Tutorial: Part 1 This tutorial is designed to assist in learning the basics of the Altera Quartus II v9.0 software. Part 1 of the tutorial will cover the basics of creating a Project,
More informationPCI Express Avalon-MM DMA Reference Design
PCI Express Avalon-MM DMA Reference Design AN-690 2016.05.28 Subscribe Send Feedback Contents Contents 1 AN 690:...3 1.1 Deliverables Included with the Reference Design...3 1.2 Reference Design Functional
More information