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 示例 18 – 创建您自己的外设来替代 ECAP3

在该示例中,ECAP3 外设内部的所有逻辑都由已在 CLB3 内部编程的自定义逻辑替换。查看信号,可以看到输入由 GPIO 引脚提供,然后输入从该引脚传递到 ECAP3。输入信号进入 ECAP3 后,立即提取该信号并将其重新路由到 CLB3,在此处应用自定义逻辑以将其与 CMPSS 外设的输出(该输出必须首先通过 CLB XBar,然后再进入 CLB3)进行组合。产生的输出恰好在 ECAP 逻辑的最后一级之后向回注入到 ECAP3 中,从而有效替代原始 ECAP3 逻辑。该信号从此处开始直接传输到 GPIO 多路复用器,随后在该多路复用器中分配至输出引脚(请参阅图 3-7)。

GUID-353DCBBB-6693-4CF4-A57D-D30DE6187175-low.png图 3-7 CLB 示例 18 – 创建您自己的外设来替代 ECAP3

图 3-8 在器件级视图中显示了相同的示例,以在 I/O 部分的暗灰色背景下突出显示活动块和产生的数据传输。此处同样显示,GPIO 输入在通过输入 XBar 之后到达 ECAP3。它从此处放置在本地 3 信号总线上并转发至 CLB3。同时,CMPSS 外设的输出在首先通过 CLB XBar 之后也通过全局信号总线到达 CLB3。在 CLB3 内部,从本地和全局总线中选择这两个信号,并根据先前定义的 CLB3 配置寄存器在逻辑块 3 内部对其进行逻辑组合。该操作的输出放置在 CLB3 输出总线上并发送回到 ECAP3。同时,外设信号多路复用器 3 块提供一个多路复用控制信号,指示 ECAP3 使用刚刚计算的信号来代替原始 ECAP3 输出。然后,以与原始 ECAP3 输出通常采取的方式相同的方式路由该替换输出 – 首先进入输出 XBar,然后进入 GPIO 多路复用器,在此处将其放置在通常分配给 ECAP3 的输出引脚上。

GUID-3531505C-2B5A-40FE-A788-A4755A1802D4-low.png图 3-8 示例 18 中的信号流 – 器件视图

图 3-9 在外设级别提供该示例的信号流详细信息,并提供了一定的 CLB3 和 ECAP3 外设内部可见性。该图的要点应该是 ECAP3 外设的内部内容已被 CLB3 内部的自定义逻辑完全替代。通过以下方式来实现:在原始输入进入 ECAP3 之后立即对其进行提取,并恰好在其退出 ECAP3 之前注入来自 CLB3 的替代输出,以代替原始输出。在 CLB3 内部,提取的信号通过本地 3 总线进入逻辑块 3,继而在此处与从 CLB XBar 通过全局信号总线到达逻辑块 3 的 CMPSS 输出合并。请注意,进出 ECAP3 的输入和输出没有改变 - 唯一改变的是 ECAP3 外设的内容已由逻辑块 3 内部的自定义逻辑替代。

GUID-80666D83-4E51-4E4A-9FC3-EBB504F236EE-low.png图 3-9 示例 18 中的信号流 – CLB3 连接