This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F280025C:链接 CLB 逻辑块

Guru**** 2427780 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1021441/tms320f280025c-chaining-clb-tiles

器件型号:TMS320F280025C

我想了解有关将 Tile1的输出链接到 Tile2的输入的信息。 CLB 工具显示两个逻辑块之间的连接、但用户是否需要执行其他工作?

OUT5和 OUT6似乎可以直接连接、但其他输出如何? 我是否必须找到未使用的 GPIO 来在 GPIO XBARS 之间路由信号以连接

其他 CLB I/O?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    F280025C 器件无需 GPIO、您可以通过 CLB 全局/本地多路复用器将一个 CLB 连接到其他 CLB。 输出应可用作其他 CLB 中的输入。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我对 TRM (p1264)的读数表明、这仅适用于 CLB 的 OUT4和 OUT5。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    OUT4和 OUT5、适用于所有器件、包括之前的器件系列(F28004x 和 F2837xD)。

    对于器件、全局多路复用器中提供了所有输出:

    请记住、例如、CLB1_OUT16是 CLB1 OUT0 (复制到 OUT8、OUT16)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我没有在 头文件 Xbar.h 中找到 CLB1_OUT16等的值

    请说明在何处查找#defines 或如何自行生成它们。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    否、 不是 Xbar.h 这是 CLB 全局多路复用器! 而不是 XBAR。 CLB.h 文件中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我刚刚重新讨论了这个问题。 尝试过但似乎不起作用?

    CLB_CONFIGGlobalInputMux (CLB2_base、CLB_IN0、CLB_GLOBAL_IN_MUX_CLB1_OUT16);// B2.ETO 从 CLB1到 CLB2 Direct (OUT16是 OUT0的副本)

    Xbar_setOutputMuxConfig (CLBOUTPUTXBAR_BASE、XBAR_OUTPUT8、XBAR_OUT_MUX08_CLB2_OUT0);// b2.ETO GPIO00
    Xbar_enableOutputMux (CLBOUTPUTXBAR_BASE、XBAR_OUTPUT8、XBAR_MUX08);// b2.ETO GPIO00

    GPIO_setPadConfig (0、GPIO_PIN_TYPE_STD);// b2.ETO GPIO00
    GPIO_setDirectionMode (0、GPIO_DIR_MODE_OUT);// b2.ETO GPIO00
    GPIO_setPinConfig (GPIO_0_CLB_OUTPUTXBAR8);// b2.ETO GPIO00

    syscfg 文件从 BOUNDARY.in 0复制到 OUTLUT_0、AO_0执行旁路。

    使用 CLB1从 GPIO00获取输出:

    Xbar_setOutputMuxConfig (CLBOUTPUTXBAR_BASE、XBAR_OUTPUT8、XBAR_OUT_MUX00_CLB1_OUT0);// b2.ETO GPIO00
    Xbar_enableOutputMux (CLBOUTPUTXBAR_BASE、XBAR_OUTPUT8、XBAR_MUX00);// b2.ETO GPIO00

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    CLB2的边界输入设置是什么? 您是否正在使用全局多路复用器? 是否使用全局多路复用器信号且未使用 GPREG 的本地多路复用器?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用全局多路复用器:  clb_configLocalInputMux (CLB2_base、CLB_IN0、CLB_LOCAL_IN_MUX_GLOBAL_IN);  

    TILE2 BOUNDARY IN0 = TILE1_BOUNDARY.out0

    未使用 GPREG、除非默认使用它?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我觉得相当愚蠢。 需要启用第二个 CLB!

    clb_enableCLB (CLB2_base);
    initTILE1 (clb2_base);