0
0
Verilogprogramming~5 mins

Always block sensitivity list in Verilog - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is the purpose of the sensitivity list in a Verilog always block?
The sensitivity list tells the always block which signals to watch. When any signal in the list changes, the block runs its code.
Click to reveal answer
intermediate
What happens if you leave out a signal from the sensitivity list in an always block?
The always block will not run when that signal changes, which can cause incorrect or unexpected behavior in your design.
Click to reveal answer
beginner
How do you write an always block that triggers on any change of signals a, b, or c?
Use: always @(a or b or c) begin ... end. This means the block runs when a, b, or c changes.
Click to reveal answer
intermediate
What is the difference between using 'always @*' and listing signals explicitly in the sensitivity list?
'always @*' automatically includes all signals read inside the block, reducing errors from missing signals. Explicit lists require manual updates.
Click to reveal answer
intermediate
Why is it important to use the correct sensitivity list in combinational logic always blocks?
Because incorrect sensitivity lists can cause simulation mismatches and hardware bugs, as the block may not update when inputs change.
Click to reveal answer
What does the sensitivity list in a Verilog always block specify?
ASignals that are ignored by the block
BSignals that trigger the block to run when they change
CSignals that the block will output
DThe clock frequency
Which of the following is the correct way to write an always block sensitive to signals a and b?
Aalways @(a or b)
Balways @(a and b)
Calways @(posedge a or posedge b)
Dalways @(a, b)
What does 'always @*' mean in Verilog?
AThe block runs only on clock edges
BThe block runs only once
CThe block never runs
DThe block runs when any signal it reads changes
What is a common problem if a signal is missing from the sensitivity list in a combinational always block?
AThe block will ignore all signals
BThe block will run twice as fast
CThe block might not update when that signal changes
DThe block will cause a syntax error
Why is 'always @*' recommended for combinational logic?
AIt reduces errors by automatically including all input signals
BIt makes the code run faster
CIt disables the always block
DIt only triggers on clock edges
Explain what the sensitivity list in a Verilog always block does and why it is important.
Think about what happens when a signal changes and how the always block reacts.
You got /3 concepts.
    Describe the difference between using an explicit sensitivity list and 'always @*' in Verilog.
    Consider how each method handles signals inside the block.
    You got /3 concepts.