A newer version of this document is available. Customers should click here to go to the newest version.
4.1. Installing and Licensing Intel® FPGA IP Cores
4.2. Specifying the IP Core Parameters and Options
4.3. Generated File Structure
4.4. Symmetric Cryptographic IP Core Flow
4.5. Dynamically Disabling SM4 Capability
4.6. Error Handling
4.7. Error Reporting
4.8. Resetting the IP Core
4.9. Channel Definition and Allocation
4.10. Byte Ordering
4.11. AXI-ST Single Packet Mode
4.12. AXI-ST Multiple Packet Mode
7.1. Cryptographic Primary Control Register
7.2. Cryptographic Secondary Control Register
7.3. Cryptographic Primary Status Register
7.4. Cryptographic Error Status Register
7.5. Cryptographic Error Control Register
7.6. Cryptographic Packet Error Control 1 Register
7.7. Cryptographic Packet Error Control 2 Register
7.8. Cryptographic Error Code Control 1 Register
7.9. Cryptographic Error Code Control 2 Register
7.10. Cryptographic Error Code Internal Control Register
7.11. Cryptographic Internal Error Control Register
7.12. Cryptographic First Error Log Register
7.13. Cryptographic Packet Error Log 1 Register
7.14. Cryptographic Packet Error Log 2 Register
7.15. Cryptographic Internal Error Log Register
7.16. Cryptographic Wall Clock LSB Register
7.17. Cryptographic Wall Clock MSB Register
7.18. Ternary Control Register
6.4.1. AXI-ST Interface Using Generic XTS Profile Pattern
This section describes the XTS-specific input and output signals.
Signal Name | Direction | Description |
---|---|---|
algorithm_type | Input/Output | Indicates the cryptographic operation mode for the corresponding cycle.
|
encrypt_decrypt | Input/Output | Indicates the type of cryptographic operation for the corresponding cycle.
|
key_128b_256b | Input/Output | Indicates the key size. The signal is only valid when the key_en signal is set to 1.
Note: The SM4 algorithm only supports 128 bit key size.
|
pattern[3:0] | Input/Output |
Pattern ID: Indicates the pattern profile selected for the current clock cycle.
When the signal switches from the IDLE state to the GENERIC_XTS state, indicates that the data associated in the given clock cycle is related to the generic XTS.
|
TID[9:0] | Input/Output | Channel ID. When pattern ID is set to generic XTS, the channel ID indicates to the logic which cryptographic channel or slot the data in this clock is associated with. |
key_en | Input | When set and pattern[3:0] is set to the generic GCM profile, indicates that the data field contains keys to program in the key slots identified by TID[9:0]. You must set the key_128b_256b signal to specify the key size, 128 or 256 bit key.
This key_en is a standalone operation per clock. You can select to send the keys at one time or individually. Asserting this signal while data is in process is not allowed. |
data_en | Input/Output | When pattern[3:0] is set to the generic GCM profile, after one clock of key_en, the data_en indicates the rest of the AAD/Data till it reaches the corresponding lengths (Bypass data and AAD). The plaintext data or ciphertext data then follows until assertion of the data_last signal. |
MAC_IV_tweak_en | When key_en is set and MAC_IV_Tweak_en is de-asserted, the logic assumes that the you intend to only program the key slot and not program the IV to start a new AES operation using that key. When key_en is de-asserted and MAC_IV_Tweak_en is set, indicates the start of a new GCM stream using the IV associated with this cycle and using an existing key was programmed earlier into the key slot associated with this channel. |
|
tlast | Input/Output | When set, indicates that the data ends (EOP) in the current clock cycle.
Note: The tkeep signal specifies the number of valid bytes in this cycle.
|
Figure 23. Generic XTS Profile: Input Signals
Figure 24. Generic XTS Profile: Output Signals