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.6. Error Handling
The Symmetric Cryptographic Accelerator Hard IP does not hang when it encounters an error. However, the incorrect inputs may cause the IP to enter an incorrect state. In this event, the IP generates an error.
The Symmetric Cryptographic Accelerator Hard IP sends the following signals to identify the error type and logs them in the IP log registers. The registers can log up to eight unique errors.
- tuser.error_status
- tuser.internal_error—If set, indicates unrecoverable error. You must toggle the subsystem_cold_reset_n reset to recover the IP from this error.
- tuser.err_code[4:0]—A five bit signal indicating the error type. Asserting the tuser.error_clear signal clears the error for a selected profile.
- tuser.auth_error—If set, the ICV detected a mismatch when comparing the received authentication tag with the calculated authentication tag on the decryption request. If set, discard the data.
Figure 7. Error Handling
| Error Code [4:0] | Name | Description |
|---|---|---|
| Cryptographic Code Errors | ||
| 0x00 | IV/Tweak Core unavailable | Attempt to load IV or Tweak with first input word while IV/Tweak core is not available. This error occurs in XTS mode when you try to send in more than 4 tweaks in 16 clocks. |
| 0x01 | Transfer without SOB. | Started the data transfer but did not receive the start of the block (SOB). |
| 0x02 | EOB without SOB. | Received the end of the block (EOB) without the start of the block (SOB). |
| 0x03 | Reserved | |
| 0x04 | Key RAM uncorrectable error | |
| 0x05 | Invalid CTS request | The IP received a CTS request when the CTS mode is disabled in hardware. |
| 0x06 | AES counter overflow | The AES counter rolled over AES GCM allowed limit. |
| 0x07 | Invalid XTS key request | Loaded XTS key for decryption but no decrypt key scheduler core is available. |
| 0x08 | Invalid SM4 request | The IP received a SM4 request when the SM4 mode is disabled in hardware. |
| 0x09 | Invalid CTS request | The IP received a CTS request when no CTS core is available. You sent in more than 4 CTS requests per 16 blocks. |
| Mode Errors | ||
| 0x12 | Invalid SM4 request | The IP received a SM4 request when the SM4 mode is disabled in hardware. |
| 0x13 | Invalid AES request | The IP received an AES request when the AES mode is disabled in hardware. |
| 0x14 | Invalid XTS request | The IP received an XTS request when the XTS is mode disabled in hardware. |
| Packet Processing Errors | ||
| 0x17 | No key. | You tried to initiate the data authentication, encryption or decryption, without sending a key earlier. Applicable to MACsec, IPsec, generic GCM, and generic XTS patterns. |
| 0x18 | No IV or tweak value. | You did not send any IV or tweak value at the beginning of the packets. Applicable for generic GCM and generic XTS patterns. |
| 0x19 | No IV or tweak value. Applicable for the MACsec pattern. |
You did not send any IV or tweak value at the beginning of the packets. |
| 0x1A | No data end of packet (EOP). Applicable for IPsec, generic GCM, and generic XTS patterns. |
You initiated encryption or decryption but did not toggle end of packet indicator. The transfer reached maximum length limit. |
| 0x1B | No data end of packet (EOP). Applicable for MACsec. |
You initiated encryption or decryption but did not toggle end of packet indicator. The transfer reached maximum length limit. |
| 0x1C | No data last indicator. | You did not indicate the data_last_indicator for XTS and CTS modes. |
| 0x1F | Other errors | Miscellaneous errors |
Important: The SM4 algorithm only supports 128 bit key size. If you specify a 256 bit key, the Symmetric Cryptographic Accelerator Hard IP considers only 128 bits of a 256-bit key and completes the request without any error.