Entity: keccak_2share_fpv
- File: keccak_2share_fpv.sv
Diagram
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
- unnamed: ( @(posedge clk_i, negedge rst_ni) )
Type: always_ff
- unnamed: ( )
Type: always_comb
- unnamed: ( @(posedge clk_i or negedge rst_ni) )
Type: always_ff
- unnamed: ( @(posedge clk_i or negedge rst_ni) )
Type: always_ff
- unnamed: ( @(posedge clk_i, negedge rst_ni) )
Type: always_ff
Description
Compare with keccak Unmasking
- unnamed: ( )
Type: always_comb
Instantiations
- u_keccak: keccak_2share
- u_golden: keccak_2share