ZHCA964A September   2019  – July 2020 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DK-Q1

 

  1.   商标
  2. 1简介
  3. 2从硬件角度介绍 CLB
    1. 2.1 CLB 如何工作
    2. 2.2 CLB 的系统级视图
    3. 2.3 深入探讨 CLB 架构
      1. 2.3.1 输入多路复用器
      2. 2.3.2 (输出的)外设多路复用器
      3. 2.3.3 CLB 逻辑块
        1. 2.3.3.1 查找表 (LUT)
        2. 2.3.3.2 有限状态机 (FSM)
        3. 2.3.3.3 计数器
  4. 3CLB 用例概述
    1. 3.1 CLB 示例 16 – 将两个 EPWM 输出与来自 CPREG 寄存器的信号组合在一起
    2. 3.2 CLB 示例 17 – 使用 CPU 信号修改外设输入信号
    3. 3.3 CLB 示例 18 – 创建您自己的外设来替代 ECAP3
    4. 3.4 CLB 示例 19 – 仅使用外部信号来创建您自己的外设
  5. 4FPGA 至 CLB 逻辑转换示例 16
    1. 4.1 原始 FPGA 设计
      1. 4.1.1 FPGA 胶合逻辑的原理图
      2. 4.1.2 胶合逻辑的 VHDL 代码
      3. 4.1.3 测试输入的 VHDL 代码
      4. 4.1.4 FPGA 胶合逻辑仿真波形
    2. 4.2 FPGA 到 CLB 的转换过程
      1. 4.2.1 将 PWM 发生器映射到 EPWM 外设
      2. 4.2.2 将 VHDL 中的胶合逻辑映射到 CLB
        1. 4.2.2.1 输入
        2. 4.2.2.2 逻辑分配
        3. 4.2.2.3 输出
    3. 4.3 生成的 C2000 设计
      1. 4.3.1 信号连接
      2. 4.3.2 仿真波形
      3. 4.3.3 ControlCard、LaunchPad 波形
  6. 5参考文献
  7. 6修订历史记录

深入探讨 CLB 架构

图 2-6 所示为四个 CLB 模块的其中一个和相关控制外设(EPWM1、QEP1 和 ECAP1)的内部细节。输入包括全局信号,本地 1 信号和 GPREG 寄存器的 8 个位。根据输入多路复用器配置寄存器预先配置的方式,输入多路复用器选择器从这些输入中选择最多 8 个信号(蓝色),并将其发送到逻辑块 1 进行处理。根据逻辑块 1 配置寄存器的状态,将预设的逻辑操作应用于这 8 个输入,以生成 8 个 CLB1 输出信号(绿色)。这些信号都被路由到 EPWM1、QEP1 和 ECAP1 外设,其中有几个信号还到达 CLB XBar、输出 XBar 和 EPWM XBar,在此处它们被发送到 EPWM 模块、GPIO 或反馈到四个 CLB 逻辑块中的任何一个,以供进一步处理(通过全局信号总线)。

最后到达 EPWM1、QEP1 和 ECAP1 控制外设的 CLB1 输出信号可用于取代这些外设内的选定内部信号,具体取决于外设信号多路复用器寄存器的配置方式。外设信号多路复用器(橙色)控制位于控制外设内部各等级的多路复用器,用于决定将哪些信号传播到下一级 – 原始内部信号(黑色)或来自逻辑块 1 的新替换信号(绿色)。该方法提供了极大的灵活性,可替换外设的给定级或添加新的级(使用 CLB 逻辑)。例如把 ECAPI 的输入立即馈送至逻辑块 1 并且在 ECAP1 的最后一个级处注入逻辑块 1 输出的极端情况下,逻辑块 1 内部的逻辑成为新的自定义外设,完全取代原始 ECAP1 外设。请注意,尽管现在已替换了 ECPAP1 的内部,但 ECAP1 的 GPIO 多路复用器输入和输出分配保持不变,这意味着新外设必须使用与刚刚取代的 ECAP1 相同的输入和输出 GPIO。

换句话说,在对 CLB1 进行编程时,应首先选择一个要修改的控制外设,然后确定该外设的哪些内部信号将由 CLB1 逻辑块的输出进行替换(使用外设信号多路复用器)。在确定这些信号之后,应使用输入多路复用器选择器选择 CLB1 的输入,新 CLB1 功能的逻辑将需要这些输入来生成所需的输出信号。在建立 CLB1 的输入和 CLB1 的输出(使用功能调用)之后,就可以使用基于 GUI 的 SysConfig 工具对输入配置必要的逻辑以生成输出。

请注意:CLB 配置功能调用和 SysConfig 工具都通过 CPU 或 CLA 总线(品红色)将配置状态加载到 CLB1 配置寄存器中。相同的总线也可用于在逻辑块内的 HLC 处理器与 C2000 存储器之间传输数据。HLC 处理器还可以基于 CLB 内部达到的某种预定条件来驱动 CLB INTR 中断 CPU(稍后会进一步介绍)。此外,如果 CLB 未修改任何控制外设(在未使用 CLB 或 CLB 仅将信号驱动到 CLB XBar 和其他 Xbar 中时会发生该情况),则可以忽略外设信号多路复用器。以下各节提供有关输入多路复用器选择器、外设信号多路复用器和 CLB 逻辑块的更多详细信息。

图 2-6 CLB 连接 – CLB1