2000可配置逻辑块(CLB)是可配置块的集合,可使用软件互连以实现自定义数字逻辑功能。CLB能够通过一组X-bar连接来增强现有的外围设备,如ePWM、eCAP、eQEP。X-bar还允许CLB连接到外部GPIO引脚,通过这种方式,CLB可以被配置为与外设交互以执行小的逻辑功能,例如简单的PWM发生器,或者实现定制的串行数据交换协议。
支持文档在:C:\ti\c2000\C2000Ware_3_01_00_00\utilities\clb_tool\clb_syscfg\doc
280049C有4个可配置的实例。
输入
每个CLB实例都看到一组公共的72个输入信号,称为全局输入信号。此外,每个CLB实例都有一组特定的25个输入信号,这些信号对每个实例都是唯一的,称为本地输入信号。CLB的八个输入中的每一个都可以从全局输入信号或本地输入信号中选择。具体见下表。
为了使用gpio作为CLB的输入,用户必须使用输入X-BAR和CLB X-BAR。
输出
CLB的8个输出被复制为16个输出信号。这16个输出中的每一个都有一个单独的使能位定义在CLB 输出使能寄存器,CLB_OUT_EN_REG.中。CLB输出到设备中的ePWM、eCAP、eQEP和X-bar。这允许用户增强这些模块的功能。
The CLB Tile
CLB tile的目的是提供CLB的逻辑重构能力。CLB tile包含以下子模块:
Counter:计数器子模块可以配置为加法器、计数器或移位器。当用作加法器时,它可以加减。当用作计数器时,它可以向上或向下计数。当它作为移位器时,可以左移或右移。计数器事件输入和复位输入可以自由地连接到同一实例中的任何其他子模块。每块实例上有三个计数器。
LUT4:LUT4子模块具有4输入查找表功能,并且能够实现最多4个输入的任意布尔方程。每个CLB实例中有三个LUT4子模块。
FSM:有限状态机(FSM)子模块可以配置为单个四状态有限状态机,也可以配置为两个独立的两状态有限状态机。FSM接受两个外部输入,并生成两个状态输出和一个组合输出。当不用作状态机时,FSM子模块可以接受两个外部输入并作为4输入LUT工作。每个CLB实例中有三个FSM子模块。
Output LUT:输出LUT是一个三输入查找表子模块,能够实现最多三个输入的任意组合布尔方程。在CLB tile中有八个这样的块,每个块都与其中一个tile输出相关联。
High Level Controller:高级控制器(HLC)子模块是一个事件驱动块,最多可以处理四个并发事件。事件可以是任何其他块输出上的活动。当每个事件发生时,将执行一组预定义的操作。HLC还为CPU子系统提供数据交换和中断机制。有四个工作寄存器(R0、R1、R2和R3)可用于基本操作,并修改或设置三个计数器块的值。与其他子模块不同,每个tile中只有一个HLC。
Configurable Switch Block:可配置交换块在上面列出的所有块之间提供动态连接。子模块可以由用户连接,唯一的限制是它们不能在tile中形成循环。
CLB tile由三组计数器块、FSM和LUT4、一个高级控制器和八个输出LUT块组成,如下图所示: