Using ACL2 to Verify Loop Pipelining in Behavioral Synthesis
Disha Puri (Dept. of Computer Science, Portland State University),, Sandip Ray (Strategic CAD Labs, Intel Corporation), Kecheng Hao (Dept. of, Computer Science, Portland State University), Fei Xie (Dept. of Computer, Science, Portland State University)

TL;DR
This paper explores using ACL2 to formally verify the complex loop pipelining transformations in behavioral synthesis, addressing the semantic gap challenge with a novel invariant and ongoing proof efforts.
Contribution
It introduces a new key invariant formalized in ACL2 for verifying loop pipelining, providing insights and trade-offs in the proof process.
Findings
Key invariant formalized in ACL2 for loop pipelining verification
Insights into the verification process and challenges
Preliminary proof progress and potential value to ACL2 community
Abstract
Behavioral synthesis involves compiling an Electronic System-Level (ESL) design into its Register-Transfer Level (RTL) implementation. Loop pipelining is one of the most critical and complex transformations employed in behavioral synthesis. Certifying the loop pipelining algorithm is challenging because there is a huge semantic gap between the input sequential design and the output pipelined implementation making it infeasible to verify their equivalence with automated sequential equivalence checking techniques. We discuss our ongoing effort using ACL2 to certify loop pipelining transformation. The completion of the proof is work in progress. However, some of the insights developed so far may already be of value to the ACL2 community. In particular, we discuss the key invariant we formalized, which is very different from that used in most pipeline proofs. We discuss the needs for this…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Embedded Systems Design Techniques · Logic, programming, and type systems
