mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 00:55:32 +00:00
verilog: Use proc memory writes in the frontend.
This commit is contained in:
parent
4e03865d5b
commit
89c74ffd71
5 changed files with 94 additions and 29 deletions
|
@ -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}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue