Digital Logic, Timing, CDC, and Verification: Key Concepts and Techniques

0.0(0)
studied byStudied by 0 people
0.0(0)
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/73

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 12:54 AM on 1/26/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

74 Terms

1
New cards

What is combinational logic?

Logic where outputs depend only on current inputs with no memory elements. Examples: adders, multiplexers, decoders, ALUs.

2
New cards

What is sequential logic?

Logic where outputs depend on current inputs AND past state, requiring storage elements like flip-flops. Examples: counters, shift registers, FSMs.

3
New cards

What causes unintentional latches in RTL?

Incomplete assignments in case or if statements, causing synthesis tools to infer latches.

4
New cards

How do you prevent unintentional latches?

Use always_comb for combinational logic, ensure all outputs are assigned on all paths.

5
New cards

What is setup time (Tsu)?

Minimum time BEFORE the clock edge that data must be stable for the flip-flop to capture it.

6
New cards

What causes setup violations?

Logic path is too slow, causing data to arrive too late before the clock edge.

7
New cards

How do you fix setup violations?

Optimize logic depth, add pipeline stages, increase clock period, or improve synthesis constraints.

8
New cards

What is hold time (Th)?

Minimum time AFTER the clock edge that data must remain stable for the flip-flop to capture it.

9
New cards

What causes hold violations?

Data changes too quickly after the clock edge, often due to short paths or excessive clock skew.

10
New cards

How do you fix hold violations?

Add buffers or delay elements; cannot be fixed by changing clock frequency.

11
New cards

Why are hold violations harder to fix than setup violations?

They are independent of clock frequency, requiring physical changes like adding buffers.

12
New cards

What is clock skew?

The difference in arrival time of the same clock edge at different flip-flops.

13
New cards

How does clock skew affect timing?

Positive skew can help setup but hurt hold; negative skew can help hold but hurt setup.

14
New cards

What is the timing equation for setup?

Tclk >= Tcq + Tlogic + Tsetup - Tskew.

15
New cards

What is metastability?

When a flip-flop samples a signal changing near the clock edge and enters an undefined state.

16
New cards

Why can't metastability be eliminated?

It is a physical limitation; we can only reduce the probability, not eliminate it.

17
New cards

What are the consequences of metastability?

Output may oscillate or settle to the wrong value, causing system failures.

18
New cards

How do you synchronize a single-bit signal crossing clock domains?

Use a 2-flip-flop synchronizer.

19
New cards

Why can't you use a 2-FF synchronizer for multi-bit buses?

Different bits may transition at different times, causing data corruption.

20
New cards

What are methods for synchronizing multi-bit buses across clock domains?

Async FIFO, handshake protocols, Gray code for counters, or MUX recirculation.

21
New cards

What is MTBF in the context of CDC?

Mean Time Between Failures - the average time between metastability events.

22
New cards

What are the main components of a UVM testbench environment?

Environment, Agent, Driver, Sequencer, Monitor, Scoreboard, Reference Model, Coverage Collector.

23
New cards

What is the role of the UVM Agent?

Contains driver, monitor, and sequencer; can be active or passive.

24
New cards

What does the UVM Driver do?

Receives transactions from the sequencer and converts them to pin-level activity.

25
New cards

What does the UVM Sequencer do?

Generates transaction sequences and arbitrates between multiple sequences.

26
New cards

What does the UVM Monitor do?

Observes DUT interface signals and converts pin-level activity back into transactions.

27
New cards

What does the UVM Scoreboard do?

Compares actual DUT outputs versus expected outputs and reports mismatches.

28
New cards

What is a reference model in verification?

A high-level behavioral model of the DUT that generates expected outputs.

29
New cards

What is directed testing?

Hand-crafted test cases targeting known scenarios and corner cases.

30
New cards

What is constrained random testing?

Automatically generates stimulus within specified constraints to explore the design space.

31
New cards

What is coverage-driven verification?

Methodology defining coverage goals, running tests, and analyzing coverage holes.

32
New cards

What is code coverage?

Structural coverage measuring what RTL code was executed.

33
New cards

Does 100% code coverage mean the design is bug-free?

No, it only shows what code executed, not whether it behaved correctly.

34
New cards

What is functional coverage?

Coverage measuring whether specification requirements were tested.

35
New cards

What should functional coverage include for a FIFO?

Empty/full transitions, fill levels, simultaneous read/write, overflow/underflow events.

36
New cards

What is the difference between immediate and concurrent assertions?

Immediate assertions check conditions at a single instant; concurrent assertions evaluate over time.

