74 lines
3.5 KiB
TeX
74 lines
3.5 KiB
TeX
\subsection{Synopsys}
|
|
|
|
\begin{verbatim}
|
|
netInput = LogicIn ( name, arity )
|
|
\end{verbatim}
|
|
|
|
\subsection{Description}
|
|
|
|
Instanciation of net. Differents kind of nets are listed below :
|
|
\begin{itemize}
|
|
\item \verb-LogicIn- : Creation of an input port
|
|
\item \verb-LogicOut- : Creation of an output port
|
|
\item \verb-LogicInOut- : Creation of an inout port
|
|
\item \verb-LogicUnknown- : 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}
|