The Flexible Peripheral Interconnect (FPI) is a multi-master interconnect with a 32-bit interconnect supporting 8-, 16-, 32-, 64- 128- and 256-bit data transfers as well as atomic Read-Modify-Write transactions. Multi-master interconnect here means that exactly one data transfer between the connected function blocks can be executed at any time. The FPI connects the high speed functional blocks, such as the TC1.8 CPU´s and DMA modules to the medium and low bandwidth system and communication functional blocks.

The TC4x System interconnect architecture defines multiple FPI interconnect instances where each FPI interconnect instance provides a dedicated FPI Bus Control Unit (BCU):

  • SBCU related to the system peripheral interconnect (SPB)

  • CBCU related to the converter peripheral interconnect (CPB)

  • COMBCU related to communication peripheral interconnect (COMPB)

  • RBCU related to the radar control peripheral interconnect (RCB)

  • CSBCU related to the cyber Security peripheral interconnect (CSPB)

  • TBCU related to the tool peripheral interconnect (TPB)

    Note: Which FPI instances are instantiated in the respective product is described in chapter 'Characteristic of FPI interconnect'. The distribution of FBs to SPB, COMPB and CPB is product-specific.

    Note: The distribution of FBs on SPB, COMPB and CPB is product-specific and visible through the product specific BCUs ALSTAT register bits. The product-specific BCU ALSTAT registers show which FBs are connected to the respective FPI with their FPI EDC alarm signals.

Figure 1. FPI block diagram

Functional blocks (FB) can be connected to an FPI interconnect through an FPI slave interface, also called a slave agent, and through FPI master interface that is also called the master agent. An FPI interconnect allows the connected master agents to access the connected slave agents address range. In contrast to the SRI interconnect, which provides a cross-bar connection that supports parallel access between the connected master and slave agents, an FPI interconnect is a shared interconnect where all master and slave agents share the connections. Therefore an FPI interconnect is limited to only one connected master agent accessing one connected slave agent at a time.

There are two types of agents with which functional blocks are connected to an FPI interconnect:

  • FPI master agent can request for access to the FPI interconnect, starting a FPI transaction when it is granted by the local BCU arbitration function

  • FPI slave agent can only react and respond to FPI transactions initiated by FPI master agents in order to read or write internal registers of slave modules and for example memories

When an FPI master agent attempts to initiate a transaction on the FPI, it first signals a request for interconnect ownership to the local BCU. When the master agent is granted by the BCU it becomes the active master agent and starts the read or write transaction that consists of one or multiple address phase and data phase sequences. The slave agent addressed by the transaction address phase becomes the active FPI slave agent that responds with either the requested data transfer or with a transaction error.

FPI interconnect arbitration is performed by the BCU of the FPI. In case of a transaction error, the BCU signals an alarm to the Safety Management Unit (SMU) . Additionally it can generate an interrupt request and it can capture information about the transaction that lead to the transaction error.