Added new cell types to manual
authorClifford Wolf <clifford@clifford.at>
Sat, 28 Dec 2013 11:10:32 +0000 (12:10 +0100)
committerClifford Wolf <clifford@clifford.at>
Sat, 28 Dec 2013 11:10:32 +0000 (12:10 +0100)
manual/CHAPTER_CellLib.tex
passes/techmap/simplemap.cc

index 09be0870eadd3d88c15c415f18c6bf337b3eb4a5..61713e74dd7c1de5a004179ea42657d84c119ca4 100644 (file)
@@ -97,6 +97,12 @@ The width of the output port \B{Y}.
 
 Table~\ref{tab:CellLib_binary} lists all cells for binary RTL operators.
 
+The additional cell type {\tt \$bu0} is similar to {\tt \$pos}, but always
+extends unsigned arguments with zeros. ({\tt \$pos} extends unsigned arguments
+with {\tt x}-bits if the most significant bit is {\tt x}.) This is used
+internally to correctly implement the {\tt ==} and {\tt !=} operators for
+constant arguments.
+
 \subsection{Multiplexers}
 
 Multiplexers are generated by the Verilog HDL frontend for {\tt
@@ -147,6 +153,9 @@ Verilog & Cell Type \\
 \hline
 \lstinline[language=Verilog]; Y = A && B; & {\tt \$logic\_and} \\
 \lstinline[language=Verilog]; Y = A || B; & {\tt \$logic\_or} \\
+\hline
+\lstinline[language=Verilog]; Y = A === B; & {\tt \$eqx} \\
+\lstinline[language=Verilog]; Y = A !== B; & {\tt \$nex} \\
 \end{tabular}
 \hfil
 \begin{tabular}[t]{ll}
index 6b25eb9b1d80b980d8fb4cae848397e8d9669caa..2480cf28527c4206fcceadae5f5a93071c6e563b 100644 (file)
@@ -498,7 +498,7 @@ struct SimplemapPass : public Pass {
                log("This pass maps a small selection of simple coarse-grain cells to yosys gate\n");
                log("primitives. The following internal cell types are mapped by this pass:\n");
                log("\n");
-               log("  $not, $pos, $and, $or, $xor, $xnor\n");
+               log("  $not, $pos, $bu0, $and, $or, $xor, $xnor\n");
                log("  $reduce_and, $reduce_or, $reduce_xor, $reduce_xnor, $reduce_bool\n");
                log("  $logic_not, $logic_and, $logic_or, $mux\n");
                log("  $sr, $dff, $dffsr, $adff, $dlatch\n");