Chargement…
Chargement…
Write synthesizable Verilog and validate each module with a self-checking testbench run by Icarus Verilog.
0/30 exercises completed
Air-conditioning Controller
VerilogImplement combinational logic that arbitrates automatic and manual heating, cooling, and fan commands.
8-to-3 Priority Encoder
VerilogEncode eight requests into a three-bit index with fixed priority and a validity flag.
BCD-to-7-segment Decoder
VerilogConvert a BCD digit into active-high controls for a 7-segment display with priority blanking.
12-bit Unsigned Adder-subtractor
VerilogBuild a combinational arithmetic unit with addition overflow and subtraction underflow detection.
Dead-band Thermostat
VerilogControl a heater and cooler around a target using a five-degree dead band.
Three-input Boolean Circuit
VerilogTranslate a Boolean expression into a combinational network.
Complete Dead-band Thermostat
Inkjet Bus Decoder
VerilogDecode a nozzle number into a safe one-hot command.
Complete Three-input Boolean Circuit
Fail-safe Traffic-light Decoder
VerilogDecode a one-hot state and force red for every invalid code.
Complete Inkjet Bus Decoder
Traffic-light Enable Gate
VerilogAdd a global enable to traffic-light commands.
Complete Fail-safe Traffic-light Decoder
3-bit 2-to-1 Multiplexer
VerilogSelect one of two three-bit words.
Complete Traffic-light Enable Gate
Active-low Night Light
VerilogDrive an active-low lamp from daylight and an active-low enable.
Complete 3-bit 2-to-1 Multiplexer
8-bit Adder with Carry
VerilogAdd two bytes and a carry-in without losing the ninth bit.
Complete Active-low Night Light
4-bit Magnitude Comparator
VerilogCompare two unsigned numbers with three mutually exclusive flags.
Complete 8-bit Adder with Carry
Parity Generator and Checker
VerilogGenerate an even-parity bit and detect an invalid parity frame.
Complete 4-bit Magnitude Comparator
D Flip-flop with Asynchronous Reset
VerilogStore one bit on rising edges with a priority asynchronous reset.
Complete Parity Generator and Checker
8-bit Register with Enable
VerilogLoad or retain one byte according to an enable signal.
Complete D Flip-flop with Asynchronous Reset
Serial-in Parallel-out Shift Register
VerilogAssemble eight serially received bits into a parallel register.
Complete 8-bit Register with Enable
Ripple-carry Adder
VerilogBuild a four-bit adder from four full adders.
Complete Serial-in Parallel-out Shift Register
Adder-subtractor with Overflow
VerilogPerform signed addition and subtraction with carry and overflow flags.
Complete Ripple-carry Adder
4-bit Unsigned Multiplier
VerilogCompute the full product of two four-bit unsigned numbers.
Complete Adder-subtractor with Overflow
Two-digit BCD Adder
VerilogAdd two BCD numbers from 00 to 99 with a decimal carry.
Complete 4-bit Unsigned Multiplier
PAL-style Address Decoder
VerilogDecode three memory regions and report forbidden transactions.
Complete Two-digit BCD Adder
Four-digit BCD Sanitizer
VerilogValidate every BCD nibble and block illegal words. Implement every specified decision.
Complete PAL-style Address Decoder
Eight-bit Thermometer Decoder
VerilogConvert a contiguous run of LSB ones into binary. Implement every specified decision.
Complete Four-digit BCD Sanitizer
Eight-bit Saturating Adder
VerilogAdd two bytes without allowing wraparound. Implement every specified decision.
Complete Eight-bit Thermometer Decoder
BCD Magnitude Comparator
VerilogCompare two BCD numbers after validation. Implement every specified decision.
Complete Eight-bit Saturating Adder
Five-input Majority Voter
VerilogTake a majority decision across five redundant channels. Implement every specified decision.
Complete BCD Magnitude Comparator
One-hot Vector Analyzer
VerilogVerify that exactly one bit is active and return its index. Implement every specified decision.
Complete Five-input Majority Voter
Leading-one Detector
VerilogLocate the most-significant active bit. Implement every specified decision.
Complete One-hot Vector Analyzer
Programmable Address Window
VerilogDecode an address between two inclusive bounds. Implement every specified decision.
Complete Leading-one Detector