You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper.tex
+8-9Lines changed: 8 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -236,7 +236,7 @@
236
236
\begin{document}
237
237
238
238
%% Title information
239
-
\title{Verified Synthesis of Datapath Circuits}
239
+
\title{Correct-by-Construction Compressor Trees for Datapath Synthesis}
240
240
241
241
%% Author information
242
242
%% Contents and number of authors suppressed with 'anonymous'.
@@ -276,7 +276,7 @@
276
276
\begin{abstract}
277
277
% An abstract should consist of six main sentences:
278
278
% 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.
280
280
% 2. State the problem you tackle.
281
281
To meet the performance requirements, datapath circuits are aggressively optimized by synthesis tools.
282
282
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}
471
471
\[
472
472
\begin{array}{r@{\;}c@{\;}l@{\qquad}l}
473
473
\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 &
476
474
\end{array}
477
475
\]
478
476
@@ -1082,10 +1080,10 @@ \section{Results}
1082
1080
% \end{table}
1083
1081
1084
1082
\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.
1087
1085
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,
1089
1087
and thus on the same bit heap abstraction and compression techniques that we formalize in this paper.
1090
1088
However, neither provides formal correctness guarantees, and the generated circuits have to be validated by testing.
1091
1089
@@ -1099,11 +1097,12 @@ \section{Related Work}
1099
1097
Their approach can verify different partial-product generation and compression tree algorithms scaling to $1024\times1024$ bit multipliers in minutes.
1100
1098
Similar to our approach, their implementation of the tool in a theorem prover guarantees the correctness of the verification tool.
1101
1099
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.
1104
1102
Integrated into an existing HLS tool, Graphiti provides a verified rewriting engine that ensures the composition of verified rewrites refines the original behaviour.
1105
1103
1106
1104
1105
+
1107
1106
\section{Conclusion and Future Work}
1108
1107
This paper presents a verified datapath synthesis engine integrated into CIRCT.
1109
1108
By formalizing datapath synthesis steps with using bit heaps as the core data structure in Lean 4,
0 commit comments