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 lock-up protection.
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: Parameterized majority voter
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: Parameterized 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: Parameterized 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 reset filtering and release after several 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: Modeled asynchronous FIFO
VHDLVerify flags and data order with two independent clocks.
Testbench: Streaming register slice
VHDLVerify throughput, retention under backpressure and no data loss.
Testbench: Fair arbiter under backpressure
VHDLVerify fairness, request preservation and removal of a blocked client.
Testbench: UART receiver
VHDLVerify sampling, start/stop bits and framing error reporting.
Testbench: SPI memory controller
VHDLVerify command-address-data sequencing and return to idle.
Testbench: Pipelined multiplier
VHDLVerify latency, one-transaction-per-cycle throughput and signed boundaries.
Complete Testbench: SPI memory controller
Testbench: Two-output packet router
VHDLVerify routing, conservation and blocking when an output is full.
Complete Testbench: Pipelined multiplier
Testbench: Credit-based FIFO
VHDLVerify throughput, credit consumption and no send without credit.
Complete Testbench: Two-output packet router
Testbench: Pulse synchronizer
VHDLVerify that a pulse is captured once despite different clocks.
Complete Testbench: Credit-based FIFO
Testbench: Packet assembler
VHDLVerify length, checksum, backpressure and separation of two packets.
Complete Testbench: Pulse synchronizer