About LibFPGA
LibFPGA is the home for open FPGA IP cores, and the tooling around them. It started as a toolbox of calculators and HDL generators, and has grown into a package manager, a verified core registry, a browser playground and a hands-on course. The goal is simple: make reusing and building FPGA hardware as pleasant as modern software development.
What's here
- lfpga, a package manager for FPGA
development.
pip install lfpga, then add, build and verify open IP cores from the registry in one command. Real versioning, lockfiles, transitive dependencies, and output for the open tools as well as Vivado and Quartus. - The core registry. A curated, searchable directory of open FPGA cores. Many carry an earned verification badge: our open toolchain lints, synthesizes and testbenches the real public source, so you know a core builds before you clone it.
- Tools. Free calculators and HDL generators (FIFO depth, CRC, register maps, CDC, PLL, FSM and more), a Verilog linter, and browser playgrounds for Verilog, VHDL and MyHDL. Every tool is also a JSON API.
- Learn. A nine-lesson HDL course in Verilog and VHDL with real simulated waveforms, a make-an-LED-blink starter, graded challenges, and a gallery of projects the community has built and shared.
- Reference and the library. Cheatsheets, a plain-English glossary, a dev-board picker, and our own open-source, MIT-licensed RTL building blocks.
Principles
- Free and instant. The tools, playground, course and registry need no signup and have no paywall.
- Verification is earned, never claimed. A badge means our open toolchain actually built the core's public source. Badges are set by the toolchain, never self-declared.
- Show the math. Every calculator explains how it reached its answer, so you can trust it or catch our mistakes. Always simulate before you ship. So should we all.
- Respect your privacy. Our own analytics are aggregate, cookieless counters with no user identifiers; where we use Google services (ads, analytics), consent is asked first in regions that require it. Details in the privacy policy.
Accounts
An account is optional and free. Sign in with a one-time email link (or with GitHub) to own the projects you share, manage them, and set your newsletter preference. A Pro subscription adds private projects and helps keep the site running.
Contact
Feedback, corrections, a core to add or a tool to request: hello@libfpga.com, or say hi on X: @libfpga. Everything is open on GitHub.
LibFPGA is kept free by ads, dev-board affiliate links, optional Pro subscriptions and sponsors.