* genlib/doc :

- Creation d'une doc complete pour le sous-ensemble DPGEN de GenLib,
       au format DocBook. A partir des sources SGML on genere :
         1. - Les mans.
         2. - Une version HTML.
         3. - Une version PDF.
   - Comme il n'est pas sur que les utilisateurs exterieurs d'Alliance
       disposent d'un DocBook correctement installe, on distribue tous
       les fichiers generes (mans, HTML & PDF). Ces fichiers sont
       donc ajoutes a l'arbre CVS.
   - build_doc.sh : reconstruit toute la documentation a partir des
       sources SGML. De plus cree les Makefile.am dans les repertoires
       doc/ et doc/genlib/.
   - Installation :
       1. - la doc HTML sera installee dans : $(prefix)/doc/html/genlib/.
       2. - La doc PDF sera installee dans  : $(prefix)/doc/pdf/
This commit is contained in:
Jean-Paul Chaput 2002-05-24 18:34:41 +00:00
parent 889e65c0f8
commit 5da382d3b0
97 changed files with 21968 additions and 280 deletions

View File

@ -1 +1 @@
SUBDIRS = src man1 man3
SUBDIRS = src man1 man3 doc

View File

@ -25,7 +25,7 @@ dnl Almost ten years since I wrote this stuff, I just can't
dnl believe it
dnl Date : 01/02/2002
dnl Author : Frederic Petrot <Frederic.Petrot@lip6.fr>
dnl $Id: configure.in,v 1.3 2002/04/04 15:45:59 ludo Exp $
dnl $Id: configure.in,v 1.4 2002/05/24 18:34:23 jpc Exp $
dnl
dnl
AC_INIT(src/genlib.c)
@ -63,4 +63,6 @@ Makefile
src/Makefile
man1/Makefile
man3/Makefile
doc/Makefile
doc/genlib/Makefile
])

View File

@ -0,0 +1,47 @@
SUBDIRS = genlib
pdfdir = $(prefix)/doc/pdf
pdf_DATA = genlib.pdf
EXTRA_DIST = $(pdf_DATA) \
./genlib.sgm \
./man_genlib.sgm \
./man_genlib_macro.sgm \
./man_dpgen_inv.sgm \
./man_dpgen_see_also.sgm \
./man_dpgen_buff.sgm \
./man_dpgen_nand2.sgm \
./man_dpgen_nand4.sgm \
./man_dpgen_nand3.sgm \
./man_dpgen_and2.sgm \
./man_dpgen_and3.sgm \
./man_dpgen_and4.sgm \
./man_dpgen_or2.sgm \
./man_dpgen_nor2.sgm \
./man_dpgen_or3.sgm \
./man_dpgen_nor3.sgm \
./man_dpgen_or4.sgm \
./man_dpgen_nor4.sgm \
./man_dpgen_xor2.sgm \
./man_dpgen_xnor2.sgm \
./man_dpgen_nmux2.sgm \
./man_dpgen_nbuse.sgm \
./man_dpgen_mux2.sgm \
./man_dpgen_buse.sgm \
./man_dpgen_nand2mask.sgm \
./man_dpgen_nor2mask.sgm \
./man_dpgen_xnor2mask.sgm \
./man_dpgen_adsb2f.sgm \
./man_dpgen_shift.sgm \
./man_dpgen_nul.sgm \
./man_dpgen_rom2.sgm \
./man_dpgen_rom4.sgm \
./man_dpgen_const.sgm \
./man_dpgen_dff.sgm \
./man_dpgen_dfft.sgm \
./man_dpgen_sff.sgm \
./man_dpgen_sfft.sgm \
./man_dpgen_rf1.sgm \
./man_dpgen_rf1d.sgm

View File

