Altera Nios II Custom Instruction User Guide

This guide describes the Altera Nios II processor custom instructions, including instruction formats, instruction encoding, data types, operands, registers and memory accesses, and the use and writing of custom instructions. The guide also discusses optimization of custom instructions and the limitations imposed by memory management and instruction scheduling.


Altera Nios II Custom Instruction User Guide - cover page
Brand
Altera
Category
microcontrollers
Document type
User Manual
Language
English
Pages
44
File format
PDF
File size
701 KB
Published
09 August, 2012
Updated
01 October, 2023
MD5 checksum
A417E2FCABC6D5B05FA84DF18527BEBB

About this manual

The Nios II Custom Instruction User Guide describes how system designers can accelerate time-critical software algorithms by adding custom instructions to the Nios II processor instruction set. These custom instructions allow complex sequences of standard instructions to be reduced to a single instruction implemented in hardware, optimizing software inner loops for applications such as digital signal processing and packet header processing.

The document details the hardware block diagrams, different types of custom instructions (combinational, multi-cycle, extended, internal register file, and external interface), and the software interface. It provides step-by-step instructions for implementing custom instruction hardware using SOPC Builder and accessing them from software via C/C++ macros or assembly language.

What's inside

  • Custom Instruction Overview
  • Implementing Custom Instruction Hardware
  • Custom Instruction Types
  • Software Interface
  • Implementing a Nios II Custom Instruction
  • Custom Instruction Templates
  • Built-In Functions
  • Porting First-Generation Instructions
  • Floating Point Custom Instructions
  • Revision History

Specifications

Maximum number of custom instructions256
Processor core version8.0
Document version1.5

Frequently asked questions

What is the purpose of Nios II custom instructions?

They allow system designers to accelerate time-critical software algorithms by converting complex sequences of standard instructions into a single hardware instruction.

How are custom instructions implemented in hardware?

They are implemented as custom logic blocks adjacent to the processor's arithmetic logic unit (ALU) in the data path.

How do software developers access custom instructions?

Developers can use C or C++ application code where the IDE generates a macro in the system header file, or they can use Nios II processor assembly language.

Download PDF (701 KB)

More Altera Manuals


View all Altera manuals →