Papers
Topics
Authors
Recent
Search
2000 character limit reached

Vectorization of Verilog Designs and its Effects on Verification and Synthesis

Published 17 Mar 2026 in cs.PL and cs.AR | (2603.17099v1)

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.

Summary

  • The paper introduces a novel vectorization technique that reduces symbolic complexity by transforming scalar operations into succinct word-level constructs.
  • It leverages general bit permutations, intermodule vectorization, and complex pattern recognition to optimize both formal verification and synthesis processes.
  • Empirical evaluations demonstrate significant reductions in instruction count, memory consumption, and runtime, underscoring its practical impact on EDA performance.

Vectorization of Verilog Designs: Symbolic Complexity Reduction and EDA Performance Enhancement

Motivation and Background

The paper "Vectorization of Verilog Designs and its Effects on Verification and Synthesis" (2603.17099) introduces a novel vectorization pass tailored for Verilog, addressing the deficiency of structured vector optimizations in RTL flows. In software, vectorization condenses recurring scalar operations into word-level constructs, markedly improving performance and readability. However, Verilog compilers and synthesis tools traditionally disregard vector structure—translating vectors to arrays of scalars—since this abstraction does not affect physical hardware realization. The predominant belief in the EDA community has been that recovering vector structure post-synthesis is inconsequential, resulting in mainstream toolchains omitting such optimizations. This paper contends that, while vectorization does not modify hardware semantics, it substantially reduces symbolic complexity at the RTL (Register-Transfer Level), thereby streamlining formal verification and synthesis processes.

Vectorization Patterns and Techniques

The presented vectorizer leverages three principal transformation classes:

  • General Bit Permutations: Detects assignments constituting permutations of source vector bits, compacting them using concatenation and slicing constructs.
  • Intermodule Vectorization: Selectively inlines structurally homogenous modules, exposing spatial repetition across hierarchy boundaries for vectorization.
  • Complex Patterns: Identifies replicated bitwise logic or arithmetic expressions to elevate them into succinct vector operations.

This spatial vectorization paradigm is distinct from classic loop-centric (temporal) vectorization employed in software language compilers; Verilog’s RTL commonly expresses word-level behavior via explicit, per-bit assignments rather than loops.

Implementation Details

The vectorizer is implemented as a source-to-source transformation atop CIRCT (Circuit Intermediate Representation Compilers and Tools), operating primarily within the hw and comb MLIR dialects. The pipeline consists of static analyses (bit-level dataflow and structural cone analysis) and selective rewriting. Recognition of vectorization opportunities involves tracing dependencies, constructing backward logic cones, and testing for independence and isomorphism among bit assignments.

Selective inlining is empirically controlled by a threshold (150 instructions), balancing vectorization opportunities against potential code-size expansion.

Formal Analyses and Algorithmic Guarantees

The vectorization algorithms are characterized by provable complexities:

  • Bit-Permutation Vectorization operates in O(Nâ‹…D)O(N \cdot D), where NN is vector width and DD is maximum dataflow depth.
  • Structural Cone Vectorization traverses O(Nâ‹…(V+E))O(N \cdot (V + E)) for NN bits, VV operations, and EE dependencies, with isomorphism checks via subgraph comparison.
  • Partial Vectorization applies a greedy segmentation with worst-case Θ(N3)\Theta(N^3) complexity, generally exhibiting better practical performance.

Experimental Evaluation

Quantitative evaluation was conducted on 1,157 spatially vectorizable designs from ChiBench (Sumitani et al., 2024). Semantic preservation was validated using Jasper SEC for all cases.

  • Instruction Count Reduction: Vectorization reduced instruction count in 904 of 1,157 designs; mean reduction was 47.8%, median was 43.4%. Extreme reductions (>99%) were observed in select benchmarks. Figure 1

    Figure 1: Histogram of instruction-count reductions across designs that improved. Mean (47.8%) and median (43.4%) reductions are indicated.

  • Compilation Scalability: The vectorization pass exhibits linear runtime growth relative to design size, with an R2R^2 of 0.982 in log-log fitting. Figure 2

    Figure 2: Asymptotic behavior of the vectorization pass in a log-log scale, indicating linear time complexity.

  • Verification Platform Impact (Jasper): Vectorization decreased Jasper’s RTL elaboration memory consumption by 51.3% and runtime by 28.1%. Outlier-heavy distributions in original designs were eliminated in vectorized runs. Figure 3

    Figure 3: Distribution of Jasper's elaboration memory (KB) for 1,157 original and vectorized designs.

    Figure 4

    Figure 4: Distribution of Jasper HDL elaboration runtime (s) for the 1,157 original and vectorized designs.

  • Synthesis Platform Impact (Genus): Genus elaboration time improved on average by 5.49%; individual designs saw geometric mean improvements up to 64.5% and some experienced >50% synthesis time reduction or >75% memory reduction.

Analytical Insights

The strongest claim advanced is that vectorization is unnecessary for hardware realization but essential for reducing symbolic complexity, which directly enhances EDA tool performance. For designs with non-contiguous bit accesses, vectorization may increase instruction count due to operand gathering overhead; however, this pattern is rare and largely inconsequential in aggregate.

Selective inlining yields diminishing returns beyond 150-instruction thresholds, providing a practical guideline for balancing vectorization scope and code bloat. The partial vectorization strategy—vectorizing maximal subsequences that match structural or permutation patterns—proves crucial for broad applicability.

Practical and Theoretical Implications

Practically, vectorization is now incorporated as a standard optimization in CIRCT, available for open-source adoption and reproducibility. It demonstrably reduces resource consumption and improves runtime for verification and synthesis platforms without modifying hardware semantics, also enhancing Verilog readability.

Theoretically, this spatial vectorization augments word-level reasoning infrastructure, bridging gaps observed in algebraic rewriting and word-level structure recovery literature. It provides a systematic recipe for symbolic complexity reduction that can be exploited in upstream EDA flows, enabling more scalable SAT/SMT solvers and equivalence checking strategies.

Future Developments and AI Integration

Vectorization offers a pathway to more sophisticated compilation techniques for hardware description languages, especially as LLMs and ML-for-compiler technologies such as the OML-vect [Alladi26] and VeriGen [Thakur24] emerge. Automated recognition and synthesis of vector patterns may facilitate smarter EDA pipelines, improved code synthesis (e.g., via LLMs), and new design optimization paradigms. Future research may integrate vectorization cost models, dynamic heuristics, and cooperative ML strategies to further optimize symbolic analysis, verification, and synthesis in large-scale hardware design.

Conclusion

This vectorization approach for Verilog, as documented, significantly improves symbolic efficiency in EDA processes without altering hardware semantics. The methodology is formally characterized, empirically validated, and is broadly applicable in both verification and synthesis contexts. It is now an integral component of modern CIRCT toolchains, offering substantial practical benefits for scalability, performance, and code maintainability in complex RTL workflows.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We found no open problems mentioned in this paper.

Collections

Sign up for free to add this paper to one or more collections.