Vectorization of Verilog Designs and its Effects on Verification and Synthesis

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Guimarães, Maria Fernanda Oliveira, Rosa, Ulisses, Trudel, Ian, Vieira, João Victor Amorim, Mafra, Augusto Amaral, Crepalde, Mirlaine, Pereira, Fernando Magno Quintão
Format: Preprint
Published: 2026
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866911685178032128
author Guimarães, Maria Fernanda Oliveira
Rosa, Ulisses
Trudel, Ian
Vieira, João Victor Amorim
Mafra, Augusto Amaral
Crepalde, Mirlaine
Pereira, Fernando Magno Quintão
author_facet Guimarães, Maria Fernanda Oliveira
Rosa, Ulisses
Trudel, Ian
Vieira, João Victor Amorim
Mafra, Augusto Amaral
Crepalde, Mirlaine
Pereira, Fernando Magno Quintão
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2603_17099
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle Vectorization of Verilog Designs and its Effects on Verification and Synthesis
Guimarães, Maria Fernanda Oliveira
Rosa, Ulisses
Trudel, Ian
Vieira, João Victor Amorim
Mafra, Augusto Amaral
Crepalde, Mirlaine
Pereira, Fernando Magno Quintão
Programming Languages
Hardware Architecture
68N20
D.3.4
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.
title Vectorization of Verilog Designs and its Effects on Verification and Synthesis
topic Programming Languages
Hardware Architecture
68N20
D.3.4
url https://arxiv.org/abs/2603.17099