Using Events And Interrupts - Altera Cyclone V Device Handbook

Hide thumbs Also See for Cyclone V:
Table of Contents

Advertisement

16-14
Synopsys Protocol
Synopsys Protocol
For peripherals using the Synopsys protocol, clock-crossing logic and protocol adaptation logic exist between
the DMA and the peripheral. The Synopsys protocol does not support the flush command; any flush
commands issued do not reach the peripheral. The Synopsys protocol does not provide for acknowledgements;
hence, the protocol cannot distinguish between acknowledgements to burst and single transfers.
No Flush Support
For peripherals that use the Synopsys peripheral request protocols, the flush command is not supported.
Any flush command issued to any peripheral interface supporting the Synopsys protocol is dropped before
reaching the peripheral.
No Acknowledge Type
For the Synopsys peripheral request interface protocol, there is no acknowledgement available. As a result
peripherals using the Synopsys protocol cannot distinguish between acknowledgements to burst and single
transfers.

Using Events and Interrupts

The DMAC can support eight events and interrupts. The INTEN register determines whether each event-
interrupt resource is an event or an interrupt.
When the DMAC executes a DMASEV instruction it modifies the event-interrupt resource that you specify.
The INTEN register sets the event-interrupt resource to function as an:
• Event The DMAC generates an event for the specified event-interrupt resource. When the DMAC
executes a DMAWFE instruction for the same event-interrupt resource then it clears the event.
• Interrupt The DMAC sets the irq <event_num> signal high, where <event_num> is the number
of the specified event resource. To clear the interrupt you must write to the INTCLR register.
Using an Event to Restart DMA Channels
When you program the INTEN register to generate an event, you can use the DMASEV and DMAWFE
instructions to restart one or more DMA channels.
DMAC executes DMAWFE before DMASEV
To restart a single DMA channel:
1. The first DMA channel executes DMAWFE and then stalls while it waits for the event to occur.
2. The other DMA channel executes DMASEV using the same event number. This generates an event, and
the first DMA channel restarts. The DMAC clears the event, one clock cycle after it executes DMASEV.
You can program multiple channels to wait for the same event. For example, if four DMA channels have all
executed DMAWFE for event 2, and another DMA channel executes DMASEV for event 2, the four DMA
channels all restart at the same time. The DMAC clears the event, one clock cycle after it executes DMASEV.
DMAC executes DMASEV before DMAWFE
If the DMAC executes DMASEV before another channel executes DMAWFE the event remains pending until
the DMAC executes DMAWFE. When the DMAC executes DMAWFE it halts execution for one aclk clock
cycle, clears the event and then continues execution of the channel thread.
Altera Corporation
cv_54016
2013.12.30
DMA Controller
Send Feedback

Advertisement

Table of Contents
loading

Table of Contents