[source]

Module ibex_register_file_ff

RV32EDataWidthDummyInstructionsWrenCheckRdataMuxCheckWordZeroValclk_ilogicrst_nilogictest_en_ilogicdummy_instr_id_ilogicdummy_instr_wb_ilogicraddr_a_i[4:0]logicraddr_b_i[4:0]logicwaddr_a_i[4:0]logicwdata_a_i[DataWidth-1:0]logicwe_a_ilogicrdata_a_ologic[DataWidth-1:0]rdata_b_ologic[DataWidth-1:0]err_ologic

Block Diagram of ibex_register_file_ff

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 flip flops. Use this register file when targeting FPGA synthesis or Verilator simulation.

Parameters

Name

Default

Description

RV32E

0

DataWidth

32

DummyInstructions

0

WrenCheck

0

RdataMuxCheck

0

WordZeroVal

'0

Ports

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.

Instances

Submodules

  • ibex_register_file_ff
    • g_normal_r0 : [if !(DummyInstructions)]

    • g_rf_flops : [for (genvar i=1;i<NUM_WORDS;i++)]

    • gen_no_rdata_mux_check : [if !(RdataMuxCheck)]

    • gen_no_wren_check : [if !(WrenCheck)]

g_rf_flops register_file_i (ibex_register_file_ff)

Flow Diagram of ibex_register_file_ff

g_normal_r0 g_rf_flops gen_no_rdata_mux_check gen_no_wren_check register_file_i (ibex_register_file_ff)

Sub-Instances Diagram of ibex_register_file_ff

err_o oh_raddr_a_err oh_raddr_b_err oh_we_err unused_test_en test_en_i we_a_dec we_a_i waddr_a_i unused_dummy_instr dummy_instr_id_i dummy_instr_wb_i rf_reg g_normal_r0 rf_reg rf_reg_q rf_reg_q rst_ni clk_i wdata_a_i we_a_dec g_rf_flops rdata_a_o rf_reg raddr_a_i rdata_b_o rf_reg raddr_b_i oh_raddr_a_err oh_raddr_b_err gen_no_rdata_mux_check unused_strobe we_a_dec oh_we_err gen_no_wren_check register_file_i (ibex_register_file_ff) clk_i rst_ni test_en_i dummy_instr_id_i dummy_instr_wb_i raddr_a_i rdata_a_o raddr_b_i rdata_b_o waddr_a_i wdata_a_i we_a_i err_o

Schematic Diagram of ibex_register_file_ff