System id core, Core overview, Functional description – Altera Embedded Peripherals IP User Manual

Page 298: System id core -1, Core overview -1, Functional description -1

Advertising
background image

System ID Core

30

2014.24.07

UG-01085

Subscribe

Send Feedback

Core Overview

The system ID core with Avalon

®

interface is a simple read-only device that provides Qsys systems with a

unique identifier. Nios

®

II processor systems use the system ID core to verify that an executable program

was compiled targeting the actual hardware image configured in the target FPGA. If the expected ID in

the executable does not match the system ID core in the FPGA, it is possible that the software will not

execute correctly.

Functional Description

The system ID core provides a read-only Avalon Memory-Mapped (Avalon-MM) slave interface. This

interface has two 32-bit registers, as shown in the table below. The value of each register is determined at

system generation time, and always returns a constant value.

Table 30-1: System ID Core Register Map

Offs

et

Register

Name

R/W Description

0

id

R

A unique 32-bit value that is based on the contents of the Qsys system.

The id is similar to a check-sum value; Qsys systems with different

components, different configuration options, or both, produce

different id values.

1

timestamp

R

A unique 32-bit value that is based on the system generation time.

The value is equivalent to the number of seconds after Jan. 1, 1970.

There are two basic ways to use the system ID core:
• Verify the system ID before downloading new software to a system. This method is used by software

development tools, such as the Nios II integrated development environment (IDE). There is little point

in downloading a program to a target hardware system, if the program is compiled for different

hardware. Therefore, the Nios II IDE checks that the system ID core in hardware matches the expected

system ID of the software before downloading a program to run or debug.

• Check system ID after reset. If a program is running on hardware other than the expected Qsys system,

the program may fail to function altogether. If the program does not crash, it can behave erroneously

in subtle ways that are difficult to debug. To protect against this case, a program can compare the

expected system ID against the system ID core, and report an error if they do not match.

©

2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are

trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as

trademarks or service marks are the property of their respective holders as described at

www.altera.com/common/legal.html

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

ISO

9001:2008

Registered

www.altera.com

101 Innovation Drive, San Jose, CA 95134

Advertising