CLB Synthesizer

The PIC16F13145 family of microcontrollers introduce a new peripheral, the Configurable Logic Block (CLB).

The CLB peripheral, comprised of 32 Basic Logic Elements (BLE), allows the users to incorporate hardware-based custom logic into their applications. Each logic element’s Look-up Table (LUT) based design offers vast customization options, and the CPU-independent operation improves the response time and power consumption.

The user must configure elements as matrix multiplexers, LUTs, and flip-flops to achieve a given logic function, which is similar to the Configurable Logic Cell (CLC) on PIC® MCUs or the Configurable Custom Logic (CCL) on the AVR® MCUs. However, the matrix is much larger and is interconnected to a higher degree - which enables users to make more complex logic functions. To help users focus on the intended functionality of their logic design without having to understand the inner workings of the peripheral, Microchip provides a GUI (CLB Synthesizer) used for Configurable Logic Block configuration.

1 Tool Versions: MCC-Integrated and Stand-Alone-Online

The available configuration tool has two versions: One integrated into MCC Melody and one online, stand-alone version.

CLB Synthesizer - MCC Melody: The version of the tool integrated into MPLAB® Code Configurator (MCC) Melody allows one to create a logic design from scratch or to import a logic design from the online version of the tool. It enables the user to develop a complete application using the CLB in MCC Melody and offers a high level of integration with other peripherals also configured using MCC Melody.

CLB Synthesizer - Online: The tool's online version allows one to create a logic design, synthesize it, and download it as a file (bitstream). In addition to the bitstream, a template source code is provided for configuring the CLB, but integrating it into the embedded project is left up to the user.

The logic configuration experience is common to both versions of the tool, so the tool's online version can be used to start a logic design using the CLB before moving to MCC Melody for further development.