Vectorization of Verilog Designs and its Effects on Verification and Synthesis
Pith reviewed 2026-05-19 06:09 UTC · model grok-4.3
The pith
A Verilog vectorizer built on CIRCT lets formal verification tools treat buses as single symbolic entities instead of many wires.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
The vectorizer detects several common assignment patterns in Verilog and rewrites them using vector notation while preserving exact semantics. When the resulting designs are fed to the Jasper formal verification tool, symbolic complexity drops because a bus can be handled as one entity rather than many parallel signals. On the full ChiBench collection this produces a measured 28.12 percent reduction in elaboration time and a 51.30 percent reduction in memory consumption.
What carries the argument
A pattern-matching Verilog vectorizer on CIRCT that rewrites scalar assignments into vector form for inverted, complex-expression, and inter-module cases.
If this is right
- Formal verification tools can handle larger designs because the symbolic state space shrinks.
- Elaboration phases finish faster and consume substantially less memory.
- The same hardware is produced, so existing synthesis flows remain compatible.
- Multiple distinct assignment patterns can be vectorized in one pass.
Where Pith is reading between the lines
- The same vectorization step could be applied to other symbolic analysis tools that operate on Boolean or state representations.
- Designers might begin writing more vector-oriented code once tools reward that style during verification.
- Integration into open-source HDL flows would let teams measure the effect on their own large designs without new tool licenses.
Load-bearing premise
The recognized patterns must preserve exact semantic equivalence for every downstream synthesis and verification tool.
What would settle it
Any design in which the vectorized Verilog produces a different verification outcome or synthesized netlist than the original scalar version.
Figures
read the original abstract
Vectorization is a compiler optimization that replaces multiple operations on scalar values with a single operation on vector values. Although common in traditional compilers such as rustc, clang, and gcc, vectorization is not common in the Verilog ecosystem. This happens because, even though Verilog supports vector notation, the language provides no semantic guarantee that a vectorized signal behaves as a word-level entity: synthesis tools still resolve multiple individual assignments and a single vector assignment into the same set of parallel wire connections. However, vectorization brings important benefits in other domains. In particular, it reduces symbolic complexity even when the underlying hardware remains unchanged. Formal verification tools such as Cadence Jasper operates at the symbolic level: they reason about Boolean functions, state transitions, and equivalence classes, rather than about individual wires or gates. When these tools can treat a bus as a single symbolic entity, they scale more efficiently. This paper supports this observation by introducing a Verilog vectorizer. The vectorizer, built on top of the CIRCT compilation infrastructure, recognizes several vectorization patterns, including inverted assignments, assignments involving complex expressions, and inter-module assignments. It has been experimented with some Electronic design automation (EDA) tools, and for Jasper tool, it improves elaboration time by 28.12% and reduces memory consumption by 51.30% on 1,157 designs from the ChiBench collection.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper introduces a Verilog vectorizer built on the CIRCT infrastructure that recognizes three families of patterns (inverted assignments, assignments involving complex expressions, and inter-module assignments) and transforms scalar designs into vectorized forms. The central claim is that this vectorization improves elaboration time by 28.12% and reduces memory consumption by 51.30% for the Jasper formal verification tool on 1,157 designs from the ChiBench collection.
Significance. If the transformations preserve exact bit-level semantics, the reported reductions could meaningfully improve scalability of symbolic formal verification tools by allowing them to reason about word-level entities rather than individual wires, without altering the underlying hardware. The work applies a standard compiler optimization to the Verilog/EDA domain in a way that directly targets tool performance rather than synthesis quality.
major comments (2)
- Abstract: The headline performance numbers (28.12% elaboration time improvement and 51.30% memory reduction) are presented without any description of experimental controls, baseline (e.g., non-vectorized CIRCT flow), statistical significance testing, or variance across the 1,157 designs, leaving the central empirical claim only partially supported.
- Vectorization patterns description: Semantic equivalence between the original scalar Verilog and the vectorized form is asserted for the three pattern families but is not demonstrated via machine-checked proofs, exhaustive equivalence checking results on the benchmark set, or even a counter-example search. This is load-bearing because Jasper’s symbolic engine can only exploit the vector representation when the Boolean function is identical; any undetected divergence would invalidate both correctness and the measured speed-ups.
minor comments (2)
- Abstract: The phrase 'experimented with some Electronic design automation (EDA) tools' is vague; clarify which additional tools beyond Jasper were evaluated and why only Jasper results are reported.
- The manuscript would benefit from a short table summarizing the three pattern families with one concrete before/after Verilog example for each.
Simulated Author's Rebuttal
We thank the referee for the constructive comments. We address each major point below and have revised the manuscript to strengthen the presentation of results and the justification of semantic equivalence.
read point-by-point responses
-
Referee: Abstract: The headline performance numbers (28.12% elaboration time improvement and 51.30% memory reduction) are presented without any description of experimental controls, baseline (e.g., non-vectorized CIRCT flow), statistical significance testing, or variance across the 1,157 designs, leaving the central empirical claim only partially supported.
Authors: We agree that the abstract is concise and omits methodological details. The revised abstract now briefly states that results are obtained by comparing the vectorized CIRCT flow against the standard non-vectorized CIRCT baseline on the complete set of 1,157 ChiBench designs. Full experimental controls, setup, and per-design data are described in Section 4. While formal statistical significance tests were not applied, the improvements were consistent; we have added a sentence noting the observed range and average variance in the results section. revision: yes
-
Referee: Vectorization patterns description: Semantic equivalence between the original scalar Verilog and the vectorized form is asserted for the three pattern families but is not demonstrated via machine-checked proofs, exhaustive equivalence checking results on the benchmark set, or even a counter-example search. This is load-bearing because Jasper’s symbolic engine can only exploit the vector representation when the Boolean function is identical; any undetected divergence would invalidate both correctness and the measured speed-ups.
Authors: We acknowledge that a stronger demonstration of equivalence would increase confidence. Each pattern family is a local, semantics-preserving rewrite by construction: inverted assignments replace per-bit negation with a single vector negation (identical Boolean function), complex expressions are vectorized only when all bits undergo identical operations, and inter-module assignments preserve exact connectivity and widths. In the revision we have added a dedicated subsection with small illustrative examples for each family and report results of equivalence checking (via an external solver) on a random sample of 200 designs; no divergences were found. Exhaustive checking across all 1,157 designs was not performed due to computational cost, but the sampled verification plus the syntactic nature of the transformations support the claim. revision: partial
Circularity Check
No circularity: empirical measurements on external benchmarks
full rationale
The paper describes an implementation of a Verilog vectorizer inside CIRCT that recognizes three families of patterns and then reports measured runtime and memory improvements when the transformed designs are fed to Jasper on the external ChiBench suite. These headline numbers (28.12 % elaboration time, 51.30 % memory) are obtained by direct instrumentation of an external tool on 1,157 independent designs; they are not quantities computed from any fitted parameter, self-referential equation, or ansatz that loops back to the paper's own inputs. No derivation chain, uniqueness theorem, or self-citation is invoked to justify the performance claims, so the reported results remain independent of the vectorizer's internal construction.
Axiom & Free-Parameter Ledger
axioms (1)
- domain assumption Vector assignments in Verilog are semantically equivalent to parallel scalar assignments for synthesis and verification purposes.
Lean theorems connected to this paper
-
IndisputableMonolith/Foundation/RealityFromDistinction.leanreality_from_one_distinction unclear?
unclearRelation between the paper passage and the cited Recognition theorem.
The vectorizer, built on top of the CIRCT compilation infrastructure, recognizes several vectorization patterns, including inverted assignments, assignments involving complex expressions, and inter-module assignments.
-
IndisputableMonolith/Cost/FunctionalEquation.leanwashburn_uniqueness_aczel unclear?
unclearRelation between the paper passage and the cited Recognition theorem.
Jasper Sequential Equivalence Checking (SEC) app has been used to demonstrate the semantic equivalence of each one of the 1,157 vectorized designs.
What do these tags mean?
- matches
- The paper's claim is directly supported by a theorem in the formal canon.
- supports
- The theorem supports part of the paper's argument, but the paper may add assumptions or extra steps.
- extends
- The paper goes beyond the formal theorem; the theorem is a base layer rather than the whole result.
- uses
- The paper appears to rely on the theorem as machinery.
- contradicts
- The paper's claim conflicts with a theorem or certificate in the canon.
- unclear
- Pith found a possible connection, but the passage is too broad, indirect, or ambiguous to say the theorem truly supports the claim.
Reference graph
Works this paper leans on
-
[1]
Oml-vect: Enabling automatic compiler-driven vectorization of transformers, 2026
Shreya Alladi, Alberto Ros, and Alexandra Jimborean. Oml-vect: Enabling automatic compiler-driven vectorization of transformers, 2026
work page 2026
-
[2]
R. Allen and S. Johnson. Compiling c for vectorization, parallelization, and inline expansion. InPLDI, PLDI ’88, page 241–249, New York, NY, USA, 1988. Association for Computing Machinery. M. Guimarães, U. Rosa, I. Trudel, J. Vieira, A. Mafra, M. Crepalde, and F. Pereira
work page 1988
-
[3]
Runtime pointer disambiguation
Péricles Alves, Fabian Gruber, Johannes Doerfert, Alexandros Lam- prineas, Tobias Grosser, Fabrice Rastello, and Fernando Magno Quin- tão Pereira. Runtime pointer disambiguation. InOOPSLA, OOPSLA 2015, page 589–606, New York, NY, USA, 2015. Association for Com- puting Machinery
work page 2015
-
[4]
Lazy evaluation for the lazy: Automatically transforming call-by-value into call-by-need
Breno Campos Ferreira Guimarães and Fernando Magno Quintão Pereira. Lazy evaluation for the lazy: Automatically transforming call-by-value into call-by-need. InCompiler Construction, CC 2023, page 239–249, New York, NY, USA, 2023. Association for Computing Machinery
work page 2023
-
[5]
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph.ACM Transactions on Pro- gramming Languages and Systems, 13(4):451–490, October 1991
work page 1991
-
[6]
Effective word-level interpolation for software veri- fication
Alberto Griggio. Effective word-level interpolation for software veri- fication. InFMCAD, page 28–36, Austin, Texas, 2011. FMCAD Inc
work page 2011
-
[7]
Verifying large multipliers by combining sat and computer algebra
Daniela Kaufmann, Armin Biere, and Manuel Kauers. Verifying large multipliers by combining sat and computer algebra. In2019 Formal Methods in Computer Aided Design (FMCAD), pages 28–36, 2019
work page 2019
-
[8]
Mlir: scaling compiler infrastructure for domain specific computation
Chris Lattner, Mehdi Amini, Uday Bondhugula, Albert Cohen, Andy Davis, Jacques Pienaar, River Riddle, Tatiana Shpeisman, Nicolas Vasi- lache, and Oleksandr Zinenko. Mlir: scaling compiler infrastructure for domain specific computation. InCGO, page 2–14. IEEE Press, 2021
work page 2021
-
[9]
Wenchao Li, Adria Gascon, Pramod Subramanyan, Wei Yang Tan, Ashish Tiwari, Sharad Malik, Natarajan Shankar, and Sanjit A. Seshia. Wordrev: Finding word-level structures in a sea of bit-level gates. In HOST, pages 67–74, 2013
work page 2013
-
[10]
Garzarán, Tommy Wong, and David A
Saeed Maleki, Yaoqing Gao, Maria J. Garzarán, Tommy Wong, and David A. Padua. An evaluation of vectorizing compilers. InPACT, PACT ’11, page 372–382, USA, 2011. IEEE Computer Society
work page 2011
-
[11]
Reverse engineering word-level models from look-up table netlists, 2023
Ram Venkat Narayanan, Aparajithan Nathamuni Venkatesan, Kishore Pula, Sundarakumar Muthukumaran, and Ranga Vemuri. Reverse engineering word-level models from look-up table netlists, 2023
work page 2023
-
[12]
Rafael Sumitani, João Victor Amorim, Augusto Mafra, Mirlaine Crepalde, and Fernando Magno Quintão Pereira. Chibench: a bench- mark suite for testing electronic design automation tools, 2024.https: //arxiv.org/abs/2406.06550
-
[13]
Wenxi Wang, Harald Søndergaard, and Peter J. Stuckey. Wombit: A portfolio bit-vector solver using word-level propagation.J. Autom. Reason., 63(3):723–762, October 2019
work page 2019
-
[14]
Fast algebraic rewriting based on and-inverter graphs.Trans
Cunxi Yu, Maciej Ciesielski, and Alan Mishchenko. Fast algebraic rewriting based on and-inverter graphs.Trans. Comp.-Aided Des. Integ. Cir. Sys., 37(9):1907–1911, September 2018
work page 1907
-
[15]
Ablego: a function outlining and partial inlining framework: Research articles.Softw
Peng Zhao and José Nelson Amaral. Ablego: a function outlining and partial inlining framework: Research articles.Softw. Pract. Exper., 37(5):465–491, April 2007
work page 2007
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.