RTL Design Practice Problems

Presenting my collection of 25 RTL design problems that I used to practice and improve my RTL skills. These are what I review, especially during my interview preparation process. They cover all the fundamentals required to design complex systems.

For a good grasp of digital implementation, one should be able to understand these designs at the clock cycle level. Also, note these designs will assume a good understanding of timing, synthesis, and SystemVerilog. If you are confident in writing good RTL and know what circuit will get synthesized for your RTL, these design problems will provide some fun practice. You should write the RTL and a testbench to ensure the specifications are met. Further, feel free to assume any additional signals as part of the design. I highly encourage using SystemVerilog Assertions in testbenches to stress test the designs.

Of course, I do not include my solution to them as that defeats the purpose of practice. So be brave and spend weeks or more to get through them as that will help improve the skills and fundamentals.