Module ibex_register_file_latch
Block Diagram of ibex_register_file_latch
Name |
Default |
Description |
---|---|---|
RV32E |
0 |
|
DataWidth |
32 |
|
DummyInstructions |
0 |
|
WrenCheck |
0 |
|
RdataMuxCheck |
0 |
|
WordZeroVal |
'0 |
Name |
Type |
Direction |
Description |
---|---|---|---|
clk_i |
wire logic |
input |
Clock and Reset |
rst_ni |
wire logic |
input |
|
test_en_i |
wire logic |
input |
|
dummy_instr_id_i |
wire logic |
input |
|
dummy_instr_wb_i |
wire logic |
input |
|
raddr_a_i |
wire logic [4 : 0] |
input |
Read port R1 |
rdata_a_o |
var logic [DataWidth - 1 : 0] |
output |
|
raddr_b_i |
wire logic [4 : 0] |
input |
Read port R2 |
rdata_b_o |
var logic [DataWidth - 1 : 0] |
output |
|
waddr_a_i |
wire logic [4 : 0] |
input |
Write port W1 |
wdata_a_i |
wire logic [DataWidth - 1 : 0] |
input |
|
we_a_i |
wire logic |
input |
|
err_o |
var logic |
output |
This indicates whether spurious WE or non-one-hot encoded raddr are detected. |
Always Blocks
- always_ff @(posedge clk_int or negedge rst_ni)
Sample input data Use clk_int here, since otherwise we don't want to write anything anyway.
- always_comb @()
Write address decoding
×
RISC-V register file
Register file with 31 or 15x 32 bit wide registers. Register 0 is fixed to 0. This register file is based on latches and is thus smaller than the flip-flop based RF. It requires a target technology-specific clock gating cell. Use this register file when targeting ASIC synthesis or event-based simulators.