@ -0,0 +1,93 @@
#!/bin/sh
LOG="build_doc.log"
TOOL="genlib"
SGML_DOC="$TOOL.sgm"
detect_fail ()
{
echo "" >&2
echo "build_doc.sh ERROR:" >&2
echo "" >&2
echo " Cannot find \"$1\"." >&2
echo "" >&2
echo " Please check that DocBook is installed on your system." >&2
echo "" >&2
exit 1
}
detect ()
{
STR="`which $1 2> /dev/null`"
if [ -z "$STR" ]; then detect_fail "$1"; fi
echo "$STR"
}
DB2MAN=`detect docbook2man`
DB2PDF=`detect db2pdf`
DB2HTML=`detect db2html`
rm -f $LOG
echo ""
echo " o Building MAN pages..."
$DB2MAN $SGML_DOC > $LOG 2>&1
mv *.1 ../man1
mv *.3 ../man3
echo ""
echo " o Building HTML..."
$DB2HTML $SGML_DOC >> $LOG 2>&1
if [ -d $TOOL.junk ]; then rm -r $TOOL.junk; fi
echo " - Building Makefile.am for html subdir."
DOC_AM="Makefile.am-doc"
echo "" > $DOC_AM
echo "" >> $DOC_AM
echo "pkghtmldir = \$(prefix)/doc/html/@PACKAGE@" >> $DOC_AM
echo "pkghtml_DATA = \\" >> $DOC_AM
FILE_LIST=`(cd $TOOL; find . -name \*.html -exec echo {} \;)`
set $FILE_LIST
while [ $# -gt 0 ]; do
LINE=" $1"
if [ $# -gt 1 ]; then LINE="$LINE \\"; fi
echo "$LINE" >> $DOC_AM
shift
done
echo "" >> $DOC_AM
echo "EXTRA_DIST = \$(pkghtml_DATA)" >> $DOC_AM
mv $DOC_AM $TOOL/Makefile.am
echo ""
echo " o Building PDF..."
$DB2PDF $SGML_DOC >> $LOG 2>&1
echo " - Building Makefile.am for doc dir."
DOC_AM="Makefile.am"
echo "" > $DOC_AM
echo "SUBDIRS = $TOOL" >> $DOC_AM
echo "" >> $DOC_AM
echo "pdfdir = \$(prefix)/doc/pdf" >> $DOC_AM
echo "pdf_DATA = $TOOL.pdf" >> $DOC_AM
echo "" >> $DOC_AM
echo "EXTRA_DIST = \$(pdf_DATA) \\" >> $DOC_AM
FILE_LIST=`find . -name \*.sgm -exec echo {} \;`
set $FILE_LIST
while [ $# -gt 0 ]; do
LINE=" $1"
if [ $# -gt 1 ]; then LINE="$LINE \\"; fi
echo "$LINE" >> $DOC_AM
shift
done
echo "" >> $DOC_AM

View File

@ -0,0 +1,206 @@
<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY man-genlib SYSTEM "man_genlib.sgm">
<!ENTITY man-genlib-macro SYSTEM "man_genlib_macro.sgm">
<!ENTITY man-dpgen-inv SYSTEM "man_dpgen_inv.sgm">
<!ENTITY man-dpgen-buff SYSTEM "man_dpgen_buff.sgm">
<!ENTITY man-dpgen-nand2 SYSTEM "man_dpgen_nand2.sgm">
<!ENTITY man-dpgen-nand3 SYSTEM "man_dpgen_nand3.sgm">
<!ENTITY man-dpgen-nand4 SYSTEM "man_dpgen_nand4.sgm">
<!ENTITY man-dpgen-and2 SYSTEM "man_dpgen_and2.sgm">
<!ENTITY man-dpgen-and3 SYSTEM "man_dpgen_and3.sgm">
<!ENTITY man-dpgen-and4 SYSTEM "man_dpgen_and4.sgm">
<!ENTITY man-dpgen-nor2 SYSTEM "man_dpgen_nor2.sgm">
<!ENTITY man-dpgen-nor3 SYSTEM "man_dpgen_nor3.sgm">
<!ENTITY man-dpgen-nor4 SYSTEM "man_dpgen_nor4.sgm">
<!ENTITY man-dpgen-or2 SYSTEM "man_dpgen_or2.sgm">
<!ENTITY man-dpgen-or3 SYSTEM "man_dpgen_or3.sgm">
<!ENTITY man-dpgen-or4 SYSTEM "man_dpgen_or4.sgm">
<!ENTITY man-dpgen-xnor2 SYSTEM "man_dpgen_xnor2.sgm">
<!ENTITY man-dpgen-xor2 SYSTEM "man_dpgen_xor2.sgm">
<!ENTITY man-dpgen-nmux2 SYSTEM "man_dpgen_nmux2.sgm">
<!ENTITY man-dpgen-mux2 SYSTEM "man_dpgen_mux2.sgm">
<!ENTITY man-dpgen-nbuse SYSTEM "man_dpgen_nbuse.sgm">
<!ENTITY man-dpgen-buse SYSTEM "man_dpgen_buse.sgm">
<!ENTITY man-dpgen-nand2mask SYSTEM "man_dpgen_nand2mask.sgm">
<!ENTITY man-dpgen-nor2mask SYSTEM "man_dpgen_nor2mask.sgm">
<!ENTITY man-dpgen-xnor2mask SYSTEM "man_dpgen_xnor2mask.sgm">
<!ENTITY man-dpgen-adsb2f SYSTEM "man_dpgen_adsb2f.sgm">
<!ENTITY man-dpgen-shift SYSTEM "man_dpgen_shift.sgm">
<!ENTITY man-dpgen-nul SYSTEM "man_dpgen_nul.sgm">
<!ENTITY man-dpgen-const SYSTEM "man_dpgen_const.sgm">
<!ENTITY man-dpgen-rom2 SYSTEM "man_dpgen_rom2.sgm">
<!ENTITY man-dpgen-rom4 SYSTEM "man_dpgen_rom4.sgm">
<!ENTITY man-dpgen-rf1 SYSTEM "man_dpgen_rf1.sgm">
<!ENTITY man-dpgen-rf1d SYSTEM "man_dpgen_rf1d.sgm">
<!ENTITY man-dpgen-dff SYSTEM "man_dpgen_dff.sgm">
<!ENTITY man-dpgen-dfft SYSTEM "man_dpgen_dfft.sgm">
<!ENTITY man-dpgen-sff SYSTEM "man_dpgen_sff.sgm">
<!ENTITY man-dpgen-sfft SYSTEM "man_dpgen_sfft.sgm">
<!ENTITY man-dpgen-see-also SYSTEM "man_dpgen_see_also.sgm">
<!ENTITY mbk "<emphasis>mbk</emphasis>">
<!ENTITY genlib "<emphasis>genlib</emphasis>">
<!ENTITY Alliance "<emphasis>Alliance</emphasis>">
<!ENTITY VHDL "<emphasis>VHDL</emphasis>">
<!ENTITY MSB "<acronym>MSB</acronym>">
<!ENTITY LSB "<acronym>LSB</acronym>">
<!ENTITY IBM "<acronym>IBM</acronym>">
<!ENTITY FIFO "<acronym>FIFO</acronym>">
<!ENTITY VDD "<literal>VDD</literal>">
<!ENTITY vdd "<literal>vdd</literal>">
<!ENTITY vss "<literal>vss</literal>">
<!ENTITY op "<literal>op</literal>">
<!ENTITY ck "<literal>ck</literal>">
<!ENTITY ckok "<literal>ckok</literal>">
<!ENTITY wen "<literal>wen</literal>">
<!ENTITY ren "<literal>ren</literal>">
<!ENTITY scan "<literal>scan</literal>">
<!ENTITY scin "<literal>scin</literal>">
<!ENTITY scout "<literal>scout</literal>">
<!ENTITY cmd "<literal>cmd</literal>">
<!ENTITY datain0 "<literal>datain0</literal>">
<!ENTITY datain1 "<literal>datain1</literal>">
<!ENTITY dataout "<literal>dataout</literal>">
<!ENTITY adr "<literal>adr</literal>">
<!ENTITY adw "<literal>adw</literal>">
<!ENTITY sel "<literal>sel</literal>">
<!ENTITY selr "<literal>selr</literal>">
<!ENTITY selw "<literal>selw</literal>">
<!ENTITY sel1 "<literal>sel1</literal>">
<!ENTITY sel0 "<literal>sel0</literal>">
<!ENTITY shamt "<literal>shamt</literal>">
<!ENTITY add-sub "<literal>add_sub</literal>">
<!ENTITY c32 "<literal>c32</literal>">
<!ENTITY c31 "<literal>c31</literal>">
<!ENTITY i0 "<literal>i0</literal>">
<!ENTITY i1 "<literal>i1</literal>">
<!ENTITY nq "<literal>nq</literal>">
<!ENTITY q "<literal>q</literal>">
<!ENTITY one "<literal>'1'</literal>">
<!ENTITY zero "<literal>'0'</literal>">
<!ENTITY arg-no-rm-core "<literal>[--no-rm-core|-c]</literal>">
<!ENTITY arg-keep-exec "<literal>[--keep-exec|-k]</literal>">
<!ENTITY arg-keep-makefile "<literal>[--keep-makefile|-m]</literal>">
<!ENTITY arg-keep-log "<literal>[--keep-log|-l]</literal>">
<!ENTITY arg-no-exec "<literal>[--no-exec|-n]</literal>">
<!ENTITY arg-verbose "<literal>[--no-verbose|-v]</literal>">
<!ENTITY arg-e "<literal>[-e]</literal>">
<!ENTITY arg-program "<literal>&lt;program&gt;</literal>">
<!ENTITY GENLIB-MACRO "<emphasis>GENLIB_MACRO()</emphasis>">
<!ENTITY arg-function "<literal>long <replaceable>function</replaceable></literal>">
<!ENTITY arg-modelname "<literal>char* <replaceable>modelname</replaceable></literal>">
<!ENTITY arg-flags "<literal>long <replaceable>flags</replaceable></literal>">
<!ENTITY arg-N "<literal>long <replaceable>N</replaceable></literal>">
<!ENTITY arg-drive "<literal>long <replaceable>drive</replaceable></literal>">
<!ENTITY arg-regNumber "<literal>long <replaceable>regNumber</replaceable></literal>">
<!ENTITY arg-constVal "<literal>char* <replaceable>constval</replaceable></literal>">
<!ENTITY modelname "<replaceable>modelname</replaceable>">
<!ENTITY drive "<replaceable>drive</replaceable>">
<!ENTITY N "<replaceable>N</replaceable>">
<!ENTITY Y "<replaceable>Y</replaceable>">
<!ENTITY regNumber "<replaceable>regNumber</replaceable>">
<!ENTITY constVal "<replaceable>constVal</replaceable>">
<!ENTITY constVal0 "<replaceable>constVal0</replaceable>">
<!ENTITY constVal1 "<replaceable>constVal1</replaceable>">
<!ENTITY constVal2 "<replaceable>constVal2</replaceable>">
<!ENTITY constVal3 "<replaceable>constVal3</replaceable>">
<!ENTITY F-PLACE "<literal>F_PLACE</literal>">
<!ENTITY F-BEHAV "<literal>F_BEHAV</literal>">
<!ENTITY F-LSB-FIRST "<literal>F_LSB_FIRST</literal>">
<!ENTITY F-MSB-FIRST "<literal>F_MSB_FIRST</literal>">
<!ENTITY DPGEN-RF1 "<literal>DPGEN_RF1</literal>">
<!ENTITY DPGEN-RF1R0 "<literal>DPGEN_RF1R0</literal>">
<!ENTITY DPGEN-RF1D "<literal>DPGEN_RF1D</literal>">
<!ENTITY DPGEN-RF1DR0 "<literal>DPGEN_RF1DR0</literal>">
<!ENTITY CONST-GENLIB-MUX2 "<literal>GENLIB_MUX2</literal>">
]>
<book lang="en">
<?dbhtml filename="genlib.html">
<bookinfo>
<title> GenLib User's Manual </title>
<date> May, 16 2002 </date>
<authorgroup>
<author>
<firstname> Jean-Paul </firstname>
<surname> Chaput </surname>
<affiliation>
<jobtitle> System Administrator </jobtitle>
<orgname> Pierre &amp; Marie Curie University, LIP6 </orgname>
<orgdiv> ASIM Department </orgdiv>
</affiliation>
</author>
<author>
<firstname> Frédéric </firstname>
<surname> Pétrot </surname>
<affiliation>
<jobtitle> Professor Assistant </jobtitle>
<orgname> Pierre &amp; Marie Curie University, LIP6 </orgname>
<orgdiv> ASIM Department </orgdiv>
</affiliation>
</author>
</authorgroup>
<releaseinfo> June 2002 / 20020516.1 </releaseinfo>
<pubdate> June 2002 </pubdate>
</bookinfo>
<reference id="ref-genlib">
<?dbhtml filename="ref_genlib.html">
<title>&Alliance; - &genlib; User's Manual </title>
&man-genlib;
&man-genlib-macro;
&man-dpgen-inv;
&man-dpgen-buff;
&man-dpgen-nand2;
&man-dpgen-nand3;
&man-dpgen-nand4;
&man-dpgen-and2;
&man-dpgen-and3;
&man-dpgen-and4;
&man-dpgen-nor2;
&man-dpgen-nor3;
&man-dpgen-nor4;
&man-dpgen-or2;
&man-dpgen-or3;
&man-dpgen-or4;
&man-dpgen-xnor2;
&man-dpgen-xor2;
&man-dpgen-nmux2;
&man-dpgen-mux2;
&man-dpgen-nbuse;
&man-dpgen-buse;
&man-dpgen-nand2mask;
&man-dpgen-nor2mask;
&man-dpgen-xnor2mask;
&man-dpgen-adsb2f;
&man-dpgen-shift;
&man-dpgen-nul;
&man-dpgen-const;
&man-dpgen-rom2;
&man-dpgen-rom4;
&man-dpgen-rf1;
&man-dpgen-rf1d;
&man-dpgen-dff;
&man-dpgen-dfft;
&man-dpgen-sff;
&man-dpgen-sfft;
</reference>
</book>

View File

@ -0,0 +1,45 @@
pkghtmldir = $(prefix)/doc/html/@PACKAGE@
pkghtml_DATA = \
./genlib.html \
./ref_genlib.html \
./man_genlib.html \
./man_genlib_macro.html \
./man_dpgen_inv.html \
./man_dpgen_buff.html \
./man_dpgen_nand2.html \
./man_dpgen_nand3.html \
./man_dpgen_nand4.html \
./man_dpgen_and2.html \
./man_dpgen_and3.html \
./man_dpgen_and4.html \
./man_dpgen_nor2.html \
./man_dpgen_nor3.html \
./man_dpgen_nor4.html \
./man_dpgen_or2.html \
./man_dpgen_or3.html \
./man_dpgen_or4.html \
./man_dpgen_xnor2.html \
./man_dpgen_xor2.html \
./man_dpgen_nmux2.html \
./man_dpgen_mux2.html \
./man_dpgen_nbuse.html \
./man_dpgen_buse.html \
./man_dpgen_nand2mask.html \
./man_dpgen_nor2mask.html \
./man_dpgen_xnor2mask.html \
./man_dpgen_adsb2f.html \
./man_dpgen_shift.html \
./man_dpgen_nul.html \
./man_dpgen_const.html \
./man_dpgen_rom2.html \
./man_dpgen_rom4.html \
./man_dpgen_rf1.html \
./man_dpgen_rf1d.html \
./man_dpgen_dff.html \
./man_dpgen_dfft.html \
./man_dpgen_sff.html \
./man_dpgen_sfft.html
EXTRA_DIST = $(pkghtml_DATA)

View File

@ -0,0 +1,333 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
> GenLib User's Manual </TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="NEXT"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"></HEAD
><BODY
CLASS="BOOK"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="AEN1"><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2">GenLib User's Manual</H1
><H3
CLASS="AUTHOR"
><A
NAME="AEN6"> Jean-Paul Chaput </H3
><DIV
CLASS="AFFILIATION"
><SPAN
CLASS="JOBTITLE"
> System Administrator <BR></SPAN
><SPAN
CLASS="ORGNAME"
> Pierre &#38; Marie Curie University, LIP6 <BR></SPAN
><SPAN
CLASS="ORGDIV"
> ASIM Department <BR></SPAN
></DIV
><H3
CLASS="AUTHOR"
><A
NAME="AEN13"> Frédéric Pétrot </H3
><DIV
CLASS="AFFILIATION"
><SPAN
CLASS="JOBTITLE"
> Professor Assistant <BR></SPAN
><SPAN
CLASS="ORGNAME"
> Pierre &#38; Marie Curie University, LIP6 <BR></SPAN
><SPAN
CLASS="ORGDIV"
> ASIM Department <BR></SPAN
></DIV
><SPAN
CLASS="RELEASEINFO"
> June 2002 / 20020516.1 <BR></SPAN
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>I. <A
HREF="ref_genlib.html"
><I
CLASS="EMPHASIS"
>Alliance</I
> - <I
CLASS="EMPHASIS"
>genlib</I
> User's Manual</A
></DT
><DD
><DL
><DT
><A
HREF="man_genlib.html"
>genlib</A
>&nbsp;--&nbsp; Procedural design language based upon C. </DT
><DT
><A
HREF="man_genlib_macro.html"
>GENLIB_MACRO</A
>&nbsp;--&nbsp; Interface with all MACRO generators. </DT
><DT
><A
HREF="man_dpgen_inv.html"
>DPGEN_INV</A
>&nbsp;--&nbsp; Inverter Macro-Generator </DT
><DT
><A
HREF="man_dpgen_buff.html"
>DPGEN_BUFF</A
>&nbsp;--&nbsp; Buffer Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand2.html"
>DPGEN_NAND2</A
>&nbsp;--&nbsp; NAND2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand3.html"
>DPGEN_NAND3</A
>&nbsp;--&nbsp; NAND3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand4.html"
>DPGEN_NAND4</A
>&nbsp;--&nbsp; NAND4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_and2.html"
>DPGEN_AND2</A
>&nbsp;--&nbsp; AND2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_and3.html"
>DPGEN_AND3</A
>&nbsp;--&nbsp; AND3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_and4.html"
>DPGEN_AND4</A
>&nbsp;--&nbsp; AND4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor2.html"
>DPGEN_NOR2</A
>&nbsp;--&nbsp; NOR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor3.html"
>DPGEN_NOR3</A
>&nbsp;--&nbsp; NOR3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor4.html"
>DPGEN_NOR4</A
>&nbsp;--&nbsp; NOR4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_or2.html"
>DPGEN_OR2</A
>&nbsp;--&nbsp; OR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_or3.html"
>DPGEN_OR3</A
>&nbsp;--&nbsp; OR3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_or4.html"
>DPGEN_OR4</A
>&nbsp;--&nbsp; OR4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_xnor2.html"
>DPGEN_XNOR2</A
>&nbsp;--&nbsp; XNOR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_xor2.html"
>DPGEN_XOR2</A
>&nbsp;--&nbsp; XOR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nmux2.html"
>DPGEN_NMUX2</A
>&nbsp;--&nbsp; Multiplexer Macro-Generator </DT
><DT
><A
HREF="man_dpgen_mux2.html"
>DPGEN_MUX2</A
>&nbsp;--&nbsp; Multiplexer Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nbuse.html"
>DPGEN_NBUSE</A
>&nbsp;--&nbsp; Tristate Macro-Generator </DT
><DT
><A
HREF="man_dpgen_buse.html"
>DPGEN_BUSE</A
>&nbsp;--&nbsp; tristate Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand2mask.html"
>DPGEN_NAND2MASK</A
>&nbsp;--&nbsp; Programmable Mask Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor2mask.html"
>DPGEN_NOR2MASK</A
>&nbsp;--&nbsp; Programmable Mask Macro-Generator </DT
><DT
><A
HREF="man_dpgen_xnor2mask.html"
>DPGEN_XNOR2MASK</A
>&nbsp;--&nbsp; Programmable Mask Macro-Generator </DT
><DT
><A
HREF="man_dpgen_adsb2f.html"
>DPGEN_ADSB2F</A
>&nbsp;--&nbsp; Adder/Substractor Macro-Generator </DT
><DT
><A
HREF="man_dpgen_shift.html"
>DPGEN_SHIFT</A
>&nbsp;--&nbsp; Shifter Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nul.html"
>DPGEN_NUL</A
>&nbsp;--&nbsp; Zero Detector Macro-Generator </DT
><DT
><A
HREF="man_dpgen_const.html"
>DPGEN_CONST</A
>&nbsp;--&nbsp; Constant Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rom2.html"
>DPGEN_ROM2</A
>&nbsp;--&nbsp; 2 words ROM Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rom4.html"
>DPGEN_ROM4</A
>&nbsp;--&nbsp; 4 words ROM Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rf1.html"
>DPGEN_RF1</A
>&nbsp;--&nbsp; Register File Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rf1d.html"
>DPGEN_RF1D</A
>&nbsp;--&nbsp; Register File with Decoder Macro-Generator </DT
><DT
><A
HREF="man_dpgen_dff.html"
>DPGEN_DFF</A
>&nbsp;--&nbsp; Dynamic Flip-Flop Macro-Generator </DT
><DT
><A
HREF="man_dpgen_dfft.html"
>DPGEN_DFFT</A
>&nbsp;--&nbsp; Dynamic Flip-Flop with Scan-Path Macro-Generator </DT
><DT
><A
HREF="man_dpgen_sff.html"
>DPGEN_SFF</A
>&nbsp;--&nbsp; Static Flip-Flop Macro-Generator </DT
><DT
><A
HREF="man_dpgen_sfft.html"
>DPGEN_SFFT</A
>&nbsp;--&nbsp; Static Flip-Flop with Scan-Path Macro-Generator </DT
></DL
></DD
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><I
CLASS="EMPHASIS"
>Alliance</I
> - <I
CLASS="EMPHASIS"
>genlib</I
> User's Manual</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,418 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_ADSB2F</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_XNOR2MASK"
HREF="man_dpgen_xnor2mask.html"><LINK
REL="NEXT"
TITLE="DPGEN_SHIFT"
HREF="man_dpgen_shift.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_xnor2mask.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_shift.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-ADSB2F">DPGEN_ADSB2F</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2445"
></A
><H2
>Name</H2
> DPGEN_ADSB2F &nbsp;--&nbsp; Adder/Substractor Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2448"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2449"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_ADSB2F, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2461"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits adder/substractor named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> if the <TT
CLASS="LITERAL"
>add_sub</TT
> signal is set to <TT
CLASS="LITERAL"
>'0'</TT
> an addition is
performed, otherwise it's a substraction.
</P
></LI
><LI
><P
> Operation can be either signed or unsigned. In unsigned
mode <TT
CLASS="LITERAL"
>c32</TT
> is the overflow, in unsigned mode you have to compute
overflow by <I
CLASS="EMPHASIS"
>XORing</I
> <TT
CLASS="LITERAL"
>c32</TT
> and <TT
CLASS="LITERAL"
>c31</TT
>.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2478"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>add_sub</TT
> : select addition or substraction
(input, 1 bit).
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>c32</TT
> : carry out. In unsigned mode, this is the
overflow (output, 1 bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>c31</TT
> : used to compute overflow in signed mode :
<TT
CLASS="LITERAL"
>overflow := c32 xor c31</TT
> (output, 1 bits).
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : first operand (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : second operand (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2509"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_ADSB2F, "model_adsb2f_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_adsb2f_32"
, "instance1_adsb2f_32"
, "add_sub"
, "c32"
, "c31"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2513"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_xnor2mask.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_shift.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_XNOR2MASK</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_SHIFT</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_AND2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NAND4"
HREF="man_dpgen_nand4.html"><LINK
REL="NEXT"
TITLE="DPGEN_AND3"
HREF="man_dpgen_and3.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nand4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_and3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-AND2">DPGEN_AND2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1155"
></A
><H2
>Name</H2
> DPGEN_AND2 &nbsp;--&nbsp; AND2 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1158"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1159"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_AND2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1173"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs AND with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1181"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1199"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;i0&nbsp;and&nbsp;i1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1202"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_AND2, "model_and2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_and2_32"
, "instance1_and2_32"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1206"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nand4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_and3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NAND4</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_AND3</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,372 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_AND3</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_AND2"
HREF="man_dpgen_and2.html"><LINK
REL="NEXT"
TITLE="DPGEN_AND4"
HREF="man_dpgen_and4.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_and2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_and4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-AND3">DPGEN_AND3</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1222"
></A
><H2
>Name</H2
> DPGEN_AND3 &nbsp;--&nbsp; AND3 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1225"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1226"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_AND3, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1240"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits three inputs AND with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1248"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1269"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;not(i0&nbsp;and&nbsp;i1&nbsp;and&nbsp;i2)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1272"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_AND3, "model_and3_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_and3_32"
, "instance1_and3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1276"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_and2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_and4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_AND2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_AND4</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,380 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_AND4</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_AND3"
HREF="man_dpgen_and3.html"><LINK
REL="NEXT"
TITLE="DPGEN_NOR2"
HREF="man_dpgen_nor2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_and3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nor2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-AND4">DPGEN_AND4</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1292"
></A
><H2
>Name</H2
> DPGEN_AND4 &nbsp;--&nbsp; AND4 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1295"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1296"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_AND4, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1310"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits four inputs AND with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1318"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i3</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1342"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;i0&nbsp;and&nbsp;i1&nbsp;and&nbsp;i2&nbsp;and&nbsp;i3<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1345"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_AND4, "model_and4_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_and4_32"
, "instance1_and4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1349"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_and3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nor2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_AND3</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NOR2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,356 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_BUFF</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_INV"
HREF="man_dpgen_inv.html"><LINK
REL="NEXT"
TITLE="DPGEN_NAND2"
HREF="man_dpgen_nand2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_inv.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nand2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-BUFF">DPGEN_BUFF</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN881"
></A
><H2
>Name</H2
> DPGEN_BUFF &nbsp;--&nbsp; Buffer Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN884"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN885"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_BUFF, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN899"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits buffer with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2, 3 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN907"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN922"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;i0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN925"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO( DPGEN_BUFF
, "model_buff_32"
, F_BEHAV|F_PLACE
, 32
, 4
);
GENLIB_LOINS( "model_buff_32"
, "instance1_buff_32"
, "i0[31:0]", "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN929"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_inv.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nand2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_INV</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NAND2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,377 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_BUSE</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NBUSE"
HREF="man_dpgen_nbuse.html"><LINK
REL="NEXT"
TITLE="DPGEN_NAND2MASK"
HREF="man_dpgen_nand2mask.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nbuse.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nand2mask.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-BUSE">DPGEN_BUSE</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2128"
></A
><H2
>Name</H2
> DPGEN_BUSE &nbsp;--&nbsp; tristate Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2131"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2132"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_BUSE, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2144"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs tristate with named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2149"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>cmd</TT
> : select (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2173"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>ts:BLOCK(cmd = '1') BEGIN
q &#60;= GUARDED i0;
END</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2176"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_BUSE, "model_buse_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_buse_32"
, "instance1_buse_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2180"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nbuse.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nand2mask.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NBUSE</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NAND2MASK</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,348 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_CONST</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NUL"
HREF="man_dpgen_nul.html"><LINK
REL="NEXT"
TITLE="DPGEN_ROM2"
HREF="man_dpgen_rom2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nul.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_rom2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-CONST">DPGEN_CONST</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2670"
></A
><H2
>Name</H2
> DPGEN_CONST &nbsp;--&nbsp; Constant Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2673"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2674"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_CONST, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal0</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2688"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits constant named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2693"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : the constant (output, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2706"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>q &#60;= constVal;
</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2709"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_CONST, "model_const_0xFFFF0000"
, F_BEHAV|F_PLACE
, 4
, "0xFFFF0000" /* A string! */
);
GENLIB_LOINS( "model_const_0xFFFF0000"
, "instance1_const_0xFFFF0000"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2713"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nul.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_rom2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NUL</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_ROM2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,372 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_DFF</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_RF1D"
HREF="man_dpgen_rf1d.html"><LINK
REL="NEXT"
TITLE="DPGEN_DFFT"
HREF="man_dpgen_dfft.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_rf1d.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_dfft.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-DFF">DPGEN_DFF</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3095"
></A
><H2
>Name</H2
> DPGEN_DFF &nbsp;--&nbsp; Dynamic Flip-Flop Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3098"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3099"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_DFF, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3111"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits dynamic flip-flop named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
The two latches of this flip-flop are dynamic, i.e. the data is stored
in a capacitor.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> when set to <TT
CLASS="LITERAL"
>'1'</TT
> enables the writing of the
flip-flop.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN3122"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> : write enable (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>ck</TT
> : clock signal (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : data input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3145"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_DFF, "model_dff_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_dff_32"
, "instance1_dff_32"
, "wen"
, "ck"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3149"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_rf1d.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_dfft.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_RF1D</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_DFFT</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,428 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_DFFT</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_DFF"
HREF="man_dpgen_dff.html"><LINK
REL="NEXT"
TITLE="DPGEN_SFF"
HREF="man_dpgen_sff.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_dff.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_sff.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-DFFT">DPGEN_DFFT</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3165"
></A
><H2
>Name</H2
> DPGEN_DFFT &nbsp;--&nbsp; Dynamic Flip-Flop with Scan-Path Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3168"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3169"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_DFFT, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3181"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits dynamic flip-flop with scan-path
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>. The two latches of this flip-flop are
dynamic, i.e. the data is stored in a capacitor.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> <TT
CLASS="LITERAL"
>scan</TT
> when set to <TT
CLASS="LITERAL"
>'1'</TT
> enables the scan-path mode.
Note that in scan-path mode, the <TT
CLASS="LITERAL"
>wen</TT
> signal is not effective.
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>scin</TT
> : the input of the scan-path. This terminal is
different from <TT
CLASS="LITERAL"
>i0[0]</TT
>.
</P
><P
> The <TT
CLASS="LITERAL"
>scout</TT
> is <TT
CLASS="LITERAL"
>q[N-1]</TT
> (in the following
example this is <TT
CLASS="LITERAL"
>q[31]</TT
>).
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> when set to <TT
CLASS="LITERAL"
>'1'</TT
> enables the writing of the
flip-flop.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN3205"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>scan</TT
> : scan-path mode (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>scin</TT
> : scan path in (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> : write enable (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>ck</TT
> : clock signal (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : data input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3234"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="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
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3238"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_dff.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_sff.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_DFF</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_SFF</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,356 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_INV</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="GENLIB_MACRO"
HREF="man_genlib_macro.html"><LINK
REL="NEXT"
TITLE="DPGEN_BUFF"
HREF="man_dpgen_buff.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_genlib_macro.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_buff.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-INV">DPGEN_INV</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN817"
></A
><H2
>Name</H2
> DPGEN_INV &nbsp;--&nbsp; Inverter Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN820"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN821"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_INV, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN835"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits inverter with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1, 2, 3 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN843"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN858"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN861"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_INV, "model_inv_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_inv_32"
, "instance1_inv_32"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN865"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_genlib_macro.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_buff.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>GENLIB_MACRO</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_BUFF</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,376 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_MUX2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NMUX2"
HREF="man_dpgen_nmux2.html"><LINK
REL="NEXT"
TITLE="DPGEN_NBUSE"
HREF="man_dpgen_nbuse.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nmux2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nbuse.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-MUX2">DPGEN_MUX2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1992"
></A
><H2
>Name</H2
> DPGEN_MUX2 &nbsp;--&nbsp; Multiplexer Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1995"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1996"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_MUX2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2008"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs multiplexer with named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2013"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>cmd</TT
> : select (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2037"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>q &#60;= WITH cmd SELECT i0 WHEN '0',
i1 WHEN '1'; </PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2040"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_MUX2, "model_mux2_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_mux2_32"
, "instance1_mux2_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2044"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nmux2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nbuse.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NMUX2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NBUSE</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NAND2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_BUFF"
HREF="man_dpgen_buff.html"><LINK
REL="NEXT"
TITLE="DPGEN_NAND3"
HREF="man_dpgen_nand3.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_buff.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nand3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NAND2">DPGEN_NAND2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN945"
></A
><H2
>Name</H2
> DPGEN_NAND2 &nbsp;--&nbsp; NAND2 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN948"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN949"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NAND2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN963"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs NAND with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN971"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN989"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0&nbsp;and&nbsp;i1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN992"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NAND2, "model_nand2_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nand2_32"
, "instance1_nand2_32"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN996"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_buff.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nand3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_BUFF</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NAND3</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,434 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NAND2MASK</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_BUSE"
HREF="man_dpgen_buse.html"><LINK
REL="NEXT"
TITLE="DPGEN_NOR2MASK"
HREF="man_dpgen_nor2mask.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_buse.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nor2mask.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NAND2MASK">DPGEN_NAND2MASK</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2196"
></A
><H2
>Name</H2
> DPGEN_NAND2MASK &nbsp;--&nbsp; Programmable Mask Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2199"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2200"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NAND2MASK, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2214"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits conditionnal NAND mask named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> if the <TT
CLASS="LITERAL"
>cmd</TT
> signal is set to <TT
CLASS="LITERAL"
>'0'</TT
>, the mask is NOT
applied, so the whole operator behave like an inverter.
</P
></LI
><LI
><P
> if the <TT
CLASS="LITERAL"
>cmd</TT
> signal is set to <TT
CLASS="LITERAL"
>'1'</TT
>, the mask IS
applied, the output is the <I
CLASS="EMPHASIS"
>complemented</I
>
result of the input value <I
CLASS="EMPHASIS"
>ANDed</I
> with the mask
(suplied by <TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
>).
</P
></LI
></UL
>
</P
><P
> The constant <TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
> is given to the macro-generator
call, therefore the value cannot be changed afterward : it's
hard wired in the operator.
</P
><P
> A common error is to give a real C constant for the
<TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
> argument. Be aware that it is a character string.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2236"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>cmd</TT
> : mask control (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2256"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>nq &#60;= WITH cmd SELECT not(i0) WHEN '0',
not(i0 and X"0000FFFF") WHEN '1';
</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2259"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>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
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2263"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_buse.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nor2mask.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_BUSE</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NOR2MASK</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,372 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NAND3</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NAND2"
HREF="man_dpgen_nand2.html"><LINK
REL="NEXT"
TITLE="DPGEN_NAND4"
HREF="man_dpgen_nand4.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nand2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nand4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NAND3">DPGEN_NAND3</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1012"
></A
><H2
>Name</H2
> DPGEN_NAND3 &nbsp;--&nbsp; NAND3 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1015"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1016"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NAND3, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1030"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits three inputs NAND with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1038"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1059"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0&nbsp;and&nbsp;i1&nbsp;and&nbsp;i2)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1062"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NAND3, "model_nand3_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nand3_32"
, "instance1_nand3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1066"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nand2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nand4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NAND2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NAND4</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,380 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NAND4</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NAND3"
HREF="man_dpgen_nand3.html"><LINK
REL="NEXT"
TITLE="DPGEN_AND2"
HREF="man_dpgen_and2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nand3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_and2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NAND4">DPGEN_NAND4</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1082"
></A
><H2
>Name</H2
> DPGEN_NAND4 &nbsp;--&nbsp; NAND4 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1085"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1086"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NAND4, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1100"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits four inputs NAND with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1108"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i3</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1132"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0&nbsp;and&nbsp;i1&nbsp;and&nbsp;i2&nbsp;and&nbsp;i3)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1135"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NAND4, "model_nand4_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nand4_32"
, "instance1_nand4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1139"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nand3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_and2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NAND3</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_AND2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,378 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NBUSE</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_MUX2"
HREF="man_dpgen_mux2.html"><LINK
REL="NEXT"
TITLE="DPGEN_BUSE"
HREF="man_dpgen_buse.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_mux2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_buse.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NBUSE">DPGEN_NBUSE</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2060"
></A
><H2
>Name</H2
> DPGEN_NBUSE &nbsp;--&nbsp; Tristate Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2063"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2064"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NBUSE, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2076"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs tristate with a complemented
output named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2081"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>cmd</TT
> : select (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2105"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>nts:BLOCK(cmd = '1') BEGIN
nq &#60;= GUARDED not(i0);
END</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2108"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NBUSE, "model_nbuse_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_nbuse_32"
, "instance1_nbuse_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2112"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_mux2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_buse.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_MUX2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_BUSE</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,396 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NMUX2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_XOR2"
HREF="man_dpgen_xor2.html"><LINK
REL="NEXT"
TITLE="DPGEN_MUX2"
HREF="man_dpgen_mux2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_xor2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_mux2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NMUX2">DPGEN_NMUX2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1919"
></A
><H2
>Name</H2
> DPGEN_NMUX2 &nbsp;--&nbsp; Multiplexer Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1922"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1923"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NMUX2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1937"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs multiplexer with a complemented
output and a power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1945"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>cmd</TT
> : select (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1969"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>nq &#60;= WITH cmd SELECT not i0 WHEN '0',
not i1 WHEN '1'; </PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1972"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NMUX2, "model_nmux2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_nmux2_32"
, "instance1_nmux2_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1976"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_xor2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_mux2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_XOR2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_MUX2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NOR2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_AND4"
HREF="man_dpgen_and4.html"><LINK
REL="NEXT"
TITLE="DPGEN_NOR3"
HREF="man_dpgen_nor3.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_and4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nor3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NOR2">DPGEN_NOR2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1365"
></A
><H2
>Name</H2
> DPGEN_NOR2 &nbsp;--&nbsp; NOR2 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1368"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1369"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NOR2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1383"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs NOR with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1391"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1409"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0&nbsp;or&nbsp;i1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1412"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NOR2, "model_nor2_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nor2_32"
, "instance1_nor2_32"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1416"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_and4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nor3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_AND4</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NOR3</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,434 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NOR2MASK</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NAND2MASK"
HREF="man_dpgen_nand2mask.html"><LINK
REL="NEXT"
TITLE="DPGEN_XNOR2MASK"
HREF="man_dpgen_xnor2mask.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nand2mask.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_xnor2mask.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NOR2MASK">DPGEN_NOR2MASK</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2279"
></A
><H2
>Name</H2
> DPGEN_NOR2MASK &nbsp;--&nbsp; Programmable Mask Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2282"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2283"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NOR2MASK, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2297"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits conditionnal NOR mask named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> if the <TT
CLASS="LITERAL"
>cmd</TT
> signal is set to <TT
CLASS="LITERAL"
>'0'</TT
>, the mask is NOT
applied, so the whole operator behave like an inverter.
</P
></LI
><LI
><P
> if the <TT
CLASS="LITERAL"
>cmd</TT
> signal is set to <TT
CLASS="LITERAL"
>'1'</TT
>, the mask IS
applied, the output is the <I
CLASS="EMPHASIS"
>complemented</I
>
result of the input value <I
CLASS="EMPHASIS"
>ORed</I
> with the mask
(suplied by <TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
>).
</P
></LI
></UL
>
</P
><P
> The constant <TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
> is given to the macro-generator
call, therefore the value cannot be changed afterward : it's
hard wired in the operator.
</P
><P
> A common error is to give a real C constant for the
<TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
> argument. Be aware that it is a character string.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2319"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>cmd</TT
> : mask control (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2339"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>nq &#60;= WITH cmd SELECT not(i0) WHEN '0',
not(i0 or X"0000FFFF") WHEN '1';
</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2342"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>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
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2346"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nand2mask.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_xnor2mask.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NAND2MASK</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_XNOR2MASK</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,372 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NOR3</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NOR2"
HREF="man_dpgen_nor2.html"><LINK
REL="NEXT"
TITLE="DPGEN_NOR4"
HREF="man_dpgen_nor4.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nor2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nor4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NOR3">DPGEN_NOR3</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1432"
></A
><H2
>Name</H2
> DPGEN_NOR3 &nbsp;--&nbsp; NOR3 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1435"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1436"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NOR3, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1450"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits three inputs NOR with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1458"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1479"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0&nbsp;or&nbsp;i1&nbsp;or&nbsp;i2)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1482"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NOR3, "model_nor3_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nor3_32"
, "instance1_nor3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1486"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nor2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nor4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NOR2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NOR4</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,380 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NOR4</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NOR3"
HREF="man_dpgen_nor3.html"><LINK
REL="NEXT"
TITLE="DPGEN_OR2"
HREF="man_dpgen_or2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nor3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_or2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NOR4">DPGEN_NOR4</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1502"
></A
><H2
>Name</H2
> DPGEN_NOR4 &nbsp;--&nbsp; NOR4 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1505"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1506"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NOR4, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1520"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits four inputs NOR with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1528"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i3</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1552"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0&nbsp;or&nbsp;i1&nbsp;or&nbsp;i2&nbsp;or&nbsp;i3)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1555"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NOR4, "model_nor4_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nor4_32"
, "instance1_nor4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1559"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nor3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_or2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NOR3</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_OR2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,341 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_NUL</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_SHIFT"
HREF="man_dpgen_shift.html"><LINK
REL="NEXT"
TITLE="DPGEN_CONST"
HREF="man_dpgen_const.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_shift.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_const.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-NUL">DPGEN_NUL</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2610"
></A
><H2
>Name</H2
> DPGEN_NUL &nbsp;--&nbsp; Zero Detector Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2613"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2614"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_NUL, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2626"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits zero detector named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2631"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : value to check (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : null flag (output, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2647"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;&#60;=&nbsp;'1'&nbsp;WHEN&nbsp;(i0&nbsp;=&nbsp;X"00000000")&nbsp;ELSE&nbsp;'0';<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2650"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_NUL, "model_nul_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_nul_32"
, "instance1_nul_32"
, "i0[31:0]"
, "q" /* Flag null. */
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2654"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_shift.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_const.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_SHIFT</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_CONST</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_OR2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NOR4"
HREF="man_dpgen_nor4.html"><LINK
REL="NEXT"
TITLE="DPGEN_OR3"
HREF="man_dpgen_or3.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nor4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_or3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-OR2">DPGEN_OR2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1575"
></A
><H2
>Name</H2
> DPGEN_OR2 &nbsp;--&nbsp; OR2 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1578"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1579"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_OR2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1593"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs OR with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1601"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1619"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;i0&nbsp;or&nbsp;i1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1622"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_OR2, "model_or2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_or2_32"
, "instance1_or2_32"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1626"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nor4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_or3.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NOR4</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_OR3</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,372 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_OR3</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_OR2"
HREF="man_dpgen_or2.html"><LINK
REL="NEXT"
TITLE="DPGEN_OR4"
HREF="man_dpgen_or4.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_or2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_or4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-OR3">DPGEN_OR3</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1642"
></A
><H2
>Name</H2
> DPGEN_OR3 &nbsp;--&nbsp; OR3 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1645"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1646"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_OR3, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1660"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits three inputs OR with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1668"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1689"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;not(i0&nbsp;or&nbsp;i1&nbsp;or&nbsp;i2)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1692"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_OR3, "model_or3_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_or3_32"
, "instance1_or3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1696"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_or2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_or4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_OR2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_OR4</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,380 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_OR4</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_OR3"
HREF="man_dpgen_or3.html"><LINK
REL="NEXT"
TITLE="DPGEN_XNOR2"
HREF="man_dpgen_xnor2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_or3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_xnor2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-OR4">DPGEN_OR4</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1712"
></A
><H2
>Name</H2
> DPGEN_OR4 &nbsp;--&nbsp; OR4 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1715"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1716"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_OR4, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1730"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits four inputs OR with an output power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
>
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 2 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1738"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i3</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i2</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1762"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;i0&nbsp;or&nbsp;i1&nbsp;or&nbsp;i2&nbsp;or&nbsp;i3<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1765"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_OR4, "model_or4_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_or4_32"
, "instance1_or4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1769"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_or3.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_xnor2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_OR3</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_XNOR2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,492 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_RF1</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_ROM4"
HREF="man_dpgen_rom4.html"><LINK
REL="NEXT"
TITLE="DPGEN_RF1D"
HREF="man_dpgen_rf1d.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_rom4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_rf1d.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-RF1">DPGEN_RF1</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2864"
></A
><H2
>Name</H2
> DPGEN_RF1 , DPGEN_RF1R0 &nbsp;--&nbsp; Register File Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2868"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2869"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_RF1, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_RF1R0, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2891"
></A
><H2
> Description </H2
><P
> Generate a register file of <TT
CLASS="REPLACEABLE"
><I
>regNumber</I
></TT
> words of <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits
whitout decoder named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>. The <TT
CLASS="LITERAL"
>DPGEN_RF1R0</TT
> variant differs
from the <TT
CLASS="LITERAL"
>DPGEN_RF1</TT
> in that the register of address zero is stuck to
zero. You can write into it, it will not change the value. When read,
it will always return zero.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> <TT
CLASS="LITERAL"
>datain0</TT
> and <TT
CLASS="LITERAL"
>datain1</TT
> : the two write busses. Only one
is used to actually write the register word, it is selected by
the <TT
CLASS="LITERAL"
>sel</TT
> signal.
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>sel</TT
> : when set to <TT
CLASS="LITERAL"
>'0'</TT
> the <TT
CLASS="LITERAL"
>datain0</TT
> is used to write
the register word, otherwise it will be <TT
CLASS="LITERAL"
>datain1</TT
>.
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>selr</TT
>, <TT
CLASS="LITERAL"
>selw</TT
> : this register file have no decoder, so
<TT
CLASS="LITERAL"
>selr</TT
> have a bus width equal to <TT
CLASS="REPLACEABLE"
><I
>regNumber</I
></TT
>. One bit for each word.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2918"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>ckok</TT
> : clock signal (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>sel</TT
> : select the write bus (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>selr</TT
> : the decoded read address (input, <TT
CLASS="REPLACEABLE"
><I
>regNumber</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>selw</TT
> : the decoded write address (input, <TT
CLASS="REPLACEABLE"
><I
>regNumber</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>datain0</TT
> : first write bus (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>datain1</TT
> : second write bus (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>dataout</TT
> : read bus (output, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2953"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_RF1, "model_rf1x8_32"
, F_BEHAV|F_PLACE
, 32 /* Words size. */
, 8 /* Number of words. */
);
GENLIB_LOINS( "model_rf1x8_32"
, "instance1_rf1_32"
, "ckok"
, "sel"
, "selr[7:0]"
, "selw[7:0]"
, "datain0[31:0]"
, "datain1[31:0]"
, "dataout[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2957"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_rom4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_rf1d.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_ROM4</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_RF1D</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,531 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_RF1D</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_RF1"
HREF="man_dpgen_rf1.html"><LINK
REL="NEXT"
TITLE="DPGEN_DFF"
HREF="man_dpgen_dff.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_rf1.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_dff.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-RF1D">DPGEN_RF1D</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2973"
></A
><H2
>Name</H2
> DPGEN_RF1D , DPGEN_RF1DR0 &nbsp;--&nbsp; Register File with Decoder Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2977"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2978"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_RF1D, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_RF1DR0, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3000"
></A
><H2
> Description </H2
><P
> Generate a register file of <TT
CLASS="REPLACEABLE"
><I
>regNumber</I
></TT
> words of <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits
with decoder named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>. The <TT
CLASS="LITERAL"
>DPGEN_RF1DR0</TT
> variant differs
from the <TT
CLASS="LITERAL"
>DPGEN_RF1D</TT
> in that the register of address zero is stuck to
zero. You can write into it, it will not change the value. When read,
it will always return zero.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> <TT
CLASS="LITERAL"
>datain0</TT
> and <TT
CLASS="LITERAL"
>datain1</TT
> : the two write busses. Only one
is used to actually write the register word, it is selected by
the <TT
CLASS="LITERAL"
>sel</TT
> signal.
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>sel</TT
> : when set to <TT
CLASS="LITERAL"
>'0'</TT
> the <TT
CLASS="LITERAL"
>datain0</TT
> is used to write
the register word, otherwise it will be <TT
CLASS="LITERAL"
>datain1</TT
>.
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>adr</TT
>, <TT
CLASS="LITERAL"
>adw</TT
> : the width (<TT
CLASS="REPLACEABLE"
><I
>Y</I
></TT
>) of those signals is
computed from <TT
CLASS="REPLACEABLE"
><I
>regNumber</I
></TT
> :
<TT
CLASS="LITERAL"
>Y = log<SUB
>2</SUB
>(regNumber)</TT
>.
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> and <TT
CLASS="LITERAL"
>ren</TT
> : write enable and read enable, allows
reading and writing when sets to <TT
CLASS="LITERAL"
>'1'</TT
>.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN3034"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>ck</TT
> : clock signal (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>sel</TT
> : select the write bus (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> : write enable (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>ren</TT
> : read enable (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>adr</TT
> : the read address (input, <TT
CLASS="REPLACEABLE"
><I
>Y</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>adw</TT
> : the write address (input, <TT
CLASS="REPLACEABLE"
><I
>Y</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>datain0</TT
> : first write bus (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>datain1</TT
> : second write bus (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>dataout</TT
> : read bus (output, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3075"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_RF1D, "model_rf1dx8_32"
, F_BEHAV|F_PLACE
, 32 /* Words size. */
, 8 /* Number of words. */
);
GENLIB_LOINS( "model_rf1dx8_32"
, "instance1_rf1d_32"
, "ck"
, "sel"
, "wen"
, "ren"
, "adr[2:0]"
, "adw[2:0]"
, "datain0[31:0]"
, "datain1[31:0]"
, "dataout[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3079"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_rf1.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_dff.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_RF1</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_DFF</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_ROM2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_CONST"
HREF="man_dpgen_const.html"><LINK
REL="NEXT"
TITLE="DPGEN_ROM4"
HREF="man_dpgen_rom4.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_const.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_rom4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-ROM2">DPGEN_ROM2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2729"
></A
><H2
>Name</H2
> DPGEN_ROM2 &nbsp;--&nbsp; 2 words ROM Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2732"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2733"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_ROM2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal0</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal1</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2749"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits 2 words optimized ROM named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2754"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>sel0</TT
> : address of the value (input, 1 bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : the selected word (output, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2770"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>q &#60;= WITH sel0 SELECT
contsVal0 WHEN B"0",
constVal1 WHEN B"1";
</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2773"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_ROM2, "model_rom2_set1_4"
, F_BEHAV|F_PLACE
, 4
, "0b1010" /* A string! */
, "0b1100" /* A string! */
);
GENLIB_LOINS( "model_rom2_set1_4"
, "instance1_rom2_4"
, "sel0"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2777"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_const.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_rom4.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_CONST</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_ROM4</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,385 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_ROM4</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_ROM2"
HREF="man_dpgen_rom2.html"><LINK
REL="NEXT"
TITLE="DPGEN_RF1"
HREF="man_dpgen_rf1.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_rom2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_rf1.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-ROM4">DPGEN_ROM4</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2793"
></A
><H2
>Name</H2
> DPGEN_ROM4 &nbsp;--&nbsp; 4 words ROM Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2796"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2797"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_ROM4, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal0</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal1</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal2</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal3</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2817"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits 2 words optimized ROM named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2822"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>sel1</TT
> : upper bit of the address (input, 1 bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>sel0</TT
> : lower bit of the address (input, 1 bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : the selected word (output, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2841"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>q &#60;= WITH sel1 &#38; sel0 SELECT contsVal0 WHEN B"00",
contsVal1 WHEN B"01",
contsVal2 WHEN B"10",
constVal3 WHEN B"11";
</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2844"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_ROM4, "model_rom4_set1_16"
, F_BEHAV|F_PLACE
, 4
, "0xFF00" /* A string! */
, "0xCCCC" /* A string! */
, "0xF0F0" /* A string! */
, "0xAAAA" /* A string! */
);
GENLIB_LOINS( "model_rom4_set1_16"
, "instance1_rom4_set1_16"
, "sel1"
, "sel0"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2848"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_rom2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_rf1.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_ROM2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_RF1</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,372 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_SFF</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_DFFT"
HREF="man_dpgen_dfft.html"><LINK
REL="NEXT"
TITLE="DPGEN_SFFT"
HREF="man_dpgen_sfft.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_dfft.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_sfft.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-SFF">DPGEN_SFF</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3254"
></A
><H2
>Name</H2
> DPGEN_SFF &nbsp;--&nbsp; Static Flip-Flop Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3257"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3258"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_SFF, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3270"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits static flip-flop named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
The two latches of this flip-flop are static, i.e. each one is made
of two interters looped togethers.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> when set to <TT
CLASS="LITERAL"
>'1'</TT
> enables the writing of the
flip-flop.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN3281"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> : write enable (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>ck</TT
> : clock signal (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : data input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3304"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_SFF, "model_sff_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_sff_32"
, "instance1_sff_32"
, "wen"
, "ck"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3308"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_dfft.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_sfft.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_DFFT</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_SFFT</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,417 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_SFFT</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_SFF"
HREF="man_dpgen_sff.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_sff.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
>&nbsp;</TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-SFFT">DPGEN_SFFT</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3324"
></A
><H2
>Name</H2
> DPGEN_SFFT &nbsp;--&nbsp; Static Flip-Flop with Scan-Path Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3327"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3328"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_SFFT, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3340"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits static flip-flop with scan-path
named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>. The two latches of this flip-flop are
i.e. each one is made of two interters looped togethers.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> <TT
CLASS="LITERAL"
>scan</TT
> when set to <TT
CLASS="LITERAL"
>'1'</TT
> enables the scan-path mode.
Note that in scan-path mode, the <TT
CLASS="LITERAL"
>wen</TT
> signal is not effective.
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>scin</TT
> : the input of the scan-path. This terminal is
different from <TT
CLASS="LITERAL"
>i0[0]</TT
>.
</P
><P
> The <TT
CLASS="LITERAL"
>scout</TT
> is <TT
CLASS="LITERAL"
>q[N-1]</TT
> (in the following
example this is <TT
CLASS="LITERAL"
>q[31]</TT
>).
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> when set to <TT
CLASS="LITERAL"
>'1'</TT
> enables the writing of the
flip-flop.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN3364"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>scan</TT
> : scan-path mode (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>scin</TT
> : scan path in (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>wen</TT
> : write enable (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>ck</TT
> : clock signal (input, 1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : data input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3393"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_SFFT, "model_sfft_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_sfft_32"
, "instance1_sfft_32"
, "scan"
, "scin"
, "wen"
, "ck"
, "i0[31:0]"
, "q[31:0]" /* a[31] is "scout". */
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3397"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_sff.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_SFF</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,410 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_SHIFT</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_ADSB2F"
HREF="man_dpgen_adsb2f.html"><LINK
REL="NEXT"
TITLE="DPGEN_NUL"
HREF="man_dpgen_nul.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_adsb2f.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nul.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-SHIFT">DPGEN_SHIFT</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2529"
></A
><H2
>Name</H2
> DPGEN_SHIFT &nbsp;--&nbsp; Shifter Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2532"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2533"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_SHIFT, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2545"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits shifter named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> if <TT
CLASS="LITERAL"
>op[0]</TT
> signal is set to <TT
CLASS="LITERAL"
>'1'</TT
> perform
a right shift, left shift otherwise.
</P
></LI
><LI
><P
> if <TT
CLASS="LITERAL"
>op[1]</TT
> signal is set to <TT
CLASS="LITERAL"
>'1'</TT
> perform
a sign extention, i.e. an arithmetic shift (only meaningful in case
of a right shift).
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>shamt</TT
> : specify the shift amount. The wide of this signal
(<TT
CLASS="REPLACEABLE"
><I
>Y</I
></TT
>) is computed from the operator's wide :
<TT
CLASS="LITERAL"
>Y = log<SUB
>2</SUB
>(N) - 1</TT
>.
</P
></LI
></UL
>
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2566"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>op</TT
> : select the kind of shift (input, 2 bit).
</P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>shamt</TT
> : the shift amount (input, <TT
CLASS="REPLACEABLE"
><I
>Y</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : value to shift (input, <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2590"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_SHIFT, "model_shift_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_shift_32"
, "instance1_shift_32"
, "add_sub"
, "op[1:0]"
, "shamt[4:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2594"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_adsb2f.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nul.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_ADSB2F</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NUL</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_XNOR2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_OR4"
HREF="man_dpgen_or4.html"><LINK
REL="NEXT"
TITLE="DPGEN_XOR2"
HREF="man_dpgen_xor2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_or4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_xor2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-XNOR2">DPGEN_XNOR2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1785"
></A
><H2
>Name</H2
> DPGEN_XNOR2 &nbsp;--&nbsp; XNOR2 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1788"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1789"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_XNOR2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1803"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs exclusive NOR with an output
power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1811"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>nq</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1829"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>nq&nbsp;&#60;=&nbsp;not(i0&nbsp;xor&nbsp;i1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1832"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_XNOR2, "model_xnor2_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_xnor2_32"
, "instance1_xnor2_32"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1836"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_or4.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_xor2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_OR4</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_XOR2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,434 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_XNOR2MASK</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_NOR2MASK"
HREF="man_dpgen_nor2mask.html"><LINK
REL="NEXT"
TITLE="DPGEN_ADSB2F"
HREF="man_dpgen_adsb2f.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_nor2mask.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_adsb2f.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-XNOR2MASK">DPGEN_XNOR2MASK</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2362"
></A
><H2
>Name</H2
> DPGEN_XNOR2MASK &nbsp;--&nbsp; Programmable Mask Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2365"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2366"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_XNOR2MASK, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, char *<TT
CLASS="PARAMETER"
><I
>constVal</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2380"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits conditionnal XNOR mask named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> How it works :
<P
></P
><UL
><LI
><P
> if the <TT
CLASS="LITERAL"
>cmd</TT
> signal is set to <TT
CLASS="LITERAL"
>'0'</TT
>, the mask is NOT
applied, so the whole operator behave like an inverter.
</P
></LI
><LI
><P
> if the <TT
CLASS="LITERAL"
>cmd</TT
> signal is set to <TT
CLASS="LITERAL"
>'1'</TT
>, the mask IS
applied, the output is the <I
CLASS="EMPHASIS"
>complemented</I
>
result of the input value <I
CLASS="EMPHASIS"
>XORed</I
> with the mask
(suplied by <TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
>).
</P
></LI
></UL
>
</P
><P
> The constant <TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
> is given to the macro-generator
call, therefore the value cannot be changed afterward : it's
hard wired in the operator.
</P
><P
> A common error is to give a real C constant for the
<TT
CLASS="REPLACEABLE"
><I
>constVal</I
></TT
> argument. Be aware that it is a character string.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2402"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>cmd</TT
> : mask control (1 bit). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output (<TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits). </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN2422"
></A
><H3
> Behavior </H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>nq &#60;= WITH cmd SELECT not(i0) WHEN '0',
not(i0 xor X"0000FFFF") WHEN '1';
</PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2425"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_XNOR2MASK, "model_xnor2mask_0000FFFF_32"
, F_BEHAV|F_PLACE
, 32
, "0x0000FFFF" /* A string! */
);
GENLIB_LOINS( "model_xnor2mask_0000FFFF_32"
, "instance1_xnor2mask_32"
, "cmd"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2429"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_nor2mask.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_adsb2f.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_NOR2MASK</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_ADSB2F</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>DPGEN_XOR2</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="UP"
TITLE="Alliance - genlib User's Manual "
HREF="ref_genlib.html"><LINK
REL="PREVIOUS"
TITLE="DPGEN_XNOR2"
HREF="man_dpgen_xnor2.html"><LINK
REL="NEXT"
TITLE="DPGEN_NMUX2"
HREF="man_dpgen_nmux2.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="man_dpgen_xnor2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_dpgen_nmux2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="DPGEN-XOR2">DPGEN_XOR2</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1852"
></A
><H2
>Name</H2
> DPGEN_XOR2 &nbsp;--&nbsp; XOR2 Macro-Generator </DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1855"><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1856"><P
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;genlib.h&#62;</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>GENLIB_MACRO</TT
></CODE
>(DPGEN_XOR2, char *<TT
CLASS="PARAMETER"
><I
>modelname</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>N</I
></TT
>, long <TT
CLASS="PARAMETER"
><I
>drive</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1870"
></A
><H2
> Description </H2
><P
> Generate a <TT
CLASS="REPLACEABLE"
><I
>N</I
></TT
> bits two inputs exclusive OR with an output
power of <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> named <TT
CLASS="REPLACEABLE"
><I
>modelname</I
></TT
>.
</P
><P
> Valid <TT
CLASS="REPLACEABLE"
><I
>drive</I
></TT
> are : 1 or 4.
</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1878"
></A
><H3
> Terminal Names </H3
><P
></P
><OL
TYPE="1"
><LI
><P
> <TT
CLASS="LITERAL"
>i1</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>i0</TT
> : input. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>q</TT
> : output. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vdd</TT
> : power. </P
></LI
><LI
><P
> <TT
CLASS="LITERAL"
>vss</TT
> : ground. </P
></LI
></OL
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN1896"
></A
><H3
> Behavior </H3
><P
CLASS="LITERALLAYOUT"
>q&nbsp;&#60;=&nbsp;i0&nbsp;xor&nbsp;i1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1899"
></A
><H2
> Example </H2
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GENLIB_MACRO(DPGEN_XOR2, "model_xor2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_xor2_32"
, "instance1_xor2_32"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1903"
></A
><H2
>See Also</H2
><P
> <A
HREF="man_genlib_macro.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>GENLIB_MACRO</SPAN
>(3)</SPAN
></A
>,
<A
HREF="man_genlib.html"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>genlib</SPAN
>(1)</SPAN
></A
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="man_dpgen_xnor2.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_dpgen_nmux2.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DPGEN_XNOR2</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref_genlib.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DPGEN_NMUX2</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,339 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Alliance - genlib User's Manual </TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="PREVIOUS"
TITLE=" GenLib User's Manual "
HREF="genlib.html"><LINK
REL="NEXT"
TITLE="genlib"
HREF="man_genlib.html"></HEAD
><BODY
CLASS="REFERENCE"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GenLib User's Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="genlib.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="man_genlib.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="REFERENCE"
><A
NAME="REF-GENLIB"><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
>I. <I
CLASS="EMPHASIS"
>Alliance</I
> - <I
CLASS="EMPHASIS"
>genlib</I
> User's Manual </H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="man_genlib.html"
>genlib</A
>&nbsp;--&nbsp; Procedural design language based upon C. </DT
><DT
><A
HREF="man_genlib_macro.html"
>GENLIB_MACRO</A
>&nbsp;--&nbsp; Interface with all MACRO generators. </DT
><DT
><A
HREF="man_dpgen_inv.html"
>DPGEN_INV</A
>&nbsp;--&nbsp; Inverter Macro-Generator </DT
><DT
><A
HREF="man_dpgen_buff.html"
>DPGEN_BUFF</A
>&nbsp;--&nbsp; Buffer Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand2.html"
>DPGEN_NAND2</A
>&nbsp;--&nbsp; NAND2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand3.html"
>DPGEN_NAND3</A
>&nbsp;--&nbsp; NAND3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand4.html"
>DPGEN_NAND4</A
>&nbsp;--&nbsp; NAND4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_and2.html"
>DPGEN_AND2</A
>&nbsp;--&nbsp; AND2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_and3.html"
>DPGEN_AND3</A
>&nbsp;--&nbsp; AND3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_and4.html"
>DPGEN_AND4</A
>&nbsp;--&nbsp; AND4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor2.html"
>DPGEN_NOR2</A
>&nbsp;--&nbsp; NOR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor3.html"
>DPGEN_NOR3</A
>&nbsp;--&nbsp; NOR3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor4.html"
>DPGEN_NOR4</A
>&nbsp;--&nbsp; NOR4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_or2.html"
>DPGEN_OR2</A
>&nbsp;--&nbsp; OR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_or3.html"
>DPGEN_OR3</A
>&nbsp;--&nbsp; OR3 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_or4.html"
>DPGEN_OR4</A
>&nbsp;--&nbsp; OR4 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_xnor2.html"
>DPGEN_XNOR2</A
>&nbsp;--&nbsp; XNOR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_xor2.html"
>DPGEN_XOR2</A
>&nbsp;--&nbsp; XOR2 Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nmux2.html"
>DPGEN_NMUX2</A
>&nbsp;--&nbsp; Multiplexer Macro-Generator </DT
><DT
><A
HREF="man_dpgen_mux2.html"
>DPGEN_MUX2</A
>&nbsp;--&nbsp; Multiplexer Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nbuse.html"
>DPGEN_NBUSE</A
>&nbsp;--&nbsp; Tristate Macro-Generator </DT
><DT
><A
HREF="man_dpgen_buse.html"
>DPGEN_BUSE</A
>&nbsp;--&nbsp; tristate Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nand2mask.html"
>DPGEN_NAND2MASK</A
>&nbsp;--&nbsp; Programmable Mask Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nor2mask.html"
>DPGEN_NOR2MASK</A
>&nbsp;--&nbsp; Programmable Mask Macro-Generator </DT
><DT
><A
HREF="man_dpgen_xnor2mask.html"
>DPGEN_XNOR2MASK</A
>&nbsp;--&nbsp; Programmable Mask Macro-Generator </DT
><DT
><A
HREF="man_dpgen_adsb2f.html"
>DPGEN_ADSB2F</A
>&nbsp;--&nbsp; Adder/Substractor Macro-Generator </DT
><DT
><A
HREF="man_dpgen_shift.html"
>DPGEN_SHIFT</A
>&nbsp;--&nbsp; Shifter Macro-Generator </DT
><DT
><A
HREF="man_dpgen_nul.html"
>DPGEN_NUL</A
>&nbsp;--&nbsp; Zero Detector Macro-Generator </DT
><DT
><A
HREF="man_dpgen_const.html"
>DPGEN_CONST</A
>&nbsp;--&nbsp; Constant Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rom2.html"
>DPGEN_ROM2</A
>&nbsp;--&nbsp; 2 words ROM Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rom4.html"
>DPGEN_ROM4</A
>&nbsp;--&nbsp; 4 words ROM Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rf1.html"
>DPGEN_RF1</A
>&nbsp;--&nbsp; Register File Macro-Generator </DT
><DT
><A
HREF="man_dpgen_rf1d.html"
>DPGEN_RF1D</A
>&nbsp;--&nbsp; Register File with Decoder Macro-Generator </DT
><DT
><A
HREF="man_dpgen_dff.html"
>DPGEN_DFF</A
>&nbsp;--&nbsp; Dynamic Flip-Flop Macro-Generator </DT
><DT
><A
HREF="man_dpgen_dfft.html"
>DPGEN_DFFT</A
>&nbsp;--&nbsp; Dynamic Flip-Flop with Scan-Path Macro-Generator </DT
><DT
><A
HREF="man_dpgen_sff.html"
>DPGEN_SFF</A
>&nbsp;--&nbsp; Static Flip-Flop Macro-Generator </DT
><DT
><A
HREF="man_dpgen_sfft.html"
>DPGEN_SFFT</A
>&nbsp;--&nbsp; Static Flip-Flop with Scan-Path Macro-Generator </DT
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="genlib.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="man_genlib.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>GenLib User's Manual</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>genlib</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,118 @@
<refentry id="DPGEN-ADSB2F">
<?dbhtml filename="man_dpgen_adsb2f.html">
<refmeta>
<refentrytitle>DPGEN_ADSB2F</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_ADSB2F </refname>
<refpurpose> Adder/Substractor Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_ADSB2F</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 adder/substractor named &modelname;.
</para>
<para> How it works :
<itemizedlist>
<listitem>
<para> if the &add-sub; signal is set to &zero; an addition is
performed, otherwise it's a substraction.
</para>
</listitem>
<listitem>
<para> Operation can be either signed or unsigned. In unsigned
mode &c32; is the overflow, in unsigned mode you have to compute
overflow by <emphasis>XORing</emphasis> &c32; and &c31;.
</para>
</listitem>
</itemizedlist>
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &add-sub; : select addition or substraction
(input, 1 bit).
</para>
</listitem>
<listitem>
<para> &c32; : carry out. In unsigned mode, this is the
overflow (output, 1 bits). </para>
</listitem>
<listitem>
<para> &c31; : used to compute overflow in signed mode :
<literal>overflow := c32 xor c31</literal> (output, 1 bits).
</para>
</listitem>
<listitem>
<para> &i1; : first operand (input, &N; bits). </para>
</listitem>
<listitem>
<para> &i0; : second operand (input, &N; bits). </para>
</listitem>
<listitem>
<para> &q; : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_ADSB2F, "model_adsb2f_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_adsb2f_32"
, "instance1_adsb2f_32"
, "add_sub"
, "c32"
, "c31"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,100 @@
<refentry id="DPGEN-AND2">
<?dbhtml filename="man_dpgen_and2.html">
<refmeta>
<refentrytitle>DPGEN_AND2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_AND2 </refname>
<refpurpose> AND2 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_AND2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits two inputs AND with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 2 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= i0 and i1
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_AND2, "model_and2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_and2_32"
, "instance1_and2_32"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,104 @@
<refentry id="DPGEN-AND3">
<?dbhtml filename="man_dpgen_and3.html">
<refmeta>
<refentrytitle>DPGEN_AND3</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_AND3 </refname>
<refpurpose> AND3 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_AND3</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits three inputs AND with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 2 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= not(i0 and i1 and i2)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_AND3, "model_and3_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_and3_32"
, "instance1_and3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,108 @@
<refentry id="DPGEN-AND4">
<?dbhtml filename="man_dpgen_and4.html">
<refmeta>
<refentrytitle>DPGEN_AND4</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_AND4 </refname>
<refpurpose> AND4 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_AND4</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits four inputs AND with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 2 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i3</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= i0 and i1 and i2 and i3
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_AND4, "model_and4_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_and4_32"
, "instance1_and4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,96 @@
<refentry id="DPGEN-BUFF">
<?dbhtml filename="man_dpgen_buff.html">
<refmeta>
<refentrytitle>DPGEN_BUFF</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_BUFF </refname>
<refpurpose> Buffer Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_BUFF</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits buffer with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 2, 3 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= i0
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO( DPGEN_BUFF
, "model_buff_32"
, F_BEHAV|F_PLACE
, 32
, 4
);
GENLIB_LOINS( "model_buff_32"
, "instance1_buff_32"
, "i0[31:0]", "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,101 @@
<refentry id="DPGEN-BUSE">
<?dbhtml filename="man_dpgen_buse.html">
<refmeta>
<refentrytitle>DPGEN_BUSE</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_BUSE </refname>
<refpurpose> tristate Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_BUSE</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 two inputs tristate with named &modelname;.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>cmd</literal> : select (1 bit). </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
ts:BLOCK(cmd = '1') BEGIN
q <= GUARDED i0;
END
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_BUSE, "model_buse_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_buse_32"
, "instance1_buse_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,89 @@
<refentry id="DPGEN-CONST">
<?dbhtml filename="man_dpgen_const.html">
<refmeta>
<refentrytitle>DPGEN_CONST</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_CONST </refname>
<refpurpose> Constant Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_CONST</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>char *<parameter>constVal0</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits constant named &modelname;.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &q; : the constant (output, &N; bit). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
q <= constVal;
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_CONST, "model_const_0xFFFF0000"
, F_BEHAV|F_PLACE
, 4
, "0xFFFF0000" /* A string! */
);
GENLIB_LOINS( "model_const_0xFFFF0000"
, "instance1_const_0xFFFF0000"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,101 @@
<refentry id="DPGEN-DFF">
<?dbhtml filename="man_dpgen_dff.html">
<refmeta>
<refentrytitle>DPGEN_DFF</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_DFF </refname>
<refpurpose> Dynamic Flip-Flop Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_DFF</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 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> &wen; when set to &one; enables the writing of the
flip-flop.
</para>
</listitem>
</itemizedlist>
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &wen; : write enable (1 bit). </para>
</listitem>
<listitem>
<para> &ck; : clock signal (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_DFF, "model_dff_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_dff_32"
, "instance1_dff_32"
, "wen"
, "ck"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,122 @@
<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>

View File

@ -0,0 +1,96 @@
<refentry id="DPGEN-INV">
<?dbhtml filename="man_dpgen_inv.html">
<refmeta>
<refentrytitle>DPGEN_INV</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_INV </refname>
<refpurpose> Inverter Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_INV</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits inverter with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 1, 2, 3 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_INV, "model_inv_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_inv_32"
, "instance1_inv_32"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,100 @@
<refentry id="DPGEN-MUX2">
<?dbhtml filename="man_dpgen_mux2.html">
<refmeta>
<refentrytitle>DPGEN_MUX2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_MUX2 </refname>
<refpurpose> Multiplexer Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_MUX2</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 two inputs multiplexer with named &modelname;.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>cmd</literal> : select (1 bit). </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
q <= WITH cmd SELECT i0 WHEN '0',
i1 WHEN '1';
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_MUX2, "model_mux2_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_mux2_32"
, "instance1_mux2_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,100 @@
<refentry id="DPGEN-NAND2">
<?dbhtml filename="man_dpgen_nand2.html">
<refmeta>
<refentrytitle>DPGEN_NAND2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NAND2 </refname>
<refpurpose> NAND2 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NAND2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits two inputs NAND with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0 and i1)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NAND2, "model_nand2_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nand2_32"
, "instance1_nand2_32"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,121 @@
<refentry id="DPGEN-NAND2MASK">
<?dbhtml filename="man_dpgen_nand2mask.html">
<refmeta>
<refentrytitle>DPGEN_NAND2MASK</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NAND2MASK </refname>
<refpurpose> Programmable Mask Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NAND2MASK</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>char *<parameter>constVal</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits conditionnal NAND mask named &modelname;.
</para>
<para> How it works :
<itemizedlist>
<listitem>
<para> if the &cmd; signal is set to &zero;, the mask is NOT
applied, so the whole operator behave like an inverter.
</para>
</listitem>
<listitem>
<para> if the &cmd; signal is set to &one;, the mask IS
applied, the output is the <emphasis>complemented</emphasis>
result of the input value <emphasis>ANDed</emphasis> with the mask
(suplied by &constVal;).
</para>
</listitem>
</itemizedlist>
</para>
<para> The constant &constVal; is given to the macro-generator
call, therefore the value cannot be changed afterward : it's
hard wired in the operator.
</para>
<para> A common error is to give a real C constant for the
&constVal; argument. Be aware that it is a character string.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>cmd</literal> : mask control (1 bit). </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
nq <= WITH cmd SELECT not(i0) WHEN '0',
not(i0 and X"0000FFFF") WHEN '1';
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
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
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,104 @@
<refentry id="DPGEN-NAND3">
<?dbhtml filename="man_dpgen_nand3.html">
<refmeta>
<refentrytitle>DPGEN_NAND3</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NAND3 </refname>
<refpurpose> NAND3 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NAND3</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits three inputs NAND with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0 and i1 and i2)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NAND3, "model_nand3_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nand3_32"
, "instance1_nand3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,108 @@
<refentry id="DPGEN-NAND4">
<?dbhtml filename="man_dpgen_nand4.html">
<refmeta>
<refentrytitle>DPGEN_NAND4</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NAND4 </refname>
<refpurpose> NAND4 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NAND4</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits four inputs NAND with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i3</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0 and i1 and i2 and i3)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NAND4, "model_nand4_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nand4_32"
, "instance1_nand4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,102 @@
<refentry id="DPGEN-NBUSE">
<?dbhtml filename="man_dpgen_nbuse.html">
<refmeta>
<refentrytitle>DPGEN_NBUSE</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NBUSE </refname>
<refpurpose> Tristate Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NBUSE</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 two inputs tristate with a complemented
output named &modelname;.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>cmd</literal> : select (1 bit). </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
nts:BLOCK(cmd = '1') BEGIN
nq <= GUARDED not(i0);
END
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NBUSE, "model_nbuse_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_nbuse_32"
, "instance1_nbuse_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,105 @@
<refentry id="DPGEN-NMUX2">
<?dbhtml filename="man_dpgen_nmux2.html">
<refmeta>
<refentrytitle>DPGEN_NMUX2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NMUX2 </refname>
<refpurpose> Multiplexer Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NMUX2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits two inputs multiplexer with a complemented
output and a power of &drive; named &modelname;.
</para>
<para> Valid &drive; are : 2 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>cmd</literal> : select (1 bit). </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
nq <= WITH cmd SELECT not i0 WHEN '0',
not i1 WHEN '1';
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NMUX2, "model_nmux2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_nmux2_32"
, "instance1_nmux2_32"
, "cmd"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,100 @@
<refentry id="DPGEN-NOR2">
<?dbhtml filename="man_dpgen_nor2.html">
<refmeta>
<refentrytitle>DPGEN_NOR2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NOR2 </refname>
<refpurpose> NOR2 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NOR2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits two inputs NOR with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0 or i1)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NOR2, "model_nor2_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nor2_32"
, "instance1_nor2_32"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,121 @@
<refentry id="DPGEN-NOR2MASK">
<?dbhtml filename="man_dpgen_nor2mask.html">
<refmeta>
<refentrytitle>DPGEN_NOR2MASK</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NOR2MASK </refname>
<refpurpose> Programmable Mask Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NOR2MASK</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>char *<parameter>constVal</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits conditionnal NOR mask named &modelname;.
</para>
<para> How it works :
<itemizedlist>
<listitem>
<para> if the &cmd; signal is set to &zero;, the mask is NOT
applied, so the whole operator behave like an inverter.
</para>
</listitem>
<listitem>
<para> if the &cmd; signal is set to &one;, the mask IS
applied, the output is the <emphasis>complemented</emphasis>
result of the input value <emphasis>ORed</emphasis> with the mask
(suplied by &constVal;).
</para>
</listitem>
</itemizedlist>
</para>
<para> The constant &constVal; is given to the macro-generator
call, therefore the value cannot be changed afterward : it's
hard wired in the operator.
</para>
<para> A common error is to give a real C constant for the
&constVal; argument. Be aware that it is a character string.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>cmd</literal> : mask control (1 bit). </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
nq <= WITH cmd SELECT not(i0) WHEN '0',
not(i0 or X"0000FFFF") WHEN '1';
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
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
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,104 @@
<refentry id="DPGEN-NOR3">
<?dbhtml filename="man_dpgen_nor3.html">
<refmeta>
<refentrytitle>DPGEN_NOR3</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NOR3 </refname>
<refpurpose> NOR3 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NOR3</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits three inputs NOR with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0 or i1 or i2)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NOR3, "model_nor3_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nor3_32"
, "instance1_nor3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,108 @@
<refentry id="DPGEN-NOR4">
<?dbhtml filename="man_dpgen_nor4.html">
<refmeta>
<refentrytitle>DPGEN_NOR4</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NOR4 </refname>
<refpurpose> NOR4 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NOR4</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits four inputs NOR with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i3</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0 or i1 or i2 or i3)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NOR4, "model_nor4_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_nor4_32"
, "instance1_nor4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,91 @@
<refentry id="DPGEN-NUL">
<?dbhtml filename="man_dpgen_nul.html">
<refmeta>
<refentrytitle>DPGEN_NUL</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_NUL </refname>
<refpurpose> Zero Detector Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_NUL</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 zero detector named &modelname;.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &i0; : value to check (input, &N; bits). </para>
</listitem>
<listitem>
<para> &q; : null flag (output, 1 bit). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= <= '1' WHEN (i0 = X"00000000") ELSE '0';
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_NUL, "model_nul_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_nul_32"
, "instance1_nul_32"
, "i0[31:0]"
, "q" /* Flag null. */
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,100 @@
<refentry id="DPGEN-OR2">
<?dbhtml filename="man_dpgen_or2.html">
<refmeta>
<refentrytitle>DPGEN_OR2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_OR2 </refname>
<refpurpose> OR2 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_OR2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits two inputs OR with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 2 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= i0 or i1
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_OR2, "model_or2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_or2_32"
, "instance1_or2_32"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,104 @@
<refentry id="DPGEN-OR3">
<?dbhtml filename="man_dpgen_or3.html">
<refmeta>
<refentrytitle>DPGEN_OR3</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_OR3 </refname>
<refpurpose> OR3 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_OR3</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits three inputs OR with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 2 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= not(i0 or i1 or i2)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_OR3, "model_or3_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_or3_32"
, "instance1_or3_32"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,108 @@
<refentry id="DPGEN-OR4">
<?dbhtml filename="man_dpgen_or4.html">
<refmeta>
<refentrytitle>DPGEN_OR4</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_OR4 </refname>
<refpurpose> OR4 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_OR4</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits four inputs OR with an output power of &drive;
named &modelname;.
</para>
<para> Valid &drive; are : 2 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i3</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i2</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= i0 or i1 or i2 or i3
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_OR4, "model_or4_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_or4_32"
, "instance1_or4_32"
, "i3[31:0]"
, "i2[31:0]"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,135 @@
<refentry id="DPGEN-RF1">
<?dbhtml filename="man_dpgen_rf1.html">
<refmeta>
<refentrytitle>DPGEN_RF1</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_RF1 </refname>
<refname> DPGEN_RF1R0 </refname>
<refpurpose> Register File Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_RF1</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_RF1R0</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 register file of &regNumber; words of &N; bits
whitout decoder named &modelname;. The &DPGEN-RF1R0; variant differs
from the &DPGEN-RF1; in that the register of address zero is stuck to
zero. You can write into it, it will not change the value. When read,
it will always return zero.
</para>
<para> How it works :
<itemizedlist>
<listitem>
<para> &datain0; and &datain1; : the two write busses. Only one
is used to actually write the register word, it is selected by
the &sel; signal.
</para>
</listitem>
<listitem>
<para> &sel; : when set to &zero; the &datain0; is used to write
the register word, otherwise it will be &datain1;.
</para>
</listitem>
<listitem>
<para> &selr;, &selw; : this register file have no decoder, so
&selr; have a bus width equal to &regNumber;. One bit for each word.
</para>
</listitem>
</itemizedlist>
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &ckok; : clock signal (input, 1 bit). </para>
</listitem>
<listitem>
<para> &sel; : select the write bus (input, 1 bit). </para>
</listitem>
<listitem>
<para> &selr; : the decoded read address (input, &regNumber; bits). </para>
</listitem>
<listitem>
<para> &selw; : the decoded write address (input, &regNumber; bits). </para>
</listitem>
<listitem>
<para> &datain0; : first write bus (input, &N; bits). </para>
</listitem>
<listitem>
<para> &datain1; : second write bus (input, &N; bits). </para>
</listitem>
<listitem>
<para> &dataout; : read bus (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_RF1, "model_rf1x8_32"
, F_BEHAV|F_PLACE
, 32 /* Words size. */
, 8 /* Number of words. */
);
GENLIB_LOINS( "model_rf1x8_32"
, "instance1_rf1_32"
, "ckok"
, "sel"
, "selr[7:0]"
, "selw[7:0]"
, "datain0[31:0]"
, "datain1[31:0]"
, "dataout[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,149 @@
<refentry id="DPGEN-RF1D">
<?dbhtml filename="man_dpgen_rf1d.html">
<refmeta>
<refentrytitle>DPGEN_RF1D</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_RF1D </refname>
<refname> DPGEN_RF1DR0 </refname>
<refpurpose> Register File with Decoder Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_RF1D</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_RF1DR0</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 register file of &regNumber; words of &N; bits
with decoder named &modelname;. The &DPGEN-RF1DR0; variant differs
from the &DPGEN-RF1D; in that the register of address zero is stuck to
zero. You can write into it, it will not change the value. When read,
it will always return zero.
</para>
<para> How it works :
<itemizedlist>
<listitem>
<para> &datain0; and &datain1; : the two write busses. Only one
is used to actually write the register word, it is selected by
the &sel; signal.
</para>
</listitem>
<listitem>
<para> &sel; : when set to &zero; the &datain0; is used to write
the register word, otherwise it will be &datain1;.
</para>
</listitem>
<listitem>
<para> &adr;, &adw; : the width (&Y;) of those signals is
computed from &regNumber; :
<literal>Y = log<subscript>2</subscript>(regNumber)</literal>.
</para>
</listitem>
<listitem>
<para> &wen; and &ren; : write enable and read enable, allows
reading and writing when sets to &one;.
</para>
</listitem>
</itemizedlist>
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &ck; : clock signal (input, 1 bit). </para>
</listitem>
<listitem>
<para> &sel; : select the write bus (input, 1 bit). </para>
</listitem>
<listitem>
<para> &wen; : write enable (input, 1 bit). </para>
</listitem>
<listitem>
<para> &ren; : read enable (input, 1 bit). </para>
</listitem>
<listitem>
<para> &adr; : the read address (input, &Y; bits). </para>
</listitem>
<listitem>
<para> &adw; : the write address (input, &Y; bits). </para>
</listitem>
<listitem>
<para> &datain0; : first write bus (input, &N; bits). </para>
</listitem>
<listitem>
<para> &datain1; : second write bus (input, &N; bits). </para>
</listitem>
<listitem>
<para> &dataout; : read bus (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_RF1D, "model_rf1dx8_32"
, F_BEHAV|F_PLACE
, 32 /* Words size. */
, 8 /* Number of words. */
);
GENLIB_LOINS( "model_rf1dx8_32"
, "instance1_rf1d_32"
, "ck"
, "sel"
, "wen"
, "ren"
, "adr[2:0]"
, "adw[2:0]"
, "datain0[31:0]"
, "datain1[31:0]"
, "dataout[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,97 @@
<refentry id="DPGEN-ROM2">
<?dbhtml filename="man_dpgen_rom2.html">
<refmeta>
<refentrytitle>DPGEN_ROM2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_ROM2 </refname>
<refpurpose> 2 words ROM Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_ROM2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>char *<parameter>constVal0</parameter></paramdef>
<paramdef>char *<parameter>constVal1</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits 2 words optimized ROM named &modelname;.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &sel0; : address of the value (input, 1 bits). </para>
</listitem>
<listitem>
<para> &q; : the selected word (output, &N; bit). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
q <= WITH sel0 SELECT
contsVal0 WHEN B"0",
constVal1 WHEN B"1";
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_ROM2, "model_rom2_set1_4"
, F_BEHAV|F_PLACE
, 4
, "0b1010" /* A string! */
, "0b1100" /* A string! */
);
GENLIB_LOINS( "model_rom2_set1_4"
, "instance1_rom2_4"
, "sel0"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,106 @@
<refentry id="DPGEN-ROM4">
<?dbhtml filename="man_dpgen_rom4.html">
<refmeta>
<refentrytitle>DPGEN_ROM4</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_ROM4 </refname>
<refpurpose> 4 words ROM Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_ROM4</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>char *<parameter>constVal0</parameter></paramdef>
<paramdef>char *<parameter>constVal1</parameter></paramdef>
<paramdef>char *<parameter>constVal2</parameter></paramdef>
<paramdef>char *<parameter>constVal3</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits 2 words optimized ROM named &modelname;.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &sel1; : upper bit of the address (input, 1 bits). </para>
</listitem>
<listitem>
<para> &sel0; : lower bit of the address (input, 1 bits). </para>
</listitem>
<listitem>
<para> &q; : the selected word (output, &N; bit). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
q <= WITH sel1 & sel0 SELECT contsVal0 WHEN B"00",
contsVal1 WHEN B"01",
contsVal2 WHEN B"10",
constVal3 WHEN B"11";
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_ROM4, "model_rom4_set1_16"
, F_BEHAV|F_PLACE
, 4
, "0xFF00" /* A string! */
, "0xCCCC" /* A string! */
, "0xF0F0" /* A string! */
, "0xAAAA" /* A string! */
);
GENLIB_LOINS( "model_rom4_set1_16"
, "instance1_rom4_set1_16"
, "sel1"
, "sel0"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,15 @@
<refsect1>
<title>See Also</title>
<para>
<link linkend="GENLIB-MACRO"><citerefentry>
<refentrytitle>GENLIB_MACRO</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link>,
<link linkend="genlib"><citerefentry>
<refentrytitle>genlib</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry></link>
</para>
</refsect1>

View File

@ -0,0 +1,101 @@
<refentry id="DPGEN-SFF">
<?dbhtml filename="man_dpgen_sff.html">
<refmeta>
<refentrytitle>DPGEN_SFF</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_SFF </refname>
<refpurpose> Static Flip-Flop Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_SFF</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 static flip-flop named &modelname;.
The two latches of this flip-flop are static, i.e. each one is made
of two interters looped togethers.
</para>
<para> How it works :
<itemizedlist>
<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> &wen; : write enable (1 bit). </para>
</listitem>
<listitem>
<para> &ck; : clock signal (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_SFF, "model_sff_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_sff_32"
, "instance1_sff_32"
, "wen"
, "ck"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,122 @@
<refentry id="DPGEN-SFFT">
<?dbhtml filename="man_dpgen_sfft.html">
<refmeta>
<refentrytitle>DPGEN_SFFT</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_SFFT </refname>
<refpurpose> Static 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_SFFT</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 static flip-flop with scan-path
named &modelname;. The two latches of this flip-flop are
i.e. each one is made of two interters looped togethers.
</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_SFFT, "model_sfft_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_sfft_32"
, "instance1_sfft_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>

View File

@ -0,0 +1,113 @@
<refentry id="DPGEN-SHIFT">
<?dbhtml filename="man_dpgen_shift.html">
<refmeta>
<refentrytitle>DPGEN_SHIFT</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_SHIFT </refname>
<refpurpose> Shifter Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_SHIFT</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 shifter named &modelname;.
</para>
<para> How it works :
<itemizedlist>
<listitem>
<para> if <literal>op[0]</literal> signal is set to &one; perform
a right shift, left shift otherwise.
</para>
</listitem>
<listitem>
<para> if <literal>op[1]</literal> signal is set to &one; perform
a sign extention, i.e. an arithmetic shift (only meaningful in case
of a right shift).
</para>
</listitem>
<listitem>
<para> &shamt; : specify the shift amount. The wide of this signal
(&Y;) is computed from the operator's wide :
<literal>Y = log<subscript>2</subscript>(N) - 1</literal>.
</para>
</listitem>
</itemizedlist>
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> &op; : select the kind of shift (input, 2 bit).
</para>
</listitem>
<listitem>
<para> &shamt; : the shift amount (input, &Y; bits). </para>
</listitem>
<listitem>
<para> &i0; : value to shift (input, &N; bits). </para>
</listitem>
<listitem>
<para> &q; : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_SHIFT, "model_shift_32"
, F_BEHAV|F_PLACE
, 32
);
GENLIB_LOINS( "model_shift_32"
, "instance1_shift_32"
, "add_sub"
, "op[1:0]"
, "shamt[4:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,100 @@
<refentry id="DPGEN-XNOR2">
<?dbhtml filename="man_dpgen_xnor2.html">
<refmeta>
<refentrytitle>DPGEN_XNOR2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_XNOR2 </refname>
<refpurpose> XNOR2 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_XNOR2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits two inputs exclusive NOR with an output
power of &drive; named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>nq</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
nq <= not(i0 xor i1)
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_XNOR2, "model_xnor2_32"
, F_BEHAV|F_PLACE
, 32
, 1
);
GENLIB_LOINS( "model_xnor2_32"
, "instance1_xnor2_32"
, "i1[31:0]"
, "i0[31:0]"
, "nq[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,121 @@
<refentry id="DPGEN-XNOR2MASK">
<?dbhtml filename="man_dpgen_xnor2mask.html">
<refmeta>
<refentrytitle>DPGEN_XNOR2MASK</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_XNOR2MASK </refname>
<refpurpose> Programmable Mask Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_XNOR2MASK</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>char *<parameter>constVal</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits conditionnal XNOR mask named &modelname;.
</para>
<para> How it works :
<itemizedlist>
<listitem>
<para> if the &cmd; signal is set to &zero;, the mask is NOT
applied, so the whole operator behave like an inverter.
</para>
</listitem>
<listitem>
<para> if the &cmd; signal is set to &one;, the mask IS
applied, the output is the <emphasis>complemented</emphasis>
result of the input value <emphasis>XORed</emphasis> with the mask
(suplied by &constVal;).
</para>
</listitem>
</itemizedlist>
</para>
<para> The constant &constVal; is given to the macro-generator
call, therefore the value cannot be changed afterward : it's
hard wired in the operator.
</para>
<para> A common error is to give a real C constant for the
&constVal; argument. Be aware that it is a character string.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>cmd</literal> : mask control (1 bit). </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output (&N; bits). </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<screen>
nq <= WITH cmd SELECT not(i0) WHEN '0',
not(i0 xor X"0000FFFF") WHEN '1';
</screen>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_XNOR2MASK, "model_xnor2mask_0000FFFF_32"
, F_BEHAV|F_PLACE
, 32
, "0x0000FFFF" /* A string! */
);
GENLIB_LOINS( "model_xnor2mask_0000FFFF_32"
, "instance1_xnor2mask_32"
, "cmd"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,100 @@
<refentry id="DPGEN-XOR2">
<?dbhtml filename="man_dpgen_xor2.html">
<refmeta>
<refentrytitle>DPGEN_XOR2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> DPGEN_XOR2 </refname>
<refpurpose> XOR2 Macro-Generator </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>DPGEN_XOR2</paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> Generate a &N; bits two inputs exclusive OR with an output
power of &drive; named &modelname;.
</para>
<para> Valid &drive; are : 1 or 4.
</para>
<refsect2>
<title> Terminal Names </title>
<orderedlist>
<listitem>
<para> <literal>i1</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>i0</literal> : input. </para>
</listitem>
<listitem>
<para> <literal>q</literal> : output. </para>
</listitem>
<listitem>
<para> <literal>vdd</literal> : power. </para>
</listitem>
<listitem>
<para> <literal>vss</literal> : ground. </para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Behavior </title>
<literallayout>
q <= i0 xor i1
</literallayout>
</refsect2>
</refsect1>
<refsect1>
<title> Example </title>
<para>
<programlisting>
GENLIB_MACRO(DPGEN_XOR2, "model_xor2_32"
, F_BEHAV|F_PLACE
, 32
, 2
);
GENLIB_LOINS( "model_xor2_32"
, "instance1_xor2_32"
, "i1[31:0]"
, "i0[31:0]"
, "q[31:0]"
, "vdd", "vss", NULL
);
</programlisting>
</para>
</refsect1>
&man-dpgen-see-also;
</refentry>

View File

@ -0,0 +1,600 @@
<refentry id="genlib">
<?dbhtml filename="man_genlib.html">
<refmeta>
<refentrytitle>genlib</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> genlib </refname>
<refpurpose> Procedural design language based upon C. </refpurpose>
</refnamediv>
<!--
<refsect1>
<title> Origin </title>
<para> This software belongs to the ALLIANCE CAD system from the
CAO-VLSI team at ASIM/LIP6/UPMC laboratory.
<address>
<firstname><emphasis>LIP6/ASIM, University P. et M. Curie</emphasis></firstname>
<street>4, place Jussieu</street>
<postcode>75252 PARIS Cedex 05</postcode>
<country>FRANCE</country>
<fax>{33/0} 1.44.27.62.86</fax>
<email>alliance-support@asim.lip6.fr</email>
</address>
</para>
</refsect1>
-->
<refsect1>
<title> Description </title>
<para> &genlib; is a set of C functions dedicated to procedural
generation purposes. From a user point of view, genlib is a circuit's
description language that allows standard C programming flow control,
variable use, and specialized functions in order to handle vlsi
objects.
</para>
<para> Based upon the &Alliance; &mbk; data structures, the &genlib;
language gives the user the ability to describe both netlist
and layout views, thus allowing both standard cell and full custom
approachs.
</para>
<refsect2>
<title> Netlist capture </title>
<para> It is a hierachical structural description of a circuit in
terms of connectors (I/Os), signals (nets), and instances.
</para>
<para> The function calls used to handle the netlist view are :
<itemizedlist>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_DEF_LOFIG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SAVE_LOFIG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_LOINS</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_LOCON</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_LOSIG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_FLATTEN_LOFIG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
</itemizedlist>
Some facilities, in order to create vectors are also available :
<itemizedlist>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_BUS</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_ELM</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
</itemizedlist>
</para>
</refsect2>
<refsect2>
<title> Standard cell placement </title>
<para>The following functions allows to define a placement file
for a standard cell design. This file can be used by the standard
cell router <citerefentry><refentrytitle>ocr</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> :
<itemizedlist>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_DEF_PHSC</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SAVE_PHSC</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SC_PLACE</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SC_RIGHT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SC_TOP</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SC_LEFT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SC_BOTTOM</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
</itemizedlist>
</para>
</refsect2>
<refsect2>
<title> Full custom symbolic layout </title>
<para> Those functions are dedicated to optimized full custom
procedural layout. In order to provide some process independance,
&Alliance; uses a symbolic layout approach (fixed grid without
compaction).
</para>
<para> The symbolic objects are segments (wires), vias (contacts),
connectors (I/Os), references and instances. For more informations,
see
<citerefentry><refentrytitle>phseg</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>phvia</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>phcon</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>phref</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>phins</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>
and <citerefentry><refentrytitle>alc</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>.
<itemizedlist>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_DEF_PHFIG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_SAVE_PHFIG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_DEF_AB</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_DEF_PHINS</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PHCON</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_COPY_UP_CON</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_COPY_UP_CON_FACE</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_COPY_UP_ALL_CON</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PHSEG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_COPY_UP_SEG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_THRU_H</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_THRU_V</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_THRU_CON_H</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_THRU_CON_V</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_WIRE1</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_WIRE2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_WIRE3</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PHVIA</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_RIGHT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_TOP</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_LEFT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_BOTTOM</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_ON</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PHREF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_COPY_UP_REF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_COPY_UP_ALL_REF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_VIA_REF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_CON_REF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_PLACE_SEG_REF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_FLATTEN_PHFIG</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_GET_REF_X</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_GET_REF_Y</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_GET_CON_X</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_GET_CON_Y</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_HEIGHT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
<listitem><para><citerefentry>
<refentrytitle>GENLIB_WIDTH</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></para></listitem>
</itemizedlist>
In order to have information about each of these functions, use
the online documentation with <citerefentry>
<refentrytitle>man</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>, as in
<filename>man function-name</filename>.
</para>
<para> It is strongly recommended to read some books on C
programming, in order to take full advantage of the C flow
control possibilities, as it may greatly reduce the size
of a &genlib; source code.
</para>
</refsect2>
</refsect1>
<refsect1>
<title> ENVIRONMENT VARIABLES </title>
<para>
<itemizedlist>
<listitem>
<para>
<citerefentry>
<refentrytitle>MBK_IN_LO</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
default value : <literal>al</literal>
</para>
</listitem>
<listitem>
<para>
<citerefentry>
<refentrytitle>MBK_OUT_LO</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
default value : <literal>al</literal>
</para>
</listitem>
<listitem>
<para>
<citerefentry>
<refentrytitle>MBK_IN_PH</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
default value : <literal>ap</literal>
</para>
</listitem>
<listitem>
<para>
<citerefentry>
<refentrytitle>MBK_OUT_LO</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
default value : <literal>ap</literal>
</para>
</listitem>
<listitem>
<para>
<citerefentry>
<refentrytitle>MBK_CATA_LIB</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
default value : <literal>.</literal>
</para>
</listitem>
<listitem>
<para>
<citerefentry>
<refentrytitle>MBK_WORK_LIB</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
default value : <literal>.</literal>
</para>
</listitem>
<listitem>
<para>
<citerefentry>
<refentrytitle>MBK_CATAL_NAME</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
default value : <literal>CATAL</literal>
</para>
</listitem>
</itemizedlist>
<!--
<table pgwide="1" id="table-genlib-environment-variables">
<title> Environment Variables </title>
<tgroup cols="2">
<colspec align="left" colwidth="1*" colname="c1">
<colspec align="left" colwidth="1*" colname="c2">
<thead>
<row>
<entry align="center"> Name </entry>
<entry align="center"> Default Value </entry>
</row>
</thead>
<tbody>
<row>
<entry>
<citerefentry>
<refentrytitle>MBK_IN_LO</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</entry>
<entry><literal>al</literal></entry>
</row>
<row>
<entry>
<citerefentry>
<refentrytitle>MBK_OUT_LO</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</entry>
<entry><literal>al</literal></entry>
</row>
<row>
<entry>
<citerefentry>
<refentrytitle>MBK_IN_PH</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</entry>
<entry><literal>ap</literal></entry>
</row>
<row>
<entry>
<citerefentry>
<refentrytitle>MBK_OUT_PH</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</entry>
<entry><literal>ap</literal></entry>
</row>
<row>
<entry>
<citerefentry>
<refentrytitle>MBK_CATA_LIB</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</entry>
<entry><literal>.</literal></entry>
</row>
<row>
<entry>
<citerefentry>
<refentrytitle>MBK_WORK_LIB</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</entry>
<entry><literal>.</literal></entry>
</row>
<row>
<entry>
<citerefentry>
<refentrytitle>MBK_CATAL_NAME</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</entry>
<entry><literal>CATAL</literal></entry>
</row>
</tbody>
</tgroup>
</table>
-->
See the corresponding manual pages for further informations.
</para>
<para> In order to compile and execute a &genlib; file, one has to
call &genlib; with one argument, that is the &genlib; source file.
The source file must have a .c extension, but the extension should
not be mentionned on the command line.
</para>
<para> The names used in genlib, as arguments to genlib functions,
should be alphanumerical, including the underscore. They also are not
case sensitive, so &VDD; is equivalent to &vdd;. Vectorized connectors
or signal can be declareds using the <literal>[n:m]</literal> construct.
</para>
</refsect1>
<refsect1>
<title>Synopsis</title>
<cmdsynopsis>
<command>genlib</command>
<arg choice="opt">
<option>-cklmnv</option>
</arg>
<arg choice="opt">--no-rm-core</arg>
<arg choice="opt">--keep-makefile</arg>
<arg choice="opt">--keep-exec</arg>
<arg choice="opt">--keep-log</arg>
<arg choice="opt">--no-exec</arg>
<arg choice="opt">--verbose</arg>
<arg choice="req">program</arg>
<arg choice="opt">-e <replaceable>program_args</replaceable></arg>
</cmdsynopsis>
<refsect2>
<title> Options </title>
<para>
<itemizedlist>
<listitem>
<para> &arg-program; : the name of the C file containing the
&genlib; program, whitout extention. Mandatory argument.
</para>
</listitem>
<listitem>
<para> &arg-no-rm-core; : in case of core dump, do not remove
the generated core file. This option must be used with
&arg-keep-exec;.
</para>
</listitem>
<listitem>
<para> &arg-keep-makefile; : do not erase the generated makefile
after execution.
</para>
</listitem>
<listitem>
<para> &arg-keep-exec; : keep the generated executable after the
&genlib; run.
</para>
</listitem>
<listitem>
<para> &arg-keep-log; : do not erase the log file after a successfull
completion (the log is keeped after a faulty run).
</para>
</listitem>
<listitem>
<para> &arg-no-exec; : do not run the generated program. Should be
used with &arg-keep-exec;.
</para>
</listitem>
<listitem>
<para> &arg-verbose; : self explanatory.
</para>
</listitem>
<listitem>
<para> &arg-e; : all the following arguments are handled to the
compiled program.
</para>
</listitem>
</itemizedlist>
</para>
</refsect2>
</refsect1>
<refsect1>
<title>Examples</title>
<informalexample>
<para> Compile and run a file <filename>amd2901.c</filename> :
<screen>
genlib -v amd2901
</screen>
</para>
</informalexample>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry>
<refentrytitle>mbk</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
</para>
</refsect1>
<refsect1>
<title>Diagnostic</title>
<para> Many errors may occur while executing the source file, so
refer to the proper genlib function manual for more. When an error
occur, &genlib; left a log file <filename>&lt;program&gt;.grr</filename>.
As <filename>&lt;program&gt;.c</filename> is a C program, all
syntatic C error can occurs...
</para>
<para> All genlib functions are listed below alphabetically sorted.
</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,345 @@
<refentry id="GENLIB-MACRO">
<?dbhtml filename="man_genlib_macro.html">
<refmeta>
<refentrytitle>GENLIB_MACRO</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ASIM/LIP6</refmiscinfo>
</refmeta>
<refnamediv>
<refname> GENLIB_MACRO </refname>
<refpurpose> Interface with all MACRO generators. </refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;genlib.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>GENLIB_MACRO</function></funcdef>
<paramdef>long <parameter>function</parameter></paramdef>
<paramdef>char *<parameter>modelname</parameter></paramdef>
<paramdef>long <parameter>flags</parameter></paramdef>
<paramdef>long <parameter>N</parameter></paramdef>
<paramdef>long <parameter>drive</parameter></paramdef>
<paramdef>long <parameter>regNumber</parameter></paramdef>
<paramdef>char *<parameter>constVal</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title> Description </title>
<para> The &GENLIB-MACRO; fonction call is the generic interface to
all &genlib; macro generators. As all generators do not have the
sames arguments it takes a variable number of arguments.
</para>
<para> Arguments are of two kinds :
<itemizedlist>
<listitem>
<para> Mandatory arguments : those arguments must always be
supplied. They represents the minimal set of common arguments for
all macro-generators. Mandatory arguments comme firts in the
arguments list.
</para>
</listitem>
<listitem>
<para> Optional arguments : arguments specifics to a
macro-generator or a class of macro-generators.
</para>
</listitem>
</itemizedlist>
</para>
<refsect2>
<title> Arguments </title>
<orderedlist>
<listitem>
<para>&arg-function; : (mandatory) specify which macro-generator
is to be invoked. For example, to create a two entry multiplexer
gives &CONST-GENLIB-MUX2;.
</para>
</listitem>
<listitem>
<para>&arg-modelname; : (mandatory) specify the name of the model
to be generated. For example :
<literal>"model_mux2_32bits"</literal>.
</para>
</listitem>
<listitem>
<para>&arg-flags; : (mandatory) tells which views are to be
generated. It is a logical combination of the following values :
(<emphasis>ORed</emphasis>)
<orderedlist>
<listitem>
<para>&F-PLACE; : generate physical view (placement only).
</para>
</listitem>
<listitem>
<para>&F-BEHAV; : generate behavioral view (&VHDL; view).
</para>
</listitem>
<listitem>
<para>&F-LSB-FIRST; : the terminal of index zero is matched
to the &LSB;, thus a 32 bits vector will be written :
<literal>"signal[31:0]"</literal>.
</para>
</listitem>
<listitem>
<para>&F-MSB-FIRST; : the terminal of index zero is matched
to the &MSB;, thus a 32 bits vector will be written :
<literal>"signal[0:31]"</literal> (aka. &IBM; notation).
</para>
</listitem>
</orderedlist>
</para>
</listitem>
<listitem>
<para>&arg-N; : (mandatory) width of the model's bus to be
generated.
</para>
</listitem>
<listitem>
<para>&arg-drive; : (optional) output power drive.
</para>
</listitem>
<listitem>
<para>&arg-regNumber; : (optional) number of registers or depth
of for a &FIFO; macro-generator.
</para>
</listitem>
<listitem>
<para>&arg-constVal; : (optional) a character string holding a
constant. For example : <literal>"0xFFFF0000"</literal>.
</para>
</listitem>
</orderedlist>
</refsect2>
<refsect2>
<title> Available Macro-Generators </title>
<para>
<itemizedlist>
<listitem>
<para> Inverters and Buffers :
<itemizedlist>
<listitem><para><link linkend="DPGEN-INV"><citerefentry>
<refentrytitle>DPGEN_INV</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-BUFF"><citerefentry>
<refentrytitle>DPGEN_BUFF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para> Boolean Operators :
<itemizedlist>
<listitem><para><link linkend="DPGEN-NAND2"><citerefentry>
<refentrytitle>DPGEN_NAND2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NAND3"><citerefentry>
<refentrytitle>DPGEN_NAND3</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NAND4"><citerefentry>
<refentrytitle>DPGEN_NAND4</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-AND2"><citerefentry>
<refentrytitle>DPGEN_AND2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-AND3"><citerefentry>
<refentrytitle>DPGEN_AND3</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-AND4"><citerefentry>
<refentrytitle>DPGEN_AND4</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NOR2"><citerefentry>
<refentrytitle>DPGEN_NOR2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NOR3"><citerefentry>
<refentrytitle>DPGEN_NOR3</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NOR4"><citerefentry>
<refentrytitle>DPGEN_NOR4</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-OR2"><citerefentry>
<refentrytitle>DPGEN_OR2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-OR3"><citerefentry>
<refentrytitle>DPGEN_OR3</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-OR4"><citerefentry>
<refentrytitle>DPGEN_OR4</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-XOR2"><citerefentry>
<refentrytitle>DPGEN_XOR2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-XNOR2"><citerefentry>
<refentrytitle>DPGEN_XNOR2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para> Multiplexers and Tristates :
<itemizedlist>
<listitem><para><link linkend="DPGEN-NMUX2"><citerefentry>
<refentrytitle>DPGEN_NMUX2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-MUX2"><citerefentry>
<refentrytitle>DPGEN_MUX2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NBUSE"><citerefentry>
<refentrytitle>DPGEN_NBUSE</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-BUSE"><citerefentry>
<refentrytitle>DPGEN_BUSE</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para> Programmable Masks :
<itemizedlist>
<listitem><para><link linkend="DPGEN-NAND2MASK"><citerefentry>
<refentrytitle>DPGEN_NAND2MASK</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NOR2MASK"><citerefentry>
<refentrytitle>DPGEN_NOR2MASK</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-XNOR2MASK"><citerefentry>
<refentrytitle>DPGEN_XNOR2MASK</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para> Arithmetics Operators :
<itemizedlist>
<listitem><para><link linkend="DPGEN-ADSB2F"><citerefentry>
<refentrytitle>DPGEN_ADSB2F</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-SHIFT"><citerefentry>
<refentrytitle>DPGEN_SHIFT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para> Miscellaneous :
<itemizedlist>
<listitem><para><link linkend="DPGEN-NUL"><citerefentry>
<refentrytitle>DPGEN_NUL</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NUL"><citerefentry>
<refentrytitle>DPGEN_CONST</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NUL"><citerefentry>
<refentrytitle>DPGEN_ROM2</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-NUL"><citerefentry>
<refentrytitle>DPGEN_ROM4</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para> Registers :
<itemizedlist>
<listitem><para><link linkend="DPGEN-RF1"><citerefentry>
<refentrytitle>DPGEN_RF1</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-RF1"><citerefentry>
<refentrytitle>DPGEN_RF1R0</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-RF1D"><citerefentry>
<refentrytitle>DPGEN_RF1D</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-RF1D"><citerefentry>
<refentrytitle>DPGEN_RF1DR0</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-DFF"><citerefentry>
<refentrytitle>DPGEN_DFF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-DFFT"><citerefentry>
<refentrytitle>DPGEN_DFFT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-SFF"><citerefentry>
<refentrytitle>DPGEN_SFF</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
<listitem><para><link linkend="DPGEN-SFFT"><citerefentry>
<refentrytitle>DPGEN_SFFT</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry></link></para></listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
</refsect2>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry>
<refentrytitle>mbk</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
</para>
</refsect1>
</refentry>

View File

@ -1,283 +1,315 @@
.\" $Id: genlib.1,v 1.1 2002/03/08 14:08:09 fred Exp $
.\" @(#)Labo.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
.TH GENLIB 1 "October 1, 1997" "ASIM/LIP6" "ALLIANCE USER COMMANDS"
.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "GENLIB" "1" "24 May 2002" "ASIM/LIP6" "Alliance - genlib User's Manual"
.SH NAME
genlib \- Procedural design language based upon C.
.so man1/alc_origin.1
.SH DESCRIPTION
\fBgenlib\fP is a set of \fIC\fP functions dedicated to procedural generation
purposes.
From a user point of view, \fBgenlib\fP is a circuit's description language
that allows standard \fIC\fP programming flow control, variable use, and
specialized functions in order to handle vlsi objects.
.br
Based upon the \fIAlliance\fP \fBmbk\fP data structures, the \fBgenlib\fP
language gives the user the ability to describe both netlist and
layout views, thus allowing both standard cell and full custom approachs.
.br
.TP 20
Netlist capture :
\- it is a hierachical structural description of
a circuit in terms of connectors (I/Os), signals (nets), and instances.
.br
The function calls used to handle the netlist view are
.RS
GENLIB_DEF_LOFIG(3)
.br
GENLIB_SAVE_LOFIG(3)
.br
GENLIB_LOINS(3)
.br
GENLIB_LOCON(3)
.br
GENLIB_LOSIG(3)
.br
GENLIB_FLATTEN_LOFIG(3)
.br
.SH "DESCRIPTION"
.PP
\fBgenlib\fR is a set of C functions dedicated to procedural
generation purposes. From a user point of view, genlib is a circuit's
description language that allows standard C programming flow control,
variable use, and specialized functions in order to handle vlsi
objects.
.PP
Based upon the \fBAlliance\fR \fBmbk\fR data structures, the \fBgenlib\fR
language gives the user the ability to describe both netlist
and layout views, thus allowing both standard cell and full custom
approachs.
.SS "NETLIST CAPTURE"
.PP
It is a hierachical structural description of a circuit in
terms of connectors (I/Os), signals (nets), and instances.
.PP
The function calls used to handle the netlist view are :
.TP 0.2i
\(bu
\fBGENLIB_DEF_LOFIG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SAVE_LOFIG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_LOINS\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_LOCON\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_LOSIG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_FLATTEN_LOFIG\fR(3)
.PP
Some facilities, in order to create vectors are also available :
.br
GENLIB_BUS(3)
.br
GENLIB_ELM(3)
.RE
.TP 20
Standard cell placement
The following functions allows to define a placement file for a standard cell
design.
This file can be used by the standard cell router \fBscr\fP(1).
.RS
GENLIB_DEF_PHSC(3)
.br
GENLIB_SAVE_PHSC(3)
.br
GENLIB_SC_PLACE(3)
.br
GENLIB_SC_RIGHT(3)
.br
GENLIB_SC_TOP(3)
.br
GENLIB_SC_LEFT(3)
.br
GENLIB_SC_BOTTOM(3)
.br
.RE
.TP 20
Full custom symbolic layout
Those functions are dedicated to optimized full custom procedural layout.
In order to provide some process independance, \fIAlliance\fP uses a
symbolic layout approach (fixed grid without compaction.)
.br
The symbolic objects are segments (wires), vias (contacts), connectors (I/Os),
references and instances.
For more informations, see \fBphseg\fP(1), \fBphvia\fP(1), \fBphcon\fP(1),
\fBphref\fP(1), \fBphins\fP(1), and \fBalc\fP(1).
.br
GENLIB_DEF_PHFIG(3)
.br
GENLIB_SAVE_PHFIG(3)
.br
GENLIB_DEF_AB(3)
.br
GENLIB_DEF_PHINS(3)
.br
GENLIB_PHCON(3)
.br
GENLIB_COPY_UP_CON(3)
.br
GENLIB_COPY_UP_CON_FACE(3)
.br
GENLIB_COPY_UP_ALL_CON(3)
.br
GENLIB_PHSEG(3)
.br
GENLIB_COPY_UP_SEG(3)
.br
GENLIB_THRU_H(3)
.br
GENLIB_THRU_V(3)
.br
GENLIB_THRU_CON_H(3)
.br
GENLIB_THRU_CON_V(3)
.br
GENLIB_WIRE1(3)
.br
GENLIB_WIRE2(3)
.br
GENLIB_WIRE3(3)
.br
GENLIB_PHVIA(3)
.br
GENLIB_PLACE(3)
.br
GENLIB_PLACE_RIGHT(3)
.br
GENLIB_PLACE_TOP(3)
.br
GENLIB_PLACE_LEFT(3)
.br
GENLIB_PLACE_BOTTOM(3)
.br
GENLIB_PLACE_ON(3)
.br
GENLIB_PHREF(3)
.br
GENLIB_COPY_UP_REF(3)
.br
GENLIB_COPY_UP_ALL_REF(3)
.br
GENLIB_PLACE_VIA_REF(3)
.br
GENLIB_PLACE_CON_REF(3)
.br
GENLIB_PLACE_SEG_REF(3)
.br
GENLIB_FLATTEN_PHFIG(3)
.br
GENLIB_GET_REF_X(3)
.br
GENLIB_GET_REF_Y(3)
.br
GENLIB_GET_CON_X(3)
.br
GENLIB_GET_CON_Y(3)
.br
GENLIB_HEIGHT(3)
.br
GENLIB_WIDTH(3)
.RE
.LP
In order to have information about each of these functions, use the online
documentation with \fBman\fP(1), as in ``man function-name''.
.br
.LP
It is strongly recommended to read some books
on C programming, in order to take full advantage of the C flow control
possibilities, as it may greatly reduce the size of a \fBgenlib\fP source code.
.SH ENVIRONMENT VARIABLES
.TP 20
the variables are :
.ta 25n
\fIname\fP \fIdefault value\fP
.br
MBK_IN_LO(1) al
.br
MBK_OUT_LO(1) al
.br
MBK_IN_PH(1) ap
.br
MBK_OUT_PH(1) ap
.br
MBK_CATA_LIB(1) .
.br
MBK_WORK_LIB(1) .
.br
MBK_CATAL_NAME(1) CATAL
.LP
see the corresponding manual pages for further informations.
.br
In order to compile and execute a genlib file, one has to call \fBgenlib\fP
with one argument, that is the \fBgenlib\fP source file.
The source file must have a .c extension, but the extension should not be
mentionned on the command line.
.TP 0.2i
\(bu
\fBGENLIB_BUS\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_ELM\fR(3)
.PP
The names used in genlib, as arguments to genlib functions, should be
alphanumerical, including the underscore.
They also are not case sensitive, so \fBVDD\fP is equivalent to \fBvdd\fP.
Vectorized connectors or signal can be declareds using the \fB[n:m]\fP
construct.
.SH OPTIONS
Two options can alter the behavior of \fBgenlib\fP :
.TP 20
-v
displays everything that is to be done during the compilation and
execution process: verbose mode.
.TP
-k
keeps the executable along with the compilation Makefile after completion.
.SH EXAMPLES
\fBgenlib\fP -v amd2901
.br
Compiles and runs a \fBgenlib\fP source file called amd2901.c
.SH SEE ALSO
.BR mbk (1).
.SH DIAGNOSTICS
.RS
\fBCompilation aborted\fP
.RE
This indicates either a \fIC\fP syntaxic error, most likely, or a
misinstallation of the \fBmbk\fP package of the \fIAlliance\fP CAD system,
if the error is \fBcannot find file genlib.h\fB.
.RS
\fBLink aborted\fP
.RE
This indicates a
misinstallation of the \fBmbk\fP package of the \fIAlliance\fP CAD system,
see your system administrator for details.
.SS "STANDARD CELL PLACEMENT"
.PP
The following functions allows to define a placement file
for a standard cell design. This file can be used by the standard
cell router \fBocr\fR(1) :
.TP 0.2i
\(bu
\fBGENLIB_DEF_PHSC\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SAVE_PHSC\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SC_PLACE\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SC_RIGHT\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SC_TOP\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SC_LEFT\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SC_BOTTOM\fR(3)
.PP
.SS "FULL CUSTOM SYMBOLIC LAYOUT"
.PP
Those functions are dedicated to optimized full custom
procedural layout. In order to provide some process independance,
\fBAlliance\fR uses a symbolic layout approach (fixed grid without
compaction).
.PP
The symbolic objects are segments (wires), vias (contacts),
connectors (I/Os), references and instances. For more informations,
see
\fBphseg\fR(1),
\fBphvia\fR(1),
\fBphcon\fR(1),
\fBphref\fR(1),
\fBphins\fR(1)
and \fBalc\fR(1).
.TP 0.2i
\(bu
\fBGENLIB_DEF_PHFIG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_SAVE_PHFIG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_DEF_AB\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_DEF_PHINS\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PHCON\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_COPY_UP_CON\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_COPY_UP_CON_FACE\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_COPY_UP_ALL_CON\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PHSEG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_COPY_UP_SEG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_THRU_H\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_THRU_V\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_THRU_CON_H\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_THRU_CON_V\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_WIRE1\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_WIRE2\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_WIRE3\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PHVIA\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_RIGHT\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_TOP\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_LEFT\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_BOTTOM\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_ON\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PHREF\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_COPY_UP_REF\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_COPY_UP_ALL_REF\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_VIA_REF\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_CON_REF\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_PLACE_SEG_REF\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_FLATTEN_PHFIG\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_GET_REF_X\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_GET_REF_Y\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_GET_CON_X\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_GET_CON_Y\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_HEIGHT\fR(3)
.TP 0.2i
\(bu
\fBGENLIB_WIDTH\fR(3)
.PP
In order to have information about each of these functions, use
the online documentation with \fBman\fR(1), as in
\fIman function-name\fR.
.PP
It is strongly recommended to read some books on C
programming, in order to take full advantage of the C flow
control possibilities, as it may greatly reduce the size
of a \fBgenlib\fR source code.
.SH "ENVIRONMENT VARIABLES"
.PP
.TP 0.2i
\(bu
\fBMBK_IN_LO\fR(1),
default value : al
.TP 0.2i
\(bu
\fBMBK_OUT_LO\fR(1),
default value : al
.TP 0.2i
\(bu
\fBMBK_IN_PH\fR(1),
default value : ap
.TP 0.2i
\(bu
\fBMBK_OUT_LO\fR(1),
default value : ap
.TP 0.2i
\(bu
\fBMBK_CATA_LIB\fR(1),
default value : .
.TP 0.2i
\(bu
\fBMBK_WORK_LIB\fR(1),
default value : .
.TP 0.2i
\(bu
\fBMBK_CATAL_NAME\fR(1),
default value : CATAL
.PP
See the corresponding manual pages for further informations.
.PP
In order to compile and execute a \fBgenlib\fR file, one has to
call \fBgenlib\fR with one argument, that is the \fBgenlib\fR source file.
The source file must have a .c extension, but the extension should
not be mentionned on the command line.
.PP
The names used in genlib, as arguments to genlib functions,
should be alphanumerical, including the underscore. They also are not
case sensitive, so VDD is equivalent to vdd. Vectorized connectors
or signal can be declareds using the [n:m] construct.
.SH "SYNOPSIS"
.sp
\fBgenlib\fR [ \fB -cklmnv
\fR ] [ \fB--no-rm-core\fR ] [ \fB--keep-makefile\fR ] [ \fB--keep-exec\fR ] [ \fB--keep-log\fR ] [ \fB--no-exec\fR ] [ \fB--verbose\fR ] \fBprogram\fR [ \fB-e \fIprogram_args\fB\fR ]
.SS "OPTIONS"
.PP
.TP 0.2i
\(bu
<program> : the name of the C file containing the
\fBgenlib\fR program, whitout extention. Mandatory argument.
.TP 0.2i
\(bu
[--no-rm-core|-c] : in case of core dump, do not remove
the generated core file. This option must be used with
[--keep-exec|-k].
.TP 0.2i
\(bu
[--keep-makefile|-m] : do not erase the generated makefile
after execution.
.TP 0.2i
\(bu
[--keep-exec|-k] : keep the generated executable after the
\fBgenlib\fR run.
.TP 0.2i
\(bu
[--keep-log|-l] : do not erase the log file after a successfull
completion (the log is keeped after a faulty run).
.TP 0.2i
\(bu
[--no-exec|-n] : do not run the generated program. Should be
used with [--keep-exec|-k].
.TP 0.2i
\(bu
[--no-verbose|-v] : self explanatory.
.TP 0.2i
\(bu
[-e] : all the following arguments are handled to the
compiled program.
.PP
.SH "EXAMPLES"
.PP
.PP
Compile and run a file \fIamd2901.c\fR :
.sp
.nf
genlib -v amd2901
.sp
.fi
.SH "SEE ALSO"
.PP
\fBmbk\fR(1),
.SH "DIAGNOSTIC"
.PP
Many errors may occur while executing the source file, so
refer to the proper genlib function manual for more. When an error
occur, \fBgenlib\fR left a log file \fI<program>.grr\fR.
As \fI<program>.c\fR is a C program, all
syntatic C error can occurs...
.PP
Many errors may occur while executing the source file, so refer to the proper
genlib function manual for more.
All genlib functions are listed below alphabetically sorted.
.so man1/alc_bug_report.1
.so ../man3/GENLIB_BUS.3
.so ../man3/GENLIB_COPY_UP_ALL_CON.3
.so ../man3/GENLIB_COPY_UP_ALL_REF.3
.so ../man3/GENLIB_COPY_UP_CON.3
.so ../man3/GENLIB_COPY_UP_CON_FACE.3
.so ../man3/GENLIB_COPY_UP_REF.3
.so ../man3/GENLIB_COPY_UP_SEG.3
.so ../man3/GENLIB_DEF_AB.3
.so ../man3/GENLIB_DEF_LOFIG.3
.so ../man3/GENLIB_DEF_PHFIG.3
.so ../man3/GENLIB_DEF_PHINS.3
.so ../man3/GENLIB_DEF_PHSC.3
.so ../man3/GENLIB_ELM.3
.so ../man3/GENLIB_FLATTEN_ALL_LOINS.3
.so ../man3/GENLIB_FLATTEN_ALL_PHINS.3
.so ../man3/GENLIB_FLATTEN_LOFIG.3
.so ../man3/GENLIB_FLATTEN_PHFIG.3
.so ../man3/GENLIB_GET_CON_X.3
.so ../man3/GENLIB_GET_CON_Y.3
.so ../man3/GENLIB_GET_INS_X.3
.so ../man3/GENLIB_GET_INS_Y.3
.so ../man3/GENLIB_GET_REF_X.3
.so ../man3/GENLIB_GET_REF_Y.3
.so ../man3/GENLIB_HEIGHT.3
.so ../man3/GENLIB_LOAD_LOFIG.3
.so ../man3/GENLIB_LOAD_PHFIG.3
.so ../man3/GENLIB_LOCON.3
.so ../man3/GENLIB_LOINS.3
.so ../man3/GENLIB_LOINSE.3
.so ../man3/GENLIB_LOSIG.3
.so ../man3/GENLIB_LOSIGMERGE.3
.so ../man3/GENLIB_LOTRS.3
.so ../man3/GENLIB_OUTLINE.3
.so ../man3/GENLIB_PHCON.3
.so ../man3/GENLIB_PHREF.3
.so ../man3/GENLIB_PHSEG.3
.so ../man3/GENLIB_PHVIA.3
.so ../man3/GENLIB_PLACE.3
.so ../man3/GENLIB_PLACE_BOTTOM.3
.so ../man3/GENLIB_PLACE_CON_REF.3
.so ../man3/GENLIB_PLACE_LEFT.3
.so ../man3/GENLIB_PLACE_ON.3
.so ../man3/GENLIB_PLACE_RIGHT.3
.so ../man3/GENLIB_PLACE_SEG_REF.3
.so ../man3/GENLIB_PLACE_TOP.3
.so ../man3/GENLIB_PLACE_VIA_REF.3
.so ../man3/GENLIB_REVERSE_PHCON.3
.so ../man3/GENLIB_SAVE_LOFIG.3
.so ../man3/GENLIB_SAVE_PHFIG.3
.so ../man3/GENLIB_SAVE_PHSC.3
.so ../man3/GENLIB_SC_BOTTOM.3
.so ../man3/GENLIB_SC_LEFT.3
.so ../man3/GENLIB_SC_PLACE.3
.so ../man3/GENLIB_SC_RIGHT.3
.so ../man3/GENLIB_SC_TOP.3
.so ../man3/GENLIB_UNFLATTEN_LOFIG.3
.so ../man3/GENLIB_WIRE1.3
.so ../man3/GENLIB_WIRE2.3
.so ../man3/GENLIB_WIRE3.3

View File

@ -56,5 +56,41 @@ man_MANS = GENLIB_BUS.3 \
GENLIB_UNFLATTEN_LOFIG.3 \
GENLIB_WIRE1.3 \
GENLIB_WIRE2.3 \
GENLIB_WIRE3.3
GENLIB_WIRE3.3 \
GENLIB_MACRO.3 \
DPGEN_ADSB2F.3 \
DPGEN_AND2.3 \
DPGEN_AND3.3 \
DPGEN_AND4.3 \
DPGEN_BUFF.3 \
DPGEN_BUSE.3 \
DPGEN_CONST.3 \
DPGEN_DFF.3 \
DPGEN_DFFT.3 \
DPGEN_INV.3 \
DPGEN_MUX2.3 \
DPGEN_NAND2.3 \
DPGEN_NAND2MASK.3 \
DPGEN_NAND3.3 \
DPGEN_NAND4.3 \
DPGEN_NBUSE.3 \
DPGEN_NMUX2.3 \
DPGEN_NOR2.3 \
DPGEN_NOR2MASK.3 \
DPGEN_NOR3.3 \
DPGEN_NOR4.3 \
DPGEN_NUL.3 \
DPGEN_OR2.3 \
DPGEN_OR3.3 \
DPGEN_OR4.3 \
DPGEN_RF1.3 \
DPGEN_RF1D.3 \
DPGEN_ROM2.3 \
DPGEN_ROM4.3 \
DPGEN_SFF.3 \
DPGEN_SFFT.3 \
DPGEN_SHIFT.3 \
DPGEN_XNOR2.3 \
DPGEN_XNOR2MASK.3 \
DPGEN_XOR2.3
EXTRA_DIST = $(man_MANS)