ZHCUBL2K January   2018  – March 2024

 

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

包依赖项

由于底层实现高度依赖于 C++14 结构和功能,因此为 C7000 主机仿真编写的程序必须使用 C++14 语言。

根据编译器的不同,编译命令中可能需要一个用于启用 C++14 支持的特殊标志。

虽然不是强制要求,但强烈建议在使用 C7000 主机仿真进行编程时使用标准整数类型(例如 int32_t)。使用内置数据类型可以编译和运行,但不能保证这些结果在所有平台上都是正确的。使用标准整数类型代替相应的内置类型将实现正确的结果,并且不会影响将程序转换到 C7000 编译器的能力。

使用主机仿真时,使用 C7000 编译器属性和指令将产生未定义的警告。这种行为是预期行为,无法纠正。如果程序在目标芯片上运行需要这些属性和指令,则通常可以在主机仿真编译器上抑制警告。

C7000 主机仿真包不仿真 C7000 编译器 pragma。因此,与 C7000 主机仿真一同运行的代码中使用时,C7000 编译器 pragma 将不起作用。

表 3-2 中提供了使用主机仿真时自动定义的 C7000 编译器符号的完整列表

表 3-2 C7000 预处理器符号
定义的预处理器符号说明
__C7000__如果针对 C7000 目标或任何类型的 C7000 主机仿真进行编译,则为已定义。
__C7100__如果针对 C7100 主机仿真进行编译,则为已定义。
__C7120__ 如果针对 C7120 主机仿真进行编译,则为已定义。
__C7504__ 如果针对 C7504 主机仿真进行编译,则为已定义。
__C7X_HOSTEM__ 如果针对主机仿真进行编译,则为已定义。在使用目标编译器 (cl7x) 时未定义此参数。
__little_endian__默认情况下,已定义。