coriolis/stratus1/doc/man_dpgennmux2.tex

56 lines
1.9 KiB
TeX

\begin{itemize}
\item Name : DpgenNmux2 -- Multiplexer Macro-Generator
% \item Description : Generates a \verb-n- bits two inputs multiplexer with an output power of \verb-drive- named \verb-modelname-.
\item Description : Generates a \verb-n- bits two inputs multiplexer named \verb-modelname-.
\begin{itemize}
\item Valid drive are : 1 or 4
\end{itemize}
\item Terminal Names :
\begin{itemize}
\item cmd : select ( 1 bit )
\item i0 : input ( \verb-n- bits )
\item i1 : input ( \verb-n- bits )
\item nq : output ( \verb-n- bits )
\item vdd : power
\item vss : ground
\end{itemize}
\item Parameters : Parameters are given with a map called \verb-param-.
\begin{itemize}
\item nbit : Defines the size of the generator
\item nbit\_cmd : Defines the size of the generator
% \item drive (optional) : Defines the output power of the gates\\If this parameter is not defined, the \verb-drive- is the smallest one permitted.
\end{itemize}
\item Behavior :
\begin{verbatim}
nq <= WITH cmd SELECT not i0 WHEN '0',
not i1 WHEN '1';
\end{verbatim}
\item Example :
\begin{verbatim}
class myClass ( Model ) :
def Interface ( self ) :
self._in0 = LogicIn ( "in0", 32 )
self._in1 = LogicIn ( "in1", 32 )
self._cmd = LogicIn ( "cmd", 1 )
self._out = LogicOut ( "out", 32 )
self._vdd = VddIn ( "vdd" )
self._vss = VssIn ( "vss" )
def Netlist ( self ) :
Inst ( 'DpgenNmux2'
, param = { 'nbit' : 32 }
, map = { 'i0' : self._in0
, 'i1' : self._in1
, 'cmd' : self._cmd
, 'nq' : self._out
, 'vdd' : self._vdd
, 'vss' : self._vss
}
)
\end{verbatim}
\end{itemize}