37
New cards

When do you use immediate assertions?

Inside procedural blocks to check conditions at specific execution points.

38
New cards

What are concurrent assertions?

Assertions that evaluate continuously over time using temporal logic.

39
New cards

When do you use concurrent assertions?

To specify temporal properties that span multiple clock cycles.

40
New cards

What does the |-> operator mean in SVA?

Overlapping implication - if the antecedent is true, the consequent must be true in the SAME cycle.

41
New cards

What does the |=> operator mean in SVA?

Non-overlapping implication - if the antecedent is true, the consequent must be true in the NEXT cycle.

42
New cards

What does ##N mean in SVA?

Delay operator - delays by exactly N clock cycles.

43
New cards

What is the difference between (valid |=> ready) and (valid |-> ##1 ready)?

They are equivalent; both check that if valid is true, ready must be true in the next cycle.

44
New cards

Write an assertion that read should never occur when FIFO is empty.

assert property (@(posedge clk) disable iff (!resetn) read_en |-> !empty);

45
New cards

Write an assertion that write should never occur when FIFO is full.

assert property (@(posedge clk) disable iff (!resetn) write_en |-> !full);

46
New cards

What is the difference between blocking (=) and non-blocking (<=) assignments?

Blocking executes sequentially immediately; non-blocking evaluates all RHS first, then assigns at end of timestep.

47
New cards

Why should you never mix blocking and non-blocking in the same always block?

Creates race conditions and simulation/synthesis mismatches.

48
New cards

How would you verify a FIFO?

Test basic read/write operations, full/empty conditions, simultaneous operations, overflow/underflow, and data integrity.

49
New cards

How do you handle X-propagation in verification?

Use 4-state simulators to reveal uninitialized registers and metastability paths.

50
New cards

What is constrained random verification?

Technique that generates random stimulus within specified constraints to explore design space.

51
New cards

Why use assertions in verification?

Detect bugs early, document design intent, and provide continuous checking during simulation.

52
New cards

What is a valid-ready handshake protocol?

Handshaking where source asserts valid with data, waits for destination to assert ready.

53
New cards

What tools are commonly used for design verification?

Simulators (VCS, Questa, Xcelium), debug tools (Verdi, DVE), formal verification tools.

54
New cards

What are the UVM run phases in order?

build, connect, end_of_elaboration, start_of_simulation, run, extract, check, report, final.

55
New cards

What is Gray code and when is it used in CDC?

Encoding where only one bit changes between consecutive values; used for counters crossing clock domains.

56
New cards

What is an async FIFO used for?

Synchronizing data streams between different clock domains.

57
New cards

How many FF stages are typically used in a synchronizer?

2 stages are standard for most applications.

58
New cards

What is the purpose of disable iff in assertions?

Disables the assertion when a condition is true, typically used for reset.

59
New cards

What is $stable() in SVA?

Checks that a signal's value is unchanged from the previous clock cycle.

60
New cards

What is $past() in SVA?

Returns the value of a signal from previous clock cycle(s).

61
New cards

What is toggle coverage?

Measures whether each signal toggled during simulation.

62
New cards

What is branch coverage?

Measures which branches of if/else and case statements were taken during simulation.

63
New cards

What is FSM coverage?

Measures which states were visited and which state transitions occurred.

64
New cards

What is cross coverage?

Coverage of combinations of multiple variables or events.

65
New cards

What is the clock-to-Q delay (Tcq)?

Time it takes for a flip-flop's output to change after the clock edge.

66
New cards

How does pipeline help with timing?

Breaks long combinational paths into shorter stages, reducing logic delay.

67
New cards

What is meant by 'coverage closure'?

Process of achieving target coverage goals by analyzing holes and refining tests.

68
New cards

What is the transaction flow in UVM?

Sequence → Sequencer → Driver → DUT → Monitor → Scoreboard.

69
New cards

What makes a good assertion?

Clear intent, checks one property, has appropriate severity, and includes proper handling.

70
New cards

What is the difference between an active and passive agent?

Active agent drives stimulus; passive agent only observes.

71
New cards

Why is data integrity important in FIFO verification?

Must verify FIFO ordering and that data read matches data written.

72
New cards

What CDC issues can occur with async FIFOs?

Metastability in pointer synchronizers and full/empty flag glitches.

73
New cards

What is a handshake protocol for CDC?

Source sets data and pulses request; destination captures data and sends acknowledge.

74
New cards

What questions should you ask the interviewer about their verification process?

What methodology, tools, and how do you verify critical interfaces?

Explore top flashcards