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 , 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修订历史记录

逻辑分配

在讨论完输入之后,我们现在重点讨论在为实现胶合逻辑功能而选择的逻辑块 1 内发生的情况。同样,此处的目标是将图 4-4 中的连续方框图构建成功能上等效且最适合映射到各个 CLB 逻辑基元中的更小块集合。图 4-8 显示了生成的方框图。以下是用于将图 4-4 转换为图 4-8 的步骤:

  • 首先,如上所述,已在输入选择器内部实现了下降沿检测(因此不必在逻辑块内实现它)。接下来,将计数器功能分离出来,以在 COUNTER_0 块内实现。然后,将剩余的逻辑分为使用寄存器的两部分和不使用寄存器的两部分。
  • 使用寄存器的两部分(表示 VHDL 注册的处理过程)已按照功能进行分离,并映射到 FSM_1 和 FSM_2 块中。这两者中只有第一个是有限状态机,其中给定时钟边沿处的输出变为下一个时钟边沿处的输入。第二个只是一个带寄存器的输出,没有任何反馈被映射到 FSM 块中,因为这是具有内置寄存器的最简单 CLB 基元。
  • 两个不带寄存器的组合逻辑部分已按照功能进行分离,并映射到 LUT4_0 块和 LUT4_1 块中。LUT4_0 块生成 RESET 脉冲,该脉冲将计数器重置为零,并将 FSM_1 状态从 0 翻转为 1 或从 1 翻转为 0。LUT4_1 块实现了可以在图 4-4 底部看到的多路复用器,以根据当前状态 S0 选择输入 1 或输入 2 信号。