

  <refentry id="DPGEN-DFFT">
  <?dbhtml filename="man_dpgen_dfft.html">

  <refmeta>
    <refentrytitle>DPGEN_DFFT</refentrytitle>
    <manvolnum>3</manvolnum>
    <refmiscinfo>ASIM/LIP6</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname> DPGEN_DFFT </refname>
    <refpurpose> Dynamic Flip-Flop with Scan-Path Macro-Generator </refpurpose>
  </refnamediv>


  <refsynopsisdiv>
    <funcsynopsis>
      <funcsynopsisinfo>#include  &lt;genlib.h&gt;</funcsynopsisinfo>
      <funcprototype>
        <funcdef>void <function>GENLIB_MACRO</function></funcdef>
          <paramdef>DPGEN_DFFT</paramdef>
          <paramdef>char *<parameter>modelname</parameter></paramdef>
          <paramdef>long <parameter>flags</parameter></paramdef>
          <paramdef>long <parameter>N</parameter></paramdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title> Description </title>

    <para> Generate a &N; bits dynamic flip-flop with scan-path
    named &modelname;. The two latches of this flip-flop are
    dynamic, i.e. the data is stored in a capacitor.
    </para>
    <para> How it works :
    <itemizedlist>
      <listitem>
        <para> &scan; when set to &one; enables the scan-path mode.
        Note that in scan-path mode, the &wen; signal is not effective.
        </para>
      </listitem>
      <listitem>
        <para> &scin; : the input of the scan-path. This terminal is
        different from <literal>i0[0]</literal>.
        </para>
        <para> The &scout; is <literal>q[N-1]</literal> (in the following
        example this is <literal>q[31]</literal>).
        </para>
      </listitem>
      <listitem>
        <para> &wen; when set to &one; enables the writing of the
        flip-flop.
        </para>
      </listitem>
    </itemizedlist>
    </para>

    <refsect2>
      <title> Terminal Names </title>

      <orderedlist>
        <listitem>
          <para> &scan; : scan-path mode (input, 1 bit). </para>
        </listitem>
        <listitem>
          <para> &scin; : scan path in (input, 1 bit). </para>
        </listitem>
        <listitem>
          <para> &wen; : write enable (input, 1 bit). </para>
        </listitem>
        <listitem>
          <para> &ck; : clock signal (input, 1 bit). </para>
        </listitem>
        <listitem>
          <para> &i0; : data input (&N; bits). </para>
        </listitem>
        <listitem>
          <para> &q; : output (&N; bits). </para>
        </listitem>
        <listitem>
          <para> &vdd; : power. </para>
        </listitem>
        <listitem>
          <para> &vss; : ground. </para>
        </listitem>
      </orderedlist>

    </refsect2>

  </refsect1>

  <refsect1>
    <title> Example </title>

    <para>
    <programlisting>
GENLIB_MACRO(DPGEN_DFFT, "model_dfft_32"
                       , F_BEHAV|F_PLACE
                       , 32
                       );

GENLIB_LOINS( "model_dfft_32"
            , "instance1_dfft_32"
            , "scan"
            , "scin"
            , "wen"
            , "ck"
            , "i0[31:0]"
            ,  "q[31:0]"  /* a[31] is "scout". */
            , "vdd", "vss", NULL
            );
    </programlisting>
    </para>

  </refsect1>

  &man-dpgen-see-also;

  </refentry>
