Man pages sections > man3 > DPGEN_NAND2MASK

DPGEN_NAND2MASK - Programmable Mask Macro-Generator

DPGEN_NAND2MASK(3) Alliance - genlib User's Manual DPGEN_NAND2MASK(3)

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)
30 July 2004 ASIM/LIP6