Reasons for Using a Bridge
When you have no bridges between master-slave pairs, SOPC Builder generates a
system interconnect fabric with maximum parallelism, such that all masters can drive
transactions to all slaves concurrently, as long as each master accesses a different
slave. For systems that do not require a large degree of concurrency, the default
behavior might not provide optimal performance. With knowledge of the system and
application, you can optimize the system interconnect fabric by inserting bridges to
control the system topology.
Figure 11–2 and Figure 11–3 show an SOPC system without bridges. This system
includes three CPUs, a DDR SDRAM controller, a message buffer RAM, a message
buffer mutex, and a tristate bridge to an external SRAM.
Figure 11–3 illustrates the default system interconnect fabric for the system in
Figure 11–2.
Figure 11–4 and Figure 11–5 show how inserting bridges can affect the generated
logic. For example, if the DDR SDRAM controller can run at 166 MHz and the CPUs
accessing it can run at 120 MHz, inserting an Avalon-MM clock-crossing bridge
between the CPUs and the DDR SDRAM has the following benefits:
■ Allows the CPU and DDR interfaces to run at different frequencies.
■ Places system interconnect fabric for the arbitration logic and multiplexer for the
DDR SDRAM controller in the slower clock domain.
■ Reduces the complexity of the interconnect logic in the faster domain, allowing the
system to achieve a higher fMAX.
Inserting the clock-crossing bridge does increase read latency and may not
be beneficial unless your system includes more devices that access the
memory.
In the system illustrated in Figure 11–4, the message buffer RAM and message buffer
mutex must respond quickly to the CPUs, but each response includes only a small
amount of data. Placing an Avalon-MM pipeline bridge between the CPUs and the
message buffers results in the following benefits:
■ Eliminates separate arbiter logic for the message buffer RAM and message buffer
mutex, which reduces logic utilization and propagation delay, thus increasing the
fMAX.
■ Reduces the overall size and complexity of the system interconnect fabric.
If an orange triangle appears next to an address in Figure 11–4, it indicates that the
address is an offset value and is not the true value of the address in the address map
Figure 11–5 shows the system interconnect fabric that SOPC Builder creates for the
system in Figure 11–4. Figure 11–5 is the same system that is pictured in Figure 11–3
with bridges to control system topology