GarageWorks enables unified FPGA and software testing with shared testbench

GarageWorks: A Shared Testbench Abstraction for Software Simulation and FPGA Testing

Hardware Architecture

Summary

Testing designs for specialized computer chips like FPGAs can be complicated because software tests and hardware tests often need different setups. The authors created GarageWorks, a tool that allows the same test setup to work in both software simulation and on actual FPGA hardware. This makes it easier to test chip designs quickly and accurately without building complex new testing tools for each case. GarageWorks works especially well for small, standalone designs rather than entire computer systems. It has been tried on certain AMD FPGA boards and can even help create test parts with AI support.

What this means in practice

  • For fpga developers: Run the same test scripts directly on FPGA hardware and in software simulators to speed up design validation cycles.
  • For embedded systems engineers: Test standalone hardware designs and on-chip processing logic for scientific instruments without building new test environments.

Authors

Kazutomo Yoshii

Abstract

GarageWorks is a lightweight FPGA testing framework that enables the same cocotb testbench to be used for both software RTL simulation and FPGA-accelerated hardware simulation. A shared abstraction hides backend-specific interfaces, while synthesizable Advanced eXtensible Interface (AXI) dispatchers provide design-under-test (DUT)-specific control and test operations on the FPGA. GarageWorks is intended for rapid bare-metal testing of standalone designs and on-chip processing logic for scientific sensors, rather than full SoC-level prototyping. The framework has been validated on AMD Alveo V80 FPGAs with several internal designs and provides initial support for AI-assisted generation of DUT-specific test components.