Entity: entropy_src_main_sm
- File: entropy_src_main_sm.sv
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
Description: entropy_src main state machine module
determines when new entropy is ready to be forwarded
Generics
| Generic name | Type | Value | Description |
|---|---|---|---|
| StateWidth | int | 8 |
Ports
| Port name | Direction | Type | Description |
|---|---|---|---|
| clk_i | input | ||
| rst_ni | input | ||
| enable_i | input | ||
| ht_done_pulse_i | input | ||
| ht_fail_pulse_i | input | ||
| alert_thresh_fail_i | input | ||
| sfifo_esfinal_full_i | input | ||
| rst_alert_cntr_o | output | ||
| bypass_mode_i | input | ||
| rst_bypass_mode_o | output | ||
| main_stage_rdy_i | input | ||
| bypass_stage_rdy_i | input | ||
| sha3_state_vld_i | input | ||
| main_stage_pop_o | output | ||
| bypass_stage_pop_o | output | ||
| sha3_start_o | output | ||
| sha3_process_o | output | ||
| sha3_done_o | output | ||
| cs_aes_halt_req_o | output | ||
| cs_aes_halt_ack_i | input | ||
| main_sm_alert_o | output | ||
| main_sm_idle_o | output | ||
| main_sm_state_o | output | [StateWidth-1:0] | |
| main_sm_err_o | output |
Signals
| Name | Type | Description |
|---|---|---|
| state_d | state_e | |
| state_q | state_e | |
| state_raw_q | logic [StateWidth-1:0] |
Constants
| Name | Type | Value | Description |
|---|---|---|---|
| StateWidth | int | 8 |
Types
| Name | Type | Description |
|---|---|---|
| state_e | enum logic [StateWidth-1:0] { Idle = 8'b11000110, BootHTRunning = 8'b10111001, BootPostHTChk = 8'b10110110, StartupHTStart = 8'b10000101, StartupPhase1 = 8'b01110100, StartupPass1 = 8'b00101110, StartupFail1 = 8'b01000011, ContHTStart = 8'b01011110, ContHTRunning = 8'b11110011, Sha3Prep = 8'b10011111, Sha3Process = 8'b11101000, Sha3Valid = 8'b10001010, Sha3Done = 8'b00010000, Sha3Quiesce = 8'b01101101, AlertState = 8'b01011001, Error = 8'b00100001 } |
Encoding generated with: $ ./util/design/sparse-fsm-encode.py -d 3 -m 16 -n 8 \ -s 4129751849 --language=sv Hamming distance histogram: 0: -- 1: -- 2: -- 3: |
Processes
- unnamed: ( )
Type: always_comb
Instantiations
- u_state_regs: prim_flop
Description
This primitive is used to place a size-only constraint on the
flops in order to prevent FSM state encoding optimizations.