Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       DPGEN_NAND2MASK - Programmable Mask Macro-Generator

SYNOPSIS

       #include  <genlib.h>

       void GENLIB_MACRO (DPGEN_NAND2MASK, char *modelname, long flags, long N, char *constVal);

DESCRIPTION

       Generate a N bits conditionnal NAND mask named modelname.

       How it works :

       • if  the  cmd signal is set to '0', the mask is NOT applied, so the whole operator behave
         like an inverter.

       • if the cmd signal is set to '1', the mask IS applied, the  output  is  the  complemented
         result of the input value ANDed with the mask (suplied by constVal).

       The  constant constVal is given to the macro-generator call, therefore the value cannot be
       changed afterward : it's hard wired in the operator.

       A common error is to give a real C constant for the constVal argument. Be aware that it is
       a character string.

   TERMINAL NAMES
       1. cmd : mask control (1 bit).

       2. i0 : input (N bits).

       3. q : output (N bits).

       4. vdd : power.

       5. vss : ground.

   BEHAVIOR
       nq <= WITH cmd SELECT not(i0)                 WHEN '0',
                             not(i0 and X"0000FFFF") WHEN '1';

EXAMPLE

       GENLIB_MACRO(DPGEN_NAND2MASK, "model_nand2mask_0000FFFF_32"
                                   , F_BEHAV|F_PLACE
                                   , 32
                                   , "0x0000FFFF" /* A string! */
                                   );

       GENLIB_LOINS( "model_nand2mask_0000FFFF_32"
                   , "instance1_nand2mask_32"
                   , "cmd"
                   , "i0[31:0]"
                   ,  "q[31:0]"
                   , "vdd", "vss", NULL
                   );

SEE ALSO

       GENLIB_MACRO(3), genlib(1)