- 1easy
Combinational Process
Select one of two input bits using a combinational description.
- 2medium
Priority Encoder (if/else)
Build a 4-to-2 priority encoder using cascaded if/else inside a combinational always block.
- 3medium
3-to-8 Decoder (case statement)
Build a 3-to-8 one-hot decoder using a case statement inside a combinational always block.
- 4easy
Clocked Register
Capture a data bit on the rising edge of a clock.
- 5medium
Population Count (for loop)
Count the number of set bits in an 8-bit vector using a for loop inside a combinational always block.
- 6medium
Min/Max of Four Values
Compute both the minimum and maximum of four 4-bit inputs using comparisons inside a combinational always block.
- 7easy
Conditional Selection
Choose between two four-bit values based on a select signal.
- 8medium
Transparent Latch
Describe a level-sensitive latch with an enable.
- 9easy
Case-Based Multiplexer
Select one of four input vectors using a two-bit selector.
- 10medium
Priority Encoder with Wildcards
Encode the highest-priority active request and report whether one exists.
- 11easy
Complete Combinational Decode
Decode a two-bit selector into a complete one-hot output.
- 12easy
Avoiding Latches
Write a complete combinational selection function with no inferred storage.