\begin{itemize}
    \item Name : DpgenSfft -- Static Flip-Flop with Scan-Path Macro-Generator
    \item Description : Generates a n bits static flip-flop with scan-path named \verb-modelname-. The two latches of this flip-flop are static i.e. each one is made of two interters looped togethers.
    \item How it works : 
    \begin{itemize}
        \item scan : when set to \verb-one- enables the scan-path mode. Note that in scan-path mode, the wen signal is not effective
        \item scin : the input of the scan-path. This terminal is different from \verb-i0[0]-. The scout is verb-q[N-i1] (in the following example this is \verb-q[31]-)
        \item when wen is set to \verb-one- enables the writing of the flip-flop
    \end{itemize}
    \item Terminal Names :
    \begin{itemize}
        \item scan : scan-path mode (input, 1 bit)
        \item scin : scan path in (input, 1 bit)
        \item wen : write enable (1 bit)
        \item ck : clock signal (1 bit)
        \item i0 : data input (\verb-n- bits)
        \item q : 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
    \end{itemize}
%    \item Behavior :
%       \begin{verbatim}
%       \end{verbatim}
    \item Example :
\begin{verbatim}
class myClass ( Model ) :
  def Interface ( self ) :
    self._scan  = LogicIn  ( "scin", 1 )
    self._scin  = LogicIn  ( "scan", 1 )
    self._ck    = LogicIn  (  "ck",  1 )
    self._wen   = LogicIn  ( "wen",  1 )
    self._in    = LogicIn  (  "in",  4 )
    
    self._out   = LogicOut ( "out",  4 )

    self._vdd   = VddIn    ( "vdd" )
    self._vss   = VssIn    ( "vss" )
    
  def Netlist ( self ) :
      
    Inst ( 'DpgenSfft'
         , param = { 'nbit' : 4 }
         , map  = { "wen"   : self._wen
                  , "ck"    : self._ck
                  , "scan"  : self._scan
                  , "scin"  : self._scin
                  , "i0"    : self._in
                  ,  "q"    : self._out
                  , 'vdd'   : self._vdd
                  , 'vss'   : self._vss
                  }
         )
\end{verbatim}
\end{itemize}
