Entity: otp_ctrl_ecc_reg
- File: otp_ctrl_ecc_reg.sv
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
Register file for buffered OTP partitions. ECC is used to detect up to two simultaneous errors within each 64bit word.
TODO: discuss whether reset is allowed here. We may also need a secure wiping feature.
Generics
| Generic name | Type | Value | Description |
|---|---|---|---|
| Width | int | 64 | bit |
| Depth | int | 128 | |
| Aw | int | prim_util_pkg::vbits(Depth) | derived parameter |
Ports
| Port name | Direction | Type | Description |
|---|---|---|---|
| clk_i | input | ||
| rst_ni | input | ||
| wren_i | input | ||
| addr_i | input | [Aw-1:0] | |
| wdata_i | input | [Width-1:0] | |
| data_o | output | [Depth-1:0] | Concurrent output of the register state. |
| ecc_err_o | output | Concurrent ECC check error is flagged via this signal. |
Signals
| Name | Type | Description |
|---|---|---|
| data_d | logic [Depth-1:0][Width-1:0] | |
| data_q | logic [Depth-1:0][Width-1:0] | |
| ecc_d | logic [Depth-1:0][EccWidth-1:0] | |
| ecc_q | logic [Depth-1:0][EccWidth-1:0] | |
| ecc_enc | logic [Width+EccWidth-1:0] | |
| err | logic [Depth-1:0][1:0] | Concurrent ECC checks. |
Constants
| Name | Type | Value | Description |
|---|---|---|---|
| Aw | int | prim_util_pkg::vbits(Depth) | derived parameter |
| EccWidth | int | 8 |
Processes
- p_regs: ( @(posedge clk_i or negedge rst_ni) )
Type: always_ff
Instantiations
- u_prim_secded_72_64_enc: prim_secded_72_64_enc
Description
Only one encoder is needed.