From 905b4a709efb0acdf5a4ba8fe7b9e03a9caa4d8e Mon Sep 17 00:00:00 2001 From: Albert Magyar Date: Thu, 31 Jan 2019 14:13:28 -0800 Subject: [PATCH] Add MidFIRRTL spec (#1003) --- spec/spec.pdf | Bin 269732 -> 271113 bytes spec/spec.tex | 22 +++++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/spec/spec.pdf b/spec/spec.pdf index 7a950f067ab4f2d0efba304496b2a8559aa851ce..6cf141c0dfc79d687591b21918361f12ea118eb4 100644 GIT binary patch delta 41583 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 z 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 delta 40295 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 diff --git a/spec/spec.tex b/spec/spec.tex index 956bc9e3d0..a55c4cc6a4 100644 --- a/spec/spec.tex +++ b/spec/spec.tex @@ -1614,19 +1614,31 @@ \subsection{Prefix Uniqueness} \label{prefix_unique} As an example \verb|firetruck$y$z| shares a prefix with \verb|firetruck$y| and \verb|firetruck|, but does not share a prefix with \verb|fire|. -\section{The Lowered FIRRTL Form} +\section{The Lowered FIRRTL Forms} -The lowered FIRRTL form, LoFIRRTL, is a restricted subset of the FIRRTL language that omits many of the higher level constructs. All conformant FIRRTL compilers must provide a {\em lowering transformation} that transforms arbitrary FIRRTL circuits into equivalent LoFIRRTL circuits. +The lowered FIRRTL forms, MidFIRRTL and LoFIRRTL, are increasingly restrictive subsets of the FIRRTL language that omit many of the higher level constructs. All conformant FIRRTL compilers must provide a {\em lowering transformation} that transforms arbitrary FIRRTL circuits into equivalent LoFIRRTL circuits. However, there are no additional requirements related to accepting or producing MidFIRRTL, as the LoFIRRTL output of the lowering transformation will already be a legal subset of MidFIRRTL. + +\subsection{MidFIRRTL} + +A FIRRTL circuit is defined to be a valid MidFIRRTL circuit if it obeys the following restrictions: +\begin{itemize} +\item All widths must be explicitly defined. +\item The conditional statement is not used. +\item All components are connected to exactly once. +\end{itemize} + +\subsection{LoFIRRTL} A FIRRTL circuit is defined to be a valid LoFIRRTL circuit if it obeys the following restrictions: \begin{itemize} -\item All components must be declared with a ground type and explicit widths. -\item The partial connect statement is not used. +\item All widths must be explicitly defined. \item The conditional statement is not used. \item All components are connected to exactly once. +\item All components must be declared with a ground type. +\item The partial connect statement is not used. \end{itemize} -The additional restrictions give LoFIRRTL a direct correspondence to a circuit netlist. +The first three restrictions follow from the fact that any LoFIRRTL circuit is also a legal MidFIRRTL circuit. The additional restrictions give LoFIRRTL a direct correspondence to a circuit netlist. Low level circuit transformations can be conveniently written by first lowering a circuit to its LoFIRRTL form, then operating on the restricted (and thus simpler) subset of constructs. Note that circuit transformations are still free to generate high level constructs as they can simply be lowered again.