Aligning Netlist to Source Code using SynAlign
Sakshi Garg, Jose Renau
TL;DR
SynAlign tackles the challenge of losing source-code correlation after synthesis by automatically aligning post-optimized netlists to the original HDL source using a multi-level graph-alignment framework. It introduces Anchor Points and a sequence of matching stages—Full+Half, Partial, and Surrounding—to achieve robust, many-to-many mappings without modifying compiler or synthesis tools. Empirical evaluations across open-source and industrial flows show strong tolerance to netlist noise (up to about $60\%$) and fast runtime (often under $20$ seconds) with substantial accuracy, including $75\%$ averaged across benchmarks. The work promises improved back-annotation, faster design iterations, and broader applicability to HDLs convertible to Verilog with LoC information, potentially reducing time-to-market in chip design.
Abstract
In current chip design processes, using multiple tools to obtain a gate-level netlist often results in the loss of source code correlation. SynAlign addresses this challenge by automating the alignment process, simplifying iterative design, reducing overhead, and maintaining correlation across various tools. This enhances the efficiency and effectiveness of chip design workflows. Improving characteristics such as frequency through iterative design is essential for enhancing accelerators and chip designs. While synthesis tools produce netlists with critical path information, designers often lack the tools to trace these netlist cells back to their original source code. Mapping netlist components to source code provides early feedback on timing and power for frontend designers. SynAlign automatically aligns post-optimized netlists with the original source code without altering compilers or synthesis processes. Its alignment strategy relies on the consistent design structure throughout the chip design cycle, even with changes in compiler flow. This consistency allows engineers to maintain a correlation between modified designs and the original source code across various tools. Remarkably, SynAlign can tolerate up to 61\% design net changes without impacting alignment accuracy.
