30 RTL Design Interview Questions (With Answers) for 2026
The most common RTL design interview questions asked at Intel, NVIDIA, Qualcomm, and Apple — with clear answers covering Verilog, FSMs, CDC, timing, and low-power design.
RTL design interviews are unlike any other engineering interview. You are expected to reason about hardware that runs in parallel, think in clock cycles, and write Verilog that is not just correct but synthesizable. Whether you are interviewing at Intel, NVIDIA, Qualcomm, Apple, or a fast-moving startup, the fundamentals tested are remarkably consistent.
This guide collects the 30 questions we see asked most often, grouped by topic, with concise answers you can actually use. Treat the answers as a starting point — in a real interview, the follow-up "why?" matters more than the first response.
Verilog and SystemVerilog fundamentals
1. What is the difference between blocking (=) and non-blocking (<=) assignments?
Blocking assignments execute sequentially within a procedural block, like software statements. Non-blocking assignments schedule the right-hand side to be evaluated immediately but assigned at the end of the time step. The rule of thumb: use non-blocking (<=) for sequential logic in clocked always blocks, and blocking (=) for combinational logic. Mixing them in the same block is a classic source of simulation-versus-synthesis mismatch.
2. Why can mixing blocking and non-blocking assignments cause race conditions?
Because the simulator's event scheduler evaluates blocking assignments immediately but defers non-blocking ones. If two blocks read and write the same signal using different assignment types, the final value depends on evaluation order, which is not guaranteed. Synthesis tools, meanwhile, ignore this nuance — so your gates behave differently from your simulation.
3. What is the difference between wire and reg?
A wire represents a physical connection and must be continuously driven (by an assign or a module output). A reg holds its value until reassigned and is used inside procedural blocks. Importantly, reg does not imply a hardware register — a reg assigned in a combinational always block synthesizes to combinational logic, not a flip-flop.
4. What does synthesizable mean, and name three constructs that are not?
Synthesizable code maps to real hardware gates. Non-synthesizable constructs include #delays, initial blocks (for design, not testbench), $display and other system tasks, and most uses of real/time data types. They are valid Verilog but exist only for simulation.
Finite State Machines (FSMs)
5. What is the difference between a Moore and a Mealy machine?
In a Moore machine, outputs depend only on the current state. In a Mealy machine, outputs depend on both the current state and the current inputs. Mealy machines can react one cycle faster and often use fewer states, but their outputs can glitch and are harder to time because they depend combinationally on inputs.
6. How many always blocks should an FSM use, and why?
The recommended style is three blocks: one sequential block for the state register (current_state <= next_state), one combinational block for next-state logic, and one combinational (or registered) block for outputs. This separation keeps the code readable, avoids accidental latches, and makes timing intent explicit.
7. How do you avoid an inferred latch in the next-state logic?
Assign a default value to next_state at the top of the combinational block (typically next_state = current_state;), and ensure every branch of every conditional assigns the output. A latch is inferred whenever a combinational signal is not assigned on every possible path.
Clock Domain Crossing (CDC)
8. What is metastability?
When a flip-flop samples a signal that is changing near its setup/hold window, its output can hover at an indeterminate voltage for an unbounded time before resolving to 0 or 1. This is metastability, and it is the central hazard whenever a signal crosses between asynchronous clock domains.
9. How do you safely pass a single-bit signal between two clock domains?
Use a two-flip-flop synchronizer: two back-to-back flops in the destination domain. The first flop may go metastable, but it has a full clock cycle to settle before the second flop samples it, reducing the probability of failure to a negligible level (quantified by Mean Time Between Failures).
10. Why can't you use a two-flop synchronizer for a multi-bit bus?
Because each bit may resolve on a different cycle, you can capture a value that never actually existed on the bus (bit skew). For multi-bit data you need a handshake (req/ack) or an asynchronous FIFO with Gray-coded read/write pointers, which guarantees only one bit changes at a time.
11. Why are Gray codes used for FIFO pointers?
In a Gray code, consecutive values differ by exactly one bit. When the pointer crosses clock domains, even if it is sampled mid-transition, the synchronized value is either the old or the new count — never a corrupted intermediate. Binary counters can change many bits at once and are unsafe to synchronize directly.
Timing and synthesis
12. What are setup and hold time?
Setup time is the interval before the clock edge during which the data input must be stable. Hold time is the interval after the edge during which it must remain stable. Violating either can drive the flop into metastability.
13. What is a setup violation, and how do you fix it?
A setup violation means data arrives too late to be captured on the next clock edge — the combinational path is too slow for the clock period. Fixes include pipelining the path (adding registers), reducing logic levels, choosing faster cells, or relaxing the clock frequency.
14. What is clock skew, and is it always bad?
Clock skew is the difference in arrival time of the clock edge at two different flops. Skew can actually help setup timing (if the capture clock is intentionally delayed) but hurts hold timing. Designers exploit "useful skew" during physical design, but uncontrolled skew is a reliability risk.
15. What is the difference between latency, throughput, and pipelining?
Latency is the number of cycles from input to corresponding output. Throughput is how many results complete per cycle. Pipelining inserts registers to break a long combinational path into stages — it increases latency but dramatically improves throughput and maximum clock frequency.
Low-power and practical design
16. What is clock gating and why is it used?
Clock gating disables the clock to registers that do not need to switch, eliminating their dynamic power and the clock-tree power feeding them. It is one of the highest-impact low-power techniques. In RTL you typically infer it through enable conditions rather than instantiating gates manually, letting the synthesis tool insert a glitch-free integrated clock-gating cell.
17. What is the difference between dynamic and static power?
Dynamic power is consumed when signals switch (proportional to C·V²·f plus short-circuit current). Static (leakage) power is consumed even when idle, due to transistor leakage current, and grows worse at smaller process nodes. Clock gating attacks dynamic power; power gating and multi-Vt cells attack leakage.
18. How would you reset a design — synchronous or asynchronous?
Each has trade-offs. Asynchronous reset asserts immediately regardless of the clock but must be de-asserted synchronously (via a reset synchronizer) to avoid metastability on release. Synchronous reset is simpler to time and filter but requires a running clock. Many modern flows use "asynchronous assert, synchronous de-assert."
How to actually prepare
Reading answers is the easy part. RTL interviews are won by talking through trade-offs out loud — interviewers want to hear you weigh area against timing, or simplicity against power. The single best preparation is a live mock interview where a working chip-design engineer pushes on your reasoning the way a real panel will.
A few concrete tips:
- Draw the hardware. Before writing Verilog, sketch the registers and the combinational cloud between them. Interviewers care that you see the gates.
- Always mention CDC. If a problem has two clocks, raising synchronization unprompted signals seniority.
- Know your reset and clocking strategy cold. These come up in nearly every interview and reveal real-world experience.
- Practice on a whiteboard or shared editor, not just in your head — articulating while designing is a separate skill.
If you want feedback from someone who has conducted these interviews at top semiconductor companies, that is exactly what MockVise is built for. You can browse verified hardware design experts and book a 1-on-1 mock RTL interview, then get a written debrief on where you stood out and where you lost points.
Good luck — and remember, in RTL the right answer is usually "it depends, and here's the trade-off."
Practice with engineers who've run these interviews
Book a 1-on-1 mock interview with verified experts from Intel, NVIDIA, Qualcomm, and Apple.
Find your expert