Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.3.5.3. TBU with Untranslated Interface

ACE-Lite protocol supports the untranslated interface for address translation. Address translation is the process of translating the input address to output address-based address mapping and memory attribute information that is held in translation tables.

The main two attributes in the untranslated interface are: Stream ID and Substream ID. The overall address translation in the TCU is shown in the following figure where these Stream and Substream IDs are used to generate final Physical Address (PA).

Figure 36. Address Transaction with Substream/Stream ID and Address

Untranslated interface signals are provided in the following table.

Table 94.  Untranslated Interface Signals

Signal

Description

AxMMUSECSID

Secure Stream Identifier: Single bit Secure or Nonsecure identifier.

  • 1’b0: Non-secure stream
  • 1’b1: Secure stream

AxMMUSID[15:0]

Stream Identifier: Used to identify the stream

AxMMUSSIDV

Substream Identifier Valid: Indicates that the transaction has additional substream identifier.

  • 1’b0: No substream identifier include in the stream
  • 1’b1: Stream has substream identifier

AxMMUSSID[0:0]

Substream Identifier: It is valid when AxMMUSSIDV is asserted.

AxMMUATST

Address Translated: It is used say the address has already undergone PCIe* ATS translation.

Few restrictions on driving stream signals:

  • For transactions that do not specify the a substream ID as indicated by AxMMUSSIDV deasserted:
    • AxMMUSSID must be driven to all zero
  • For transactions that are in a non-secure stream, as indicated by AxMMUSECSID deasserted:
    • AxPROT[1] must be HIGH. Indicates the Non-secure transaction
Currently 16-bit Stream ID is supported for Agilex™ 5. The StreamID for the managers must be unique such that it does not impersonate another device. Devices should use separate StreamIDs for:
  • Different virtual functions, so that each virtual function can be given a separate stage 2 configuration
  • Streams with different traffic properties or real-time requirements, so that the cache can be configured to consider this information

SubstreamID is not used for Agilex™ 5 as it is only to represent a process identifier which most of the devices do not use it.

StreamIDs in the system manager can be configured by the secured System Software. Device driver or software should not have any control to alter these values.

StreamID spaces can be Secure or Non-secure. The SMMU implements separate Secure and Non-secure register files and each controls their own communication queues, and configuration tables.
  • Transaction with Secure StreamIDs are translated according to the configuration in the secure registers and memory tables.
  • Transactions with Non-secure StreamIDs are translated according to the configuration in the Non-secure registers and memory tables.
  • The Secure and Non-secure StreamIDs are not related to each other.