59 lines
2.2 KiB
TeX
59 lines
2.2 KiB
TeX
|
\begin{itemize}
|
||
|
\item Name : DpgenDfft -- Dynamic Flip-Flop with Scan-Path Macro-Generator
|
||
|
\item Description : Generates a n bits dynamic flip-flop with scan-path named \verb-modelname-. The two latches of this flip-flop are dynamic, i.e. the data is stored in a capacitor.
|
||
|
\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 q[N-1] (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 ( 'DpgenDfft'
|
||
|
, 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}
|