coriolis/stratus1/doc/developper/man_net.tex

74 lines
3.5 KiB
TeX

\subsection{Synopsys}
\begin{verbatim}
netInput = SignalIn ( name, arity )
\end{verbatim}
\subsection{Description}
Instanciation of net. Differents kind of nets are listed below :
\begin{itemize}
\item \verb-SignalIn- : Creation of an input port
\item \verb-SignalOut- : Creation of an output port
\item \verb-SignalInOut- : Creation of an inout port
\item \verb-SignalUnknown- : Creation of an input/output port which direction is not defined
\item \verb-TriState- : Creation of a tristate port
\item \verb-CkIn- : Creation of a clock port
\item \verb-VddIn- : Creation of the vdd alimentation
\item \verb-VssIn- : Creation of the vss alimentation
\item \verb-Signal- : Creation of an internal net
\end{itemize}
\subsection{Parameters}
\begin{itemize}
\item \verb-name- : Name of the net (mandatory argument)
\item \verb-arity- : Arity of the net (mandatory argument)
\item \verb-indice- : For buses only : the LSB bit (optional argument : set to 0 by default)\\
\end{itemize}
\indent Only \verb-CkIn, -\verb-VddIn- and \verb-VssIn- do not have the same parameters : there is only the \verb-name- parameter (they are 1 bit nets).
\subsection{Attributes}
\begin{itemize}
\item \verb-_name- : Name of the net
\item \verb-_arity- : Arity of the net (by default set to 0)
\item \verb-_ind- : LSB of the net
\item \verb-_ext- : Tells if the net is external or not (True/False)
\item \verb-_direct- : If the net is external, tells the direction ("IN", "OUT", "INOUT", "TRISTATE", "UNKNOWN")
\item \verb-_h_type- : If the net is an alimentation or a clock, tells the type ("POWER", "GROUND", "CLOCK")
\item \verb-_type- : The arithmetic type of the net ( "nr" )
\item \verb-_st_cell- : The stratus cell which the net is instanciated in
\item \verb-_real_net- : If the net is a part of a net (Sig) it is the real net corresponding
\item \verb-_alias- : [] by default. When the net has an alias, it's a tab. Each element of the tab correspond to a bit of the net (from the LSB to the MSB), it'a a dictionnary : the only key is the net which this net is an alias from, the value is the bit of the net
\item \verb-_to_merge- : [] by default. The same as \_alias
\item \verb-_to_cat- : [] by default. The same as \_alias\\
\end{itemize}
\indent And, in connection with Hurricane :
\begin{itemize}
\item \verb-_hur_net- : A tab with all the hurricane nets corresponding to the stratus net ; From the LSB to the MSB (for example, with a 1 bit net, one gets the hurricane net by doing : \verb-net._hur_net[0]- ).
\end{itemize}
\subsection{Methods}
\begin{itemize}
\item \verb-Buffer- : Instanciation of a Buffer
\item \verb-Shift- : Instanciation of a shifter
\item \verb-Mux- : Instanciation of a multiplexor
\item \verb-Reg- : Instanciation of a register
\item \verb-Eq/Ne- : Instanciation of comparison generator
\item \verb-Extend- : A net is extended
\item \verb-Alias- : A net is an alias of another net
\item \verb-Delete- : Deletion of the Hurricane nets\\
\end{itemize}
\indent And the overloards :
\begin{itemize}
\item \_\_init\_\_ : Initialisation of nets
\item \_\_le\_\_ : initialisation of a net thanks to <= notation
\item \_\_getitem\_\_, \_\_geslice\_\_ : Creation of "Sig" nets : which are part of nets (use of \verb-[]- and \verb-[:]-)
\item \_\_and\_\_, \_\_or\_\_, \_\_xor\_\_, \_\_invert\_\_ : boolean operation with \&, |, \^ , ~
\item \_\_add\_\_, \_\_mul\_\_, \_\_div\_\_ : arithmetic operators with +, * and /
\end{itemize}