Chargement…
Chargement…
Read the technical specification and design the complete VHDL. GHDL simulation validates your code.
Synchronous FIFO Controller
VHDLImplement a synchronous FIFO controller managing read/write pointers, full/empty flags and fill level.
AXI4 Master - Read Channels
VHDLImplement a simple AXI4 master managing the two read channels: Read Address (AR) and Read Data (R).
AXI-Lite Slave - Register Map
VHDLImplement an AXI-Lite slave with three 32-bit read/write registers, managed by two independent state machines.
FSM - Pedestrian Light
VHDLImplement a 3-process state machine for a pedestrian light with integrated timer and per-state duration management.
LED Controller - Moore State Machine
VHDLImplement a 3-process Moore state machine that cycles 4 LEDs in sequence on command.
N-bit Adder - Ripple Carry
VHDLImplement an N-bit ripple carry adder using only logical operators, without any arithmetic library.
Complete LED Controller - Moore State Machine
Bidirectional Counter with Parallel Load
VHDLImplement a generic bidirectional counter with parallel load, enable, and asynchronous reset.
Complete N-bit Adder - Ripple Carry
Configurable Debouncer
VHDLImplement a debouncer circuit with configurable stabilization time via generics.
Complete Bidirectional Counter with Parallel Load
8-to-3 Priority Encoder
VHDLImplement an 8-to-3 combinational priority encoder that encodes the position of the highest-priority active bit.
Complete Configurable Debouncer
4-bit Johnson Counter
VHDLImplement a 4-bit Johnson counter with synchronous reset. The counter goes through a sequence of 8 states before returning to its initial state.
Complete 8-to-3 Priority Encoder
8-bit Barrel Shifter
VHDLImplement an 8-bit barrel shifter performing a logical left shift in 3 combinational stages (shift-by-4, shift-by-2, shift-by-1).
Complete 4-bit Johnson Counter
W1C Register (Write-1-to-Clear)
VHDLImplement a W1C register: bits are set via i_set_en and cleared by writing 1 via i_clr_en.
Complete 8-bit Barrel Shifter
1µs Tick Generator
VHDLGenerate a 1µs periodic pulse from a system clock with known period.
Complete W1C Register (Write-1-to-Clear)
N-bit Counter with Overflow Output
VHDLImplement a generic synchronous N-bit counter with enable, asynchronous reset and overflow indication.
Complete 1µs Tick Generator
8-Bit Comparator
VHDLImplement an 8-bit combinational comparator that compares two unsigned numbers and indicates their relationship.
Complete N-bit Counter with Overflow Output
4-Bit Adder-Subtractor
VHDLImplement a 4-bit combinational block selectable between addition and subtraction via a control signal.
Complete 8-Bit Comparator
Cascadable N-Bit Comparator
VHDLImplement a generic cascadable comparator with cascade inputs for connecting multiple stages.
Complete 4-Bit Adder-Subtractor
8-Bit Register with Load Enable
VHDLImplement an 8-bit register with parallel load enable and asynchronous reset.
Complete Cascadable N-Bit Comparator
4-Bit Bidirectional Shift Register
VHDLImplement a 4-bit shift register that can shift left, shift right, parallel load, or hold its value.
Complete 8-Bit Register with Load Enable
8x4 ROM
VHDLImplement an 8-word by 4-bit read-only memory (ROM), purely combinational.
Complete 4-Bit Bidirectional Shift Register
16x4 ROM with Constant Array
VHDLImplement a 16-word by 4-bit ROM using a VHDL constant array.
Complete 8x4 ROM
8x4 Synchronous RAM
VHDLImplement an 8-word by 4-bit RAM with synchronous write and asynchronous read.
Complete 16x4 ROM with Constant Array
16x4 Synchronous RAM
VHDLImplement a 16-word by 4-bit RAM with synchronous write and asynchronous read.
Complete 8x4 Synchronous RAM
8-Deep 8-Bit LIFO Stack
VHDLImplement an 8-deep, 8-bit LIFO stack with push, pop, and empty/full flags.
Complete 16x4 Synchronous RAM
8x8 Dual-Port RAM
VHDLImplement an 8-word by 8-bit dual-port RAM: independent write and read ports.
Complete 8-Deep 8-Bit LIFO Stack
4x8 Register File
VHDLImplement a 4-register, 8-bit register file with 1 write port and 2 read ports.
Complete 8x8 Dual-Port RAM
4-Bit Carry Lookahead Adder
VHDLImplement a 4-bit Carry Lookahead Adder (CLA).
Complete 4x8 Register File
8-Bit CLA Adder (2 Cascaded Blocks)
VHDLImplement an 8-bit CLA adder by cascading two 4-bit CLA blocks.
Complete 4-Bit Carry Lookahead Adder
4-Bit Barrel Shifter
VHDLImplement a 4-bit, 2-stage barrel shifter that can logically shift left by 0 to 3 positions.
Complete 8-Bit CLA Adder (2 Cascaded Blocks)
Simplified 8-Bit Floating-Point Adder
VHDLImplement an adder for a simplified float format: 1 sign bit, 3 exponent bits (bias 3), 4 mantissa bits (implicit 1.xxxx).
Complete 4-Bit Barrel Shifter
Simplified 8-Bit Floating-Point Multiplier
VHDLImplement a multiplier for the same simplified float format: 1 sign bit, 3 exponent bits (bias 3), 4 mantissa bits (implicit 1).
Complete Simplified 8-Bit Floating-Point Adder
7-Bit Parity Generator
VHDLImplement an even parity generator: generates a parity bit for 7 data bits, and verifies an 8-bit word (7 data + 1 parity).
Complete Simplified 8-Bit Floating-Point Multiplier
8-Bit Population Counter (Popcount)
VHDLImplement a population counter: count the number of '1' bits in an 8-bit vector.
Complete 7-Bit Parity Generator
4-Channel Priority Multiplexer
VHDLImplement a priority multiplexer: 4 data channels of 4 bits with request bits. The highest-priority active channel is selected.
Complete 8-Bit Population Counter (Popcount)
CDC Handshake Synchronizer
VHDLImplement a 4-phase handshake synchronizer to transfer a data bus between two independent clock domains.
Complete 4-Channel Priority Multiplexer
5-tap FIR Low-pass Filter
VHDLImplement a 5-tap direct-form FIR low-pass filter with line buffer and fixed coefficients.
Complete CDC Handshake Synchronizer
4-Stage Pipelined 5x5 Multiplier
VHDLTransform a 5x5 combinational multiplier into a 4-stage pipelined architecture.
Complete 5-tap FIR Low-pass Filter
Hamming (7,4) Corrector
VHDLDecode a Hamming (7,4) word, compute the syndrome and correct one single-bit error.
Complete 4-Stage Pipelined 5x5 Multiplier
4-Bit PISO Register
VHDLImplement a Parallel-In Serial-Out register with parallel load and controlled shifting.
Complete Hamming (7,4) Corrector
Synchronous Modulo-6 Counter
VHDLDesign a synchronous counter that cycles through states 0 to 5 with enable and terminal-count pulse.
Complete 4-Bit PISO Register
time_of_day Clock with Record
VHDLCreate a `time_of_day_pkg` package, a `record` type and a reusable time-of-day counter.
Complete Synchronous Modulo-6 Counter
Priority Arbiter
VHDLImplement a combinational arbiter that grants the bus to the requester with the lowest numeric priority.
Complete time_of_day Clock with Record
Signed-Magnitude Comparator
VHDLCompare two signed-magnitude numbers without treating them as two's-complement values.
Complete Priority Arbiter
Unconstrained Bit Reverser
VHDLCode a bit-order reverser compatible with vectors of different sizes and directions.
Complete Signed-Magnitude Comparator
Binary to BCD Converter
VHDLConvert an 8-bit binary word into three BCD digits.
Complete Unconstrained Bit Reverser
Gray Code Counter
VHDLImplement a 4-bit counter that exposes its value as Gray code.
Complete Binary to BCD Converter
Leading Zero Counter
VHDLCount consecutive zeros starting at the most significant bit.
Complete Gray Code Counter
Digital Differentiator
VHDLCompute the difference between two consecutive valid samples.
Complete Leading Zero Counter
Lookup Table Interpolator
VHDLLinearly interpolate between four fixed table points.
Complete Digital Differentiator
Counter Manager
VHDLControl four 4-bit counters with select, increment, and clear.
Complete Lookup Table Interpolator
Histogram Calculator
VHDLAccumulate four histogram bins from 2-bit samples.
Complete Counter Manager
Memory Copy Controller
VHDLGenerate a read-then-write sequence to copy four words.
Complete Histogram Calculator
Scratchpad Accumulator
VHDLAccumulate signed values into four scratchpad locations.
Complete Memory Copy Controller
Prime Number Checker
VHDLDetermine whether a 4-bit value is prime.
Complete Scratchpad Accumulator
Moving Maximum Filter
VHDLOutput the maximum of the last four valid samples.
Complete Prime Number Checker
Factorial Calculator
VHDLCompute `n!` for a 3-bit input from 0 to 5.
Complete Moving Maximum Filter
Palindrome Checker
VHDLCheck whether four nibbles form a palindrome sequence.
Complete Factorial Calculator
Two Sum Finder
VHDLFind whether any pair among four values reaches a target.
Complete Palindrome Checker
Run Length Encoder
VHDLCompress a 4-bit stream by emitting symbol and run length on changes.
Complete Two Sum Finder
Peak Detector
VHDLDetect a local maximum in an 8-bit sample stream.
Complete Run Length Encoder
Binary Search
VHDLSearch a target in four sorted ascending values.
Complete Peak Detector
Dot Product Calculator
VHDLCompute the dot product of two four-element 4-bit vectors.
Complete Binary Search
Insertion Sort Engine
VHDLInsert a stream of four values into an internal sorted array.
Complete Dot Product Calculator
Mode Finder
VHDLReturn the most frequent value among four 4-bit values.
Complete Insertion Sort Engine
Bitonic Sequence Detector
VHDLDetect an increasing run followed by a decreasing run in four values.
Complete Mode Finder
Ethernet Header Parser
VHDLSplit a 14-byte Ethernet II header into its main fields.
Complete Bitonic Sequence Detector
IPv4 Header Checksum
VHDLCompute the one’s-complement checksum over ten 16-bit IPv4 header words.
Complete Ethernet Header Parser
ARP Request Detector
VHDLDetect an IPv4/Ethernet ARP request targeting the local address.
Complete IPv4 Header Checksum
MAC Unit
VHDLImplement unsigned 8x8 multiply-accumulate.
Complete ARP Request Detector
Iterative Unsigned Divider
VHDLImplement 8-bit integer division in eight steps, with quotient, remainder, and divide-by-zero detection.
Complete MAC Unit
Cycle-Based Period Meter
VHDLMeasure the exact number of system cycles between two rising edges of a synchronized external signal.
Complete Iterative Unsigned Divider
Sigmoid Lookup Table
VHDLApproximate a sigmoid function from a signed Q4.4 input with a 16-level lookup table.
Complete Cycle-Based Period Meter
Four-Operand Sequential Adder
VHDLAdd four unsigned words with one adder reused over four cycles.
Complete Sigmoid Lookup Table
Carry-Save Multioperand Accumulator
VHDLCompress four operands without propagating carry every cycle, then perform one final addition.
Complete Four-Operand Sequential Adder
Signed Sequential Multiplier
VHDLCompute an 8 by 8-bit signed product with additions and shifts over eight cycles.
Complete Carry-Save Multioperand Accumulator
Thresholded Recursive Pixel Filter
VHDLSmooth large changes while passing small variations in a pixel stream.
Complete Signed Sequential Multiplier