Cyclone® V Hard Processor System Technical Reference Manual

ID 683126
Date 8/28/2023
Public
Document Table of Contents

10.4.2.5.1. HPS Peripheral Master Input IDs

The following table identifies the ID that must be programmed in the mid field of the vid*rd and vid*wr registers, if an HPS master requires a fixed ACP mapping. The first column of the table gives the generic ID encoding, where the "x"s represent bits that change based on if the vid*rd or vid*wr register is being configured.

Table 65.  HPS Peripheral Master Input IDsThe input IDs issued by the interconnect for each HPS peripheral master that can access the ACP ID mapper

Interconnect Master

ID 23

vid*rd.mid vid*wr.mid
L2M0
0xxx xxxx x010

Slave port 0, Address ID {ARIDS0, 00}—Non-cacheable exclusive or locked read from slave 0

Slave port 1, Address ID {ARIDS0, 10}—Non-cacheable exclusive or locked read from slave 1

Note:
The following IDs define only the "xs" in
0xxx xxxx x010
, which means the non-x bits are fixed.
  • 00000101—Read from store buffer slot 0
  • 00001001—Read from store buffer slot 1
  • 00001101—Read from store buffer slot 2
  • 00010011—Prefetch from linefill buffer slot 0
  • 00010111—Prefetch from linefill buffer slot 1
  • 00011011—Prefetch from linefill buffer slot 2
  • 00011111—Prefetch from linefill buffer slot 3
  • 00000011 or 00000111 or 00001011 or 00001111—Linefill generated by cacheable read miss or non-cacheable read from slave S0 or S1

Slave port 0, Address ID {AWIDS0, 00}—Non-bufferable write from slave 0

Slave port 1, Address ID {AWIDS1, 10}—Non-bufferable write from slave 1

Note:
The following IDs define only the "xs" in
0xxx xxxx x010
, which means the non-x bits are fixed.
  • 00000011—Eviction from slot 0
  • 00000111—Eviction from slot 1
  • 00001011—Eviction from slot 2
  • 00001101—Device write from store buffer
  • 00000001—Write from store buffer slot 0
  • 00000101—Write from store buffer slot 1
  • 00001001—Write from store buffer slot 2

DMA

0000 0xxx x001

"x" should indicate the total number of DMA channels. When the DMA performs an ACP read, the DMA controller signals the x values to be the same number as the number of DMA channels that the DMA controller provides. For example, if the DMA controller provides eight DMA channels, the x values must be set to 4'b1000.

"x" should indicate the number of the channel performing the write. When a DMA channel performs and an ACP write, the DMA controller signals the x values to be the same number as the DMA channel. For example, when DMA channel 5 performs a DMA store operation, the DMA Controller sets the x values to 4'b0101.

EMAC0

1000 0000 x001

When x=0, this indicates the EMAC0 Rx channel is accessing memory and when x=1, this indicates the EMAC0 Tx channel is accessing memory.

Each channel, Rx and Tx, requires read access to memory. This requirement exists because each channel DMA controller reads descriptors from memory when the packet is moved to or from memory. If you use static ACP ID mapping, you must allocate two static mappings for EMAC0: one for x=0 and one for x=1.

When x=0, this indicates the EMAC0 Rx channel is accessing memory and when x=1, this indicates the EMAC0 Tx channel is accessing memory.

Each channel, Rx and Tx, requires write access to memory. This requirement exists because each channel DMA controller writes descriptors to memory when the packet is moved to or from memory. If you use static ACP ID mapping, then you need to allocate two static mappings for EMAC0: one for x=0 and one for x=1.

EMAC1

1000 0000 x010

When x=0, this indicates the EMAC1 Rx channel is accessing memory and when x=1, this indicates the EMAC1 Tx channel is accessing memory.

Each channel, Rx and Tx, requires read access to memory. This requirement exists because each channel DMA controller reads descriptors from memory when the packet is moved to or from memory. If you use static ACP ID mapping, then you must allocate two static mappings for EMAC1: one for x=0 and one for x=1.

When x=0, this indicates the EMAC1 Rx channel is accessing memory and when x=1, this indicates the EMAC1 Tx channel is accessing memory.

Each channel, Rx and Tx, requires write access to memory. This requirement exists because each channel DMA controller writes descriptors to memory when the packet is moved to or from memory. If you use static ACP ID mapping, then you must allocate two static mappings for EMAC1: one for x=0 and one for x=1.

USB0

1000 0000 0011
1000 0000 0011
1000 0000 0011

USB1

1000 0000 0110
1000 0000 0110
1000 0000 0110

NAND

1000 0000 0100
1000 0000 0100
1000 0000 0100

ETR

1000 0000 0000
1000 0000 0000
1000 0000 0000

DAP

0000 0000 0100
0000 0000 0100
0000 0000 0100

SD/MMC

1000 0000 0101
1000 0000 0101
1000 0000 0101

FPGA-to-HPS bridge

0xxx xxxx x000
The "x"s in this field are user-defined. The "x"s in this field are user-defined.
23 Values are in binary. The letter x denotes variable ID bits that each master passes with each transaction.