Challenge - 5 Problems
Reset Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediateOutput of asynchronous reset process
What is the output signal
q after the following process runs with rst = '1' and then rst goes to '0'?VHDL
process(clk, rst) begin if rst = '1' then q <= '0'; elsif rising_edge(clk) then q <= not q; end if; end process;
Attempts:
2 left
💡 Hint
Remember asynchronous reset triggers immediately when rst = '1'.
✗ Incorrect
The asynchronous reset (sensitivity to rst) forces q to '0' immediately when rst = '1'. When rst returns to '0', q toggles on rising clock edges.
❓ Predict Output
intermediateSynchronous reset behavior output
Given this process with synchronous reset, what is the value of
q after the first rising clock edge when rst = '1'?VHDL
process(clk) begin if rising_edge(clk) then if rst = '1' then q <= '0'; else q <= not q; end if; end if; end process;
Attempts:
2 left
💡 Hint
Synchronous reset only affects q on clock edges.
✗ Incorrect
Since reset is synchronous, q is set to '0' only at the rising clock edge when rst = '1'.
🔧 Debug
advancedIdentify error in mixed reset sensitivity list
What error will occur with this process sensitivity list and reset logic?
VHDL
process(clk) begin if rst = '1' then q <= '0'; elsif rising_edge(clk) then q <= not q; end if; end process;
Attempts:
2 left
💡 Hint
Check sensitivity list for asynchronous signals.
✗ Incorrect
Since rst is not in the sensitivity list, the process does not trigger immediately on rst changes, so asynchronous reset won't work properly.
❓ Predict Output
advancedOutput of reset synchronization circuit
What is the output
sync_rst after applying an asynchronous reset arst = '1' for one clock cycle in this synchronization circuit?VHDL
process(clk, arst) begin if arst = '1' then sync_rst_1 <= '1'; sync_rst <= '1'; elsif rising_edge(clk) then sync_rst_1 <= '0'; sync_rst <= sync_rst_1; end if; end process;
Attempts:
2 left
💡 Hint
Synchronization delays asynchronous reset by two flip-flops.
✗ Incorrect
sync_rst_1 and sync_rst form a two-stage synchronizer delaying the reset release by two clock cycles.
🧠 Conceptual
expertChoosing reset strategy for FPGA design
Which reset strategy is best for a high-speed FPGA design to minimize timing issues and metastability?
Attempts:
2 left
💡 Hint
Consider timing closure and metastability risks.
✗ Incorrect
Synchronous resets avoid asynchronous release issues and simplify timing, making them preferred in high-speed FPGA designs.
