The BGM repository provides portable SystemVerilog examples for FPGA and custom chip design, supporting 54 different boards and 5 toolsets including Intel Quartus, AMD Vivado, and Yosys. The project manages 112 directory configurations to hide the complexity of vendor tools for students.
The author used Claude and Codex to improve a Bash script for finding Vivado installations. By running the agents in separate repository clones and having them critique each other's code, the author achieved a robust solution. The agents converged on a similar logic after several rounds of mutual review.
Codex identified a critical issue with the 'sort' command on Windows-based environments like Cygwin, implementing a verification test for version sorting. Claude focused on code cleanliness, ensuring variables were declared locally to avoid polluting user sessions, and added helpful warnings for ignored directories.
The experiment resulted in a comprehensive testing suite that validates script behavior against fake installation trees. This process generated documentation for the project, as the agents' reports now serve as a record of why specific implementation choices were made.
The Russian Digital Synthesis Circuit School uses BGM examples for exercises across 25 universities in Russia and Belarus. This educational initiative relies on the portability of the scripts to ensure that students with different hardware can execute the same lab assignments with identical commands.






