In the semiconductor field, microcontrollers (MCUs) represent a highly competitive domain. To stand out among numerous competitors, MCUs have continuously added new "skills" to adapt to the evolving market requirements. As a result, today’s MCUs are no longer simple computation and control chips in the traditional sense. Instead, they have become system-on-chips (SoCs) that integrate a CPU core along with a variety of peripheral function modules.
Especially in an era where CPU cores are increasingly homogenized, achieving differentiation in product design requires MCU manufacturers to focus on the integration of unique peripheral functions outside the CPU core. This allows their products to possess distinct selling points.
When it comes to "which types of peripheral functions can be integrated into an MCU," manufacturers have made various attempts: memory, timers, analog peripherals, communication interfaces, and even RF transceivers, among others. Recently, Microchip has pushed the boundaries by introducing a new concept—integrating a "micro FPGA" into an MCU!
Microchip's PIC16F13145 series MCU is a unique attempt to integrate programmable logic into 8-bit MCUs. Unlike traditional 8-bit MCUs, the PIC16F13145 series features a Configurable Logic Block (CLB) module in addition to conventional peripherals like ADCs, DACs, comparators, and timers.
The CLB is composed of a 32-element Basic Logic Element (BLE) array. Each BLE can simulate AND/OR/NAND/NOR gates, buffers/inverting buffers, D flip-flops, JK flip-flops, multiplexers, or 4-input LUTs (Look-Up Tables).
This means developers can use the CLB to directly create hardware-based custom combinational logic functions within the MCU, achieving desired hardware circuits without being constrained by the fixed hardware architecture of a general-purpose MCU. It is essentially like adding a "micro FPGA" inside the MCU.
Structurally, the CLB closely resembles FPGA programmable logic. Each BLE consists of a 4-input LUT and a D flip-flop. The CLB input interface includes 16 input selection latches, each capable of selecting one of 40 different signals, which may come from external pins, internal peripherals, or software-controlled registers.
The CLB's input also incorporates programmable edge detectors, which default to triggering on rising edges but can be programmed for falling-edge detection or bypassed entirely. The CLB supports eight outputs that can be routed to external pins, internal registers, or inputs of internal peripherals. It also features a 3-bit hardware counter for building state machines.
The CLB proves particularly valuable for scenarios requiring simple multitasking, parallel processing, or a limited amount of real-time hardware-level processing. Developers can use the CLB to implement state machines or "high-speed" peripherals, such as software-driven signal multiplexers, counters, quadrature decoders, stepper motor controllers, or high-speed PWM generators.
For Microchip, integrating programmable logic into MCUs is not a completely new topic. More than a decade ago, Microchip introduced a programmable logic peripheral called Configurable Logic Cell (CLC) in its MCUs, a concept that was validated by the market. With increasing demand for more complex programmable logic in practical applications, the PIC16F13145 series evolved into the larger and more complex CLB, representing a significant upgrade. This evolution allows the series to be used in applications traditionally served by standalone programmable logic devices.
The unique positioning of the PIC16F13145 series offers developers several benefits:
Performance Optimization: The CLB, integrated into the MCU, implements logic functions through hardware, significantly outperforming the "general-purpose MCU + software" model. This enhances the speed and responsiveness of embedded control systems, optimizing overall system performance. Additionally, since no external logic devices are needed, it reduces the BOM cost—delivering a win-win outcome.
Power Efficiency: As an independent peripheral, the CLB in the PIC16F13145 can operate even when the CPU is in sleep mode, allowing it to handle external and internal tasks while minimizing power consumption. Combined with other peripherals (such as timers, ADCs, and PWM modules), the CLB further optimizes power efficiency.
Design Flexibility: The CLB provides greater scalability. As project requirements evolve, developers can quickly iterate designs through flexible hardware programming without having to start over. This simplifies the entire design process.
Thus, with the CLB's higher performance, lower power consumption, and greater scalability, combined with rich on-chip resources (such as a fast 10-bit ADC with built-in computational capabilities, an 8-bit DAC, fast comparators, 8-bit and 16-bit timers, and I2C and SPI communication modules), the PIC16F13145 series MCU undoubtedly provides embedded developers with a powerful and flexible tool.
Of course, an embedded hardware platform needs to be paired with supporting software tools and technical resources to deliver a complete development experience. For the innovative architecture of the PIC16F13145 series MCU, a comprehensive development ecosystem is essential to lower the barrier for developers to "try it out."
The good news is that Microchip has already prepared for this. Development for the PIC16F13145 series MCU is supported by the MPLAB Code Configurator (MCC), a free software plug-in for Microchip's MPLAB X IDE. MCC allows developers to easily configure peripherals and generate initialization code through a graphical interface.
Hot News