About tsfpga

Project banner

Website Repository pypi License Chat CI status Python line coverage

tsfpga is a flexible and scalable development platform for modern FPGA projects. With its Python-based build/simulation flow it is perfect for CI/CD and test-driven development. The API is simple and easy to use (a complete simulation project is set up in less than 15 lines).

To install the Python package, see Installation. To check out the source code go to the GitHub page.

Key features

  • Source code-centric project structure for scalability. Build projects, test configurations, constraints, IP cores, etc. are handled close to the source code, not in a central monolithic script.

  • Automatically adds build/simulation sources if a recognized folder structure is used.

  • Enables local VUnit test configuration without multiple run.py.

  • Handling of IP cores and simlib for your simulation project, with automatic re-compile when needed.

  • Python-based Vivado build system where many builds can be run in parallel.

  • Tightly integrated with hdl-registers. Register code generation is performed before each simulation and each build.

  • Released under the very permissive BSD 3-Clause License.

The maintainers place high focus on quality, with everything having good unit test coverage and a thought-out structure. The project is mature and used in many production environments.