Using Nios II Floating-Point Custom Instructions Tutorial
|
|
|
- Richard Cuthbert Benson
- 10 years ago
- Views:
Transcription
1 Using Nios II Floating-Point Custom Instructions Tutorial 101 Innovation Drive San Jose, CA TU-N2FLTNGPNT-2.0
2 Copyright 2010 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, and specific device designations are trademarks and/or service marks of Altera Corporation in the U.S. and other countries. All other words and logos identified as trademarks and/or service marks are the property of Altera Corporation or their respective owners. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
3 Contents Chapter 1. Floating-Point Custom Instructions About the Floating-Point Custom Instructions Preparing Your System Prerequisites Software and Hardware Requirements Tutorial Software Files Building and Programming the Hardware Building and Running the Software Creating the Software Project Building and Running the Software and Analyzing the Results Software Implementation Moving On to Your Own System Assessing Your Floating-Point Optimization Needs Floating-Point Divide Considerations Simulation Device Resource Usage Additional Information Document Revision History Info 1 How to Contact Altera Info 1 Typographic Conventions Info 1 February 2010 Altera Corporation Using Nios II Floating-Point Custom Instructions Tutorial
4 iv Contents Using Nios II Floating-Point Custom Instructions Tutorial February 2010 Altera Corporation
5 1. Floating-Point Custom Instructions This tutorial guides you through the basics elements of floating-point custom instructions for use with the Nios II embedded processor. Nios II floating-point custom instructions accelerate arithmetic functions executed on float variable types. The tutorial is a good starting point if you are considering floating-point custom instructions for inclusion in your own project. In this tutorial you add the floatingpoint custom instructions to a Nios II example design, and create a software program to demonstrate floating-point performance. The tutorial covers the following topics: How to add floating-point custom instructions to a Nios II processor How to use floating-point custom instructions in a C program, and how the custom instructions work with the Nios II Embedded Design Suite (EDS) The advantages and disadvantages of floating-point custom instructions, and how best to use them in your own system About the Floating-Point Custom Instructions The floating-point custom instructions, optionally available on the Nios II processor, implement single-precision, floating-point arithmetic operations. You can use the custom instructions to accelerate floating-point operations in your Nios II C/C++ application program. The basic set of floating-point custom instructions is available on every Nios II core implementation and includes single precision floating-point addition, subtraction, and multiplication. Floating-point division is available as an extension to the basic instruction set. Table 1 1 lists approximate acceleration factors that the floating-point custom instructions provide: Table 1 1. Sample Floating-Point Custom Instruction Acceleration Factors (Note 1) Target Device Addition Subtraction Multiplication Division EP3C times 18 times 17 times 12 times EP3SL times 19 times 12 times 13 times Note to Table 1 1: (1) These figures show typical speed increases over the equivalent software implementation. For each target device, these results were obtained using a Nios II /f core processor executing code from on-chip memory. You might see different acceleration results, depending on your hardware design and target device and on the details of your software application. When the floating-point custom instructions are present in your target hardware, the Nios II Software Build Tools (SBT) for Eclipse compiles your code to use the custom instructions for floating-point operations, including the four primitive arithmetic operations (addition, subtraction, multiplication and division) and the ANSI C math library. Table 1 2 on page 1 8 lists the ANSI C math functions. February 2010 Altera Corporation Using Nios II Floating-Point Custom Instructions Tutorial
6 1 2 Chapter 1: Floating-Point Custom Instructions Preparing Your System f The floating point custom instructions substantially comply with the IEEE floating point standard. For details, refer to Floating Point Instructions in the Processor Architecture chapter of the Nios II Processor Reference Handbook. Preparing Your System The following sections provide information you need before you begin the tutorial. Prerequisites f To make effective use of this tutorial, you should be familiar with the following topics: Defining and generating Nios II hardware systems with SOPC Builder Compiling Nios II hardware systems with the Quartus II development software Creating, compiling, and running Nios II software projects To learn about defining, generating, and compiling Nios II systems, refer to the Nios II Hardware Development Tutorial. To learn about Nios II software projects, refer to the Getting Started with the Graphical User Interface chapter of the Nios II Software Developer s Handbook. Software and Hardware Requirements This tutorial requires the following software and hardware: Quartus II development software version 9.1 or later, installed on a Windows or Linux computer Nios II EDS version 9.1 or later A JTAG download cable compatible with your target hardware, for example, a USB-Blaster cable A development board that includes the following devices: An Altera FPGA large enough to support the Nios II processor core, hold the target design, and leave enough unused logic elements to support the floatingpoint custom instructions. For information about device resource usage, refer to Table 1 3 on page 1 9. An oscillator that drives a constant clock frequency to an FPGA pin. The maximum frequency depends on the speed grade of the FPGA. A JTAG connection to the FPGA that provides a programming interface and communication link to the Nios II system. This connection can be either a dedicated 10-pin JTAG header for an Altera USB-Blaster download cable (revision B or higher) or a USB connection with USB-Blaster circuitry embedded on the board. Using Nios II Floating-Point Custom Instructions Tutorial February 2010 Altera Corporation
7 Chapter 1: Floating-Point Custom Instructions 1 3 Building and Programming the Hardware A Nios II target design that includes the following components: Nios II processor JTAG UART Performance counter with at least 2 simultaneously-measured sections 128 KB of on-chip or external memory System timer System ID peripheral f Altera provides several working Nios II reference designs which you can use as a starting point for your own designs. After installing the Nios II EDS, refer to the <Nios II EDS install path>/examples/verilog or the <Nios II EDS install path>/examples/vhdl directory. Demonstration applications are also available in newer development kit installations. Tutorial Software Files The tutorial software files are available in a.zip file next to the link to this document on the Literature: Nios II Processor page of the Altera website. Download and unzip the file in a temporary directory. The.zip file includes the following files: floating_point.c main program floating_point.h global definitions floating_point_ci.c functions to exercise the floating-point custom instructions floating_point_sw.c functions to exercise the software-implemented floatingpoint operations Building and Programming the Hardware Perform the following steps to add the floating-point custom instructions to the Nios II processor in your target design: 1. Start the Quartus II development software and open a working copy of your target design. 2. Start SOPC Builder. 3. On the System Contents tab, double-click the Nios II processor component. The Nios II MegaWizard interface appears. 4. Select the Custom Instructions page. 5. Select Floating Point Hardware from the list and click Add. The Nios II Floating Point Hardware dialog box appears. 6. Turn on Use floating point division hardware. 1 The floating-point division hardware is optional. For a discussion regarding the advantages and disadvantages of using the floating-point division hardware, refer to Moving On to Your Own System on page 1 7. February 2010 Altera Corporation Using Nios II Floating-Point Custom Instructions Tutorial
8 1 4 Chapter 1: Floating-Point Custom Instructions Building and Running the Software 7. Click Finish to exit the Nios II Floating Point Hardware dialog box. Figure 1 1 shows the Custom Instructions page of the Nios II MegaWizard interface with the floating-point hardware inserted. Figure 1 1. Hardware Setup Dialog Box f For further information about adding the floating-point custom instructions, refer to the Instantiating the Nios II Processor in SOPC Builder chapter of the Nios II Processor Reference Handbook. 8. Click Finish to exit the Nios II MegaWizard interface. 9. Generate the HDL for your SOPC Builder system. When the generation process is complete, exit SOPC Builder. 10. Compile the Quartus II project. 11. Program your target hardware with the resulting SRAM Object File (.sof). Building and Running the Software Creating the Software Project This section steps you through creating, building, running, and analyzing your software project. Perform the following steps to create the software project: 1. Start the Nios II SBT for Eclipse. 2. Create a new Nios II Application and BSP from Template based on the Blank Project template. Under Target hardware information, browse to locate the SOPC Information File (.sopcinfo) that you generated in Building and Programming the Hardware on page 1 3. Using Nios II Floating-Point Custom Instructions Tutorial February 2010 Altera Corporation
9 Chapter 1: Floating-Point Custom Instructions 1 5 Building and Running the Software 3. Import the tutorial software files described in Tutorial Software Files on page 1 3 into your Nios II application project. The easiest way to do this is to select the files in an application such as Windows Explorer, and drag them into the Nios II application project folder in the Project Explorer view of the Nios II SBT for Eclipse. 4. Adjust the compiler optimization settings to meet your needs. Access the settings through the Properties dialog boxes for your Nios II application and Nios II BSP projects. Building and Running the Software and Analyzing the Results Perform the following steps to analyze the results of the software project: 1. Build the software project. The Nios II SBT for Eclipse detects the presence of the floating-point custom instructions at build time, and uses them for all single precision floating-point arithmetic. 2. Run the software on your Nios II target design. The program runs four tests, one each for the add, subtract, multiply, and divide operations. In each test, the program carries out the floating-point operation on 1000 pairs of random operands. It executes both the floating-point custom instruction and the equivalent software implementation. Using the performance counter component, the tutorial software compares the hardware and software execution times. The following program output shows the results: --Performance Counter Report-- Total Time: seconds ( clock-cycles) Section % Time (sec) Time (clocks) Occurrences FP CI ADD FP SW ADD Performance Counter Report-- Total Time: seconds ( clock-cycles) Section % Time (sec) Time (clocks) Occurrences FP CI SUBTRACT FP SW SUBTRACT February 2010 Altera Corporation Using Nios II Floating-Point Custom Instructions Tutorial
10 1 6 Chapter 1: Floating-Point Custom Instructions Building and Running the Software --Performance Counter Report-- Total Time: seconds ( clock-cycles) Section % Time (sec) Time (clocks) Occurrences FP CI MULTIPLY FP SW MULTIPLY Performance Counter Report-- Total Time: seconds ( clock-cycles) Section % Time (sec) Time (clocks) Occurrences FP CI DIVIDE FP SW DIVIDE Analyze the results report for each test. In each report, the FP CI <instruction> entry lists the performance of the custom instruction, and the FP SW <instruction> entry lists the performance of the software implementation. The Time (sec) and Time (clock) columns represent the aggregate time spent executing the floating-point operations, in seconds and in Nios II clock cycles. Total Time represents the duration of the test, expressed both in seconds and in Nios II clock cycles. The % column represents the time spent executing the floating-point operation, as a percentage of the test total. 1 You might have different speed results, depending on your target hardware and on the actual values of the random operands. f The tutorial software uses the Nios II performance counter component to collect timing information on the floating-point operations. For more information, refer to the Performance Counter Core chapter in volume 5 of the Quartus II Handbook. Software Implementation The tutorial software uses #pragma directives to compare hardware and software implementations of the floating-point instructions. The following #pragmas direct the Nios II compiler to ignore the floating-point instructions and generate software implementations: #pragma no_custom_fadds forces software implementation of floating-point add Using Nios II Floating-Point Custom Instructions Tutorial February 2010 Altera Corporation
11 Chapter 1: Floating-Point Custom Instructions 1 7 Moving On to Your Own System #pragma no_custom_fsubs forces software implementation of floating-point subtract #pragma no_custom_fmuls forces software implementation of floating-point multiply #pragma no_custom_fdivs forces software implementation of floating-point divide The scope of these #pragmas is the entire C file. f For more information, refer to Floating Point Instructions in the Processor Architecture chapter of the Nios II Processor Reference Handbook. Moving On to Your Own System Congratulations! You have successfully created a Nios II system that uses the floatingpoint custom instructions. Through this tutorial, you have familiarized yourself with the following steps for integrating the floating-point custom instructions into a Nios II system: Modifying and generating Nios II system hardware in SOPC Builder Compiling the Quartus II project Creating a new project in the Nios II SBT for Eclipse Compiling the project Running the software on the target hardware This section helps you determine how to use the floating-point custom instructions in your own project. Assessing Your Floating-Point Optimization Needs The best choice for your hardware design depends on a balance among floating-point usage, hardware resource usage, and performance. While the floating-point custom instructions speed up floating-point arithmetic, they add substantially to the size of your hardware project. If resource usage is an issue, before using the floating-point custom instructions, consider the following questions: Have you identified your performance bottlenecks? Make sure your performance issues are caused by floating-point arithmetic before you try to fix them with floating-point acceleration. f For detailed information about Nios II performance profiling, refer to AN391: Profiling Nios II Systems. Can you use integer arithmetic? While the floating-point custom instructions are faster than software-implemented floating-point, they are slower than integer arithmetic. A common integer technique is to represent numerical values with an implicit scaling factor. As a simple example, if you are calculating milliamperes, you might represent your values internally as microamperes. February 2010 Altera Corporation Using Nios II Floating-Point Custom Instructions Tutorial
12 1 8 Chapter 1: Floating-Point Custom Instructions Moving On to Your Own System Are you taking full advantage of compiler optimization? You can increase the Nios II compiler optimization level through the Properties dialog box of your Nios II application and BSP projects. f For information, refer to Reducing Code Footprint in the Developing Programs Using the Hardware Abstraction Layer chapter of the Nios II Software Developer s Handbook. Have you hand-optimized your mathematical operations? Numerical analysis textbooks offer simple, effective techniques for performing accurate calculations with the minimum number of floating-point operations. If you have followed these suggestions, and you need further acceleration, the floating-point custom instructions are probably an appropriate solution. Floating-Point Divide Considerations The floating-point division hardware requires more resources than the other instructions, so you might opt to omit it if your Nios II application does not make heavy use of floating-point division. In some cases, you can rewrite your code to minimize or even eliminate divide operations. For example, if your algorithm requires division by a constant value, you can precalculate its inverse and use a multiply operation in the speed-critical section of your code. Table 1 2 indicates which math library functions use floating-point, and of those, which use floating-point division. If a function uses floating-point, it runs faster with floating-point hardware. If a function uses floating-point division, it runs even faster with floating-point division hardware. Table 1 2. Math Library Floating-Point Usage Math Function Uses Floating- Point Uses Floating- Point Division Math Function Uses Floating- Point Uses Floating- Point Division acos() Yes Yes frexp() Yes asin() Yes Yes ldexp() Yes atan() Yes Yes log() Yes Yes atan2() Yes Yes log10() Yes Yes cos() Yes modf() Yes cosh() Yes Yes pow() Yes Yes sin() Yes sqrt() Yes Yes sinh() Yes Yes ceil() Yes tan() Yes Yes fabs() tanh() Yes Yes floor() Yes exp() Yes Yes fmod() Yes Yes When you omit the floating-point divide instruction, the Nios II SBT for Eclipse implements floating-point division in software. Using Nios II Floating-Point Custom Instructions Tutorial February 2010 Altera Corporation
13 Chapter 1: Floating-Point Custom Instructions 1 9 Moving On to Your Own System f For information about selecting the floating-point division hardware with the Nios II MegaWizard interface, refer to the Instantiating the Nios II Processor in SOPC Builder chapter of the Nios II Processor Reference Handbook. Simulation You can use the floating-point custom instructions with the ModelSim hardware simulator. Device Resource Usage The floating-point custom instructions are available on all Altera devices that support the Nios II processor. Table 1 3 shows approximate resource usage in each supported device. If the target device includes on-chip multiplier elements, the floating-point hardware incorporates them as needed. If there are no on-chip multiplier elements, the floatingpoint custom instructions are implemented entirely with general-purpose logic elements. Table 1 3. Approximate Device Resource Usage Logic Elements (LE) or Adaptive Look-up Tables (ALUT) Multiplier Elements (1) Target Device Family Without Divide With Divide Cyclone III 1500 LEs 7200 LEs 7 Stratix III 750 ALUTs 4200 ALUTs 4 Note to Table 1 3: (1) In Cyclone III devices, the multiplier element is an embedded multiplier 9-bit element. In Stratix III devices, the multiplier element is a DSP 18-bit element. 1 Depending on the Quartus II routing and fitting, resource usage in your project might differ considerably from the values shown in Table 1 3. February 2010 Altera Corporation Using Nios II Floating-Point Custom Instructions Tutorial
14 1 10 Chapter 1: Floating-Point Custom Instructions Moving On to Your Own System Using Nios II Floating-Point Custom Instructions Tutorial February 2010 Altera Corporation
15 Additional Information Document Revision History The following table shows the revision history for this document. Date Version Changes February Revised for Nios II Software Build Tools for Eclipse. May Initial release. How to Contact Altera For the most up-to-date information about Altera products, refer to the following table. Contact (1) Contact Method Address Technical support Website Technical training Website Product literature Website Non-technical support (General) (Software Licensing) Note to Table: (1) You can also contact your local Altera sales office or sales representative. Typographic Conventions The following table shows the typographic conventions this document uses. Visual Cue Bold Type with Initial Capital Letters bold type Italic Type with Initial Capital Letters Italic type Initial Capital Letters Meaning Indicates command names, dialog box titles, dialog box options, and other GUI labels. For example, Save As dialog box. For GUI elements, capitalization matches the GUI. Indicates directory names, project names, disk drive names, file names, file name extensions, software utility names, and GUI labels. For example, \qdesigns directory, d: drive, and chiptrip.gdf file. Indicates document titles. For example, AN 519: Stratix IV Design Guidelines. Indicates variables. For example, n + 1. Variable names are enclosed in angle brackets (< >). For example, <file name> and <project name>.pof file. Indicates keyboard keys and menu names. For example, the Delete key and the Options menu. February 2010 Altera Corporation Using Nios II Floating-Point Custom Instructions Tutorial
16 Info 2 Additional Information Typographic Conventions Subheading Title Courier type 1., 2., 3., and a., b., c., and so on Visual Cue Meaning Quotation marks indicate references to sections within a document and titles of Quartus II Help topics. For example, Typographic Conventions. Indicates signal, port, register, bit, block, and primitive names. For example, data1, tdi, and input. The suffix n denotes an active-low signal. For example, resetn. Indicates command line commands and anything that must be typed exactly as it appears. For example, c:\qdesigns\tutorial\chiptrip.gdf. Also indicates sections of an actual file, such as a Report File, references to parts of files (for example, the AHDL keyword SUBDESIGN), and logic function names (for example, TRI). Numbered steps indicate a list of items when the sequence of the items is important, such as the steps listed in a procedure. Bullets indicate a list of items when the sequence of the items is not important. 1 The hand points to information that requires special attention. A caution calls attention to a condition or possible situation that can damage or c destroy the product or your work. A warning calls attention to a condition or possible situation that can cause you w injury. r The angled arrow instructs you to press the Enter key. f The feet direct you to more information about a particular topic. Using Nios II Floating-Point Custom Instructions Tutorial February 2010 Altera Corporation
ModelSim-Altera Software Simulation User Guide
ModelSim-Altera Software Simulation User Guide ModelSim-Altera Software Simulation User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01102-2.0 Document last updated for Altera Complete
MasterBlaster Serial/USB Communications Cable User Guide
MasterBlaster Serial/USB Communications Cable User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Software Version: 80 Document Version: 1.1 Document Date: July 2008 Copyright 2008 Altera
MAX V CPLD Development Kit User Guide
MAX V CPLD Development Kit User Guide MAX V CPLD Development Kit User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01099-1.0 Subscribe Copyright 2011 Altera Corporation. All rights reserved.
Nios II Software Developer s Handbook
Nios II Software Developer s Handbook Nios II Software Developer s Handbook 101 Innovation Drive San Jose, CA 95134 www.altera.com NII5V2-13.1 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA,
USB-Blaster Download Cable User Guide
USB-Blaster Download Cable User Guide Subscribe UG-USB81204 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents Introduction to USB-Blaster Download Cable...1-1 USB-Blaster Revision...1-1
USB-Blaster Download Cable User Guide
USB-Blaster Download Cable User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Software Version: 9.0 Document Version: 2.5 Document Date: April 2009 UG-USB81204-2.5 P25-10325-03 Copyright
1. Overview of Nios II Embedded Development
May 2011 NII52001-11.0.0 1. Overview o Nios II Embedded Development NII52001-11.0.0 The Nios II Sotware Developer s Handbook provides the basic inormation needed to develop embedded sotware or the Altera
2. Scope of the DE0 Board and Supporting Material
1 Getting Started with Altera s DE0 Board This document describes the scope of Altera s DE0 Development and Education Board and the supporting materials provided by the Altera Corporation. It also explains
13. Publishing Component Information to Embedded Software
February 2011 NII52018-10.1.0 13. Publishing Component Information to Embedded Software NII52018-10.1.0 This document describes how to publish SOPC Builder component information for embedded software tools.
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
1. Overview of Nios II Embedded Development
January 2014 NII52001-13.1.0 1. Overview o Nios II Embedded Development NII52001-13.1.0 The Nios II Sotware Developer s Handbook provides the basic inormation needed to develop embedded sotware or the
December 2002, ver. 1.0 Application Note 285. This document describes the Excalibur web server demonstration design and includes the following topics:
Excalibur Web Server Demonstration December 2002, ver. 1.0 Application Note 285 Introduction This document describes the Excalibur web server demonstration design and includes the following topics: Design
MAX II ISP Update with I/O Control & Register Data Retention
MAX II ISP Update with I/O Control & Register Data Retention March 2006, ver 1.0 Application Note 410 Introduction MAX II devices support the real-time in-system mability (ISP) feature that allows you
Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1
(DSF) Quartus II Stand: Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] Quartus II 1 Quartus II Software Design Series : Foundation 2007 Altera
Nios II IDE Help System
Nios II IDE Help System 101 Innovation Drive San Jose, CA 95134 www.altera.com Nios II IDE Version: 9.0 Document Version: 1.7 Document Date: March 2009 UG-N2IDEHELP-1.7 Table Of Contents About This Document...1
Using the NicheStack TCP/IP Stack - Nios II Edition Tutorial
Using the NicheStack TCP/IP Stack - Nios II Edition Tutorial Using the NicheStack TCP/IP Stack - Nios II Edition Tutorial 101 Innovation Drive San Jose, CA 95134 www.altera.com TU-01001-3.0 Subscribe Copyright
Altera SoC Embedded Design Suite User Guide
Altera SoC Embedded Design Suite User Guide Subscribe ug-1137 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents Introduction to SoC Embedded Design Suite... 1-1 Overview... 1-1 Linux
EthernetBlaster Communications Cable User Guide
EthernetBlaster Communications Cable User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Software Version: 80 Document Version: 1.1 Document Date: July 2008 Copyright 2008 Altera Corporation.
Using Altera MAX Series as Microcontroller I/O Expanders
2014.09.22 Using Altera MAX Series as Microcontroller I/O Expanders AN-265 Subscribe Many microcontroller and microprocessor chips limit the available I/O ports and pins to conserve pin counts and reduce
Using the Altera Serial Flash Loader Megafunction with the Quartus II Software
Using the Altera Flash Loader Megafunction with the Quartus II Software AN-370 Subscribe The Altera Flash Loader megafunction IP core is an in-system programming (ISP) solution for Altera serial configuration
TimeQuest Timing Analyzer Quick Start Tutorial
TimeQuest Timing Analyzer Quick Start Tutorial 101 Innovation Drive San Jose, CA 95134 www.altera.com Software Version: 9.1 Document Version: 1.1 Document Date: December 2009 UG-TMQSTANZR-1.1 Copyright
Nios 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
Video and Image Processing Suite
Video and Image Processing Suite January 2006, Version 6.1 Errata Sheet This document addresses known errata and documentation issues for the MegaCore functions in the Video and Image Processing Suite,
Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit
1 Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT OF FOR THE DEGREE IN Bachelor of Technology In Electronics and Communication
FPGAs for High-Performance DSP Applications
White Paper FPGAs for High-Performance DSP Applications This white paper compares the performance of DSP applications in Altera FPGAs with popular DSP processors as well as competitive FPGA offerings.
USB-Blaster II Download Cable User Guide
USB-Blaster II Download Cable User Guide Subscribe UG-01150 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents Setting Up the USB-Blaster II Download Cable...1-1 Supported Devices and
Introduction to the Altera Qsys System Integration Tool. 1 Introduction. For Quartus II 12.0
Introduction to the Altera Qsys System Integration Tool For Quartus II 12.0 1 Introduction This tutorial presents an introduction to Altera s Qsys system inegration tool, which is used to design digital
White Paper FPGA Performance Benchmarking Methodology
White Paper Introduction This paper presents a rigorous methodology for benchmarking the capabilities of an FPGA family. The goal of benchmarking is to compare the results for one FPGA family versus another
Applying the Benefits of Network on a Chip Architecture to FPGA System Design
Applying the Benefits of on a Chip Architecture to FPGA System Design WP-01149-1.1 White Paper This document describes the advantages of network on a chip (NoC) architecture in Altera FPGA system design.
For Quartus II Software. This Quick Start Guide will show you. how to set up a Quartus. enter timing requirements, and
Quick Start Guide For Quartus II Software This Quick Start Guide will show you how to set up a Quartus II project, enter timing requirements, and compile the design into an Altera device. 1 Three-Step
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 January 29 th 2015. VIVADO TUTORIAL 1 Table of Contents Requirements... 3 Part 1:
Qsys System Design Tutorial
2015.05.04 TU-01006 Subscribe This tutorial introduces you to the Qsys system integration tool available with the Quartus II software. This tutorial shows you how to design a system that uses various test
Engineering Change Order (ECO) Support in Programmable Logic Design
White Paper Engineering Change Order (ECO) Support in Programmable Logic Design A major benefit of programmable logic is that it accommodates changes to the system specification late in the design cycle.
Nios II Development Kit Version 5.1 SP1 Release Notes
Nios II Development Kit Version 5.1 SP1 Release Notes January 2006 Release Notes Overview This document lists the release notes for the Nios II Development Kit version 5.1 Service Pack 1. Release notes
Networking Remote-Controlled Moving Image Monitoring System
Networking Remote-Controlled Moving Image Monitoring System First Prize Networking Remote-Controlled Moving Image Monitoring System Institution: Participants: Instructor: National Chung Hsing University
Quartus II Software Download and Installation Quick Start Guide
Quartus II Software Download and Installation Quick Start Guide 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos
Altera Error Message Register Unloader IP Core User Guide
2015.06.12 Altera Error Message Register Unloader IP Core User Guide UG-01162 Subscribe The Error Message Register (EMR) Unloader IP core (altera unloader) reads and stores data from the hardened error
Guidelines for Developing a Nios II HAL Device Driver
2015.06.12 AN-459 Subscribe This application note explains the process of creating and debugging a hardware abstraction layer (HAL) software device driver. The included example of a HAL software device
White Paper Understanding Metastability in FPGAs
White Paper Understanding Metastability in FPGAs This white paper describes metastability in FPGAs, why it happens, and how it can cause design failures. It explains how metastability MTBF is calculated,
ELECTENG702 Advanced Embedded Systems. Improving AES128 software for Altera Nios II processor using custom instructions
Assignment ELECTENG702 Advanced Embedded Systems Improving AES128 software for Altera Nios II processor using custom instructions October 1. 2005 Professor Zoran Salcic by Kilian Foerster 10-8 Claybrook
Using the Agilent 3070 Tester for In-System Programming in Altera CPLDs
Using the Agilent 3070 Tester for In-System Programming in Altera CPLDs AN-628-1.0 Application Note This application note describes how to use the Agilent 3070 test system to achieve faster programming
PROFINET IRT: Getting Started with The Siemens CPU 315 PLC
PROFINET IRT: Getting Started with The Siemens CPU 315 PLC AN-674 Application Note This document shows how to demonstrate a working design using the PROFINET isochronous real-time (IRT) device firmware.
Enhancing High-Speed Telecommunications Networks with FEC
White Paper Enhancing High-Speed Telecommunications Networks with FEC As the demand for high-bandwidth telecommunications channels increases, service providers and equipment manufacturers must deliver
Quartus II Introduction for VHDL Users
Quartus II Introduction for VHDL Users This tutorial presents an introduction to the Quartus II software. It gives a general overview of a typical CAD flow for designing circuits that are implemented by
Quartus II Software and Device Support Release Notes Version 15.0
2015.05.04 Quartus II Software and Device Support Release Notes Version 15.0 RN-01080-15.0.0 Subscribe This document provides late-breaking information about the Altera Quartus II software release version
EMC NetWorker Module for Microsoft Exchange Server Release 5.1
EMC NetWorker Module for Microsoft Exchange Server Release 5.1 Installation Guide P/N 300-004-750 REV A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright
Introduction to the Quartus II Software. Version 10.0
Introduction to the Quartus II Software Version 10.0 Introduction to the Quartus II Software Altera Corporation 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com Introduction to the
Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor
Von der Hardware zur Software in FPGAs mit Embedded Prozessoren Alexander Hahn Senior Field Application Engineer Lattice Semiconductor AGENDA Overview Mico32 Embedded Processor Development Tool Chain HW/SW
Nios II System Architect Design Tutorial
Nios II System Architect Design Nios II System Architect Design 101 Innovation Drive San Jose, CA 95134 www.altera.com TU-01004-2.0 Document last updated for Altera Complete Design Suite version: Document
Remote Configuration Over Ethernet with the Nios II Processor
Remote Configuration Over Ethernet with the Nios II Processor April 2010 AN-429-3.0 Introduction Firmware in embedded hardware systems is frequently updated over the Ethernet. For embedded systems that
SUPER SMC LCD. User's Guide. Revision 1.0
SUPER SMC LCD User's Guide Revision 1.0 The information in this User s Manual has been carefully reviewed and is believed to be accurate. The vendor assumes no responsibility for any inaccuracies that
TMS320C67x FastRTS Library Programmer s Reference
TMS320C67x FastRTS Library Programmer s Reference SPRU100A October 2002 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections,
White Paper Increase Flexibility in Layer 2 Switches by Integrating Ethernet ASSP Functions Into FPGAs
White Paper Increase Flexibility in Layer 2 es by Integrating Ethernet ASSP Functions Into FPGAs Introduction A Layer 2 Ethernet switch connects multiple Ethernet LAN segments. Because each port on the
VMware Horizon FLEX User Guide
Horizon FLEX 1.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this
Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers. User s Guide
Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers User s Guide Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware
White Paper Using the Intel Flash Memory-Based EPC4, EPC8 & EPC16 Devices
White Paper Introduction Altera enhanced configuration devices provide single-device, advanced configuration solutions for high-density Altera FPGAs. The core of an enhanced configuration device is divided
Quartus II Introduction Using VHDL Design
Quartus II Introduction Using VHDL Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented
Test Center Enterprise. ios Device Onboarding Guide
Test Center Enterprise ios Device Onboarding Guide Copyright Copyright 2012 Keynote DeviceAnywhere. All Rights Reserved. March 2012. Notice 2012 Keynote DeviceAnywhere. All rights reserved. THE INFORMATION
CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start
CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System Disk Space PC with 1 GHz Intel Pentum -compatible processor 512 MB of RAM
Understanding CIC Compensation Filters
Understanding CIC Compensation Filters April 2007, ver. 1.0 Application Note 455 Introduction f The cascaded integrator-comb (CIC) filter is a class of hardware-efficient linear phase finite impulse response
Keeper Care System Data Manager Version 1.2.6
Automated Inventory Solutions, Inc. User Manual Keeper Care System Data Manager Version 1.2.6 Automated Inventory Solutions Phone: (304)725-4801 Fax: (304)725-6983 www.aisvendors.com Email: [email protected]
White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces
White Paper Introduction The DDR3 SDRAM memory architectures support higher bandwidths with bus rates of 600 Mbps to 1.6 Gbps (300 to 800 MHz), 1.5V operation for lower power, and higher densities of 2
White Paper Military Productivity Factors in Large FPGA Designs
White Paper Introduction Changes in technology and requirements are leading to FPGAs playing larger roles in defense electronics designs, and consequently are creating both opportunities and risks. The
White Paper 40-nm FPGAs and the Defense Electronic Design Organization
White Paper 40-nm FPGAs and the Defense Electronic Design Organization Introduction With Altera s introduction of 40-nm FPGAs, the design domains of military electronics that can be addressed with programmable
Python for Series 60 Platform
F O R U M N O K I A Getting Started with Python for Series 60 Platform Version 1.2; September 28, 2005 Python for Series 60 Platform Copyright 2005 Nokia Corporation. All rights reserved. Nokia and Nokia
SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.
SKP16C62P Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance
EMBEDDED C USING CODEWARRIOR Getting Started Manual
Embedded C using CodeWarrior 1 68HC12 FAMILY EMBEDDED C USING CODEWARRIOR Getting Started Manual TECHNOLOGICAL ARTS, INC. Toll-free: 1-877-963-8996 (USA and Canada) Phone: +(416) 963-8996 Fax: +(416) 963-9179
NIOS II Based Embedded Web Server Development for Networking Applications
NIOS II Based Embedded Web Server Development for Networking Applications 1 Sheetal Bhoyar, 2 Dr. D. V. Padole 1 Research Scholar, G. H. Raisoni College of Engineering, Nagpur, India 2 Professor, G. H.
Qsys and IP Core Integration
Qsys and IP Core Integration Prof. David Lariviere Columbia University Spring 2014 Overview What are IP Cores? Altera Design Tools for using and integrating IP Cores Overview of various IP Core Interconnect
Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB
APPLICATION NOTE M16C/26 1.0 Abstract The following article describes using a synchronous serial port and the FoUSB (Flash-over-USB ) Programmer application to program the user flash memory of the M16C/26
BitBlaster Serial Download Cable
BitBlaster Serial Download Cable February 2002, ver. 4.3 Data Sheet Features Allows PC and UNIX workstation users to perform the following functions: Program MAX 9000, MAX 7000S, MAX 7000A, and MAX 3000A
Set up a Nios II project that specifies a desired hardware system and software program
Altera Monitor Program Tutorial for Nios II For Quartus II 15.0 1 Introduction This tutorial presents an introduction to the Altera Monitor Program, which can be used to compile, assemble, download and
ChipScope Pro Tutorial
ChipScope Pro Tutorial Using an IBERT Core with ChipScope Pro Analyzer Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the
webmethods Certificate Toolkit
Title Page webmethods Certificate Toolkit User s Guide Version 7.1.1 January 2008 webmethods Copyright & Document ID This document applies to webmethods Certificate Toolkit Version 7.1.1 and to all subsequent
Microsoft Access 2010 Part 1: Introduction to Access
CALIFORNIA STATE UNIVERSITY, LOS ANGELES INFORMATION TECHNOLOGY SERVICES Microsoft Access 2010 Part 1: Introduction to Access Fall 2014, Version 1.2 Table of Contents Introduction...3 Starting Access...3
MAX II Development Kit Getting Started User Guide
MAX II Development Kit Getting Started User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com P25-10351-01 Development Kit Version: 1.1.0 Document Version: 1.1.0 Document Date:
AN 588: 10-Gbps Ethernet Hardware Demonstration Reference Designs
AN 588: 10-Gbps Ethernet Hardware Demonstration Reference Designs December 2009 AN-588-1.1 The reference designs demonstrate wire-speed operation of the Altera 10-Gbps Ethernet (10GbE) reference design
Lab 1: Introduction to Xilinx ISE Tutorial
Lab 1: Introduction to Xilinx ISE Tutorial This tutorial will introduce the reader to the Xilinx ISE software. Stepby-step instructions will be given to guide the reader through generating a project, creating
Interworks. Interworks Cloud Platform Installation Guide
Interworks Interworks Cloud Platform Installation Guide Published: March, 2014 This document contains information proprietary to Interworks and its receipt or possession does not convey any rights to reproduce,
License Patrol TM Mac Client Installation Guide 7.0 for Mac OS X. September 2015 VERALAB TM
License Patrol TM Mac Client Installation Guide 7.0 for Mac OS X September 2015 VERALAB TM License Patrol Client Installation Guide, 7.0 for Mac OS X. Copyright 2015 VeraLab Inc. All rights reserved. The
VMware Horizon FLEX User Guide
Horizon FLEX 1.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this
Embedded Electric Power Network Monitoring System
Nios II Embedded Processor Design Contest Outstanding Designs 2005 Third Prize Embedded Electric Power Network Monitoring System Institution: Participants: Instructor: Jiangsu University Xu Leijun, Guo
Business Portal for Microsoft Dynamics GP. Key Performance Indicators Release 10.0
Business Portal for Microsoft Dynamics GP Key Performance Indicators Release 10.0 Copyright Copyright 2007 Microsoft Corporation. All rights reserved. Complying with all applicable copyright laws is the
UNICORN 7.0. Administration and Technical Manual
UNICORN 7.0 Administration and Technical Manual Page intentionally left blank Table of Contents Table of Contents 1 Introduction... 1.1 Administrator functions overview... 1.2 Network terms and concepts...
Polycom RSS 4000 / RealPresence Capture Server 1.6 and RealPresence Media Manager 6.6
INTEGRATION GUIDE May 2014 3725-75304-001 Rev B Polycom RSS 4000 / RealPresence Capture Server 1.6 and RealPresence Media Manager 6.6 Polycom, Inc. 0 Copyright 2014, Polycom, Inc. All rights reserved.
Fujisoft solves graphics acceleration for the Android platform
DESIGN SOLUTION: A C U S T O M E R S U C C E S S S T O R Y Fujisoft solves graphics acceleration for the Android platform by Hiroyuki Ito, Senior Engineer Embedded Core Technology Department, Solution
PowerPlay Power Analysis & Optimization Technology
Quartus II Software Questions & Answers Following are the most frequently asked questions about the new features in Altera s Quartus II design software. PowerPlay Power Analysis & Optimization Technology
Creating a Webserver on the Nios development kit Stratix Edition board Enoch Hwang
Creating a Webserver on the Nios development kit Stratix Edition board Enoch Hwang A) Creating the Nios System (Nios v3.2 can only work with Quartus II v5.1 and below. Need to also remove Nios II completely.)
Binary Numbering Systems
Binary Numbering Systems April 1997, ver. 1 Application Note 83 Introduction Binary numbering systems are used in virtually all digital systems, including digital signal processing (DSP), networking, and
TESTING CENTER SARAS USER MANUAL
Brigham Young University Idaho TESTING CENTER SARAS USER MANUAL EXCELSOFT 1 P a g e Contents Recent Updates... 4 TYPOGRAPHIC CONVENTIONS... 5 SARAS PROGRAM NAVIGATION... 6 MANAGE REPOSITORY... 6 MANAGE
Creating the program. TIA Portal. SIMATIC Creating the program. Loading the block library. Deleting program block Main [OB1] Copying program blocks
Loading the block library 1 Deleting program block Main [OB1] 2 TIA Portal SIMATIC Getting Started Copying program blocks 3 Cyclic interrupt OB 4 Copying tag tables 5 Compiling a project 6 Load project
Expense Management. Configuration and Use of the Expense Management Module of Xpert.NET
Expense Management Configuration and Use of the Expense Management Module of Xpert.NET Table of Contents 1 Introduction 3 1.1 Purpose of the Document.............................. 3 1.2 Addressees of the
Secure IIS Web Server with SSL
Secure IIS Web Server with SSL EventTracker v7.x Publication Date: Sep 30, 2014 EventTracker 8815 Centre Park Drive Columbia MD 21045 www.eventtracker.com Abstract The purpose of this document is to help
Entrust Certificate Services for Adobe CDS
Entrust Certificate Services Entrust Certificate Services for Adobe CDS Getting Started Guide Entrust SafeNet Authentication Client: 8.3 Date of issue: July 2015 Document issue: 3.0 Revisions Issue and
DeviceAnywhere Enterprise. ios Device Onboarding Guide
DeviceAnywhere Enterprise ios Device Onboarding Guide DeviceAnywhere Enterprise ios Device Onboarding Guide DeviceAnywhere Enterprise 6.2.1 DeviceAnywhere Enterprise Automation 6.2.1 DeviceAnywhere Enterprise
Silect Software s MP Author
Silect MP Author for Microsoft System Center Operations Manager Silect Software s MP Author User Guide September 2, 2015 Disclaimer The information in this document is furnished for informational use only,
Altera Software Licensing
Altera Software Licensing March 2009 AN-340-2.3 Introduction This document describes options for licensing Altera software and the steps required for licensing: obtain a license file, set it up, and specify
White Paper Streaming Multichannel Uncompressed Video in the Broadcast Environment
White Paper Multichannel Uncompressed in the Broadcast Environment Designing video equipment for streaming multiple uncompressed video signals is a new challenge, especially with the demand for high-definition
VERITAS NetBackup Microsoft Windows User s Guide
VERITAS NetBackup Microsoft Windows User s Guide Release 3.2 Windows NT/95/98 May, 1999 P/N 100-001004 1994-1999 VERITAS Software Corporation. All rights reserved. Portions of this software are derived
