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 , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-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修订历史记录

FPGA 至 CLB 逻辑转换示例 16

该示例对Topic Link Label3.1中的示例 16 进行了扩展,以演示如何仅使用四个可用的 CLB 逻辑块之一将外部自定义逻辑整合到 C2000 微控制器中。图 4-1 显示了基于 FPGA 的印刷电路板。已使用 VHDL 对 FPGA 进行编程,包括两个 PWM 发生器模块和一个胶合逻辑块,该块将两个 PWM 波形与一个内部信号进行组合以驱动单个输出引脚。仔细观察内部 FPGA 信号,两个 PWM 信号 INPUT1 和 INPUT3 进入胶合逻辑块,在此处它们与静态 INPUT2 信号(逻辑 0)进行组合。在胶合逻辑块内编程的逻辑功能传递 7 个 INPUT1 脉冲,然后输出 INPUT2 信号并维持 3 个 INPUT1脉冲的时间,并重复该模式,直到 INPUT3 变为逻辑 1,此时输出变为高电平(请参阅图 4-1 的波形)。

GUID-DF5537E5-FE4F-4A8D-B1EE-E8A035CC14BA-low.png图 4-1 FPGA 内部具有 PWM 发生器和胶合逻辑的系统板

图 4-2 形象化地展示了将 FPGA 逻辑吸收到 C2000 器件中的转换过程,其中 EPWM1 和 EPWM2 控制外设提供 PWM 信号,CLB1 提供胶合逻辑。使用 VHDL 对 FPGA 内的胶合逻辑进行编程,而使用功能调用和基于 GUI 的 SysConfig 工具对 CLB1 内的胶合逻辑进行编程(无需了解 VHDL 或 Verilog)。

GUID-046D7A35-1A79-4144-B70D-22750962C0F0-low.png图 4-2 将 FPGA 中的 PWM 发生器和胶合逻辑映射到 C2000

图 4-3 基于 C2000 板子产生的波形。比较这些波形,图 4-3 显示它们与 FPGA 板的波形是相同的。本节的剩余部分介绍该示例基于 FPGA 的实现和基于 C2000 的实现的详细信息。这些详细信息包括胶合逻辑的 FPGA 和 C2000 版本的原理图和逻辑波形。此外,还包括 FPGA VHDL 源代码和 C2000 项目文件。

GUID-CB9BDC4F-F461-4D8D-9AFF-25632B9617B9-low.png图 4-3 使用 CLB 和两个 EPWM 外设获得的相同结果