ADuCM320 Hardware Reference Manual
UG-498
Rev. C | Page 147 of 196
PLA OPERATION
The PLA is configured via a set of user MMRs. The output(s) of the PLA can be routed to the internal interrupt system, to the
PLA_DOUTx MMRs, or to any of the 14 PLA output pins.
The GPIO inputs to the PLA are always connected to their corresponding elements regardless of the setting in GPxCON. This means that
a pin could be used as both an output and an input to the PLA at the same time.
A PLA block can have several clock sources for its output flip-flops, or the flip-flops can be individually bypassed. All output flip-flops in
the same block that are not bypassed share the same clock source. The configuration of the clock sources can be found in the PLA clock
select register (PLA_CLK).
Each PLA element in a block can be connected to other elements in the same block by configuring the output of Mux 0 and Mux 1. The
configuration of these two multiplexer can be found in the PLA_ELEMn configuration register. A complete list of the possible connections is
given in Table 207 and Table 208.
The four blocks can be interconnected as follows:
•
Output of Element 7 (Block 0 Element 7) can be fed back to the Input 0 of Mux 0 of Element 8 (Block 1 Element 0).
•
Output of Element 15 (Block 1 Element 7) can be fed back to Input 0 of Mux 0 of Element 16 (Block 2 Element 0).
•
Output of Element 23 (Block 2 Element 7) can be fed back to the Input 0 of Mux 0 of Element 24 (Block 3 Element 0).
•
Output of Element 31 (Block 3 Element 7) can be fed back to Input 0 of Mux 0 of Element 0 (Block 0 Element 0).
See Figure 27 for more information.
There are four interrupts available for the PLA. These can be configured to trigger on the output of any element using the PLA_IRQ0 and
PLA_IRQ1 registers. The interrupts are active high; therefore, the interrupts continue to be triggered until the output of the element goes
low or until the IRQ is disabled. If an active low interrupt is required, an extra element must be configured as an inverter and then the
interrupt must be configured to monitor the output of this new element. If an edge triggered interrupt is required, two extra elements
must be used and configured as an edge detector ((A) AND A).