GenLib User's Manual
<<< Previous |  | Next >>>

# DPGEN_NOR2MASK

## Name

DPGEN_NOR2MASK -- Programmable Mask Macro-Generator

## Synopsis

    #include  <genlib.h>

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

## Description

Generate a `N` bits conditionnal NOR 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 ORed 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 or X"0000FFFF") WHEN '1';

## Example

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

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

## See Also

GENLIB_MACRO(3), genlib(1)

<<< Previous | Home | Next >>>
DPGEN_NAND2MASK | Up | DPGEN_XNOR2MASK