Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • How to Read the Diagrams
  • Part 0: What Is a Protocol?10
  • Part 1: Timing and Clocking11
  • Part 2: Encoding and Framing12
  • Part 3: Handshakes13
  • Part 4: Flow Control17
  • Part 5: Transactions19
  • Part 6: Concurrency and Performance17
  • Part 7: Ordering13
  • Part 8: Sharing and Arbitration12
  • Part 9: Deadlock and Liveness13
  • Part 10: Reliability and Recovery20
  • Part 11: Bring-Up and Link Management10
  • Part 12: Power8
  • Part 13: Shared State and Coherence9
  • Part 14: Security and Isolation7
  • Part 15: Specifying and Verifying11
  • Part 16: Protocols Dissected17
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
    • The Reasoning Framework
    • Question Bank: Foundation
    • Question Bank: Senior
    • Question Bank: Principal
    • Whiteboard Drills
    • System Design Questions
Loading lesson

‹Part 18: Interview Preparation
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 18: Interview Preparation
  4. Question Bank: Foundation

Part 18 · Interview Preparation · Foundation (F)

Question Bank: Foundation

Forty foundation-level protocol interview questions across timing, framing, handshakes, flow control, transactions, ordering, arbitration, deadlock and errors, each with a weak answer and a strong one.

