ZHCUBL2L January   2018  – March 2025

 

  1.   1
  2.   C7000 主机仿真
  3. 1 关于本文档
    1. 1.1 相关文档
    2. 1.2 免责声明
    3. 1.3 商标
  4. 2 主机仿真入门
    1. 2.1 系统要求
    2. 2.2 安装说明
    3. 2.3 主机仿真库版本
    4. 2.4 差异总结:主机仿真编码与原生 C7000 编码
  5. 3 一般编码要求
    1. 3.1 所需的头文件
    2. 3.2 包依赖项
    3. 3.3 示例程序
  6. 4 内在函数
    1. 4.1 类似 OpenCL 的内在函数
    2. 4.2 流地址生成器内在函数
    3. 4.3 C6000 传统内在函数
    4. 4.4 存储器系统内在函数
  7. 5 TI 向量类型
    1. 5.1 构造函数
    2. 5.2 访问器
    3. 5.3 向量运算符
    4. 5.4 打印调试函数
  8. 6 流引擎和流地址生成器
  9. 7 查询表和直方图接口
    1. 7.1 查询表和直方图数据
  10. 8 C6000 迁移
    1. 8.1 __float2_t 传统数据类型
  11. 9 矩阵乘法加速器 (MMA) 接口
  12. 10编译器错误和警告
    1. 10.1 编译器错误和警告中包含的关键术语
    2. 10.2 主机仿真特定语法
  13. 11修订历史记录
  14.   36

内在函数

C7000 编译器提供的所有内在函数都可用于 C7000 主机仿真。以下各小节解决了在主机仿真中使用以下类型的内在函数时可能出现的问题:

  • 类似 OpenCL 的内在函数(请参阅节 4.1)
  • 用于为流引擎和流地址生成器编程的内在函数(请参阅节 4.2)
  • 用于迁移为 C6000™ 编译器 (cl6x) 编写的旧代码的内在函数(请参阅节 4.3)
  • 作用于存储器系统的内在函数(有关差异,请参阅节 4.4)

以下其他类型的内在函数对于 C7000 主机仿真和 C7000 编译器是相同的:用于向量和标量元素的特殊加载和存储的内在函数、低级别直接映射内在函数、作为寄存器接口向量谓词的一部分的内在函数,以及用于执行查询表和直方图运算的内在函数。

修改控制寄存器的内在函数在 C7000 主机仿真中执行此操作。C7000 主机仿真下可用的所有控制寄存器都可以随时作为无符号 64 位整数进行引用。

主机仿真并不能完全支持依赖于硬件信息的寄存器的读取和写入,例如执行模式和周期计数。虽然所有与这些寄存器关联的符号和内在函数都是为编译目的而定义,但在使用主机仿真时不能依赖它们的值以确保准确。

某些内在函数可能需要特殊处理才能正确使用。对于以下各小节中未提及的所有内在函数,其功能与 C7000 上的功能完全相同。可以在 c7x.h 文件和 C7000 运行时支持包中提供的其他头文件中找到可用于 C7000 编译器的内在函数完整列表。

指令执行可以尽可能接近地仿真硬件。