Name Strings
SPV_INTEL_fpga_dsp_control
Contact
To report problems with this extension, please open a new issue at:
Contributors
-
Jessica Davies, Intel
-
Joe Garvey, Intel
-
Ajaykumar Kannan, Intel
-
Mike Kinsner, Intel
-
Shuo Niu, Intel
Notice
Copyright (c) 2021 Intel Corporation. All rights reserved.
Status
Final draft
Version
Last Modified Date |
2021-03-12 |
Revision |
1 |
Dependencies
This extension is written against the SPIR-V Specification, Version 1.5 Revision 4.
This extension requires SPIR-V 1.0.
Overview
This extension adds a decoration to request that math operations be implemented using Digital Signal Processing (DSP) blocks or soft logic, on an FPGA target.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_INTEL_fpga_dsp_control"
New capabilities
This extension introduces a new capability:
FPGADSPControlINTEL
New Decorations
This extension adds the following decoration under the FPGADSPControlINTEL capability:
MathOpDSPModeINTEL
Token Number Assignments
FPGADSPControlINTEL |
5908 |
MathOpDSPModeINTEL |
5909 |
Modifications to the SPIR-V Specification, Version 1.5
Decoration
Modify Section 3.20, Decoration, adding the following rows to the Decoration table:
Decoration | Extra Operands | Enabling Capabilities | ||
---|---|---|---|---|
5909 |
MathOpDSPModeINTEL Mode is a 32-bit unsigned integer type scalar. Propagate is a 32-bit unsigned integer type scalar. If Mode is equal to 0 it indicates a request that math operations be implemented using soft logic and/or DSP blocks according to default implementation-defined heuristics. If Mode is equal to 1 it indicates a request that math operations be implemented using soft logic. If Mode is equal to 2 it indicates a request that math operations be implemented using DSP blocks. If Propagate is equal to 0, the Mode request applies to math operations in this function F only, and does not extend to math operations executed as part of function calls made by F. If Propagate is equal to 1, the Mode request applies to math operations in this function F, and to all math operations executed as part of functions called (transitively) by F, unless a called function G has a MathOpDSPModeINTEL decoration. The decoration on G takes precedence for G and all functions called (transitively) by G, i.e., the Mode request from F does not apply to G nor functions called (transitively) by G. If Propagate is equal to 2, the Mode request applies to all math operations in this function F, and to all math operations executed as part of function calls made (transitively) by F, overriding any MathOpDSPModeINTEL on the called functions. |
Literal |
Literal |
FPGADSPControlINTEL |
Capability
Modify Section 3.31, Capability, adding a row to the Capability table:
Capability | Implicitly Declares | |
---|---|---|
5908 |
FPGADSPControlINTEL |
Validation Rules
None.
Issues
None.
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
1 |
2021-03-12 |
Jessica Davies |
Initial public release |