Entity: prim_subreg_shadow
- File: prim_subreg_shadow.sv
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
Shadowed register slice conforming to Comportibility guide.
Generics
Generic name | Type | Value | Description |
---|---|---|---|
DW | int | 32 | |
SwAccess | sw_access_e | SwAccessRW | |
DW | logic [DW-1:0] | '0 | reset value |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
clk_i | input | ||
rst_ni | input | ||
rst_shadowed_ni | input | ||
re | input | From SW: valid for RW, WO, W1C, W1S, W0C, RC. SW reads clear phase unless SwAccess is RO. | |
we | input | In case of RC, top connects read pulse to we. | |
wd | input | [DW-1:0] | |
de | input | From HW: valid for HRW, HWO. | |
d | input | [DW-1:0] | |
qe | output | Output to HW and Reg Read | |
q | output | [DW-1:0] | |
qs | output | [DW-1:0] | |
err_update | output | Error conditions | |
err_storage | output |
Signals
Name | Type | Description |
---|---|---|
phase_clear | logic | Subreg control signals |
phase_q | logic | |
staged_we | logic | |
shadow_we | logic | |
committed_we | logic | |
staged_de | logic | |
shadow_de | logic | |
committed_de | logic | |
committed_qe | logic | Subreg status and data signals |
staged_q | logic [DW-1:0] | |
shadow_q | logic [DW-1:0] | |
committed_q | logic [DW-1:0] | |
committed_qs | logic [DW-1:0] | |
wr_en | logic | Effective write enable and write data signals. These depend on we, de and wd, d, q as well as SwAccess. |
wr_data | logic [DW-1:0] |
Constants
Name | Type | Value | Description |
---|---|---|---|
InvertedSwAccess | sw_access_e | SwAccessW0C : |
Processes
- phase_reg: ( @(posedge clk_i or negedge rst_ni) )
Type: always_ff
Description
Phase tracker: - Reads from SW clear the phase back to 0. - Writes have priority (can come from SW or HW).
Instantiations
- wr_en_data_arb: prim_subreg_arb
- staged_reg: prim_subreg
- shadow_reg: prim_subreg
- committed_reg: prim_subreg