Jump to main content

##

# 3.9.3 Configurable Custom Logic (CCL)

The Configurable Custom Logic (CCL) is a programmable logic peripheral which can be connected to the device pins, to events, or to other internal peripherals. This allows the user to eliminate logic gates for simple glue logic functions on the PCB. Each LookUp Table (LUT) consists of three inputs, a truth table, an optional synchronizer/filter, and an optional edge detector. Each LUT can generate an output as a user programmable logic expression with three inputs. Inputs can be individually masked. The output can be combinatorially generated from the inputs, and can be filtered to remove spikes. Optional sequential logic can be used. The inputs of the sequential module are individually controlled by two independent, adjacent LUT (LUT0/LUT1, LUT2/LUT3 etc.) outputs, enabling complex waveform generation.

The module has following features:

- Glue logic for general purpose PCB design

- Up to 4 programmable LookUp Tables (LUTs)

- Combinatorial logic functions: AND, NAND, OR, NOR, XOR, XNOR, NOT

- Sequential logic functions: Gated D Flip-Flop, JK Flip-Flop, gated D Latch, RS Latch

- Flexible LUT inputs selection: I/Os, Events, Internal peripherals, Subsequent LUT output

- Output can be connected to the I/O pins or the Event System

- Optional synchronizer, filter, or edge detector available on each LUT output

## Using The Library

User needs to configure the module in MCC and generate code. Initialize API call automatically happens as part of SYS_Initialize()

## Library Interface

Configurable Custom Logic peripheral library provides the following interfaces:

Functions

Name | Description
--- | ---
CCL_Initialize | Initializes CCL peripheral