Verilog RTL II – Arbiter/Interrupt
Parameterization, FSM, memories, FIFO, arbiter, interrupts
What you will learn and practise
Complete the stages in order and retain the requested evidence.
Fixed-priority arbitration
Round-robin concept
IRQ edge/level behavior
Mask/status/clear/priority
Aggregation
1. 2/4-request arbiter
2. Fixed priority
3. Grant-hold logic
4. Round-robin exercise
5. Edge/level IRQ capture
6. Sticky IRQ
7. IRQ status/enable/mask/clear
8. Multi-source IRQ
9. Priority IRQ
10. IRQ aggregation
11. 4-source interrupt controller
Week-3 assessment: FIFO + FSM + IRQ debugging
Document register map for IRQ controller
4-source interrupt controller + assessment
Implement arbitration and a four-source interrupt controller with mask, status, clear and priority behavior.
- Create project_workspace/week3_verilog_rtl2/day15_arbiter_irq with rtl, tb, sim and logs directories.
- Document the IRQ controller register map.
- Test simultaneous requests/interrupts and masking/clearing behavior.
- Implement 2-request and 4-request arbitration.
- Implement fixed-priority and grant-hold behavior.
- Exercise round-robin arbitration.
- Implement edge and level IRQ capture.
- Implement sticky IRQ behavior.
- Implement IRQ status, enable, mask and clear.
- Aggregate multiple interrupt sources.
- Implement priority IRQ selection.
- Integrate a four-source interrupt controller.
- Explain fixed-priority arbitration.
- Describe the purpose of grant-hold behavior.
- Compare edge-triggered and level-sensitive interrupt capture.
- Explain IRQ status, enable, mask and clear.
- Explain how simultaneous interrupt sources are prioritized and aggregated.
Perform the workbook Week 3 FIFO/FSM/IRQ debugging exercise and document the IRQ register map.
- Arbiter RTL
- interrupt-controller RTL
- testbench
- IRQ register map
- debug evidence
- Arbitration is deterministic
- Mask/status/clear behavior is correct
- Four-source IRQ controller demonstrates simultaneous-source behavior
Build, run and retain evidence
project_workspace/week3_verilog_rtl2/day15_arbiter_irq/
RunWaveformReview before completing Day 15
- Concept
How does fixed-priority arbitration differ from round-robin arbitration?
Review answer
Fixed priority always prefers requests according to a fixed ordering; round-robin changes the starting priority over time so repeated service opportunities can be distributed among requesters.
- RTL reasoning
Why are sticky pending bits useful for short interrupt events?
Review answer
They retain evidence of an event after the source pulse disappears, allowing software or downstream control to observe and explicitly clear the pending interrupt.
- Debugging
Clearing IRQ source 0 also clears unrelated pending source 2. What behavior must be corrected?
Review answer
The clear logic must operate per source/bit so that acknowledging one interrupt does not erase other independently pending interrupts.
- Short answer
What simultaneous-source behavior must be tested in a four-source interrupt controller?
Review answer
Multiple pending sources should preserve their individual status, obey enable/mask rules, produce the documented priority result and drive the aggregate IRQ correctly until the relevant pending conditions are cleared.
Assessment:
Verilog RTL II
3.0 h · 100 marks · Advanced RTL block + debug evidence
Review Week 3 assignment →