Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit f03b9ba
Merge: bc73a52 55f5f95
Author: Michael Norris <michnorris@fe719.svceng.com>
Date:   Wed Mar 27 12:51:20 2024 -0700

    Merge remote-tracking branch 'chips/main' into user/dev/michnorris/lint_fix

commit bc73a52
Author: Michael Norris <michnorris@fe719.svceng.com>
Date:   Wed Mar 27 12:45:42 2024 -0700

    removing change from other lint pr branch, not sure where it came from.

commit 697a740
Author: Michael Norris <michnorris@fe719.svceng.com>
Date:   Wed Mar 27 12:20:42 2024 -0700

    removing lint blackboxes
    removed packed struct post processing from generated reg files.
    cast width of dynamic shifts to make lint happy
    casting some arithmetic widths, math parameter widths etc
  • Loading branch information
calebofearth committed Apr 2, 2024
1 parent 9f95a9f commit 206e956
Show file tree
Hide file tree
Showing 50 changed files with 2,725 additions and 2,796 deletions.
2 changes: 0 additions & 2 deletions src/datavault/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ targets:
directories: []
waiver_files:
- $MSFT_REPO_ROOT/src/datavault/config/design_lint/datavault/sglint_waivers
black_box:
- dv_reg
global:
tool:
vcs:
Expand Down
137 changes: 67 additions & 70 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 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;
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];
} 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 packed{
struct packed{
struct packed{
typedef struct {
struct {
struct {
logic next;
logic load_next;
} lock_entry;
} [10-1:0]StickyDataVaultCtrl;
struct packed{
struct packed{
} StickyDataVaultCtrl[10];
struct {
struct {
logic [31:0] next;
logic load_next;
} data;
} [10-1:0][12-1:0]STICKY_DATA_VAULT_ENTRY;
struct packed{
struct packed{
} STICKY_DATA_VAULT_ENTRY[10][12];
struct {
struct {
logic next;
logic load_next;
} lock_entry;
} [10-1:0]DataVaultCtrl;
struct packed{
struct packed{
} DataVaultCtrl[10];
struct {
struct {
logic [31:0] next;
logic load_next;
} data;
} [10-1:0][12-1:0]DATA_VAULT_ENTRY;
struct packed{
struct packed{
} DATA_VAULT_ENTRY[10][12];
struct {
struct {
logic next;
logic load_next;
} lock_entry;
} [10-1:0]LockableScratchRegCtrl;
struct packed{
struct packed{
} LockableScratchRegCtrl[10];
struct {
struct {
logic [31:0] next;
logic load_next;
} data;
} [10-1:0]LockableScratchReg;
struct packed{
struct packed{
} LockableScratchReg[10];
struct {
struct {
logic [31:0] next;
logic load_next;
} data;
} [8-1:0]NonStickyGenericScratchReg;
struct packed{
struct packed{
} NonStickyGenericScratchReg[8];
struct {
struct {
logic next;
logic load_next;
} lock_entry;
} [8-1:0]StickyLockableScratchRegCtrl;
struct packed{
struct packed{
} StickyLockableScratchRegCtrl[8];
struct {
struct {
logic [31:0] next;
logic load_next;
} data;
} [8-1:0]StickyLockableScratchReg;
} StickyLockableScratchReg[8];
} field_combo_t;
field_combo_t field_combo;

typedef struct packed{
struct packed{
struct packed{
typedef struct {
struct {
struct {
logic value;
} lock_entry;
} [10-1:0]StickyDataVaultCtrl;
struct packed{
struct packed{
} StickyDataVaultCtrl[10];
struct {
struct {
logic [31:0] value;
} data;
} [10-1:0][12-1:0]STICKY_DATA_VAULT_ENTRY;
struct packed{
struct packed{
} STICKY_DATA_VAULT_ENTRY[10][12];
struct {
struct {
logic value;
} lock_entry;
} [10-1:0]DataVaultCtrl;
struct packed{
struct packed{
} DataVaultCtrl[10];
struct {
struct {
logic [31:0] value;
} data;
} [10-1:0][12-1:0]DATA_VAULT_ENTRY;
struct packed{
struct packed{
} DATA_VAULT_ENTRY[10][12];
struct {
struct {
logic value;
} lock_entry;
} [10-1:0]LockableScratchRegCtrl;
struct packed{
struct packed{
} LockableScratchRegCtrl[10];
struct {
struct {
logic [31:0] value;
} data;
} [10-1:0]LockableScratchReg;
struct packed{
struct packed{
} LockableScratchReg[10];
struct {
struct {
logic [31:0] value;
} data;
} [8-1:0]NonStickyGenericScratchReg;
struct packed{
struct packed{
} NonStickyGenericScratchReg[8];
struct {
struct {
logic value;
} lock_entry;
} [8-1:0]StickyLockableScratchRegCtrl;
struct packed{
struct packed{
} StickyLockableScratchRegCtrl[8];
struct {
struct {
logic [31:0] value;
} data;
} [8-1:0]StickyLockableScratchReg;
} StickyLockableScratchReg[8];
} 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 [304-1:0][31:0] readback_array;
logic [31:0] readback_array[304];
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,7 +480,4 @@ 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
76 changes: 38 additions & 38 deletions src/datavault/rtl/dv_reg_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -2,121 +2,121 @@
// https://github.com/SystemRDL/PeakRDL-regblock

package dv_reg_pkg;
typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__StickyDataVaultCtrl__lock_entry__in_t;

typedef struct packed{
typedef struct {
dv_reg__StickyDataVaultCtrl__lock_entry__in_t lock_entry;
} dv_reg__StickyDataVaultCtrl__in_t;

typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__StickyDataVaultEntry_w32__in_t;

typedef struct packed{
typedef struct {
dv_reg__StickyDataVaultEntry_w32__in_t data;
} dv_reg__StickyDataVaultReg__in_t;

typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__DataVaultCtrl__lock_entry__in_t;

typedef struct packed{
typedef struct {
dv_reg__DataVaultCtrl__lock_entry__in_t lock_entry;
} dv_reg__DataVaultCtrl__in_t;

typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__DataVaultEntry_w32__in_t;

typedef struct packed{
typedef struct {
dv_reg__DataVaultEntry_w32__in_t data;
} dv_reg__DataVaultReg__in_t;

typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__LockableScratchRegCtrl__lock_entry__in_t;

typedef struct packed{
typedef struct {
dv_reg__LockableScratchRegCtrl__lock_entry__in_t lock_entry;
} dv_reg__LockableScratchRegCtrl__in_t;

typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__LockableScratchReg__data__in_t;

typedef struct packed{
typedef struct {
dv_reg__LockableScratchReg__data__in_t data;
} dv_reg__LockableScratchReg__in_t;

typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__StickyLockableScratchRegCtrl__lock_entry__in_t;

typedef struct packed{
typedef struct {
dv_reg__StickyLockableScratchRegCtrl__lock_entry__in_t lock_entry;
} dv_reg__StickyLockableScratchRegCtrl__in_t;

typedef struct packed{
typedef struct {
logic swwel;
} dv_reg__StickyLockableScratchReg__data__in_t;

typedef struct packed{
typedef struct {
dv_reg__StickyLockableScratchReg__data__in_t data;
} dv_reg__StickyLockableScratchReg__in_t;

typedef struct packed{
typedef struct {
logic reset_b;
logic core_only_rst_b;
logic hard_reset_b;
dv_reg__StickyDataVaultCtrl__in_t [10-1:0]StickyDataVaultCtrl;
dv_reg__StickyDataVaultReg__in_t [10-1:0][12-1:0]STICKY_DATA_VAULT_ENTRY;
dv_reg__DataVaultCtrl__in_t [10-1:0]DataVaultCtrl;
dv_reg__DataVaultReg__in_t [10-1:0][12-1:0]DATA_VAULT_ENTRY;
dv_reg__LockableScratchRegCtrl__in_t [10-1:0]LockableScratchRegCtrl;
dv_reg__LockableScratchReg__in_t [10-1:0]LockableScratchReg;
dv_reg__StickyLockableScratchRegCtrl__in_t [8-1:0]StickyLockableScratchRegCtrl;
dv_reg__StickyLockableScratchReg__in_t [8-1:0]StickyLockableScratchReg;
dv_reg__StickyDataVaultCtrl__in_t StickyDataVaultCtrl[10];
dv_reg__StickyDataVaultReg__in_t STICKY_DATA_VAULT_ENTRY[10][12];
dv_reg__DataVaultCtrl__in_t DataVaultCtrl[10];
dv_reg__DataVaultReg__in_t DATA_VAULT_ENTRY[10][12];
dv_reg__LockableScratchRegCtrl__in_t LockableScratchRegCtrl[10];
dv_reg__LockableScratchReg__in_t LockableScratchReg[10];
dv_reg__StickyLockableScratchRegCtrl__in_t StickyLockableScratchRegCtrl[8];
dv_reg__StickyLockableScratchReg__in_t StickyLockableScratchReg[8];
} dv_reg__in_t;

typedef struct packed{
typedef struct {
logic value;
} dv_reg__StickyDataVaultCtrl__lock_entry__out_t;

typedef struct packed{
typedef struct {
dv_reg__StickyDataVaultCtrl__lock_entry__out_t lock_entry;
} dv_reg__StickyDataVaultCtrl__out_t;

typedef struct packed{
typedef struct {
logic value;
} dv_reg__DataVaultCtrl__lock_entry__out_t;

typedef struct packed{
typedef struct {
dv_reg__DataVaultCtrl__lock_entry__out_t lock_entry;
} dv_reg__DataVaultCtrl__out_t;

typedef struct packed{
typedef struct {
logic value;
} dv_reg__LockableScratchRegCtrl__lock_entry__out_t;

typedef struct packed{
typedef struct {
dv_reg__LockableScratchRegCtrl__lock_entry__out_t lock_entry;
} dv_reg__LockableScratchRegCtrl__out_t;

typedef struct packed{
typedef struct {
logic value;
} dv_reg__StickyLockableScratchRegCtrl__lock_entry__out_t;

typedef struct packed{
typedef struct {
dv_reg__StickyLockableScratchRegCtrl__lock_entry__out_t lock_entry;
} dv_reg__StickyLockableScratchRegCtrl__out_t;

typedef struct packed{
dv_reg__StickyDataVaultCtrl__out_t [10-1:0]StickyDataVaultCtrl;
dv_reg__DataVaultCtrl__out_t [10-1:0]DataVaultCtrl;
dv_reg__LockableScratchRegCtrl__out_t [10-1:0]LockableScratchRegCtrl;
dv_reg__StickyLockableScratchRegCtrl__out_t [8-1:0]StickyLockableScratchRegCtrl;
typedef struct {
dv_reg__StickyDataVaultCtrl__out_t StickyDataVaultCtrl[10];
dv_reg__DataVaultCtrl__out_t DataVaultCtrl[10];
dv_reg__LockableScratchRegCtrl__out_t LockableScratchRegCtrl[10];
dv_reg__StickyLockableScratchRegCtrl__out_t StickyLockableScratchRegCtrl[8];
} dv_reg__out_t;

localparam DV_REG_ADDR_WIDTH = 32'd11;
Expand Down
2 changes: 0 additions & 2 deletions src/doe/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ targets:
directories: []
waiver_files:
- $MSFT_REPO_ROOT/src/doe/config/design_lint/doe_ctrl/sglint_waivers
black_box:
- doe_reg
---
provides: [doe_cbc_tb]
schema_version: 2.4.0
Expand Down
Loading

0 comments on commit 206e956

Please sign in to comment.