
Applied Micro Circuits Corporation
6195 Lusk Blvd., San Diego, CA 92121 (619) 450-9333
15-29
ADD-ON DMA CONTROLLER DESIGN FOR THE S5933
2.3
DMA Controller Slave Access State Machine
The DMA controller registers are mapped into add-on memory space. The address decode is a 2-bit decode of
address bits A21 and A20. For add-on designs with conflicting memory requirements, the PLD equations can be
easily modified to decode more address bits or different combinations of address bits.
When the controller decodes its address with ADS# asserted, a register access begins. HLDA (hold acknowl-
edge) must be deasserted to allow a register access, indicating that the DMA controller is not the add-on bus
master. The SLAVE state machine controls all accesses by the add-on processor or logic. Figure 1 shows the
SLAVE state machine state diagram.
SLAVE 0 is the idle state. Depending on the state of A21 and A20 during the address phase of an access to the
DMA controller, the SLAVE 1 or SLAVE 2 state is entered. SLAVE 1 is a write to the address register, SLAVE 2
is a write to the transfer count register. It only takes a single clock to write the register, so in SLAVE 1 and
SLAVE 2, RDY_OUT# is asserted, and the next rising edge of BPCLK advances the state machine to SLAVE 3.
SLAVE 3 is a recovery state (required for all 80960 bus cycle accesses). RDY_OUT# is deasserted, completing
the access. The state machine returns to SLAVE 0 at the next rising edge of BPCLK.
For logic which does not require recovery states, SLAVE 3 may be removed, and the state machine can
advance from SLAVE 1 or SLAVE 2 back to SLAVE 0 (the idle state).
Figure 1. DMA Controller Slave State Machine