RTL Design · Medium · Verilog, SystemVerilog, VHDL

Small Register File

Implement a 4-entry register file with one synchronous write port and two asynchronous read ports.

Task

Write wdata to waddr on the rising edge when we is asserted. Reads must reflect selected registers combinationally.

Examples

Constraints

What this problem is testing

A strong answer translates the requirement into synthesizable state and combinational logic, states reset and update semantics precisely, and handles boundary conditions rather than only the nominal case.

Interview habit: before coding, state reset behavior, the state that must be stored, and the conditions that update each output.

Verification plan

Edge cases worth testing

Common mistakes

Interview follow-up questions

Concepts to review

register-file, memory, sequential

Open Small Register File in the HDLForge interactive editor.

Related problems

Explore the RTL Design Practice & Interview Preparation hub.

Continue practising