Skip to main content

FPGA Professional Tools

Synthesizable RTL Generator + Annotated Teaching Templates + Visual State Machine Editor

Template Library Preview

Synthesizable state machine templates with open-source notices and annotations

I2Cmaster

I2C Master Controller

Simplified I2C master FSM based on alexforencich/verilog-i2c, supporting full START/STOP/ACK protocol flow.

Source Repository: Alex Forencich
License: MIT
Open Source Notice
View Template
SPImaster

SPI Master Controller

555Tools original SPI master FSM supporting all 4 CPOL/CPHA modes with full-duplex shift.

Source Repository: 555Tools Educational
License: MIT
Open Source Notice
View Template
UARTmaster

UART Transceiver (TX + RX)

UART transceiver based on VLSI-Shubh/UART with 16x oversampling TX/RX and baud rate generator.

Source Repository: Shubham Kapil Upadhyay
License: MIT
Open Source Notice
View Template
Moorebasic

Moore Sequence Detector (1011)

Classic Moore FSM teaching example: detects input sequence "1011", output depends only on current state.

Source Repository: 555Tools Educational
License: MIT
Open Source Notice
View Template
Mealybasic

Mealy Up/Down Counter

Classic Mealy FSM teaching example: up/down counter control, output depends on state and input.

Source Repository: 555Tools Educational
License: MIT
Open Source Notice
View Template
CDCbasic

2-Flop CDC Synchronizer

Parameterized multi-stage synchronizer for single-bit CDC, default 2 stages configurable to 3/4.

Source Repository: Damien Pretet
License: Apache-2.0
Open Source Notice
View Template
CDCmaster

Handshake CDC Synchronizer

Request-acknowledge handshake for safe multi-bit data crossing clock domains.

Source Repository: Damien Pretet
License: Apache-2.0
Open Source Notice
View Template
CDCmaster

Asynchronous FIFO (Gray Code Pointer CDC)

Dual-clock asynchronous FIFO with Gray code pointer synchronization and full/empty flags for safe multi-bit data CDC.

Source Repository: Damien Pretet
License: MIT
Open Source Notice
View Template
CDCbasic

Pulse Synchronizer (Toggle + 2-Flop)

Toggle-based pulse synchronizer with 2-flop sync chain, safely transfers single-cycle pulse across clock domains.

Source Repository: Damien Pretet
License: Apache-2.0
Open Source Notice
View Template
CDCbasic

Reset Synchronizer (Async Assert / Sync Release)

Async-assert / sync-release reset synchronizer eliminating metastability on reset deassertion; one instance per clock domain.

Source Repository: 555Tools Educational
License: MIT
Open Source Notice
View Template
Basicbasic

Button Debouncer

Project F button debouncer with 2-stage sync and counter confirmation, produces ondn/onup one-tick pulses.

Source Repository: Will Green (Project F)
License: MIT
Open Source Notice
View Template
Basicbasic

Edge Detector

Rising/falling edge detector producing single-cycle pulses for event triggering and synchronization.

Source Repository: 555Tools Educational
License: MIT
Open Source Notice
View Template
Basicbasic

Gray Code Converter

Bidirectional Gray code / Binary converter with parameterized width, used in FIFO pointers and encoder interfaces.

Source Repository: 555Tools Educational
License: MIT
Open Source Notice
View Template
Basicbasic

PWM Generator

schang412 parametrized PWM generator with prescaler and duty comparison, SystemVerilog enum FSM.

Source Repository: Spencer Chang
License: MIT
Open Source Notice
View Template
Basicbasic

Parallel LFSR

alexforencich parametrizable combinatorial parallel LFSR/CRC with Fibonacci/Galois configuration, purely combinational output.

Source Repository: Alex Forencich
License: MIT
Open Source Notice
View Template
Basicbasic

LFSR CRC Generator

alexforencich LFSR-based parametrizable parallel CRC generator, internally instantiates lfsr module, supports multiple CRC standards.

Source Repository: Alex Forencich
License: MIT
Open Source Notice
View Template
UARTslave

UART Receiver

alexforencich AXI4-Stream UART receiver with frame/overrun error detection, parametrized data width and prescale.

Source Repository: Alex Forencich
License: MIT
Open Source Notice
View Template
UARTmaster

UART Transmitter

alexforencich AXI4-Stream UART transmitter with backpressure support, parametrized data width and prescale.

Source Repository: Alex Forencich
License: MIT
Open Source Notice
View Template
I2Cslave

I2C Slave

alexforencich simplified I2C slave with 7-bit address matching, byte read/write, and internal memory interface.

Source Repository: Alex Forencich
License: MIT
Open Source Notice
View Template
Basicbasic

Synchronous FIFO

Parameterized synchronous FIFO with configurable width and depth, full/empty flags for same-clock-domain data buffering.

Source Repository: 555Tools Educational
License: MIT
Open Source Notice
View Template

Professional Value

Expert-backed synthesizable RTL generator + annotated, copy-ready open-source template library = your FPGA development accelerator