Skip to content

Commit

Permalink
rolling back packed struct removal
Browse files Browse the repository at this point in the history
enabling lint on integrated TRNG files
fixes for integrated TRNG lint violations
  • Loading branch information
Michael Norris authored and calebofearth committed Mar 28, 2024
1 parent 75ecd6c commit e08900f
Show file tree
Hide file tree
Showing 37 changed files with 2,576 additions and 2,511 deletions.
4 changes: 4 additions & 0 deletions src/aes/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,7 @@ targets:
- $COMPILE_ROOT/rtl/aes_prng_masking.sv
- $COMPILE_ROOT/rtl/aes_key_expand.sv
tops: [aes_cipher_core]
rtl_lint:
directories: []
waiver_files: []
tops: [aes_cipher_core]
2 changes: 1 addition & 1 deletion src/aes/rtl/aes_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ parameter masking_lfsr_perm_t RndCnstMaskingLfsrPermDefault = {
256'h808d419d63982a16995e0e3b57826a36718a9329452492533d83115a75316e15
};

typedef enum integer {
typedef enum logic [31:0] {
SBoxImplLut, // Unmasked LUT-based S-Box
SBoxImplCanright, // Unmasked Canright S-Box, see aes_sbox_canright.sv
SBoxImplCanrightMasked, // First-order masked Canright S-Box
Expand Down
2 changes: 1 addition & 1 deletion src/aes/rtl/aes_reg_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ package aes_reg_pkg;
parameter logic [0:0] AES_CTRL_SHADOWED_MANUAL_OPERATION_RESVAL = 1'h 0;

// Register index
typedef enum int {
typedef enum logic [31:0] {
AES_ALERT_TEST,
AES_KEY_SHARE0_0,
AES_KEY_SHARE0_1,
Expand Down
2 changes: 1 addition & 1 deletion src/caliptra_prim/rtl/caliptra_prim_packer_fifo.sv
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ module caliptra_prim_packer_fifo #(

assign lsb_is_one = {{DepthW{1'b0}},1'b1};
assign max_value = FullDepth;
assign rdata_shifted = data_q >> ptr_q*OutW;
assign rdata_shifted = MaxW'(data_q >> ptr_q*OutW);
assign clear_status = (rready_i && (depth_q == lsb_is_one)) || clr_q;
assign clear_data = (ClearOnRead && clear_status) || clr_q;
assign load_data = wvalid_i && wready_o;
Expand Down
2 changes: 1 addition & 1 deletion src/caliptra_prim/rtl/caliptra_prim_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
package caliptra_prim_pkg;

// Implementation target specialization
typedef enum integer {
typedef enum logic [31:0] {
ImplGeneric,
ImplXilinx,
ImplBadbit
Expand Down
5 changes: 5 additions & 0 deletions src/csrng/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ targets:
- $COMPILE_ROOT/rtl/csrng_cmd_stage.sv
- $COMPILE_ROOT/rtl/csrng.sv
tops: [csrng]
rtl_lint:
directories: []
waiver_files:
- $MSFT_REPO_ROOT/src/csrng/config/design_lint/sglint_waivers
tops: [csrng]
---
provides: [csrng_tb]
schema_version: 2.4.0
Expand Down
2 changes: 1 addition & 1 deletion src/csrng/rtl/csrng_reg_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ package csrng_reg_pkg;
parameter logic [31:0] CSRNG_INT_STATE_VAL_RESVAL = 32'h 0;

// Register index
typedef enum int {
typedef enum logic [31:0] {
CSRNG_INTR_STATE,
CSRNG_INTR_ENABLE,
CSRNG_INTR_TEST,
Expand Down
137 changes: 70 additions & 67 deletions src/datavault/rtl/dv_reg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,16 @@ module dv_reg (
//--------------------------------------------------------------------------
// Address Decode
//--------------------------------------------------------------------------
typedef struct {
logic StickyDataVaultCtrl[10];
logic STICKY_DATA_VAULT_ENTRY[10][12];
logic DataVaultCtrl[10];
logic DATA_VAULT_ENTRY[10][12];
logic LockableScratchRegCtrl[10];
logic LockableScratchReg[10];
logic NonStickyGenericScratchReg[8];
logic StickyLockableScratchRegCtrl[8];
logic StickyLockableScratchReg[8];
typedef struct packed{
logic [10-1:0]StickyDataVaultCtrl;
logic [10-1:0][12-1:0]STICKY_DATA_VAULT_ENTRY;
logic [10-1:0]DataVaultCtrl;
logic [10-1:0][12-1:0]DATA_VAULT_ENTRY;
logic [10-1:0]LockableScratchRegCtrl;
logic [10-1:0]LockableScratchReg;
logic [8-1:0]NonStickyGenericScratchReg;
logic [8-1:0]StickyLockableScratchRegCtrl;
logic [8-1:0]StickyLockableScratchReg;
} decoded_reg_strb_t;
decoded_reg_strb_t decoded_reg_strb;
logic decoded_req;
Expand Down Expand Up @@ -127,110 +127,110 @@ module dv_reg (
//--------------------------------------------------------------------------
// Field logic
//--------------------------------------------------------------------------
typedef struct {
struct {
struct {
typedef struct packed{
struct packed{
struct packed{
logic next;
logic load_next;
} lock_entry;
} StickyDataVaultCtrl[10];
struct {
struct {
} [10-1:0]StickyDataVaultCtrl;
struct packed{
struct packed{
logic [31:0] next;
logic load_next;
} data;
} STICKY_DATA_VAULT_ENTRY[10][12];
struct {
struct {
} [10-1:0][12-1:0]STICKY_DATA_VAULT_ENTRY;
struct packed{
struct packed{
logic next;
logic load_next;
} lock_entry;
} DataVaultCtrl[10];
struct {
struct {
} [10-1:0]DataVaultCtrl;
struct packed{
struct packed{
logic [31:0] next;
logic load_next;
} data;
} DATA_VAULT_ENTRY[10][12];
struct {
struct {
} [10-1:0][12-1:0]DATA_VAULT_ENTRY;
struct packed{
struct packed{
logic next;
logic load_next;
} lock_entry;
} LockableScratchRegCtrl[10];
struct {
struct {
} [10-1:0]LockableScratchRegCtrl;
struct packed{
struct packed{
logic [31:0] next;
logic load_next;
} data;
} LockableScratchReg[10];
struct {
struct {
} [10-1:0]LockableScratchReg;
struct packed{
struct packed{
logic [31:0] next;
logic load_next;
} data;
} NonStickyGenericScratchReg[8];
struct {
struct {
} [8-1:0]NonStickyGenericScratchReg;
struct packed{
struct packed{
logic next;
logic load_next;
} lock_entry;
} StickyLockableScratchRegCtrl[8];
struct {
struct {
} [8-1:0]StickyLockableScratchRegCtrl;
struct packed{
struct packed{
logic [31:0] next;
logic load_next;
} data;
} StickyLockableScratchReg[8];
} [8-1:0]StickyLockableScratchReg;
} field_combo_t;
field_combo_t field_combo;

typedef struct {
struct {
struct {
typedef struct packed{
struct packed{
struct packed{
logic value;
} lock_entry;
} StickyDataVaultCtrl[10];
struct {
struct {
} [10-1:0]StickyDataVaultCtrl;
struct packed{
struct packed{
logic [31:0] value;
} data;
} STICKY_DATA_VAULT_ENTRY[10][12];
struct {
struct {
} [10-1:0][12-1:0]STICKY_DATA_VAULT_ENTRY;
struct packed{
struct packed{
logic value;
} lock_entry;
} DataVaultCtrl[10];
struct {
struct {
} [10-1:0]DataVaultCtrl;
struct packed{
struct packed{
logic [31:0] value;
} data;
} DATA_VAULT_ENTRY[10][12];
struct {
struct {
} [10-1:0][12-1:0]DATA_VAULT_ENTRY;
struct packed{
struct packed{
logic value;
} lock_entry;
} LockableScratchRegCtrl[10];
struct {
struct {
} [10-1:0]LockableScratchRegCtrl;
struct packed{
struct packed{
logic [31:0] value;
} data;
} LockableScratchReg[10];
struct {
struct {
} [10-1:0]LockableScratchReg;
struct packed{
struct packed{
logic [31:0] value;
} data;
} NonStickyGenericScratchReg[8];
struct {
struct {
} [8-1:0]NonStickyGenericScratchReg;
struct packed{
struct packed{
logic value;
} lock_entry;
} StickyLockableScratchRegCtrl[8];
struct {
struct {
} [8-1:0]StickyLockableScratchRegCtrl;
struct packed{
struct packed{
logic [31:0] value;
} data;
} StickyLockableScratchReg[8];
} [8-1:0]StickyLockableScratchReg;
} field_storage_t;
field_storage_t field_storage;

Expand Down Expand Up @@ -430,7 +430,7 @@ module dv_reg (
logic [31:0] readback_data;

// Assign readback values to a flattened array
logic [31:0] readback_array[304];
logic [304-1:0][31:0] readback_array;
for(genvar i0=0; i0<10; i0++) begin
assign readback_array[i0*1 + 0][0:0] = (decoded_reg_strb.StickyDataVaultCtrl[i0] && !decoded_req_is_wr) ? field_storage.StickyDataVaultCtrl[i0].lock_entry.value : '0;
assign readback_array[i0*1 + 0][31:1] = '0;
Expand Down Expand Up @@ -480,4 +480,7 @@ module dv_reg (
assign cpuif_rd_ack = readback_done;
assign cpuif_rd_data = readback_data;
assign cpuif_rd_err = readback_err;

`CALIPTRA_ASSERT_KNOWN(ERR_HWIF_IN, hwif_in, clk, !hwif_in.hard_reset_b)

endmodule
Loading

0 comments on commit e08900f

Please sign in to comment.