Increasing FPGA CAD Adaptability using Reinforcement Learning and Smart Perturbations
Bibliographic record
Abstract
Field-programmable gate arrays (FPGAs) continue to evolve to best exploit the capabilities of new manufacturing technologies and to meet new applications’ needs. Hence, there is a need for an adaptable, high-quality FPGA computer-aided design (CAD) flow that can evaluate new architectural ideas. FPGA CAD tools should also efficiently map complex designs from various applications to completely defined devices in a short runtime to speed up design cycles and increase productivity. This thesis focuses on enhancing the adaptability and efficiency of the open-source VTR CAD flow,with a specific emphasis on the packing and placement stages. As placement is the most time-consuming stage in the FPGA CAD flow, we investigate various techniques to optimize it. First, we propose multiple smart perturbations that relocate blocks during simulated annealing placement to optimize both the wirelength and the critical path delay of the design. Second, we formulate the problem of selecting the move type to use at each point in the anneal as a reinforcement learning problem (introducing RLPlace). Subsequently, RLPlace 2.0 advances this concept by empowering the agent not only to determine the move type but also the specific block type to be moved. This innovation significantly enhances adaptability, allowing the tool to cater to a broader spectrum of FPGA architectures and application domains, while simultaneously improving the quality and the runtime of the flow. Additionally, to allow a more flexible CAD flow, we introduce the re-clustering API that can efficiently modify the packing decisions in various stages throughout the flow. This API opens the door for exploring many ideas like breaking the barrier between packing and placement by enabling more fine-grained moves during placement or building a generic legalizer for semi-legal flat placers. We verify the efficacy of the re-clustering API by implementing a multi-threaded iterative improvement packing algorithm. We also enhance the software engineering of VTR by doing code refactoring, implementing new graphical interfaces and much more. By combining adaptive RL algorithms, APIs to facilitate additional optimization, and a better engineered and flexible software tool, this thesis represents a significant stride towards a more adaptable and efficient FPGA CAD flow.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.000 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.000 |
| Bibliometrics | 0.000 | 0.000 |
| Science and technology studies | 0.001 | 0.000 |
| Scholarly communication | 0.000 | 0.000 |
| Open science | 0.000 | 0.000 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.000 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one teacher head, not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".