Skip to content

Commit 1b1510e

Browse files
committed
chore
1 parent 9153c29 commit 1b1510e

2 files changed

Lines changed: 17 additions & 9 deletions

File tree

paper.tex

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236
\begin{document}
237237

238238
%% Title information
239-
\title{Verified Synthesis of Datapath Circuits}
239+
\title{Correct-by-Construction Compressor Trees for Datapath Synthesis}
240240

241241
%% Author information
242242
%% Contents and number of authors suppressed with 'anonymous'.
@@ -276,7 +276,7 @@
276276
\begin{abstract}
277277
% An abstract should consist of six main sentences:
278278
% 1. Introduction. In one sentence, what’s the topic?
279-
Datapath circuits are the core computational units of digital designs and and one of the most timing-critical parts of the design.
279+
Datapath circuits are the core computational units of digital designs and one of the most timing-critical parts of the design.
280280
% 2. State the problem you tackle.
281281
To meet the performance requirements, datapath circuits are aggressively optimized by synthesis tools.
282282
These automatic datapath optimizations, like the deployment of compressor trees, make it hard to verify that the synthesized netlist implements the correct computation.
@@ -471,8 +471,6 @@ \subsection{Bit Heap Data Structure}
471471
\[
472472
\begin{array}{r@{\;}c@{\;}l@{\qquad}l}
473473
\Col \ni \gamma &::=& \{c_0,\dots,c_n\} \\[2pt]
474-
w \in \mathbb{N}^{+},
475-
\Heap_w \ni h &::=& \langle \gamma_0,\dots,\gamma_{w-1} \rangle &
476474
\end{array}
477475
\]
478476

@@ -1082,10 +1080,10 @@ \section{Results}
10821080
% \end{table}
10831081

10841082
\section{Related Work}
1085-
\cite{arithmetic_core_generation_bitheaps} advocates for the use of bit heaps as the central data structure
1086-
of arithmetic designs, giving an exposition of the bit heaps and how they can be used in multiplier synthesis in FPGAs.
1083+
\citet{arithmetic_core_generation_bitheaps} propose the bit heap as the central data structure
1084+
of arithmetic designs, giving an exposition of bit heaps and how they can be used in multiplier synthesis on FPGAs.
10871085
FloPoCo~\cite{application_specific_arithmetic}, an open-source datapath generator written in C++ that produces
1088-
arithmetic circuits in VHDL, is built on the framework that \cite{arithmetic_core_generation_bitheaps} lays out,
1086+
arithmetic circuits in VHDL, is built on the framework that \cite{arithmetic_core_generation_bitheaps} lay out,
10891087
and thus on the same bit heap abstraction and compression techniques that we formalize in this paper.
10901088
However, neither provides formal correctness guarantees, and the generated circuits have to be validated by testing.
10911089

@@ -1099,11 +1097,12 @@ \section{Related Work}
10991097
Their approach can verify different partial-product generation and compression tree algorithms scaling to $1024\times1024$ bit multipliers in minutes.
11001098
Similar to our approach, their implementation of the tool in a theorem prover guarantees the correctness of the verification tool.
11011099

1102-
A line of research focuses on proving \ac{hls} tools correctt.
1103-
\citet{graphiti} introduces Graphiti, a graph-rewriting framework in Lean 4 to formally reason about optimizations on dataflow circuits.
1100+
A line of research focuses on proving \ac{hls} tools correct.
1101+
Graphiti \citet{graphiti} is a graph-rewriting framework in Lean 4 to formally reason about optimizations on dataflow circuits.
11041102
Integrated into an existing HLS tool, Graphiti provides a verified rewriting engine that ensures the composition of verified rewrites refines the original behaviour.
11051103

11061104

1105+
11071106
\section{Conclusion and Future Work}
11081107
This paper presents a verified datapath synthesis engine integrated into CIRCT.
11091108
By formalizing datapath synthesis steps with using bit heaps as the core data structure in Lean 4,

references.bib

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,15 @@ @inproceedings{graphiti
5151
year = {2026}
5252
}
5353

54+
@inproceedings{lutsig,
55+
author = {L{\"o}{\"o}w, Andreas},
56+
title = {Lutsig: A Verified {Verilog} Compiler for Verified Circuit Development},
57+
booktitle = {Proc. ACM SIGPLAN Int. Conf. Certified Programs and Proofs (CPP)},
58+
pages = {46--60},
59+
year = {2021},
60+
doi = {10.1145/3437992.3439916}
61+
}
62+
5463
@book{application_specific_arithmetic,
5564
author = {de Dinechin, Florent and Kumm, Martin},
5665
title = {Application-Specific Arithmetic},

0 commit comments

Comments
 (0)