FREE DOWNLOAD

RTL Design Essentials

A one-page quick reference for the RTL concepts that come up constantly — FSM styles, blocking vs. non-blocking rules, CDC basics, and common pitfalls.

FREE PDF · NO SIGN-UP WALL

Get the full cheat sheet PDF

A printable, single-page version of this reference.

INSTANT EMAIL DELIVERY · FREE FOREVER
Get the PDF
QUICK REFERENCE

What's inside

Blocking vs. Non-blocking

Use = (blocking) for combinational logic, <= (non-blocking) for sequential logic. Never mix both in the same always block.

Moore vs. Mealy FSM

Moore: output depends only on current state (more stable, one cycle slower). Mealy: output depends on state + input (faster reaction, can glitch).

Reset Style

Prefer synchronous reset for portability across technologies; use asynchronous reset only when a specification requires immediate response independent of the clock.

CDC Synchronizer Pattern

For single-bit signals crossing clock domains, use a two-flop synchronizer at minimum. For multi-bit buses, use a handshake or a FIFO — never synchronize a bus bit-by-bit.

Avoiding Unintended Latches

In combinational always blocks, assign every output in every branch (including a default/else case) to avoid inferred latches.

Common RTL Pitfalls

Incomplete sensitivity lists, mixed blocking/non-blocking assignments, multiple drivers on a signal, and un-synchronized asynchronous resets are the most common bugs interviewers probe for.

Want the full 550+ question set?

This cheat sheet covers the basics — our RTL Design ebook goes much deeper.

See RTL Design questions