![Lattice Semiconductor LatticeMico32 Hardware Developer User Manual Download Page 27](http://html1.mh-extra.com/html/lattice-semiconductor/latticemico32/latticemico32_hardware-developer-user-manual_3843852027.webp)
U
SING
THE
L
ATTICE
M
ICO
S
YSTEM
S
OFTWARE
:
Creating the Microprocessor Platform in MSB
LatticeMico32 Hardware Developer User Guide
21
To quickly maximize the Component Help view, press
Ctrl+M
. Press Ctrl+M
again to return to the previous size.
Connecting Master and Slave Ports
The LatticeMico32 CPU component acts as the master to the peripheral slave
components that are attached to the bus structure, allowing it to have
unidirectional control over those devices.
Only certain components, such as the LatticeMico32 processor and the
LatticeMico32 DMA controller, have master ports. A master port can initiate
read and write transactions. A slave port cannot initiate transactions but can
respond to transactions initiated by a master port if it determines that it is the
targeted component for the initiated transaction.
A master port can be connected to one or more slave ports.
A component can have one or more master ports, one or more slave
ports, or both.
Attached to one or more slave ports, master port signals initiate read and
write transactions that are communicated to the targeted slave device, which
in turn responds appropriately. Generally, a component can have one or more
master ports, one or more slave ports, or both.
Arbitration Schemes
The connections that MSB makes depend on which arbitration scheme you
choose while creating the platform.
Shared-Bus Arbitration
MSB automatically generates a central arbiter
when it generates the microprocessor platform to allow multiple master ports
access to multiple slave ports over a single shared bus.
Figure 7 shows the connections made by MSB when the shared-bus
arbitration scheme is chosen.
Each master port connected to the arbiter has priority of access to the slave
ports. In the case of simultaneous access requests by multiple master ports,
the highest-priority master port is granted access to the bus. Master ports
have default priorities assigned in their components' .xml files when you add
the components to the platform. The master ports of the LatticeMico32
processor have defaults of 0 and 1. The master ports of the DMA controller
have defaults of 2 and 3. However, you can change these priorities by
selecting Platform Tools > Edit Arbitration Priorities and changing the priorities
in the Edit Arbitration Priorities dialog box. When you perform a DRC check,
MSB checks the validity of the priorities that you have changed.
Slave-Side Arbitration
Figure 8 shows the connections made by MSB
when the slave-side arbitration scheme is chosen.
Two types of slave-side arbitration are available: slave-side and round-robin.