BeetleboxCI is designed specifically for the automation of the design, development and deployment of FPGA solutions.
There are many CI tools currently available, so why do we not just use preexisiting tools, instead of needing any entirely brand new one?
We do not believe that current CI tools are able to manage the modern FPGA development process without the need for significant and time consuming modification, maintance and updating. To explain why we believe this, we need to examine the difference between standard software development and the FPGA design process
FPGA design is unlike any other software development process. Typically, software development will focus on the end-user application and deploy the application to a pre-existing technology stack. On the other hand FPGA designs begin from development of hardware through to user application. FPGA designs are different as the performance advantage comes from acceleration through hardware. A FPGA solution that does not consider all aspects of the system stack will fail to achieve optimal performance and undermine the reason for using FPGAs as a solution.
Previously FPGA designs were focused on
- Code coverage
- Functional coverage
CI tools were never designed for FPGA designs. Default options will never be 100% correct. The designer needs to use a platform with sufficient performance, The right OS versions and no timing out and of course the correct software pre installed.