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

主机仿真特定语法

C7000 主机仿真同时引入并省略了 C7000 编译器使用的一些语法。虽然本文档通篇详细说明了这些差异,但在所有这些情况下都不能依赖主机仿真编译器发出警告和错误。这是因为 C7000 编译器允许的一些原始语法构成了合法的 C++ 代码,而主机仿真编译器则没有理由警告用户。虽然在某些情况下使用原始 C7000 编译器语法在语法上可能是正确的,但无法始终保证结果。表 10-2 列出了在将原始 C7000 语法与 C7000 主机仿真搭配使用时可能出现的主机编译器错误和警告或缺失。

表 10-2 语法更改相关的编译错误和警告
说明 示例 编译器输出
将 cl7x 转换样式构造函数语法与主机仿真配合使用
// Works with cl7x but not Host Emulation
(long8)(1,2,3,4,5,6,7,8)
// Recommended; works on Host Emulation and cl7x
long8(1,2,3,4,5,6,7,8)
无错误或警告。使用转换样式构造函数语法时,结果不正确或产生意外结果。
以向量作为“布尔表达式”的三元运算符 res = vec1 ? vec2 : vec3 编译器错误:“无法将 vec_type 转换为 bool”。
将重排访问器与成员数据语法结合使用 example.s0121 编译器错误:“成员不存在”。
将重排访问器与函数数据语法结合使用 example.a0121() 编译器错误:“成员函数不存在”
不对访问器使用函数语法 ...= vect.s0; 编译时错误。
在 SE/SA 参数中使用无效值 将 VECLEN 设置为负数 在运行时,主机仿真将指出哪个字段无效。