Entity: keccak_2share_fpv

Diagram

int Width clk_i rst_ni valid_i rand_valid_i [Width-1:0] rand_i [Width-1:0] state_i done_o [Width-1:0] state_o

Description

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

Testbench module for prim_keccak. Intended to be used with a formal tool.

Generics

Generic name Type Value Description
Width int 1600

Ports

Port name Direction Type Description
clk_i input
rst_ni input
valid_i input
rand_valid_i input
rand_i input [Width-1:0]
state_i input [Width-1:0]
done_o output
state_o output [Width-1:0]

Signals

Name Type Description
round logic [RndW-1:0]
state logic [Width-1:0]
state_d logic [Width-1:0]
golden_state logic [Width-1:0]
golden_state_d logic [Width-1:0]
compare_states logic [Width-1:0]
keccak_st share_state_e
keccak_st_d share_state_e
inc_round logic
update_state logic
sel_mux logic
keccak_in logic [Width-1:0]
keccak_out logic [Width-1:0]
data_0 logic [1599:0] Test with value 0
digest_0 logic [255:0]

Constants

Name Type Value Description
W int Width/25
L int $clog2(W)
NumRound int 12 + 2*L Keccak-f only
RndW int $clog2(NumRound+1)

Types

Name Type Description
share_state_e enum logic [1:0] {
StIdle,
StPhase1,
StPhase2,
StPhase3 }

Processes

Type: always_ff

Type: always_comb

Type: always_ff

Type: always_ff

Type: always_ff

Description
Compare with keccak Unmasking

Type: always_comb

Instantiations