Module Overview

The Configurable Custom Logic (CCL) module contains programmable logic which can be connected to I/O pins, internal feedback, peripherals or events. This allows the user to eliminate logic gates on the PCB for glue logic functions, and introduces additional functionality to applications. CCL can for instance be used to implement conditional wakeup, where a specific combination of pin and peripheral states enables the device to wakeup, or optionally to enter a safe state if necessary.

A key element of CCL is the Programmable Lookup Table (LUT). Each LUT consists of three individually configurable inputs and a truth table, in addition to optional filter, synchronizer and edge detector. Each LUT can generate an output as a user programmable logic expression from the three inputs. As can be seen from following block diagram, two LUTs (LUT0 and LUT1, LUT2 and LUT3) are connected to a sequential logic block, forming a unit. The optional sequential logic can be enabled for complex waveform generation such as JK flip-flop, RS latch, D latch or gated D flip-flop. The output can be routed to I/O pins, peripherals, event system or as feedback to the corresponding unit. The output can also be applied as feedback to a different LUT.

Figure 1. Block Diagram