目的与范围
用途与范围
本单元为 PTO ASL 提供一个封闭的浮点运算族选择词汇。它只定义运算选择器;操作数格式、舍入、异常、结果值和状态影响仍由使用这些选择器的 ASL 函数定义。
PTO-ARCH-DATA-TYPES-FLOATING-POINT下面直接显示完整的 ASL 所有者。
// PTO-UNIT: {"id":"PTO-ARCH-DATA-TYPES-FLOATING-POINT","surface":"arch","classification":["data-types","floating-point"],"depends_on":["PTO-ARCH-DATA-TYPES-SYSTEM-REGISTERS"]}type FloatingBinaryOperation of enumeration { FloatingBinary_ADD, FloatingBinary_SUB, FloatingBinary_MUL, FloatingBinary_DIV, FloatingBinary_MIN, FloatingBinary_MAX};
type FloatingCompareOperation of enumeration { FloatingCompare_EQ, FloatingCompare_NE, FloatingCompare_LT, FloatingCompare_LE, FloatingCompare_GT, FloatingCompare_GE};
type FloatingUnaryOperation of enumeration { FloatingUnary_ABS, FloatingUnary_SQRT, FloatingUnary_EXP, FloatingUnary_RECIP};
type FloatingFusedOperation of enumeration { FloatingFused_MADD, FloatingFused_MSUB, FloatingFused_NMADD, FloatingFused_NMSUB};
本单元为 PTO ASL 提供一个封闭的浮点运算族选择词汇。它只定义运算选择器;操作数格式、舍入、异常、结果值和状态影响仍由使用这些选择器的 ASL 函数定义。
FloatingBinaryOperation 包含 ADD、SUB、MUL、DIV、MIN 和 MAX。FloatingCompareOperation 包含 EQ、NE、LT、LE、GT 和 GE。
FloatingUnaryOperation 包含 ABS、SQRT、EXP 和 RECIP;FloatingFusedOperation 包含 MADD、MSUB、NMADD 和 NMSUB。
调用者把相应枚举中的一个成员传给数值语义所有者。所选数据格式和确切算术行为由该所有者决定,而不是由本枚举决定。
四种枚举类型可避免把比较选择器悄然当成二元、一元或融合运算选择器。
出现 MIN、MAX、RECIP 或融合运算选择器,本身并不定义 NaN 选择、舍入、上溢、下溢、标志或融合行为。这些问题必须由可达的数值格式或配置档 ASL 契约回答。
本单元的静态 AVS 检查这些选择器声明能够在完整模型中编译;这条证据说明不定义算术结果。
下面只演示如何查找选择器,并不是算术定义。
看到 FloatingFused_NMSUB 时,应先找到使用它的 ASL 函数,再阅读该所有者定义的操作数顺序、格式、舍入和异常值规则,然后才能推导结果。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
No NDF clause is attached to this unit.
6 matching entries
PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-STATIC-001tests/asl/arch/data-types/floating-point/arch-static-floating-point-contract-001.asl88ba63e7b74ee830e8e5ea54b14571d9a12631ea4a92e9e1a9aab30f4579af1ePTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8{
"classification": [
"data-types",
"floating-point"
],
"documentation": "docs/arch/data-types/floating-point.md",
"id": "PTO-ARCH-DATA-TYPES-FLOATING-POINT",
"mnemonic": null,
"readiness_subjects": [],
"semantic_tests": [],
"source": "asl/arch/data-types/floating-point.asl",
"surface": "arch",
"tests": [
"PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-STATIC-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd868123eaa4e906174194125ff651c24703bd9a4704073baf2d37268634bd67d5a06a23b504583f28629f07a02b66eee5c652bd3e64d2da973ee0a3b7353d8f1a4b782asl/arch/data-types/floating-point.asl