定点标识符汇总 - 2022.1 Chinese

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2022-06-07
Version
2022.1 简体中文

下表显示了量化和上溢模式。

提示: 不超过标准硬件算术(卷绕和截位)的默认行为的量化和上溢模式可导致运算符含更多关联硬件。要实现更高级的模式需耗用逻辑 (LUT),例如,舍入到负无穷或对称饱和。
表 1. 定点标识符汇总
标识符 描述
W 字宽(位)
输入 用于表示整数值的位数,即,二进制小数点左侧的整数位数。当该值为负值时,它表示隐式有符号位(对应有符号表示法)的数量,或者小数点右侧隐式零位(对应无符号表示法)的数量。例如:
ap_fixed<2, 0> a = -0.5;    // a can be -0.5,

ap_ufixed<1, 0> x = 0.5;    // 1-bit representation. x can be 0 or 0.5
ap_ufixed<1, -1> y = 0.25;  // 1-bit representation. y can be 0 or 0.25
const ap_fixed<1, -7> z = 1.0/256;  // 1-bit representation for z = 2^-8
Q 量化模式:用于规定当生成的精度大于用于存储结果的变量中的最小小数位可定义的精度时的行为。
ap_fixed 类型 描述
AP_RND 舍入到正无穷
AP_RND_ZERO 舍入到 0
AP_RND_MIN_INF 舍入到负无穷
AP_RND_INF 舍入到无穷
AP_RND_CONV 收敛舍入
AP_TRN 截位到负无穷(默认)
AP_TRN_ZERO 截位到 0
输出

上溢模式:用于规定当运算结果超出用于存储结果的变量可存储的最大值(或者对于负值为最小值)时的行为。

ap_fixed 类型 描述
AP_SAT 1 饱和
AP_SAT_ZERO 1 饱和到 0
AP_SAT_SYM 1 对称饱和
AP_WRAP 卷绕(默认)
AP_WRAP_SM 符号量值卷绕
N 定义上溢卷绕模式中的饱和位数。
  1. 使用 AP_SAT* 模式可以提升资源利用率,因为需要额外逻辑来执行饱和,此额外成本可能额外增加高达 20% 的 LUT 利用率。
  2. 来自 hls_math 库的定点数学函数不支持 ap_[u]fixed 模板参数 Q、O 和 N,这三个参数依次分别对应于量化模式、上溢模式和饱和位数。仅当 ap_[u]fixed 变量位于赋值左侧时或者在初始化期间,量化模式和上溢模式才有效,但在变量计算期间无效。