On this page

    Note

    Level: Foundation (F) · Answers: Can you explain it under pressure?

    Before this: The Reasoning Framework

    Say your answer out loud before opening each one. A strong answer names the mechanism and the problem it solves; the weak answers show the most common ways candidates fall short. Each answer points back to the part where the idea is explained.

    Protocols, timing and framing (Parts 0 to 2)

    Check yourself What is a protocol?

    Weak: A set of signals. Strong: A contract between two sides: the signals, what their values mean, and when a value counts, checkable on the wires alone so each side can be built and verified separately.

    Check yourself What three layers does every protocol specify?

    Weak: Hardware and software. Strong: Signals (the wires), meaning (what values stand for) and timing (when a value counts).

    Check yourself Why can't a long, fast link share one clock between both ends?

    Weak: The clock is too slow. Strong: Clock skew and propagation delay become a large part of the cycle, so the receiver can't sample reliably; long links send the clock with the data or embed it in the data instead.

    Check yourself How does a UART receiver find bit timing without a clock?

    Weak: It uses the sender's clock. Strong: Both sides agree the baud rate; the receiver re-aligns on each start bit and oversamples to sample near the middle of each bit.

    Check yourself What is a source-synchronous interface?

    Weak: One with a shared clock. Strong: The sender forwards a clock or strobe alongside the data, so both see the same delay; DDR's DQS is an example.

    Check yourself What does clock and data recovery do?

    Weak: It recovers lost data. Strong: It extracts the clock from transitions in the data stream, so no separate clock wire is needed.

    Check yourself Why do serial links need transitions in the data?

    Weak: For speed. Strong: Clock recovery needs edges; long runs of identical bits let the receiver drift. Line codes, scrambling and bit stuffing guarantee transitions.

    Check yourself How does a receiver find where a packet starts?

    Weak: It counts bits from power-up. Strong: By a marker the data cannot contain: a start bit, a special control symbol, a sync header or a flag, followed by framing rules such as a length field or end marker.

    Check yourself What is bit stuffing?

    Weak: Adding padding at the end. Strong: Inserting an extra bit after a run of identical bits (USB after six 1s) so the data never looks like a control pattern and keeps transitions; the receiver removes it.

    Check yourself What is 8b/10b's overhead?

    Weak: 8%. Strong: 20%: 8 data bits in 10 line bits. 128b/130b is about 1.5%.

    Handshakes and flow control (Parts 3 and 4)

    Check yourself What are the valid/ready rules?

    Weak: Valid and ready must both be high. Strong: A transfer happens on a cycle where both are high; valid must not wait for ready; once valid is high it stays high with stable data until the transfer; ready may depend on valid.

    Check yourself Why must valid not wait for ready?

    Weak: For speed. Strong: If valid waited for ready and ready waited for valid, neither would ever assert: deadlock.

    Check yourself What is a wait state?

    Weak: A slow clock. Strong: A cycle in which the receiver holds off completion (PREADY or HREADY low) so a slow target can finish.

    Check yourself What is a skid buffer for?

    Weak: To store extra data. Strong: To break the combinational ready path when registering it: it catches the data already sent in the cycle ready fell, so throughput stays full.

    Check yourself What is the difference between push and pull?

    Weak: Direction of data. Strong: In push the sender decides when to send and the receiver must keep up or back-pressure; in pull the receiver asks for each item.

    Check yourself Why is flow control needed?

    Weak: To make links faster. Strong: So a fast sender cannot overrun a slower receiver's buffer and lose data.

    Check yourself What is credit-based flow control?

    Weak: Paying for bandwidth. Strong: The receiver gives the sender credits for free buffer slots; the sender sends only with a credit and gets it back when the slot is freed, so overflow is impossible.

    Check yourself How big must a credit buffer be for full throughput?

    Weak: As big as possible. Strong: At least the data the sender can send in one credit round trip: rate times round-trip time.

    Check yourself What is on/off flow control's weakness?

    Weak: It is too simple. Strong: The stop signal takes a round trip to take effect, so the receiver needs headroom for data already in flight, and the link idles while restarting.

    Check yourself Lossless or lossy: what is the difference?

    Weak: Lossless is better. Strong: Lossless links never drop for congestion (they back-pressure); lossy links drop and rely on retry above. Lossless can spread congestion; lossy wastes bandwidth on retransmission.

    Transactions, concurrency and ordering (Parts 5 to 7)

    Check yourself What is the difference between posted and non-posted writes?

    Weak: Posted writes are faster. Strong: A posted write gets no response, so the requester moves on immediately; a non-posted write is acknowledged, so the requester knows it completed.

    Check yourself Why must every request get exactly one response?

    Weak: For tidiness. Strong: A requester waiting for a response that never comes hangs; two responses confuse matching.

    Check yourself What is a burst?

    Weak: A fast transfer. Strong: Several data beats for one address request, saving address bandwidth; protocols limit length and boundaries (AXI 4 KB).

    Check yourself Why do protocols forbid bursts crossing 4 KB?

    Weak: Memory pages. Strong: So one burst never spans two targets or two memory-management pages, keeping decoding and protection simple.

    Check yourself What are byte strobes?

    Weak: Error bits. Strong: One bit per byte lane saying which bytes of a write are valid, so narrow and unaligned writes don't overwrite neighbours.

    Check yourself What is an outstanding transaction?

    Weak: A failed one. Strong: A request issued whose response has not yet returned; allowing many hides latency.

    Check yourself What is Little's law?

    Weak: A queueing formula. Strong: Items in a system = arrival rate × time in system; for links, outstanding requests = throughput × latency.

    Check yourself Why do protocols use IDs or tags?

    Weak: For debugging. Strong: To match responses to requests when several are outstanding and may return out of order.

    Check yourself What does AXI promise about ordering?

    Weak: Everything is in order. Strong: Same-ID transactions complete in order; different IDs in any order; no ordering between reads and writes.

    Check yourself What is a fence or barrier?

    Weak: A firewall. Strong: An operation that completes only after all earlier operations it covers are complete, so later ones are ordered after them.

    Sharing, deadlock and errors (Parts 8 to 10)

    Check yourself What does a round-robin arbiter guarantee?

    Weak: Equal bandwidth. Strong: Every requester is served within N grants, so nobody starves.

    Check yourself What is starvation?

    Weak: A deadlock. Strong: A requester that is never served while others are, although the system keeps running.

    Check yourself Name the four conditions for deadlock.

    Weak: Two requesters waiting. Strong: Mutual exclusion, hold and wait, no preemption and circular wait; break any one to prevent deadlock.

    Check yourself What is the difference between deadlock and livelock?

    Weak: None. Strong: In deadlock nothing moves; in livelock things keep moving (retries) but nothing makes progress.

    Check yourself Why add a timeout?

    Weak: To save power. Strong: To turn a hang into a reported error when a response never comes.

    Check yourself What does parity detect?

    Weak: All errors. Strong: Any odd number of flipped bits; it misses even numbers and cannot correct.

    Check yourself What does a CRC guarantee?

    Weak: No errors. Strong: An r-bit CRC detects every burst error of r bits or fewer and almost all other errors.

    Check yourself What is SECDED?

    Weak: A type of memory. Strong: Single error correct, double error detect: an ECC code with minimum distance 4.

    Check yourself How does ACK/NAK recovery work?

    Weak: The receiver sends everything back. Strong: The receiver acknowledges good packets and NAKs bad ones; the sender keeps copies until acknowledged and resends on NAK or timeout.

    Check yourself Why do retried packets need sequence numbers?

    Weak: To count packets. Strong: So the receiver can tell a resent packet from a new one and discard duplicates.

    Key takeaways

    • A strong foundation answer gives the mechanism and the problem it solves.

    • Most weak answers recite a name or a fact without the reason.

    • If you missed several in one group, revisit that part before the senior bank.

    Keep going

    Next: Lesson 18.3, Question Bank: Senior. Fifty senior questions, each with follow-ups.

    Related topics

    • Part 18 overview: Interview Preparation

    Previous

    230 / 234

    Next: Question Bank: Senior

    Up next

    Up nextQuestion Bank: Senior

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Question Bank: Principal
    • Whiteboard Drills
    • System Design Questions