3Bus Interfaces

In order for connections to be made with a bus, each of its nodes must have an interface. This chapter covers the notions relating to these interfaces.

3.1. Functional modules

The nodes of a bus, which usually take on the physical form of an electronic board, can be modeled as two sub-sets (Figure 3.1): the user module and the bus interface (I/F). The user module can be a master M or a slave S. Examples of this are the MPU (MicroProcessor Unit), memory devices or Input–Output (I/O) controllers. The bus interface enables dialogue between the user module – whether master or slave – and the bus. It can be modeled functionally by two sub-sets which are the interfacing logic and management elements or functional modules.

For buses operating synchronously, a distinction must be made between the bus interface and the user module. If the state machine of the interface is paced by a clock, then it is called a “clocked interface”. If the host is paced by another clock, or operates asynchronously, this can result in clock issues, such as metastability (cf. § 3.5.2 in Darche (2004)) due to the presence of two clock domains (CDC for “Clock Domain Crossing”, cf. § 3.6.6 in Darche (2012)) and violation of the golden rule of access (i.e. bus-setup and hold times, cf. § 3.3.4 in Darche (2012)) that applies to the flip-flops. If both entities are paced by the same clock signal, this is called a “clocked protocol” (Corso et al. 1986).

Functional modules, or management elements, ...

Get Microprocessor 2 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.