在许多嵌入式系统应用中,通常都会使用分立式逻辑器件,例如74'HC系列。这些逻辑器件的优势在于可以独立于单片机(MCU)工作,并且响应速度比软件快得多。但是,这些器件会增加物料清单(BOM)并且需要占用额外的PCB面积。
为了解决这一问题,Microchip的许多单片机都集成了一种名为可配置逻辑单元(CLC)的外设(在PIC® MCU上)或名为可配置定制逻辑(CCL)的类似外设(在AVR® MCU上)。这两种外设都实现了软件定义的定制逻辑,可以独立于CPU执行。换句话说,一旦设置了定制逻辑功能,其行为就独立于单片机。
但是,这两种外设存在限制,即每个实例的逻辑数量非常小。每个CLC大约相当于一个查找表(LUT),而CCL相当于一个内部具有几个独立LUT的实例。这两种外设的功能非常强大,可用于开发简单逻辑电路、将各种信号混合在一起以及与其他硬件外设相集成。例如,硬件按钮去抖、WS2812输出生成和正交解码这些示例都需要使用这两种外设,但单片机中这两种外设的数量并不多,因此限制了应用的复杂度。
为了支持更复杂的应用,PIC16F13145系列单片机引入了一种名为可配置逻辑模块(CLB)的新型逻辑外设(如图1所示)。请注意,CLB并不会取代CLC或CCL外设,器件可以同时配备CLC/CCL和CLB。