Entity: csrng_main_sm

Diagram

clk_i rst_ni enable_i acmd_avail_i [2:0] acmd_i acmd_eop_i ctr_drbg_cmd_req_rdy_i flag0_i cmd_entropy_avail_i cmd_complete_i acmd_accept_o acmd_hdr_capt_o cmd_entropy_req_o instant_req_o reseed_req_o generate_req_o update_req_o uninstant_req_o clr_adata_packer_o main_sm_err_o

Description

Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0

Description: csrng app cmd request state machine module

  • handles all app cmd requests from all requesting interfaces

Ports

Port name Direction Type Description
clk_i input
rst_ni input
enable_i input
acmd_avail_i input
acmd_accept_o output
acmd_hdr_capt_o output
acmd_i input [2:0]
acmd_eop_i input
ctr_drbg_cmd_req_rdy_i input
flag0_i input
cmd_entropy_req_o output
cmd_entropy_avail_i input
instant_req_o output
reseed_req_o output
generate_req_o output
update_req_o output
uninstant_req_o output
clr_adata_packer_o output
cmd_complete_i input
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 Encoding generated with: $ ./util/design/sparse-fsm-encode.py -d 3 -m 15 -n 8 \ -s 1300573258 --language=sv
Hamming distance histogram:
0: -- 1: -- 2: -- 3:

Types

Name Type Description
state_e enum logic [StateWidth-1:0] {
Idle = 8'b01001110,
ParseCmd = 8'b10111011,
InstantPrep = 8'b11000001,
InstantReq = 8'b01010100,
ReseedPrep = 8'b11011101,
ReseedReq = 8'b01011011,
GeneratePrep = 8'b11101111,
GenerateReq = 8'b00100100,
UpdatePrep = 8'b00110001,
UpdateReq = 8'b10010000,
UninstantPrep = 8'b11110110,
UninstantReq = 8'b01100011,
ClrAData = 8'b00000010,
CmdCompWait = 8'b10111100,
Error = 8'b01111000 }

Processes

Type: always_comb

Instantiations

Description
This primitive is used to place a size-only constraint on the
flops in order to prevent FSM state encoding optimizations.