Chargement…
Chargement…
Choose VHDL, Verilog or SystemVerilog. The DUT is provided: build stimulus, self-checking controls and a strategy that detects realistic faults.
0/70 exercises completed
AND gate testbench
VHDLWrite a self-checking testbench that covers the complete truth table of an AND gate.
2-to-1 multiplexer testbench
VHDLAutomatically verify both data paths and both selector values.
4-bit counter testbench
VHDLBuild a clock and verify asynchronous reset, enable, counting and wrap-around.
Testbench: OR gate
VHDLVerify all four rows of an OR gate truth table.
Testbench: XOR gate
VHDLVerify the truth table and both cases where exactly one input is active.
Testbench: Inverter gate
VHDLVerify that the output is inverted for both input values.
Complete Testbench: XOR gate
Testbench: NAND gate
VHDLVerify the negated product, especially the two-input-high case.
Complete Testbench: Inverter gate
Testbench: NOR gate
VHDLVerify the low output when an input is active and the high idle output.
Complete Testbench: NAND gate
Testbench: 2-to-4 decoder
VHDLVerify one-hot decoding and the enable behavior.
Complete Testbench: NOR gate
Testbench: 4-bit comparator
VHDLVerify less-than, equal and greater-than relations on representative values.
Complete Testbench: 2-to-4 decoder
Testbench: 4-bit parity generator
VHDLVerify even parity for zero, an odd value and a two-bit value.
Complete Testbench: 4-bit comparator
Testbench: Half adder
VHDLVerify sum and carry for all four input pairs.
Complete Testbench: 4-bit parity generator
Testbench: 1-bit full adder
VHDLVerify sum and carry with and without an input carry.
Complete Testbench: Half adder
Testbench: 4-bit adder
VHDLVerify carries, zero operands and addition overflow.
Complete Testbench: 1-bit full adder
Testbench: 4-bit subtractor
VHDLVerify difference and borrow for subtractions with and without borrow.
Complete Testbench: 4-bit adder
Testbench: 4-bit priority encoder
VHDLVerify most-significant-bit priority and the no-request case.
Complete Testbench: 4-bit subtractor
Testbench: 7-segment decoder
VHDLVerify digits 0, 1, 8 and an out-of-range value.
Complete Testbench: 4-bit priority encoder
Testbench: 4-bit shifter
VHDLVerify left and right shifts with discarded outgoing bits.
Complete Testbench: 7-segment decoder
Testbench: 4-bit enabled register
VHDLVerify asynchronous reset, capture and hold while enable is disabled.
Complete Testbench: 4-bit shifter
Testbench: Serial shift register
VHDLVerify serial insertion and bit progression across several edges.
Complete Testbench: 4-bit enabled register
Testbench: Rising-edge detector
VHDLVerify that a one-cycle pulse appears only on a rising transition.
Complete Testbench: Serial shift register
Testbench: Enabled D flip-flop
VHDLVerify rising-edge capture and hold when enable is low.
Complete Testbench: Rising-edge detector
Testbench: 4-bit down counter
VHDLVerify reset, hold and wrap-around from zero to fifteen.
Complete Testbench: Enabled D flip-flop
Testbench: Modulo-10 counter
VHDLVerify the decimal sequence and return to zero after nine.
Complete Testbench: 4-bit down counter
Testbench: 4-bit ring counter
VHDLVerify the active-bit rotation and cyclic return.
Complete Testbench: Modulo-10 counter
Testbench: 4-bit LFSR
VHDLVerify the pseudo-random sequence and the non-zero state after reset.
Complete Testbench: 4-bit ring counter
Testbench: Pulse stretcher
VHDLVerify that an input pulse produces the defined output duration.
Complete Testbench: 4-bit LFSR
Testbench: Debounce filter
VHDLVerify that an input remains stable for several cycles before acceptance.
Complete Testbench: Pulse stretcher
Testbench: 4-bit PWM
VHDLVerify duty-cycle boundaries and ramp transitions.
Complete Testbench: Debounce filter
Testbench: 4-bit timer
VHDLVerify loading, countdown and the completion pulse.
Complete Testbench: 4-bit PWM
Testbench: Traffic-light FSM
VHDLVerify cyclic state transitions and reset to the initial state.
Complete Testbench: 4-bit timer
Testbench: 101 sequence detector
VHDLVerify overlapping detection and incomplete sequences.
Complete Testbench: Traffic-light FSM
Testbench: 4-bit accumulator
VHDLVerify conditional addition, hold and modulo overflow.
Complete Testbench: 101 sequence detector
Testbench: 4-bit saturating adder
VHDLVerify saturation at fifteen instead of wrap-around.
Complete Testbench: 4-bit accumulator
Testbench: Binary-to-Gray converter
VHDLVerify zero, maximum and multi-bit transition values.
Complete Testbench: 4-bit saturating adder
Testbench: One-hot checker
VHDLVerify zero, one active position and multiple active bits.
Complete Testbench: Binary-to-Gray converter
Testbench: 5-input majority voter
VHDLVerify the four-to-one and three-to-two thresholds.
Complete Testbench: One-hot checker
Testbench: 8-bit parity generator
VHDLVerify even, odd and extreme data words.
Complete Testbench: 5-input majority voter
Testbench: Register with priority clear
VHDLVerify clear priority over writes and the hold behavior.
Complete Testbench: 8-bit parity generator
Testbench: Majority voter: symmetry
VHDLVerify decisions on profiles close to the threshold.
Complete Testbench: Register with priority clear
Testbench: 4-way round-robin arbiter
VHDLVerify priority rotation after each grant and the no-request case.
Testbench: 4-word synchronous FIFO
VHDLVerify FIFO order, empty, full and simultaneous operations.
Testbench: Valid/ready buffer
VHDLVerify data preservation under backpressure and recovery.
Testbench: Two-cycle latency pipeline
VHDLVerify exact latency and ordering of multiple transactions.
Testbench: Configurable 8-bit PWM
VHDLVerify duty cycle, configuration reload and boundaries.
Testbench: Simplified UART transmitter
VHDLVerify start bit, eight data bits and stop bit at the requested baud tick.
Complete Testbench: Configurable 8-bit PWM
Testbench: SPI mode-0 transmitter
VHDLVerify clock edges, MSB-first order and transaction completion.
Complete Testbench: Simplified UART transmitter
Testbench: Watchdog with service pulse
VHDLVerify timeout, service and alarm output.
Complete Testbench: SPI mode-0 transmitter
Testbench: One-shot generator
VHDLVerify a fixed-width pulse and ignored triggers while active.
Complete Testbench: Watchdog with service pulse
Testbench: Four-cycle stability filter
VHDLVerify acceptance latency and rejection of short changes.
Complete Testbench: One-shot generator
Testbench: 1101 sequence detector
VHDLVerify overlap, partial overlap and absence of false positives.
Complete Testbench: Four-cycle stability filter
Testbench: 4-bit CRC calculator
VHDLVerify CRC results on several words and reset between frames.
Complete Testbench: 1101 sequence detector
Testbench: 8-bit priority encoder
VHDLVerify priority, validity and transitions between multiple requests.
Complete Testbench: 4-bit CRC calculator
Testbench: 4x8 register bank
VHDLVerify read, write, addressing and reserved-address protection.
Complete Testbench: 8-bit priority encoder
Testbench: Synchronous reset controller
VHDLVerify asynchronous reset assertion and release after two clock edges.
Complete Testbench: 4x8 register bank
Testbench: Credit counter
VHDLVerify consume, return, boundary saturation and simultaneous events.
Complete Testbench: Synchronous reset controller
Testbench: Packet-length checker
VHDLVerify start, counting, early end and correct length.
Complete Testbench: Credit counter
Testbench: Baud tick generator
VHDLVerify division, reload and the exactly periodic pulse.
Complete Testbench: Packet-length checker
Testbench: Simple dual-port memory
VHDLVerify writes, reads and independence of both ports.
Complete Testbench: Baud tick generator
Testbench: Handshake controller
VHDLVerify valid/ready, data hold and transaction completion.
Complete Testbench: Simple dual-port memory
Testbench: Synchronous FIFO
VHDLVerify ordering, empty/full flags and simultaneous operations.
Testbench: Single-port RAM 256x8
VHDLVerify synchronous writes and reads at several addresses.
Testbench: Dual-port RAM 128x16
VHDLVerify writes on port A and independent reads on port B.
Testbench: Interrupt generator
VHDLVerify pulse width and interrupt-vector capture in the status register.
Testbench: UART transmitter
VHDLVerify start, data and stop bits together with the busy signal.
Testbench: Tick-driven stopwatch timer
VHDLVerify reset, loading, countdown and the completion pulse.
Complete Testbench: UART transmitter
Testbench: Memory arbiter
VHDLVerify rotating priority, one-hot grants and respect for backpressure.
Complete Testbench: Tick-driven stopwatch timer
Testbench: Signed multiplier
VHDLVerify signed products, zero and representable boundaries.
Complete Testbench: Memory arbiter
Testbench: Modulo-m adder-subtractor
VHDLVerify sum and difference reduction within the modulo interval.
Complete Testbench: Signed multiplier
Testbench: Nonrestoring divider
VHDLVerify quotient, remainder and explicit division-by-zero behavior.
Complete Testbench: Modulo-m adder-subtractor