Name Strings
SPV_INTEL_fpga_memory_attributes
Contact
To report problems with this extension, please open a new issue at:
Contributors
-
Ben Ashbaugh, Intel
-
Mohammad Fawaz, Intel
-
Joe Garvey, Intel
-
Michael Kinsner, Intel
-
Julian Packer, Intel
-
Artem Radzikhovksyy, Intel
Notice
Copyright (c) 2019-2023 Intel Corporation. All rights reserved.
Status
Final draft
Version
Last Modified Date |
2023-10-03 |
Revision |
I |
Dependencies
This extension is written against the SPIR-V Specification, Version 1.5 Revision 2.
This extension requires SPIR-V 1.0.
Overview
This extension adds decorations that influence compiler generation of memory structures 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_memory_attributes"
New capabilities
This extension introduces a new capability:
FPGAMemoryAttributesINTEL
New Decorations
Decorations added under the FPGAMemoryAttributes capability:
RegisterINTEL MemoryINTEL NumbanksINTEL BankwidthINTEL MaxPrivateCopiesINTEL SinglepumpINTEL DoublepumpINTEL MaxReplicatesINTEL SimpleDualPortINTEL MergeINTEL BankBitsINTEL ForcePow2DepthINTEL StridesizeINTEL WordsizeINTEL TrueDualPortINTEL
Token Number Assignments
FPGAMemoryAttributesINTEL |
5824 |
RegisterINTEL |
5825 |
MemoryINTEL |
5826 |
NumbanksINTEL |
5827 |
BankwidthINTEL |
5828 |
MaxPrivateCopiesINTEL |
5829 |
SinglepumpINTEL |
5830 |
DoublepumpINTEL |
5831 |
MaxReplicatesINTEL |
5832 |
SimpleDualPortINTEL |
5833 |
MergeINTEL |
5834 |
BankBitsINTEL |
5835 |
ForcePow2DepthINTEL |
5836 |
StridesizeINTEL |
5883 |
WordsizeINTEL |
5884 |
TrueDualPortINTEL |
5885 |
Modifications to the SPIR-V Specification, Version 1.5
Decoration
Modify Section 3.20, Decoration, adding these rows to the Decoration table:
Decoration | Extra Operands | Enabling Capabilities | ||
---|---|---|---|---|
5825 |
RegisterINTEL |
FPGAMemoryAttributesINTEL |
||
5826 |
MemoryINTEL Supported strings:
|
Literal String |
FPGAMemoryAttributesINTEL |
|
5827 |
NumbanksINTEL |
Literal Number |
FPGAMemoryAttributesINTEL |
|
5828 |
BankwidthINTEL |
Literal Number |
FPGAMemoryAttributesINTEL |
|
5829 |
MaxPrivateCopiesINTEL |
Literal Number |
FPGAMemoryAttributesINTEL |
|
5830 |
SinglepumpINTEL |
FPGAMemoryAttributesINTEL |
||
5831 |
DoublepumpINTEL |
FPGAMemoryAttributesINTEL |
||
5832 |
MaxReplicatesINTEL |
Literal Number |
FPGAMemoryAttributesINTEL |
|
5833 |
SimpleDualPortINTEL |
FPGAMemoryAttributesINTEL |
||
5834 |
MergeINTEL |
Literal String |
Literal String |
FPGAMemoryAttributesINTEL |
5835 |
BankBitsINTEL |
Literal Number, Literal Number, … |
FPGAMemoryAttributesINTEL |
|
5836 |
ForcePow2DepthINTEL |
Literal Number |
FPGAMemoryAttributesINTEL |
|
5883 |
StridesizeINTEL |
Literal Number |
FPGAMemoryAttributesINTEL |
|
5884 |
WordsizeINTEL |
Literal Number |
FPGAMemoryAttributesINTEL |
|
5885 |
TrueDualPortINTEL |
FPGAMemoryAttributesINTEL |
Capability
Modify Section 3.31, Capability, adding a row to the Capability table:
Capability | Implicitly Declares | |
---|---|---|
5824 |
FPGAMemoryAttributesINTEL |
Validation Rules
None.
Issues
None.
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
A |
2019-02-27 |
Joe Garvey |
Initial public release |
B |
2019-03-18 |
Joe Garvey |
Added MaxconcurrencyINTEL decoration. Fixed NumbanksINTEL capitalization |
C |
2019-04-23 |
Joe Garvey |
Added SinglepumpINTEL and DoublepumpINTEL decorations |
D |
2019-06-06 |
Joe Garvey |
Changed the name of MaxconcurrencyINTEL to MaxPrivateCopiesINTEL |
E |
2019-06-18 |
Joe Garvey |
Added the MaxReplicatesINTEL, SimpleDualPortINTEL, and MergeINTEL decorations |
F |
2019-12-18 |
Julian Packer |
Added the BankBitsINTEL decoration |
G |
2020-02-06 |
Mohammad Fawaz |
Added the ForcePow2DepthINTEL decoration |
H |
2023-07-26 |
Artem Radzikhovskyy |
Added StridesizeINTEL, WordsizeINTEL, TrueDualPortINTEL decorations |
I |
2023-10-03 |
Artem Radzikhovskyy |
Definition clarifications; Defined supported strings in MemoryINTEL |