Skip to content

Commit

Permalink
Change module params from 2-state to 4-state logic in csrng
Browse files Browse the repository at this point in the history
  • Loading branch information
calebofearth committed Apr 8, 2024
1 parent 592ae23 commit fe4deaf
Show file tree
Hide file tree
Showing 10 changed files with 43 additions and 43 deletions.
2 changes: 1 addition & 1 deletion src/csrng/rtl/csrng.sv
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ module csrng
#(
parameter aes_pkg::sbox_impl_e SBoxImpl = aes_pkg::SBoxImplCanright,
parameter logic [csrng_reg_pkg::NumAlerts-1:0] AlertAsyncOn = {csrng_reg_pkg::NumAlerts{1'b1}},
parameter int NHwApps = 2,
parameter logic [31:0] NHwApps = 2,
parameter cs_keymgr_div_t RndCnstCsKeymgrDivNonProduction = CsKeymgrDivWidth'(0),
parameter cs_keymgr_div_t RndCnstCsKeymgrDivProduction = CsKeymgrDivWidth'(0),
parameter AHBDataWidth = 64,
Expand Down
8 changes: 4 additions & 4 deletions src/csrng/rtl/csrng_block_encrypt.sv
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

module csrng_block_encrypt import csrng_pkg::*; #(
parameter aes_pkg::sbox_impl_e SBoxImpl = aes_pkg::SBoxImplLut,
parameter int Cmd = 3,
parameter int StateId = 4,
parameter int BlkLen = 128,
parameter int KeyLen = 256
parameter logic [31:0] Cmd = 3,
parameter logic [31:0] StateId = 4,
parameter logic [31:0] BlkLen = 128,
parameter logic [31:0] KeyLen = 256
) (
input logic clk_i,
input logic rst_ni,
Expand Down
6 changes: 3 additions & 3 deletions src/csrng/rtl/csrng_cmd_stage.sv
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
//

module csrng_cmd_stage import csrng_pkg::*; #(
parameter int CmdFifoWidth = 32,
parameter int CmdFifoDepth = 16,
parameter int StateId = 4
parameter logic [31:0] CmdFifoWidth = 32,
parameter logic [31:0] CmdFifoDepth = 16,
parameter logic [31:0] StateId = 4
) (
input logic clk_i,
input logic rst_ni,
Expand Down
2 changes: 1 addition & 1 deletion src/csrng/rtl/csrng_core.sv
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ module csrng_core
import lc_ctrl_pkg::*;
#(
parameter aes_pkg::sbox_impl_e SBoxImpl = aes_pkg::SBoxImplLut,
parameter int NHwApps = 2,
parameter logic [31:0] NHwApps = 2,
parameter cs_keymgr_div_t RndCnstCsKeymgrDivNonProduction = CsKeymgrDivWidth'(0),
parameter cs_keymgr_div_t RndCnstCsKeymgrDivProduction = CsKeymgrDivWidth'(0)
) (
Expand Down
12 changes: 6 additions & 6 deletions src/csrng/rtl/csrng_ctr_drbg_cmd.sv
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
// Accepts all csrng commands

module csrng_ctr_drbg_cmd import csrng_pkg::*; #(
parameter int Cmd = 3,
parameter int StateId = 4,
parameter int BlkLen = 128,
parameter int KeyLen = 256,
parameter int SeedLen = 384,
parameter int CtrLen = 32
parameter logic [31:0] Cmd = 3,
parameter logic [31:0] StateId = 4,
parameter logic [31:0] BlkLen = 128,
parameter logic [31:0] KeyLen = 256,
parameter logic [31:0] SeedLen = 384,
parameter logic [31:0] CtrLen = 32
) (
input logic clk_i,
input logic rst_ni,
Expand Down
14 changes: 7 additions & 7 deletions src/csrng/rtl/csrng_ctr_drbg_gen.sv
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
// ctr_drbg cmd module.

module csrng_ctr_drbg_gen import csrng_pkg::*; #(
parameter int NApps = 4,
parameter int Cmd = 3,
parameter int StateId = 4,
parameter int BlkLen = 128,
parameter int KeyLen = 256,
parameter int SeedLen = 384,
parameter int CtrLen = 32
parameter logic [31:0] NApps = 4,
parameter logic [31:0] Cmd = 3,
parameter logic [31:0] StateId = 4,
parameter logic [31:0] BlkLen = 128,
parameter logic [31:0] KeyLen = 256,
parameter logic [31:0] SeedLen = 384,
parameter logic [31:0] CtrLen = 32
) (
input logic clk_i,
input logic rst_ni,
Expand Down
16 changes: 8 additions & 8 deletions src/csrng/rtl/csrng_ctr_drbg_upd.sv
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
// implementation using security_strength = 256

module csrng_ctr_drbg_upd #(
parameter int Cmd = 3,
parameter int StateId = 4,
parameter int BlkLen = 128,
parameter int KeyLen = 256,
parameter int SeedLen = 384,
parameter int CtrLen = 32
parameter logic [31:0] Cmd = 3,
parameter logic [31:0] StateId = 4,
parameter logic [31:0] BlkLen = 128,
parameter logic [31:0] KeyLen = 256,
parameter logic [31:0] SeedLen = 384,
parameter logic [31:0] CtrLen = 32
) (
input logic clk_i,
input logic rst_ni,
Expand Down Expand Up @@ -312,7 +312,7 @@ module csrng_ctr_drbg_upd #(
interate_ctr_inc ? (interate_ctr_q + 1) :
interate_ctr_q;

assign interate_ctr_done = (int'(interate_ctr_q) >= SeedLen/BlkLen);
assign interate_ctr_done = (32'(interate_ctr_q) >= SeedLen/BlkLen);

//--------------------------------------------
// state machine to send values to block_encrypt
Expand Down Expand Up @@ -507,7 +507,7 @@ module csrng_ctr_drbg_upd #(
concat_ctr_inc ? (concat_ctr_q + 1) :
concat_ctr_q;

assign concat_ctr_done = (int'(concat_ctr_q) >= (SeedLen/BlkLen));
assign concat_ctr_done = (32'(concat_ctr_q) >= (SeedLen/BlkLen));

assign concat_inst_id_d =
(!ctr_drbg_upd_enable_i) ? '0 :
Expand Down
10 changes: 5 additions & 5 deletions src/csrng/rtl/csrng_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ package csrng_pkg;
// Application Interfaces
//-------------------------

parameter int unsigned GENBITS_BUS_WIDTH = 128;
parameter int unsigned CSRNG_CMD_WIDTH = 32;
parameter int unsigned FIPS_GENBITS_BUS_WIDTH = entropy_src_pkg::FIPS_BUS_WIDTH +
parameter logic [31:0] GENBITS_BUS_WIDTH = 128;
parameter logic [31:0] CSRNG_CMD_WIDTH = 32;
parameter logic [31:0] FIPS_GENBITS_BUS_WIDTH = entropy_src_pkg::FIPS_BUS_WIDTH +
GENBITS_BUS_WIDTH;
parameter int unsigned MainSmStateWidth = 8;
parameter logic [31:0] MainSmStateWidth = 8;

// instantiation interface
typedef struct packed {
Expand Down Expand Up @@ -85,7 +85,7 @@ package csrng_pkg;
MainSmError = 8'b01111000 // error state, results in fatal alert
} main_sm_state_e;

parameter int CsKeymgrDivWidth = 384;
parameter logic [31:0] CsKeymgrDivWidth = 384;
typedef logic [CsKeymgrDivWidth-1:0] cs_keymgr_div_t;

endpackage : csrng_pkg
4 changes: 2 additions & 2 deletions src/csrng/rtl/csrng_reg_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
package csrng_reg_pkg;

// Param list
parameter int NumAlerts = 2;
parameter logic [31:0] NumAlerts = 2;

// Address widths within the block
parameter int BlockAw = 7;
parameter logic [31:0] BlockAw = 7;

////////////////////////////
// Typedefs for registers //
Expand Down
12 changes: 6 additions & 6 deletions src/csrng/rtl/csrng_state_db.sv
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
`include "caliptra_prim_assert.sv"

module csrng_state_db import csrng_pkg::*; #(
parameter int NApps = 4,
parameter int StateId = 4,
parameter int BlkLen = 128,
parameter int KeyLen = 256,
parameter int CtrLen = 32,
parameter int Cmd = 3
parameter logic [31:0] NApps = 4,
parameter logic [31:0] StateId = 4,
parameter logic [31:0] BlkLen = 128,
parameter logic [31:0] KeyLen = 256,
parameter logic [31:0] CtrLen = 32,
parameter logic [31:0] Cmd = 3
) (
input logic clk_i,
input logic rst_ni,
Expand Down

0 comments on commit fe4deaf

Please sign in to comment.