Entity: ascon
- File: ascon.sv
Diagram
Description
Timing diagram for the ASCON-128 encryption with this implementation. One Permutation per clock cycle.
Ports
| Port name | Direction | Type | Description |
|---|---|---|---|
| clock | input | Clock signal | |
| reset_n | input | Reset signal, active low | |
| i_sys_enable | input | System enable signal, active high | |
| i_start | input | Start signal, active high | |
| i_data_valid | input | Data valid signal, active high | |
| i_data | input | [ 63:0] | Data input |
| i_key | input | [127:0] | Key input |
| i_nonce | input | [127:0] | Nonce input |
| o_cipher | output | [ 63:0] | Cipher output |
| o_tag | output | [127:0] | Tag output |
| o_valid_cipher | output | Valid cipher output | |
| o_done | output | Done signal |
Signals
| Name | Type | Description |
|---|---|---|
| s_mux_select | logic | |
| s_enable_xor_data_begin | logic | |
| s_enable_xor_key_begin | logic | |
| s_enable_xor_key_end | logic | |
| s_enable_xor_lsb_end | logic | |
| s_enable_state_reg | logic | |
| s_enable_cipher_reg | logic | |
| s_enable_tag_reg | logic | |
| s_enable_round_counter | logic | |
| s_reset_round_counter_to_6 | logic | |
| s_reset_round_counter_to_0 | logic | |
| s_enable_block_counter | logic | |
| s_reset_block_counter | logic | |
| s_valid_cipher | logic | |
| reg_valid_cipher | logic | |
| s_done | logic | |
| reg_done | logic | |
| reg_round_counter | logic [3:0] | Round counter Signal |
| reg_block_counter | logic [1:0] | Block counter Signal |
Processes
- unnamed: ( @(posedge clock or negedge reset_n) )
Type: always_ff
Instantiations
- ascon_fsm_inst: ascon_fsm
- permutation_inst: permutation