Specifications
Table Of Contents
- Nios II Processor Reference Handbook
- Contents
- Chapter Revision Dates
- About This Handbook
- Section I. Nios II Processor
- 1. Introduction
- 2. Processor Architecture
- 3. Programming Model
- Introduction
- General- Purpose Registers
- Control Registers
- Operating Modes
- Exception Processing
- Memory and Peripheral Access
- Instruction Set Categories
- Referenced Documents
- Document Revision History
- 4. Instantiating the Nios II Processor in SOPC Builder
- Section II. Appendices
- 5. Nios II Core Implementation Details
- Introduction
- Device Family Support
- Nios II/f Core
- Nios II/s Core
- Nios II/e Core
- Referenced Documents
- Document Revision History
- 6. Nios II Processor Revision History
- 7. Application Binary Interface
- 8. Instruction Set Reference
- Introduction
- Word Formats
- Instruction Opcodes
- Assembler Pseudo- instructions
- Assembler Macros
- Instruction Set Reference
- add
- addi
- and
- andhi
- andi
- beq
- bge
- bgeu
- bgt
- bgtu
- ble
- bleu
- blt
- bltu
- bne
- br
- break
- bret
- call
- callr
- cmpeq
- cmpeqi
- cmpge
- cmpgei
- cmpgeu
- cmpgeui
- cmpgt
- cmpgti
- cmpgtu
- cmpgtui
- cmple
- cmplei
- cmpleu
- cmpleui
- cmplt
- cmplti
- cmpltu
- cmpltui
- cmpne
- cmpnei
- custom
- div
- divu
- eret
- flushd
- flushda
- flushi
- flushp
- initd
- initi
- jmp
- jmpi
- ldb / ldbio
- ldbu / ldbuio
- ldh / ldhio
- ldhu / ldhuio
- ldw / ldwio
- mov
- movhi
- movi
- movia
- movui
- mul
- muli
- mulxss
- mulxsu
- mulxuu
- nextpc
- nop
- nor
- or
- orhi
- ori
- rdctl
- ret
- rol
- roli
- ror
- sll
- slli
- sra
- srai
- srl
- srli
- stb / stbio
- sth / sthio
- stw / stwio
- sub
- subi
- sync
- trap
- wrctl
- xor
- xorhi
- xori
- Referenced Documents
- Document Revision History

Altera Corporation 1–5
October 2007 Nios II Processor Reference Handbook
Introduction
Flexible Peripheral Set and Address Map
A flexible peripheral set is one of the most notable differences between
Nios II processor systems and fixed microcontrollers. Because of the soft-
core nature of the Nios II processor, you can easily build made-to-order
Nios II processor systems with the exact peripheral set required for the
target applications.
A corollary of flexible peripherals is a flexible address map. Altera
provides software constructs to access memory and peripherals
generically, independently of address location. Therefore, the flexible
peripheral set and address map does not affect application developers.
There are two broad classes of peripherals: standard peripherals and
custom peripherals.
Standard Peripherals
Altera provides a set of peripherals commonly used in microcontrollers,
such as timers, serial communication interfaces, general-purpose I/O,
SDRAM controllers, and other memory interfaces. The list of available
peripherals continues to grow as Altera and third-party vendors release
new soft peripheral cores.
Custom Peripherals
You can also create custom peripherals and integrate them into Nios II
processor systems. For performance-critical systems that spend most
CPU cycles executing a specific section of code, it is a common technique
to create a custom peripheral that implements the same function in
hardware. This approach offers a double performance benefit: the
hardware implementation is faster than software; and the processor is
free to perform other functions in parallel while the custom peripheral
operates on data.
Custom Instructions
Like custom peripherals, custom instructions allow you to increase
system performance by augmenting the processor with custom
hardware. The soft-core nature of the Nios II processor enables you to
integrate custom logic into the arithmetic logic unit (ALU). Similar to
native Nios II instructions, custom instruction logic can take values from
up to two source registers and optionally write back a result to a
destination register.