aboutsummaryrefslogtreecommitdiffstats
path: root/manual
diff options
context:
space:
mode:
authorMarcelina Koƛcielnicka <mwk@0x04.net>2021-02-23 16:48:29 +0100
committerMarcelina Koƛcielnicka <mwk@0x04.net>2021-03-08 20:16:29 +0100
commit89c74ffd7189d4898feb476ff70376385d516eb2 (patch)
tree89b1c5f786bc79da9e48ed59e8a33f66088ea523 /manual
parent4e03865d5bf3fafe0bd3735c88431675d53d2663 (diff)
downloadyosys-89c74ffd7189d4898feb476ff70376385d516eb2.tar.gz
yosys-89c74ffd7189d4898feb476ff70376385d516eb2.tar.bz2
yosys-89c74ffd7189d4898feb476ff70376385d516eb2.zip
verilog: Use proc memory writes in the frontend.
Diffstat (limited to 'manual')
-rw-r--r--manual/CHAPTER_Verilog.tex5
1 files changed, 5 insertions, 0 deletions
diff --git a/manual/CHAPTER_Verilog.tex b/manual/CHAPTER_Verilog.tex
index d4cc55647..c1ecc0397 100644
--- a/manual/CHAPTER_Verilog.tex
+++ b/manual/CHAPTER_Verilog.tex
@@ -503,6 +503,8 @@ signal to the temporary signal in its \lstinline[language=C++]{RTLIL::CaseRule}/
\item Finally a \lstinline[language=C++]{RTLIL::SyncRule} is created for the \lstinline[language=C++]{RTLIL::Process} that
assigns the temporary signals for the final values to the actual signals.
%
+\item A process may also contain memory writes. A \lstinline[language=C++]{RTLIL::MemWriteAction} is created for each of them.
+%
\item Calls to \lstinline[language=C++]{AST::AstNode::genRTLIL()} are generated for right hand sides as needed. When blocking
assignments are used, \lstinline[language=C++]{AST::AstNode::genRTLIL()} is configured using global variables to use
the temporary signals that hold the correct intermediate values whenever one of the previously assigned signals is used
@@ -821,6 +823,9 @@ the \C{RTLIL::SyncRule}s that describe the output registers.
This pass replaces the \C{RTLIL::SyncRule}s to d-type flip-flops (with
asynchronous resets if necessary).
%
+\item {\tt proc\_dff} \\
+This pass replaces the \C{RTLIL::MemWriteActions}s with {\tt \$memwr} cells.
+%
\item {\tt proc\_clean} \\
A final call to {\tt proc\_clean} removes the now empty \C{RTLIL::Process} objects.
\end{itemize}