Symmetric Cryptographic Accelerator Hard IP User Guide
ID
714305
Date
11/28/2025
Public
4.1. Installing and Licensing IP Cores
4.2. Specifying the IP Parameters and Options
4.3. Generated File Structure
4.4. Symmetric Cryptographic Accelerator Hard IP Flow
4.5. Dynamically Disabling the SM4 Capability
4.6. Error Handling
4.7. Error Reporting
4.8. Resetting the IP
4.9. Channel Definition and Allocation
4.10. Byte Ordering
4.11. AXI-ST Single Packet Mode
4.12. AXI-ST Multiple Packet Mode
4.9. Channel Definition and Allocation
The Symmetric Cryptographic Accelerator Hard IP supports up to 1,024 key slots to store the keys. A single key slot can store a single 256 bit or a single 128 bit key for GCM operations. Alternatively, a single key slot can store two keys each of size 128 bits or 256 bits for the XTS operations.
The Symmetric Cryptographic Accelerator Hard IP can also store up to 1,024 AES intermediate states. Each state is associated with a cryptographic stream.
A cryptographic stream starts with a new IV or a tweak value followed by data. The data_last signal assertion indicates the end of the stream (plaintext or ciphertext). A cryptographic channel is a logical 1:1 mapping between the key slots and AES streams created by the AES/SM4 Inline Cryptographic Accelerator. You must manage the allocation of the channels to ensure the use cases do not overwrite each other's channels, keys or state.
| AXI-ST Interface | Events | |
|---|---|---|
| TID[9:0] | 0 | 1 |
| tkeep | 00000000_00000000_00000000_00000000 11111111_11111111_11111111_11111111 | 00000000_00000000_00000000_00000000 00000000_00000000_11111111_11111111 |
| tuser | Channel key allocation | Channel key allocation |
| tuser.algorithm_types | 0 | 0 |
| tuser.encrypt_decrypt | 0 | 0 |
| tuser.key_128b_256b | 1 | 0 |
| tuser.pattern[2:0] | MACsec | MACsec |
| DATA | ||
| tdata[511:384] | — | — |
| tdata[383:256] | — | — |
| tdata[255:128] | Key1[255:128] | — |
| tdata[127:0] | Key1[127:0] | Key2[127:0] |