Skip to content

Flote logo


GitHub Repo stars GitHub Workflow PyPI - Version license

A Modern Hardware Description Language

Flote in VS Code

Flote is a hardware description language (HDL) and Python framework designed for digital circuit simulation. It's built to be friendly, simple, lightweight, and productive β€” much easier to learn and use than traditional HDLs like VHDL and Verilog.

Key Features

  • 🎯 Simple Syntax: Clean, intuitive syntax inspired by modern programming languages
  • πŸš€ Easy to Learn: Minimal learning curve compared to VHDL/Verilog
  • ⚑ Fast Installation: Install via pip in seconds: pip install flote
  • 🐍 Python Integration: Write testbenches in Python with full language expressiveness
  • πŸ”§ Lightweight: No heavy IDEs required β€” use any text editor
  • πŸ“Š VCD Output: Standard waveform output for visualization
  • 🎨 HLS Support: Create complex components using pure Python
  • πŸ”„ Event-Driven Simulation: Efficient simulation with delta-cycle support

Quick Example

comp HalfAdder {
    in bit a;
    in bit b;

    out bit sum = a xor b;
    out bit carry = a and b;
}
import flote as ft

# Elaborate the circuit
half_adder = ft.elaborate_file('HalfAdder.ft')

# Test all combinations
half_adder.update({'a': '0', 'b': '0'})
half_adder.wait(10)

half_adder.update({'a': '0', 'b': '1'})
half_adder.wait(10)

# Save waveform
half_adder.save_vcd('HalfAdder.vcd')

Why Flote?

Traditional HDLs like VHDL and Verilog were designed decades ago for FPGA/ASIC synthesis. They come with:

  • ❌ Verbose, complex syntax
  • ❌ Confusing abstractions
  • ❌ Heavy, buggy toolchains
  • ❌ Steep learning curve
  • ❌ Poor documentation

Flote addresses these issues with:

  • βœ… Concise, modern syntax (58% less code than VHDL)
  • βœ… Clear logic gate abstractions
  • βœ… Lightweight Python-based tools
  • βœ… Easy to learn and use
  • βœ… Comprehensive documentation

Who is Flote For?

  • Students learning digital design and computer architecture
  • Engineers prototyping and validating digital circuits
  • Researchers experimenting with hardware algorithms
  • Educators teaching digital systems without VHDL complexity

Get Started

Ready to simplify your hardware development?

  • πŸš€ Quick Start


    Get up and running with Flote in minutes

    Getting Started

  • πŸ“– User Guide


    Learn Flote syntax and concepts

    User Guide

Community & Support

License

Flote is open-source software distributed under the MIT License.


Flote is an open-source project developed as part of academic research at CESLa (of Federal University of PiauΓ­) and my humble bedroom, Brazil.

Brazil Mentioned