This commit was generated by cvs2svn to track changes on a CVS vendor
branch.
This commit is contained in:
commit
82492e5288
|
@ -0,0 +1 @@
|
||||||
|
SUBDIRS = src man1 man3
|
|
@ -0,0 +1,276 @@
|
||||||
|
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
SHELL = @SHELL@
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
libdir = @libdir@
|
||||||
|
infodir = @infodir@
|
||||||
|
mandir = @mandir@
|
||||||
|
includedir = @includedir@
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
transform = @program_transform_name@
|
||||||
|
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
CC = @CC@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
|
||||||
|
SUBDIRS = src man1 man3
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
DIST_COMMON = Makefile.am Makefile.in configure.in
|
||||||
|
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
TAR = gtar
|
||||||
|
GZIP_ENV = --best
|
||||||
|
all: all-redirect
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && $(AUTOMAKE) --foreign mbk/Makefile
|
||||||
|
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run `make' without going through this Makefile.
|
||||||
|
# To change the values of `make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in `config.status', edit `config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||||
|
# (2) otherwise, pass the desired values on the `make' command line.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
all-recursive install-data-recursive install-exec-recursive \
|
||||||
|
installdirs-recursive install-recursive uninstall-recursive \
|
||||||
|
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||||
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||||
|
maintainer-clean-recursive:
|
||||||
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
|
dot_seen=no; \
|
||||||
|
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
rev="$$subdir $$rev"; \
|
||||||
|
test "$$subdir" = "." && dot_seen=yes; \
|
||||||
|
done; \
|
||||||
|
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
for subdir in $$rev; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
|
done && test -z "$$fail"
|
||||||
|
tags-recursive:
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||||
|
done
|
||||||
|
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
|
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||||
|
list='$(SOURCES) $(HEADERS)'; \
|
||||||
|
unique=`for i in $$list; do echo $$i; done | \
|
||||||
|
awk ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
here=`pwd` && cd $(srcdir) \
|
||||||
|
&& mkid -f$$here/ID $$unique $(LISP)
|
||||||
|
|
||||||
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||||
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
list='$(SOURCES) $(HEADERS)'; \
|
||||||
|
unique=`for i in $$list; do echo $$i; done | \
|
||||||
|
awk ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||||
|
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||||
|
|
||||||
|
mostlyclean-tags:
|
||||||
|
|
||||||
|
clean-tags:
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID
|
||||||
|
|
||||||
|
maintainer-clean-tags:
|
||||||
|
|
||||||
|
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||||
|
|
||||||
|
subdir = mbk
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
here=`cd $(top_builddir) && pwd`; \
|
||||||
|
top_distdir=`cd $(top_distdir) && pwd`; \
|
||||||
|
distdir=`cd $(distdir) && pwd`; \
|
||||||
|
cd $(top_srcdir) \
|
||||||
|
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign mbk/Makefile
|
||||||
|
@for file in $(DISTFILES); do \
|
||||||
|
d=$(srcdir); \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
cp -pr $$/$$file $(distdir)/$$file; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
for subdir in $(SUBDIRS); do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -d $(distdir)/$$subdir \
|
||||||
|
|| mkdir $(distdir)/$$subdir \
|
||||||
|
|| exit 1; \
|
||||||
|
chmod 777 $(distdir)/$$subdir; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
info-am:
|
||||||
|
info: info-recursive
|
||||||
|
dvi-am:
|
||||||
|
dvi: dvi-recursive
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
installcheck-am:
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
install-exec-am:
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
install-data: install-data-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
install: install-recursive
|
||||||
|
uninstall-am:
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
all-am: Makefile
|
||||||
|
all-redirect: all-recursive
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
|
||||||
|
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
mostlyclean-am: mostlyclean-tags mostlyclean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-tags clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
distclean-am: distclean-tags distclean-generic clean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
|
||||||
|
maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
|
||||||
|
distclean-am
|
||||||
|
@echo "This command is intended for maintainers to use;"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
|
||||||
|
.PHONY: install-data-recursive uninstall-data-recursive \
|
||||||
|
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
|
||||||
|
uninstalldirs-recursive all-recursive check-recursive \
|
||||||
|
installcheck-recursive info-recursive dvi-recursive \
|
||||||
|
mostlyclean-recursive distclean-recursive clean-recursive \
|
||||||
|
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||||
|
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
|
||||||
|
dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
|
||||||
|
install-exec install-data-am install-data install-am install \
|
||||||
|
uninstall-am uninstall all-redirect all-am all installdirs-am \
|
||||||
|
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||||
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
|
@ -0,0 +1,49 @@
|
||||||
|
dnl
|
||||||
|
/*
|
||||||
|
dnl This file is part of the Alliance CAD System
|
||||||
|
dnl Copyright (C) Laboratoire LIP6 - Département ASIM
|
||||||
|
dnl Universite Pierre et Marie Curie
|
||||||
|
dnl
|
||||||
|
dnl Home page : http://www-asim.lip6.fr/alliance/
|
||||||
|
dnl E-mail support : mailto:alliance-support@asim.lip6.fr
|
||||||
|
dnl
|
||||||
|
dnl This library is free software; you can redistribute it and/or modify it
|
||||||
|
dnl under the terms of the GNU Library General Public License as published
|
||||||
|
dnl by the Free Software Foundation; either version 2 of the License, or (at
|
||||||
|
dnl your option) any later version.
|
||||||
|
dnl
|
||||||
|
dnl Alliance VLSI CAD System is distributed in the hope that it will be
|
||||||
|
dnl useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||||
|
dnl Public License for more details.
|
||||||
|
dnl
|
||||||
|
dnl You should have received a copy of the GNU General Public License along
|
||||||
|
dnl with the GNU C Library; see the file COPYING. If not, write to the Free
|
||||||
|
dnl Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
dnl
|
||||||
|
dnl Purpose : Auto stuffing Alliance
|
||||||
|
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.1 2002/03/08 13:51:00 fred Exp $
|
||||||
|
dnl
|
||||||
|
dnl
|
||||||
|
AC_INIT(src/mut.h)
|
||||||
|
AM_INIT_AUTOMAKE(mbk, 4.2)
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_HEADER_SYS_WAIT
|
||||||
|
AC_CHECK_HEADERS(fcntl.h malloc.h strings.h sys/time.h unistd.h)
|
||||||
|
AC_C_CONST
|
||||||
|
AC_TYPE_SIGNAL
|
||||||
|
AC_FUNC_VFORK
|
||||||
|
AC_PROG_RANLIB
|
||||||
|
|
||||||
|
AC_OUTPUT([
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
man1/Makefile
|
||||||
|
man3/Makefile
|
||||||
|
])
|
|
@ -0,0 +1,54 @@
|
||||||
|
.\" $Id: MBK_CATAL_NAME.1,v 1.1 2002/03/08 13:51:04 fred Exp $
|
||||||
|
.\" @(#)MBK_CATAL_NAME.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_CATAL_NAME
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_CATAL_NAME 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_CATAL_NAME \- define the mbk catalog file
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_CATAL_NAME file
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_CATAL_NAME\fP sets the name of the catalog file, that contains
|
||||||
|
information about the cells of a design. The catalog file syntax is a cellname,
|
||||||
|
plus a flag. The cellname may appear many times with a different flag.
|
||||||
|
.TP
|
||||||
|
Three flags are available:
|
||||||
|
C : tells the flatten functions to stop a this level.
|
||||||
|
.br
|
||||||
|
G : informs the user that this is a phantom cell.
|
||||||
|
.br
|
||||||
|
F : says that this is a feed through.
|
||||||
|
.br
|
||||||
|
The seaching mecanism first look in \fBMBK_WORK_LIB\fP(1), and then
|
||||||
|
in \fBMBK_CATA_LIB\fP(1). So it is recommended to have a catalog file in
|
||||||
|
the \fBMBK_WORK_LIB\fP(1).
|
||||||
|
.br
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_CATAL_NAME catalog
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
.\" $Id: MBK_CATA_LIB.1,v 1.1 2002/03/08 13:51:04 fred Exp $
|
||||||
|
.\" @(#)MBK_CATA_LIB.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_CATA_LIB
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_CATA_LIB 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_CATA_LIB \- define the mbk catalog directory
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_CATA_LIB path1:path2:path3:...:...:pathn
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_CATA_LIB\fP sets the directories that are to be searched thru for
|
||||||
|
reading. When instanciating a cell for example, the first cell that is found
|
||||||
|
with the given name is loaded in memory.
|
||||||
|
.br
|
||||||
|
The seaching mecanism first look in
|
||||||
|
\fBMBK_WORK_LIB\fP(1), and then, in path1 thru pathn, in the order defined by the
|
||||||
|
user when typing the setenv command.
|
||||||
|
This directories are considered to be, from a mbk point of view, read only.
|
||||||
|
.br
|
||||||
|
The pathi arguments must be actually accessible pathes on your host machine.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"mbk_fopen : can't open file 'unix_path/file.xx' thru directories : path1, ..., pathn"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
This occurs when either the unix path is irrelevent, or when the file doesn't
|
||||||
|
exist. This can also be a unix right problem if the file is not accessible for
|
||||||
|
reading, but this is seldom.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_CATA_LIB ~fred/crechan/uom:/labo/sclib
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
Only the first path may be given with a '~', since the shell extents it only
|
||||||
|
when seen first.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR MBK_WORK_LIB (1).
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
.\" $Id: MBK_FILTER_SFX.1,v 1.1 2002/03/08 13:51:04 fred Exp $
|
||||||
|
|
||||||
|
.TH MBK_FILTER_SFX 1 "October 1, 1999" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
MBK_FILTER_SFX \- define the input\/output filter suffixe.
|
||||||
|
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_FILTER_SFX\fP tells to Alliance the extention set by compression tools.
|
||||||
|
This variable must be set in order to activate filters. Note the leading points
|
||||||
|
of extention must be set if necessary.
|
||||||
|
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
For compressed files with gzip :
|
||||||
|
setenv MBK_FILTER_SFX ".gz"
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR MBK_IN_FILTER (1),
|
||||||
|
.BR MBK_OUT_FILTER (1),
|
||||||
|
.BR mbkenv (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
.\" $Id: MBK_IN_FILTER.1,v 1.1 2002/03/08 13:51:04 fred Exp $
|
||||||
|
|
||||||
|
.TH MBK_IN_FILTER 1 "October 1, 1999" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
MBK_IN_FILTER \- define the input filter
|
||||||
|
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_IN_FILTER\fP set the input filter for reading compressed Alliance files.
|
||||||
|
Filter is typically a string containing filename and options. This filter
|
||||||
|
must read compressed data flow on it standard input and write non compressed
|
||||||
|
data flow on it standard output. Files are taken in the first directory where
|
||||||
|
they are found according to the environment variable \fbMBK_CATA_LIB\fb. If a
|
||||||
|
file compressed version and a file non compressed version exist booth in the
|
||||||
|
same directory, the non compressed is opended, and a warning message is
|
||||||
|
supllyed. To activate filters, variable \fbMBK_FILTER_SFX\fb must be set.
|
||||||
|
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
Opening compressed files with gzip :
|
||||||
|
setenv MBK_IN_FILTER "/asim/gnu/bin/gunzip -c"
|
||||||
|
setenv MBK_FILTER_SFX ".gz"
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR MBK_FILTER_SFX (1),
|
||||||
|
.BR MBK_OUT_FILTER (1),
|
||||||
|
.BR mbkenv (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
.\" $Id: MBK_IN_LO.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_IN_LO.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_IN_LO
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_IN_LO 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_IN_LO \- define the logical input format of mbk and genlib
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_IN_LO format
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_IN_LO\fP sets the logical input format of the mbk database. The database
|
||||||
|
will be filled with informations found in the given format file.
|
||||||
|
.TP
|
||||||
|
valid formats are :
|
||||||
|
\- \fBal\fP, \fBalx\fP, that are alliance logical formats
|
||||||
|
.br
|
||||||
|
\- \fBedi\fP, that is edif standart netlist format
|
||||||
|
.br
|
||||||
|
\- \fBhns\fP, \fBfns\fP, \fBfne\fP, \fBfdn\fP, \fBhdn\fP, that are vti logical
|
||||||
|
formats
|
||||||
|
.br
|
||||||
|
\- \fBspi\fP, that's spice netlist
|
||||||
|
.br
|
||||||
|
\- \fBvst\fP, that structural vhdl description
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"MBK_IN_LO : 'xxx' unknown format"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The argument given to the setenv is not a legal logical input format for mbk.
|
||||||
|
You must changed it before any other action.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_IN_LO al
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR MBK_OUT_LO (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
.\" $Id: MBK_IN_PH.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_IN_PH.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_IN_PH
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_IN_PH 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_IN_PH \- define the physical input format of mbk and genlib
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_IN_PH format
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_IN_PH\fP sets the physical input format of the mbk data structure.
|
||||||
|
The data structure will be filled with informations found in the given format
|
||||||
|
file.
|
||||||
|
.TP
|
||||||
|
valid formats are :
|
||||||
|
\- \fBap\fP, alliance physical format
|
||||||
|
.br
|
||||||
|
\- \fBcp\fP, vti physical format
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"MBK_IN_PH : 'xxx' unknown format"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The argument given to the setenv is not a legal physical input format for mbk.
|
||||||
|
You must changed it before any other action.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_IN_PH al
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR MBK_OUT_PH (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
.\" $Id: MBK_OUT_FILTER.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
|
||||||
|
.TH MBK_OUT_FILTER 1 "October 1, 1999" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
MBK_OUT_FILTER \- define the input filter
|
||||||
|
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_OUT_FILTER\fP sets the output filter for writting compressed Alliance
|
||||||
|
files. Filter is typically a string containing filename and options. This filter
|
||||||
|
must read non compressed data flow on it standard input and write compressed
|
||||||
|
data flow on it standard output. If a non compressed version of a file exist in
|
||||||
|
the same target directory the designer want the save a file's compressed
|
||||||
|
version, to ensure that file will be read later and not the non compressed one,
|
||||||
|
the non compressed file is DELETED. To activate filters, variable
|
||||||
|
MBK_FILTER_SFX must be set.
|
||||||
|
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
Writing compressed files with gzip :
|
||||||
|
setenv MBK_OUT_FILTER "/asim/gnu/bin/gzip -c"
|
||||||
|
setenv MBK_FILTER_SFX ".gz"
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR MBK_FILTER_SFX (1),
|
||||||
|
.BR MBK_IN_FILTER (1),
|
||||||
|
.BR mbkenv (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
.\" $Id: MBK_OUT_LO.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_OUT_LO.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_OUT_LO
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_OUT_LO 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_OUT_LO \- define the logical output format of mbk and genlib
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_OUT_LO format
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIparam\fP
|
||||||
|
pwet
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_OUT_LO\fP sets the logical output format of the mbk data structure.
|
||||||
|
The files resulting of the work on mbk will have the given format.
|
||||||
|
.TP
|
||||||
|
valid formats are :
|
||||||
|
\- \fBal\fP, \fBalx\fP, that are alliance logical formats
|
||||||
|
.br
|
||||||
|
\- \fBcct\fP, that is genrad hilo netlist format
|
||||||
|
.br
|
||||||
|
\- \fBedi\fP, that is edif standart netlist format
|
||||||
|
.br
|
||||||
|
\- \fBhns\fP, \fBfns\fP, \fBfne\fP, \fBfdn\fP, \fBhdn\fP, that are vti logical
|
||||||
|
formats
|
||||||
|
.br
|
||||||
|
\- \fBspi\fP, that's spice netlist
|
||||||
|
.br
|
||||||
|
\- \fBvst\fP, that is structural vhdl description
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"MBK_OUT_LO : 'xxx' unknown format"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The argument given to the setenv is not a legal logical output format for mbk.
|
||||||
|
You must changed it before any other action.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_OUT_LO al
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR MBK_IN_LO (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
.\" $Id: MBK_OUT_PH.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_OUT_PH.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_OUT_PH
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_OUT_PH 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_OUT_PH \- define the physical output format of mbk and genlib
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_OUT_PH format
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_OUT_PH\fP sets the physical output format of the mbk data structure.
|
||||||
|
The files resulting of the work on mbk will have the given format.
|
||||||
|
.TP
|
||||||
|
valid formats are :
|
||||||
|
\- \fBap\fP, for alliance physical output
|
||||||
|
.br
|
||||||
|
\- \fBcp\fP, in order to obtain a vti physical file
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"MBK_OUT_PH : 'xxx' unknown format"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The argument given to the setenv is not a legal physical output format for mbk.
|
||||||
|
You must changed it before any other action.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_OUT_PH al
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR MBK_IN_PH (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
.\" $Id: MBK_SEPAR.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_SEPAR.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_SEPAR
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_SEPAR 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_SEPAR \- define the separator character for hierarchy
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_SEPAR character
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_SEPAR\fP sets the character that is to be used while concatening
|
||||||
|
names, during a flatten, for example.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_SEPAR /
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR concatname (3),
|
||||||
|
.BR nameindex (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
.\" Alliance man
|
||||||
|
.\" Author: Czo <Olivier.Sirol@lip6.fr>
|
||||||
|
.\" $Id: MBK_TRACE_GETENV.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.TH MBK_TRACE_GETENV 1 "$Date: 2002/03/08 13:51:05 $" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
\fBMBK_TRACE_GETENV\fP \- defines getenv() debug output
|
||||||
|
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.TP
|
||||||
|
.TP
|
||||||
|
Bourne Shell : \fBMBK_TRACE_GETENV\fR=\fIyes\fR; export MBK_TRACE_GETENV
|
||||||
|
.TP
|
||||||
|
C-shell : sentenv \f4MBK_TRACE_GETENV\fR \fIyes\fR
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
If \fBMBK_TRACE_GETENV\fR is set to "yes", all alliance tools will print debug info to stdout each time a getenv() syscall is done.
|
||||||
|
|
||||||
|
.SH OUTPUT EXAMPLE
|
||||||
|
.RS
|
||||||
|
\f4--- mbk --- mbkgetenv VH_PATSFX : pat\fR
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.PP
|
||||||
|
.BR mbk(1)
|
||||||
|
.BR mbkgetenv(3).
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
.\" $Id: MBK_VDD.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_VDD.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_VDD
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_VDD 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_VDD \- define the high level power name pattern
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_VDD powername
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_VDD\fP sets the pattern to be matched in a name to indicate a power
|
||||||
|
supply for the tools based upon \fBmbk\fP.
|
||||||
|
Its default value is \fBvdd\fP.
|
||||||
|
Therefore all names of the form `*\fBvdd\fP*' indicates a power supply.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_VDD vcc
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR isvdd (3),
|
||||||
|
.BR isvss (3),
|
||||||
|
.BR MBK_VSS (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
.\" $Id: MBK_VSS.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_VSS.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_VSS
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_VSS 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_VSS \- define the ground power name pattern
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_VSS groundname
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_VSS\fP sets the pattern to be matched in a name to indicate a
|
||||||
|
ground node for the tools based upon
|
||||||
|
Its default value is \fBvss\fP.
|
||||||
|
Therefore all names of the form `*\fBvss\fP*' in indicates a ground node.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_VSS gnd
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR isvss (3),
|
||||||
|
.BR isvdd (3),
|
||||||
|
.BR MBK_VDD (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
.\" $Id: MBK_WORK_LIB.1,v 1.1 2002/03/08 13:51:05 fred Exp $
|
||||||
|
.\" @(#)MBK_WORK_LIB.8 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
MBK_WORK_LIB
|
||||||
|
.XE \}
|
||||||
|
.TH MBK_WORK_LIB 1 "October 1, 1997" "ASIM/LIP6" "MBK ENVIRONMENT VARIABLES"
|
||||||
|
.SH NAME
|
||||||
|
MBK_WORK_LIB \- define the mbk working directory
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
c-shell running
|
||||||
|
setenv MBK_WORK_LIB unix path
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBMBK_WORK_LIB\fP sets the directory where are saved the results of an
|
||||||
|
invocation of mbk or genlib. This directory is considered to be, from an
|
||||||
|
mbk point of view, read and write.
|
||||||
|
.br
|
||||||
|
Also, when a file is searched for
|
||||||
|
reading, the first directory to be looked at is the \fBMBK_WORK_LIB\fP, and then
|
||||||
|
the one defined in \fBMBK_CATA_LIB\fP(1).
|
||||||
|
.br
|
||||||
|
The unix path argument must be a actually accessible path on your host machine.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"mbk_fopen : can't open file 'unix_path/file.xx'"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
This occurs when either the unix path is irrelevent, or when the file doesn't
|
||||||
|
exist if it is open for reading, or when you don't have the right on the file
|
||||||
|
or directory while trying to write it.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
setenv MBK_WORK_LIB ~fred/crechan/uom
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR genlib (1),
|
||||||
|
.BR MBK_CATA_LIB (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
man_MANS = MBK_CATAL_NAME.1 \
|
||||||
|
MBK_CATA_LIB.1 \
|
||||||
|
MBK_FILTER_SFX.1 \
|
||||||
|
MBK_IN_FILTER.1 \
|
||||||
|
MBK_IN_LO.1 \
|
||||||
|
MBK_IN_PH.1 \
|
||||||
|
MBK_OUT_FILTER.1 \
|
||||||
|
MBK_OUT_LO.1 \
|
||||||
|
MBK_OUT_PH.1 \
|
||||||
|
MBK_SEPAR.1 \
|
||||||
|
MBK_TRACE_GETENV.1 \
|
||||||
|
MBK_VDD.1 \
|
||||||
|
MBK_VSS.1 \
|
||||||
|
MBK_WORK_LIB.1
|
|
@ -0,0 +1,133 @@
|
||||||
|
man_MANS = addcapa.3 \
|
||||||
|
addchain.3 \
|
||||||
|
addht.3 \
|
||||||
|
addhtitem.3 \
|
||||||
|
addlocon.3 \
|
||||||
|
addlofig.3 \
|
||||||
|
addloins.3 \
|
||||||
|
addlomodel.3 \
|
||||||
|
addlosig.3 \
|
||||||
|
addlotrs.3 \
|
||||||
|
addnum.3 \
|
||||||
|
addphcon.3 \
|
||||||
|
addphfig.3 \
|
||||||
|
addphins.3 \
|
||||||
|
addphref.3 \
|
||||||
|
addphseg.3 \
|
||||||
|
addphvia.3 \
|
||||||
|
addptype.3 \
|
||||||
|
alliancebanner.3 \
|
||||||
|
append.3 \
|
||||||
|
bigvia.3 \
|
||||||
|
chain.3 \
|
||||||
|
checkloconorder.3 \
|
||||||
|
concatname.3 \
|
||||||
|
defab.3 \
|
||||||
|
delchain.3 \
|
||||||
|
delht.3 \
|
||||||
|
delhtitem.3 \
|
||||||
|
dellocon.3 \
|
||||||
|
dellofig.3 \
|
||||||
|
delloins.3 \
|
||||||
|
dellosig.3 \
|
||||||
|
dellotrs.3 \
|
||||||
|
delnum.3 \
|
||||||
|
delphcon.3 \
|
||||||
|
delphfig.3 \
|
||||||
|
delphins.3 \
|
||||||
|
delphref.3 \
|
||||||
|
delphseg.3 \
|
||||||
|
delphvia.3 \
|
||||||
|
delptype.3 \
|
||||||
|
downstr.3 \
|
||||||
|
filepath.3 \
|
||||||
|
flattenlofig.3 \
|
||||||
|
flattenphfig.3 \
|
||||||
|
freechain.3 \
|
||||||
|
freelomodel.3 \
|
||||||
|
freenum.3 \
|
||||||
|
freeptype.3 \
|
||||||
|
gethtitem.3 \
|
||||||
|
getlocon.3 \
|
||||||
|
getlofig.3 \
|
||||||
|
getloins.3 \
|
||||||
|
getlomodel.3 \
|
||||||
|
getlosig.3 \
|
||||||
|
getphcon.3 \
|
||||||
|
getphfig.3 \
|
||||||
|
getphins.3 \
|
||||||
|
getphref.3 \
|
||||||
|
getptype.3 \
|
||||||
|
getsigname.3 \
|
||||||
|
givelosig.3 \
|
||||||
|
guessextdir.3 \
|
||||||
|
incatalog.3 \
|
||||||
|
incatalogdelete.3 \
|
||||||
|
incatalogfeed.3 \
|
||||||
|
incataloggds.3 \
|
||||||
|
instanceface.3 \
|
||||||
|
instr.3 \
|
||||||
|
isvdd.3 \
|
||||||
|
isvss.3 \
|
||||||
|
libpat.3 \
|
||||||
|
loadlofig.3 \
|
||||||
|
loadphfig.3 \
|
||||||
|
locon.3 \
|
||||||
|
lofig.3 \
|
||||||
|
lofigchain.3 \
|
||||||
|
log.3 \
|
||||||
|
loins.3 \
|
||||||
|
losig.3 \
|
||||||
|
lotrs.3 \
|
||||||
|
mbk.3 \
|
||||||
|
mbkalloc.3 \
|
||||||
|
mbkenv.3 \
|
||||||
|
mbkfopen.3 \
|
||||||
|
mbkfree.3 \
|
||||||
|
mbkgetenv.3 \
|
||||||
|
mbkps.3 \
|
||||||
|
mbkrealloc.3 \
|
||||||
|
mbksetautoackchld.3 \
|
||||||
|
mbkunlink.3 \
|
||||||
|
mbkwaitpid.3 \
|
||||||
|
mlodebug.3 \
|
||||||
|
mphdebug.3 \
|
||||||
|
namealloc.3 \
|
||||||
|
namefind.3 \
|
||||||
|
nameindex.3 \
|
||||||
|
naturalstrcmp.3 \
|
||||||
|
phcon.3 \
|
||||||
|
phfig.3 \
|
||||||
|
phins.3 \
|
||||||
|
phref.3 \
|
||||||
|
phseg.3 \
|
||||||
|
phvia.3 \
|
||||||
|
ptype.3 \
|
||||||
|
restorealldir.3 \
|
||||||
|
restoredirvbe.3 \
|
||||||
|
reverse.3 \
|
||||||
|
rflattenlofig.3 \
|
||||||
|
rflattenphfig.3 \
|
||||||
|
savelofig.3 \
|
||||||
|
savephfig.3 \
|
||||||
|
sethtitem.3 \
|
||||||
|
sortlocon.3 \
|
||||||
|
sortlosig.3 \
|
||||||
|
unflattenlofig.3 \
|
||||||
|
upstr.3 \
|
||||||
|
viewht.3 \
|
||||||
|
viewlo.3 \
|
||||||
|
viewlofig.3 \
|
||||||
|
viewlofigcon.3 \
|
||||||
|
viewloins.3 \
|
||||||
|
viewloinscon.3 \
|
||||||
|
viewlosig.3 \
|
||||||
|
viewlotrs.3 \
|
||||||
|
viewph.3 \
|
||||||
|
viewphcon.3 \
|
||||||
|
viewphfig.3 \
|
||||||
|
viewphins.3 \
|
||||||
|
viewphref.3 \
|
||||||
|
viewphseg.3 \
|
||||||
|
viewphvia.3 \
|
||||||
|
xyflat.3
|
|
@ -0,0 +1,57 @@
|
||||||
|
.\" $Id: addcapa.3,v 1.1 2002/03/08 13:51:00 fred Exp $
|
||||||
|
.\" @(#)addcapa.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addcapa
|
||||||
|
.XE \}
|
||||||
|
.TH ADDCAPA 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addcapa \- add a capacitance to a signal
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void addcapa(ptsig, ctot)
|
||||||
|
losig_list \(**ptsig;
|
||||||
|
float ctot;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the signal in which the capacitance should be added
|
||||||
|
.TP
|
||||||
|
\fIctot\fP
|
||||||
|
Total capacitance
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddcapa\fP add the \fIcapa\fP value to \fIptsig\->CAPA\fP.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void more_capa(pt, i, c)
|
||||||
|
lofig_list \(**pt;
|
||||||
|
long i;
|
||||||
|
float c;
|
||||||
|
{
|
||||||
|
addcapa(getlosig(pt, i), c);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR losig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
.\" $Id: addchain.3,v 1.1 2002/03/08 13:51:00 fred Exp $
|
||||||
|
.\" @(#)addchain.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addchain
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addchain
|
||||||
|
.XE4 \}
|
||||||
|
.TH ADDCHAIN 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addchain \- create a \fBchain\fP and add it to a list
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
chain_list \(**addchain(pthead, ptdata)
|
||||||
|
chain_list \(**pthead;
|
||||||
|
void \(**ptdata;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIpthead\fP
|
||||||
|
Pointer to a \fBchain_list\fP
|
||||||
|
.TP
|
||||||
|
\fIptdata\fP
|
||||||
|
Generic pointer to any kind of information
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddchain\fP creates a new \fBchain\fP element and adds it to the
|
||||||
|
front of the list pointed to by \fIpthead\fP, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The \fBchain_list\fPs are mosty used to create temporary lists of homogeneous
|
||||||
|
elements, for binary trees, and so on.
|
||||||
|
.br
|
||||||
|
The \fIptdata\fP points to any kind of list or may itself be a value, if proper
|
||||||
|
cast is performed at compilation time, and fills the \fIDATA\fP field of the
|
||||||
|
\fBchain\fP structure.
|
||||||
|
For details on the structure, see \fBchain\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddchain\fP returns a pointer to the new head of list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
chain_list \(**get_external_connectors(ptfig)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
{
|
||||||
|
locon_list \(**pt = ptfig\->LOCON;
|
||||||
|
chain_list \(**c = NULL; /\(** initialized for regularity \(**/
|
||||||
|
while (pt) {
|
||||||
|
if (pt\->TYPE == EXTERNAL)
|
||||||
|
c = addchain(c, (void \(**)pt)
|
||||||
|
pt = pt\->NEXT;
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR chain (3),
|
||||||
|
.BR freechain (3),
|
||||||
|
.BR delchain (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
.\" $Id: addht.3,v 1.1 2002/03/08 13:51:00 fred Exp $
|
||||||
|
.\" @(#)addht.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
|
||||||
|
.\" slightly modified by Fred Petrot for mbk adaptation on 22/06/92
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addht
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addht
|
||||||
|
.XE4 \}
|
||||||
|
.TH ADDHT 3 "October 1, 1997" "ASIM/LIP6" "MBK HASH TABLE MANAGEMENT FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addht \- create an hash table
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.nf
|
||||||
|
#include "mut.h"
|
||||||
|
ht \(**addht(len)
|
||||||
|
unsigned int len;
|
||||||
|
.fi
|
||||||
|
.ft R
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIlen\fP
|
||||||
|
Number of entries in the hash table
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddht()\fP creates a new hash table in memory.
|
||||||
|
\fIlen\fP is an estimate of the maximum number of entries that the
|
||||||
|
table will contain.
|
||||||
|
This number may be automatically adjusted when using access functions
|
||||||
|
by a dynamic reallocation, in order to warranty fast access time.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
ht \(**sigHtable(ptfig) /\(** h table suitable for signals \(**/
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
{
|
||||||
|
losig_list \(**ptsig = ptfig->LOSIG;
|
||||||
|
unsigned int i = 0;
|
||||||
|
while (ptsig) {
|
||||||
|
i++;
|
||||||
|
ptsig = ptsig->NEXT;
|
||||||
|
}
|
||||||
|
return addht(i);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addht : \fIlen\fP is '0'"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The hash table size cannot be zero, guess why!
|
||||||
|
.RE
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR delht (3),
|
||||||
|
.BR addhtitem (3),
|
||||||
|
.BR gethtitem (3),
|
||||||
|
.BR sethtitem (3),
|
||||||
|
.BR delhtitem (3),
|
||||||
|
.BR viewht (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
.\" $Id: addhtitem.3,v 1.1 2002/03/08 13:51:00 fred Exp $
|
||||||
|
.\" @(#)addhtitem.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
|
||||||
|
.\" slightly modified by Fred Petrot for mbk adaptation on 22/06/92
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addhtitem
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addhtitem
|
||||||
|
.XE4 \}
|
||||||
|
.TH ADDHTITEM 3 "October 1, 1997" "ASIM/LIP6" "MBK HASH TABLE MANAGEMENT FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addhtitem \- adds a new item in a hash table.
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.nf
|
||||||
|
#include "mut.h"
|
||||||
|
void addhtitem(table, key, value)
|
||||||
|
ht \(**table;
|
||||||
|
void \(**key;
|
||||||
|
int value;
|
||||||
|
.fi
|
||||||
|
.ft R
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fItable\fP
|
||||||
|
Hash table pointer
|
||||||
|
.TP 20
|
||||||
|
\fIkey\fP
|
||||||
|
Key used by the hash coding function to add the item
|
||||||
|
.TP 20
|
||||||
|
\fIvalue\fP
|
||||||
|
Value associated with the key
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddhtitem()\fP adds a new item in the hash table pointed to by \fItable\fP.
|
||||||
|
If the key already exists, the old value is changed to the new one.
|
||||||
|
\fIValue\fP must be distinct from \fBEMPTYHT\fP and \fBDELETEHT\fP.
|
||||||
|
The length of the table increases automatically when the length given
|
||||||
|
in \fBaddht()\fP leads to a performance shut down.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.nf
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
void conHenter(h, ptfig)
|
||||||
|
ht \(**h;
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
{
|
||||||
|
locon_list \(**ptcon;
|
||||||
|
/\(** since connector names are unique, add them without check \(**/
|
||||||
|
for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT)
|
||||||
|
addhtitem(h, ptcon->NAME, 0);
|
||||||
|
}
|
||||||
|
.fi
|
||||||
|
.ft R
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addhtitem impossible :
|
||||||
|
value is \fBEMPTYHT\fP or \fBDELETEHT\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The values \fBEMPTYHT\fP, \fI-1\fP, and \fBDELETEHT\fP, \fI-2\fP,
|
||||||
|
are reserved for internal use, sorry.
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
The value must be distinct from \fI-1\fP and \fI-2\fP.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addht (3),
|
||||||
|
.BR delht (3),
|
||||||
|
.BR gethtitem (3),
|
||||||
|
.BR sethtitem (3),
|
||||||
|
.BR delhtitem (3),
|
||||||
|
.BR viewht (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
.\" $Id: addlocon.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addlocon.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlocon
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlocon
|
||||||
|
.XE2 \}
|
||||||
|
.TH ADDLOCON 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addlocon \- create a logical connector
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
locon_list \(**addlocon(ptfig, name, ptsig, dir)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**name;
|
||||||
|
losig_list \(**ptsig;
|
||||||
|
char dir;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the connector should be added
|
||||||
|
.TP
|
||||||
|
\fIname\fP
|
||||||
|
Name of the connector
|
||||||
|
.TP
|
||||||
|
\fIptsig\fP
|
||||||
|
Pointer on the signal linked to the connector
|
||||||
|
.TP
|
||||||
|
\fIdir\fP
|
||||||
|
Connector direction type
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddlocon\fP creates a new figure connector called \fIname\fP and adds it
|
||||||
|
to the list of connectors pointed to by \fIptfig\->LOCON\fP.
|
||||||
|
The new connector is added in front of the list, and becomes itself the
|
||||||
|
list head.
|
||||||
|
.br
|
||||||
|
The parameters \fIname\fP, \fIptsig\fP, \fIdir\fP,
|
||||||
|
\fIwidth\fP fill respectivly the \fINAME\fP, \fISIG\fP and \fIDIR\fP
|
||||||
|
fields of the \fIlocon\fP structure. The name should be unique at a given
|
||||||
|
hierarchical level since it's the connector identifier.
|
||||||
|
.br
|
||||||
|
The field \fITYPE\fP is set to \fBEXTERNAL\fP since a cell connector is
|
||||||
|
beeing created. The instance connectors are builded up by the \fBaddloins\fP(3)
|
||||||
|
call. See \fBaddloins\fP(3) for details.
|
||||||
|
For a list of valid \fIdir\fP, see \fBlocon\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddlocon\fP returns a pointer to the newly created connector.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addlocon impossible :
|
||||||
|
connector \fIname\fP already exists in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIname\fP beeing the logical connector idenfier, two connectors may not
|
||||||
|
have the same name in a given figure.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addlocon impossible :
|
||||||
|
bad direction \fIdir\fP in \fIfigure ptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIdir\fP does not have a legal value. For the set of legal values, see
|
||||||
|
\fIlocon\fP(3).
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
locon_list \(**du_con(ptfig, ptcon) /\(** duplicate connector \(**/
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
locon_list \(**ptcon;
|
||||||
|
{
|
||||||
|
return addlocon(ptfig, ptcon\->NAME, ptcon\->SIG, ptcon\->DIR);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR loins (3),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR getlocon (3),
|
||||||
|
.BR dellocon (3),
|
||||||
|
.BR phcon (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
.\" $Id: addlofig.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addlofig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlofig
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlofig
|
||||||
|
.XE2 \}
|
||||||
|
.TH ADDLOFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addlofig \- create a new structural cell model
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
lofig_list \(**addlofig(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be created
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddlofig\fP creates a new figure called \fIfigname\fP and adds it to the
|
||||||
|
list of figure in memory. The new figure is added in front of the list, and
|
||||||
|
becomes itself the list head. No check is performed to see if a figure with
|
||||||
|
the \fIfigname\fP exists on disk. If it is the case, the preexisting file will
|
||||||
|
be erased while saving.
|
||||||
|
.br
|
||||||
|
The fields \fILOCON\fP, \fILOINS\fP, \fILOSIG\fP, \fIBKSIG\fP, \fILOPAR\fP
|
||||||
|
\fILOTRS\fP and \fIUSER\fP are set to \fBNULL\fP.
|
||||||
|
.br
|
||||||
|
The field \fIMODE\fP is set to \fB'A'\fP.
|
||||||
|
.br
|
||||||
|
The field \fINEXT\fP points to the previous head of list.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddlofig\fP returns a pointer to the newly created figure.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addlofig figure \fIfigname\fP already exists"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
There is already a logical figure called \fIfigname\fP in memory, so it's
|
||||||
|
impossible to give this name to a cell to be created.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
lofig_list \(**get_the_fig(name)
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
lofig_list \(**pt, \(**fill_fig(/\(** lofig_list \(** \(**/);
|
||||||
|
/\(** scan figure list \(**/
|
||||||
|
for (pt = HEAD_LOFIG; pt; pt = pt\->NEXT)
|
||||||
|
if (!strcmp(pt\->NAME, figname))
|
||||||
|
break;
|
||||||
|
return pt ? pt : fill_fig(addlofig(figname));
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR getlofig (3),
|
||||||
|
.BR dellofig (3),
|
||||||
|
.BR loadlofig (3),
|
||||||
|
.BR savelofig (3),
|
||||||
|
.BR flattenlofig (3),
|
||||||
|
.BR rflattenlofig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,136 @@
|
||||||
|
.\" $Id: addloins.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addloins.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addloins
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addloins
|
||||||
|
.XE2 \}
|
||||||
|
.TH ADDLOINS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addloins \- create a logical instance
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
loins_list \(**addloins(ptfig, insname, ptmodel, sigchain)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
lofig_list \(**ptmodel;
|
||||||
|
chain_list \(**sigchain;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the instance should be added
|
||||||
|
.TP
|
||||||
|
\fIinsname\fP
|
||||||
|
Instance name
|
||||||
|
.TP
|
||||||
|
\fIptmodel\fP
|
||||||
|
Pointer to the instance model
|
||||||
|
.TP
|
||||||
|
\fIsigchain\fP
|
||||||
|
Pointer to chain list of signal pointers
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddloins\fP creates a new instance, and adds it to the
|
||||||
|
list of instances pointed to by \fIptfig\->LOINS\fP. The new instance is
|
||||||
|
added in front of the list, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The parameter \fIinsname\fP fills the \fIINSNAME\fP field of the \fIloins\fP
|
||||||
|
structure.
|
||||||
|
.br
|
||||||
|
The \fIptmodel\fP is used for two purposes. First, the \fIptmodel\->NAME\fP
|
||||||
|
fills the \fIFIGNAME\fP field. Second, the connectors of the figure pointed
|
||||||
|
to by \fIptmodel\fP are duplicated in the \fILOCON\fP field, but the signals
|
||||||
|
linked to each connector are the one given in the \fIsigchain\fP argument. See
|
||||||
|
\fBchain\fP(3) for details on \fBchain_list\fPs.
|
||||||
|
.br
|
||||||
|
The matching is done in order, it means that the first connector is linked
|
||||||
|
to the first signal of the \fIsigchain\fP, and so on. Care must be taken when
|
||||||
|
instanciating in order to warranty the validity of the netlist.
|
||||||
|
For details on the structure, see \fBloins\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddloins\fP returns a pointer to the newly created instance.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addloins impossible : instance \fIinsname\fP already
|
||||||
|
exist in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIinsname\fP is the instance identifier. So it must be unique at a given
|
||||||
|
hierarchy level.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addloins impossible : instance model is the
|
||||||
|
figure \fIfigname\fP itself"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The model of the instance has the same name that the figure where the
|
||||||
|
instantiation takes place. This check is only performed for a single hierarchy
|
||||||
|
level, in terms of its instances.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addloins impossible : connector number discrepancy
|
||||||
|
between figure \fIptmodel\->NAME\fP and instance \fIinsname\fP
|
||||||
|
in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The number of signals in the \fIsigchain\fP is not equal to the number of
|
||||||
|
connectors of the model. The matching is not done correctly.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void add_na2_y(pt, in1, in2, out) /\(** add an instance of na2_y \(**/
|
||||||
|
lofig_list \(**pt; /\(** pointer to the figure \(**/
|
||||||
|
long in1, in2, out; /\(** signals indexes \(**/
|
||||||
|
{
|
||||||
|
chain_list \(**signal = NULL;
|
||||||
|
/\(** get the pointer when signal index is known \(**/
|
||||||
|
signal = addchain(signal, (void \(**)givelosig(pt, in1));
|
||||||
|
signal = addchain(signal, (void \(**)givelosig(pt, in2));
|
||||||
|
signal = addchain(signal, (void \(**)givelosig(pt, out));
|
||||||
|
/\(** get vdd and vss \(**/
|
||||||
|
signal = addchain(signal, (void \(**)give_vdd(pt));
|
||||||
|
signal = addchain(signal, (void \(**)give_vss(pt));
|
||||||
|
/\(** reverse the list \(**/
|
||||||
|
signal = reverse(signal);
|
||||||
|
addloins(pt, "nand", getlofig("na2_y"), signal);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR loins (3),
|
||||||
|
.BR chain (3),
|
||||||
|
.BR getloins (3),
|
||||||
|
.BR delloins (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
.\" $Id: addlomodel.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addlomodel.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlomodel
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlomodel
|
||||||
|
.XE2 \}
|
||||||
|
.TH ADDLOMODEL 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addlomodel \- create a tempotary logical model and add it to a list
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
lofig_list \(**addlomodel(model, name)
|
||||||
|
lofig_list \(**model;
|
||||||
|
char \(**name;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fImodel\fP
|
||||||
|
Pointer to the head of a model list
|
||||||
|
.TP
|
||||||
|
\fIname\fP
|
||||||
|
Name of the model to be created
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddlomodel\fP creates a new \fBlofig_list\fP element and adds it to the
|
||||||
|
front of the list pointed to by \fImodel\fP, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The \fBaddlomodel\fP function is mosty used to create a temporary list of
|
||||||
|
\fBlofig\fP in order to represent the "in file" instances' models.
|
||||||
|
In fact, all the file format used with mbk have the notion of models local to
|
||||||
|
files, so they are not figure, but are temporarly used to create instance
|
||||||
|
connectors, for example.
|
||||||
|
For details on the structure, see \fBlofig\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddlomodel\fP returns a pointer to the new head of model list.
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addlomodel impossible : model \fIname\fP already exists"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The model, not the figure, is already present in the model list pointed to by
|
||||||
|
\fImodel\fP, and since a model should be unique, this can't be.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
void add_model(name)
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
MODEL = addlomodel(MODEL, name);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR getlomodel (3),
|
||||||
|
.BR freelomodel (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,118 @@
|
||||||
|
.\" $Id: addlosig.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addlosig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlosig
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlosig
|
||||||
|
.XE2 \}
|
||||||
|
.TH ADDLOSIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addlosig \- create a logical signal
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
losig_list \(**addlosig(ptfig, index, namechain, type)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
long index;
|
||||||
|
chain_list \(**namechain;
|
||||||
|
char type;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the signal should be added
|
||||||
|
.TP
|
||||||
|
\fIindex\fP
|
||||||
|
Signal index
|
||||||
|
.TP
|
||||||
|
\fInamechain\fP
|
||||||
|
List of names of the signal
|
||||||
|
.TP
|
||||||
|
\fItype\fP
|
||||||
|
Signal type
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddlosig\fP creates a new signal, and adds it to the
|
||||||
|
list of signals pointed to by \fIptfig\->LOSIG\fP. The new signal is
|
||||||
|
added in front of the list, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The \fItype\fP parameter can take two values :
|
||||||
|
.RS
|
||||||
|
.TP 20
|
||||||
|
\fBEXTERNAL\fP
|
||||||
|
The signal is attached to at least one connector of the figure.
|
||||||
|
.TP
|
||||||
|
\fBINTERNAL\fP
|
||||||
|
The signal is only attached to instance or transistor connector.
|
||||||
|
.RE
|
||||||
|
The \fIindex\fP and \fItype\fP arguments fill the \fIINDEX\fP and
|
||||||
|
\fITYPE\fP fields of the \fBlosig\fP(3) structure. The index
|
||||||
|
is the signal identifier, so it should be unique at a given hierarchical level.
|
||||||
|
.br
|
||||||
|
The \fInamechain\fP argument is a list of names, given in a \fBchain_list\fP.
|
||||||
|
See \fBchain\fP(3) for details.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddlosig\fP returns a pointer to the newly created signal.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addlosig impossible signal \fIindex\fP already exist
|
||||||
|
in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIindex\fP is already used in an other signal, and since it's the signal
|
||||||
|
identifier, it can't be.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
losig_list \(**merge_and_create(pt, s0, s1) /\(** merge two signal in a third \(**/
|
||||||
|
lofig_list \(**pt;
|
||||||
|
losig_list \(**s0, \(**s1;
|
||||||
|
{
|
||||||
|
chain_list \(**c;
|
||||||
|
losig_list \(**s;
|
||||||
|
long max_index;
|
||||||
|
/\(** merge names \(**/
|
||||||
|
for (c = s0\->NAMECHAIN; c; c = c\->NEXT)
|
||||||
|
s1\->NAMECHAIN = addchain(s1\->NAMECHAIN, c);
|
||||||
|
/\(** find maximum index \(**/
|
||||||
|
for (s = pt\->LOSIG; s; s = s\->NEXT)
|
||||||
|
if (max_index < s\->INDEX)
|
||||||
|
max_index = s\->INDEX;
|
||||||
|
s = addlosig(pt, ++max_index, s1\->NAMECHAIN,
|
||||||
|
s0\->TYPE == EXTERNAL || s1\->TYPE == EXTERNAL ?
|
||||||
|
EXTERNAL : INTERNAL);
|
||||||
|
dellosig(pt, s0);
|
||||||
|
dellosig(pt, s1);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR getlosig (3),
|
||||||
|
.BR dellosig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
.\" $Id: addlotrs.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addlotrs.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlotrs
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addlotrs
|
||||||
|
.XE2 \}
|
||||||
|
.TH ADDLOTRS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addlotrs \- create a logical transistor
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.ta 3n 23n
|
||||||
|
#include "mlo.3"
|
||||||
|
lotrs_list \(**addlotrs(ptfig, type, x, y, width, length,
|
||||||
|
ps, pd, xs, xd,
|
||||||
|
ptgrid, ptsource, ptdrain)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char type;
|
||||||
|
long x, y;
|
||||||
|
unsigned short width, length;
|
||||||
|
unsigned short ps, pd;
|
||||||
|
unsigned short xs, xd;
|
||||||
|
losig_list \(**ptgrid, \(**ptsource, \(**ptdrain;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the transistor should be added
|
||||||
|
.TP
|
||||||
|
\fItype\fP
|
||||||
|
transistor type
|
||||||
|
.TP
|
||||||
|
\fIx, y\fP
|
||||||
|
Transistor coordinates
|
||||||
|
.TP
|
||||||
|
\fIwidth, length\fP
|
||||||
|
Transistor grid width and length
|
||||||
|
.TP
|
||||||
|
\fIps, pd\fP
|
||||||
|
Perimeters of the source and drain
|
||||||
|
.TP
|
||||||
|
\fIxs, xd\fP
|
||||||
|
Values to compute the areas of the source and drain, see \fBlotrs\fP(3)
|
||||||
|
for the effective area computation
|
||||||
|
.TP
|
||||||
|
\fIptgrid\fP
|
||||||
|
Pointer to the signal to be connected on the transistor grid
|
||||||
|
.TP
|
||||||
|
\fIptsource\fP
|
||||||
|
Pointer to the signal to be connected on the transistor source
|
||||||
|
.TP
|
||||||
|
\fIptdrain\fP
|
||||||
|
Pointer to the signal to be connected on the transistor drain
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddlotrs\fP creates a new transistor, and adds it to the
|
||||||
|
list of transistors pointed to by \fIptfig\->LOTRS\fP. The new transistor is
|
||||||
|
added in front of the list, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The \fItype\fP parameter can take two values :
|
||||||
|
.RS
|
||||||
|
.TP 20
|
||||||
|
\fBTRANSN\fP
|
||||||
|
for a N channel transistor
|
||||||
|
.TP
|
||||||
|
\fBTRANSP\fP
|
||||||
|
for a P channel transistor
|
||||||
|
.RE
|
||||||
|
.LP
|
||||||
|
The \fIx\fP, \fIy\fP, \fIwidth\fP , \fIlength\fP, \fIps\fP, \fIpd\fP,
|
||||||
|
\fIxs\fP and \fIxd\fP, arguments fill
|
||||||
|
respectivly the \fIX\fP, \fIY\fP, \fIWIDTH\fP, \fILENGTH\fP, \fIPS\fP,
|
||||||
|
\fIPD\fP, \fIXS\fP and \fIXD\fP fields.
|
||||||
|
.br
|
||||||
|
Three connectors are created each time a transistor is added, and the
|
||||||
|
\fIptgrid\fP, \fIptsource\fP and \fIptdrain\fP \fBlosig\fPs are attached to
|
||||||
|
the \fISIG\fP field of the \fBlocon\fP of the appropriate connector. The
|
||||||
|
connectors names are \fIgrid\fP, \fIsource\fP and \fIdrain\fP, their
|
||||||
|
direction, \fIDIR\fP, are set to \fB'T'\fP, and their \fITYPE\fP \fBINTERNAL\fP.
|
||||||
|
For details on the structures, see \fBlocon\fP(3) and \fBlotrs\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddlotrs\fP returns a pointer to the newly created transistor.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal transistor type : \fItype\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fItype\fP is not legal a legal transistor type.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void n1_y() /\(** transistor netlist of an inverter \(**/
|
||||||
|
{
|
||||||
|
lofig_list \(**pt;
|
||||||
|
losig_list \(**in, \(**out, \(**vdd, \(**vss;
|
||||||
|
pt = addlofig("n1_y");
|
||||||
|
addlocon(pt, "in", in = givelosig(pt, 0), IN);
|
||||||
|
addlocon(pt, "out", out = givelosig(pt, 1), OUT);
|
||||||
|
addlocon(pt, "vdd", vdd = givelosig(pt, 2), IN);
|
||||||
|
addlocon(pt, "vss", vdd = givelosig(pt, 3), IN);
|
||||||
|
addlotrs(pt, TRANSN, 0, 0, 6, 1, in, vss, out);
|
||||||
|
addlotrs(pt, TRANSP, 0, 0, 12, 1, in, vdd, out);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR lotrs (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR dellotrs (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
.\" $Id: addnum.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addnum.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addnum
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addnum
|
||||||
|
.XE4 \}
|
||||||
|
.TH ADDNUM 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addnum \- create a \fBnum\fP and add it to a list
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
num_list \(**addnum(ptnum, data)
|
||||||
|
num_list \(**ptnum;
|
||||||
|
long data;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptnum\fP
|
||||||
|
Pointer to a \fBnum_list\fP
|
||||||
|
.TP
|
||||||
|
\fIdata\fP
|
||||||
|
Value of the data
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddnum\fP creates a new \fBnum\fP element and adds it to the
|
||||||
|
front of the list pointed to by \fIptnum\fP, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The \fIdata\fP fills the \fIDATA\fP field of the \fBnum\fP strucutre.
|
||||||
|
For details on the structure, see \fBnum\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddnum\fP returns a pointer to the new head of list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
void count(pn)
|
||||||
|
num_list \(**pn;
|
||||||
|
{
|
||||||
|
num_list \(**c = NULL; /\(** initialized for regularity \(**/
|
||||||
|
while (pt) {
|
||||||
|
if (pt\->TYPE == EXTERNAL)
|
||||||
|
c = addnum(c, (void \(**)pt)
|
||||||
|
pt = pt\->NEXT;
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR num (3),
|
||||||
|
.BR freenum (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,140 @@
|
||||||
|
.\" $Id: addphcon.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addphcon.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphcon
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphcon
|
||||||
|
.XE0 \}
|
||||||
|
.TH ADDPHCON 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addphcon \- create a physical connector
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phcon_list \(**addphcon(ptfig, orient, conname, x, y, layer, width)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char orient;
|
||||||
|
char \(**conname;
|
||||||
|
long x, y;
|
||||||
|
char layer;
|
||||||
|
long width;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the connector should be added
|
||||||
|
.TP
|
||||||
|
\fIorient\fP
|
||||||
|
Face of the connector
|
||||||
|
.TP
|
||||||
|
\fIconname\fP
|
||||||
|
Name of the connector
|
||||||
|
.TP
|
||||||
|
\fIx, y\fP
|
||||||
|
Absolute connector coordinates
|
||||||
|
.TP
|
||||||
|
\fIlayer\fP
|
||||||
|
Connector symbolic layer
|
||||||
|
.TP
|
||||||
|
\fIwidth\fP
|
||||||
|
Connector symbolic width
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddphcon\fP creates a new connector called \fIconname\fP and adds it to the
|
||||||
|
list of connectors pointed to by \fIptfig\->PHCON\fP. The new connector is
|
||||||
|
added in front of the list, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The parameters \fIconname\fP, \fIorient\fP, \fIx\fP, \fIy\fP, \fIlayer\fP,
|
||||||
|
\fIwidth\fP fill respectivly the \fINAME\fP, \fIORIENT\fP, \fIXCON\fP,
|
||||||
|
\fIYCON\fP, \fILAYER\fP, \fIWIDTH\fP fields of the \fIphcon\fP structure.
|
||||||
|
See \fBphcon\fR(3) for details.
|
||||||
|
.br
|
||||||
|
The \fIINDEX\fP field is computed by the \fBaddphcon\fP function in order to
|
||||||
|
warranty index unicity. A topological sort is performed, checking \fIx\fP,
|
||||||
|
then \fIy\fP, then the \fIlayer\fP. So for a given figure, each connector will
|
||||||
|
have a constant \fIINDEX\fP.
|
||||||
|
.br
|
||||||
|
The \fIx\fP, \fIy\fP coordinates must be placed inside the \fIbutment box\fP
|
||||||
|
of the figure.
|
||||||
|
.br
|
||||||
|
The \fIwidth\fP is a layer extension that takes place in parallel to the
|
||||||
|
connector face.
|
||||||
|
.br
|
||||||
|
For a list of valid \fIorient\fP and \fIlayer\fPs, see
|
||||||
|
\fBlocon\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddphcon\fP returns a pointer to the newly created connector.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphcon unknow layer \fIlayer\fP in \fIconname\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIlayer\fP parameter is out of range, and does not represent a legal
|
||||||
|
symbolic layer. See \fBlocon\fP(3) for a complete list of layers.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphcon connector \fIconname\fP not in
|
||||||
|
abutment box"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The connector coordinates are not included in the rectangle of the figure
|
||||||
|
\fIabutment\fP box. This means that the \fIabutment box\fP field of the
|
||||||
|
\fIphfig\fP must be filled befor any call to \fBaddphcon\fP.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphcon orientation is \fIorient\fP in
|
||||||
|
\fIconname\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIorient\fP parameter is not in the set of legal values. See
|
||||||
|
\fBlocon\fP(3) for the complete list of orientations.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phcon_list \(**du_con(ptfig, ptcon) /\(** duplicate connector \(**/
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phcon_list \(**ptcon;
|
||||||
|
{
|
||||||
|
/\(** the index depends from what's in ptfig\->PHCON, not from me \(**/
|
||||||
|
return addphcon(ptfig, ptcon\->ORIENT, ptcon\->NAME,
|
||||||
|
ptcon\->XCON, ptcon\->YCON,
|
||||||
|
ptcon\->LAYER, ptcon\->WIDTH);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phcon (3),
|
||||||
|
.BR getphcon (3),
|
||||||
|
.BR delphcon (3),
|
||||||
|
.BR locon (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
.\" $Id: addphfig.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addphfig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphfig
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphfig
|
||||||
|
.XE0 \}
|
||||||
|
.TH ADDPHFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addphfig \- create a new physical cell model
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phfig_list \(**addphfig(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be created
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddphfig\fP creates a new figure called \fIfigname\fP and adds it to the
|
||||||
|
list of figure in memory. The new figure is added in front of the list, and
|
||||||
|
becomes itself the list head. No check is performed to see if a figure with
|
||||||
|
the \fIfigname\fP exists on disk. If it is the case, the preexisting file will
|
||||||
|
be erased while saving.
|
||||||
|
.br
|
||||||
|
The fields \fIPHCON\fP, \fIPHINS\fP, \fIPHSEG\fP, \fIPHVIA\fP, \fIPHREF\fP and
|
||||||
|
\fIUSER\fP are set to \fBNULL\fP.
|
||||||
|
.br
|
||||||
|
The fields \fIXAB1\fP, \fIYAB1\fP, \fIXAB2\fP, \fIXAB2\fP are set to
|
||||||
|
\fB0L\fP.
|
||||||
|
.br
|
||||||
|
The field \fIMODE\fP is set to \fB'A'\fP.
|
||||||
|
.br
|
||||||
|
The field \fINEXT\fP points to the previous head of list.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddphfig\fP returns a pointer to the newly created figure.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphfig figure \fIfigname\fP already exists"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
There is already a figure called \fIfigname\fP in memory, so it's impossible
|
||||||
|
to give this name to a cell to be created.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phfig_list \(**get_the_fig(name)
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
phfig_list \(**pt, \(**fill_fig(/\(** phfig_list \(** \(**/);
|
||||||
|
/\(** scan figure list \(**/
|
||||||
|
for (pt = HEAD_PHFIG; pt; pt = pt\->NEXT)
|
||||||
|
if (!strcmp(pt\->NAME, figname))
|
||||||
|
break;
|
||||||
|
return pt ? pt : fill_fig(addphfig(figname));
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR getphfig (3),
|
||||||
|
.BR delphfig (3),
|
||||||
|
.BR loadphfig (3),
|
||||||
|
.BR savephfig (3),
|
||||||
|
.BR flattenphfig (3),
|
||||||
|
.BR rflattenphfig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,129 @@
|
||||||
|
.\" $Id: addphins.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addphins.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphins
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphins
|
||||||
|
.XE0 \}
|
||||||
|
.TH ADDPHINS 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addphins \- create a physical instance
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phins_list \(**addphins(ptfig, figname, insname, sym, x, y)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**figname;
|
||||||
|
char \(**insname;
|
||||||
|
char sym;
|
||||||
|
long x, y;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the instance should be added
|
||||||
|
.TP
|
||||||
|
\fIfigname\fP
|
||||||
|
Instance model name
|
||||||
|
.TP
|
||||||
|
\fIinsname\fP
|
||||||
|
Instance name
|
||||||
|
.TP
|
||||||
|
\fIsym\fP
|
||||||
|
Geometrical operation performed on the instance
|
||||||
|
.TP
|
||||||
|
\fIx, y\fP
|
||||||
|
Coordinates of the lower left corner of the instance
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddphins\fP creates a new instance whose lower left corner is at the given
|
||||||
|
coordinates, and adds it to the
|
||||||
|
list of instances pointed to by \fIptfig\->PHINS\fP. The new instance is
|
||||||
|
added in front of the list, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The parameters \fIfigname\fP, \fIinsname\fP, \fIsym\fP, \fIx\fP and \fIy\fP
|
||||||
|
fill respectivly
|
||||||
|
the \fIFIGNAME\fP, \fIINSNAME\fP, \fITRANSF\fP, \fIXINS\fP and \fIYINS\fP
|
||||||
|
fields of the \fIphins\fP structure.
|
||||||
|
.br
|
||||||
|
The \fBaddphins\fP function does not check in memory or on disk to see
|
||||||
|
if the instanciated model exists, since no informations on it are needed.
|
||||||
|
.br
|
||||||
|
The coordinates are not transformation dependant. It means that the
|
||||||
|
transformation is performed before placing the instance at the given point.
|
||||||
|
For details on the structure, see \fBphins\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddphins\fP returns a pointer to the newly created instance.
|
||||||
|
.SH ERRORS
|
||||||
|
.LP
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** addphins figure \fIfigname\fP cannot be part of itself"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The instance has for model name of the figure on the which it is to be added.
|
||||||
|
It's illegal and dangerous. This check is made at the actual hierachy level
|
||||||
|
only, not recursivly on the structure, so it still may happend.
|
||||||
|
.RE
|
||||||
|
.LP
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphins transformation \fIsym\fP in : \fIinsname\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The geometrical operation is not in the legal range. See \fBphins\fP(3) for
|
||||||
|
a complete list of values.
|
||||||
|
.RE
|
||||||
|
.LP
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphins duplicate instance name : \fIinsname\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The instance name is an identifier, so it can't appear twice in the same figure.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phins_list \(**ins_dup(pfd, pfs) /\(** duplicate instances \(**/
|
||||||
|
phfig_list \(**pfd, \(**pfs;
|
||||||
|
{
|
||||||
|
phins_list \(**pi;
|
||||||
|
for (pi = pfs\->phins; pi != NULL; pi = pi\->NEXT)
|
||||||
|
addphins(pfd, pi\->FIGNAME, pi\->INSNAME, pi\->TRANSF,
|
||||||
|
pi\->XINS, pi\->YINS);
|
||||||
|
return pfd\->PHINS;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phins (3),
|
||||||
|
.BR getphins (3),
|
||||||
|
.BR delphins (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
.\" $Id: addphref.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addphref.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphref
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphref
|
||||||
|
.XE0 \}
|
||||||
|
.TH ADDPHREF 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addphref \- create a physical reference
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phref_list \(**addphref(ptfig, type, name, x, y)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**type;
|
||||||
|
char \(**name;
|
||||||
|
long x, y;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the reference should be added
|
||||||
|
.TP
|
||||||
|
\fItype\fP
|
||||||
|
Reference type
|
||||||
|
.TP
|
||||||
|
\fIname\fP
|
||||||
|
Reference name
|
||||||
|
.TP
|
||||||
|
\fIx, y\fP
|
||||||
|
Coordinates of the center of the reference.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddphref\fP creates a new reference whose center is at the given coordinates,
|
||||||
|
and adds it to the
|
||||||
|
list of references pointed to by \fIptfig\->PHREF\fP. The new reference is
|
||||||
|
added in front of the list, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The parameters \fItype\fP, \fIname\fP, \fIx\fP and \fIy\fP fill respectivly
|
||||||
|
the \fIFIGNAME\fP, \fINAME\fP, \fIXREF\fP and \fIYREF\fP fields of the
|
||||||
|
\fIphref\fP structure.
|
||||||
|
.br
|
||||||
|
The \fItype\fPs may have any value, but only two type
|
||||||
|
are now recognized by tools based upon mbk :
|
||||||
|
.TP 20
|
||||||
|
\fB"ref_con"\fP
|
||||||
|
for multi-access connectors
|
||||||
|
.TP
|
||||||
|
\fB"ref_ref"\fP
|
||||||
|
for cell programming
|
||||||
|
.LP
|
||||||
|
For details on the structure, see \fBphref\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddphref\fP returns a pointer to the newly created reference.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phref_list \(**ref_dup(pfd, pfs) /\(** duplicate refs \(**/
|
||||||
|
phfig_list \(**pfd, \(**pfs;
|
||||||
|
{
|
||||||
|
phref_list \(**pr;
|
||||||
|
for (pr = pfs\->phref; pr != NULL; pr = pr\->NEXT)
|
||||||
|
addphref(pfd, pr\->FIGNAME, pr\->NAME, pr\->XREF, pr\->YREF);
|
||||||
|
return pfd\->PHREF;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phref (3),
|
||||||
|
.BR getphref (3),
|
||||||
|
.BR delphref (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,123 @@
|
||||||
|
.\" $Id: addphseg.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addphseg.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphseg
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphseg
|
||||||
|
.XE0 \}
|
||||||
|
.TH ADDPHSEG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addphseg \- create a physical segment
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phseg_list \(**addphseg(ptfig, layer, width, x1, y1, x2, y2, nodename)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char layer;
|
||||||
|
long width;
|
||||||
|
long x1, y1, x2, y2;
|
||||||
|
char \(**nodename;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the segment should be added
|
||||||
|
.TP
|
||||||
|
\fIlayer\fP
|
||||||
|
Segment symbolic layer
|
||||||
|
.TP
|
||||||
|
\fIwidth\fP
|
||||||
|
Segment symbolic width
|
||||||
|
.TP
|
||||||
|
\fIx1, y1, x2, y2\fP
|
||||||
|
Segment endpoints coordinates
|
||||||
|
.TP
|
||||||
|
\fInodename\fP
|
||||||
|
Name of the segment
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddphseg\fP creates a new segment at the given coordinates, possibly called
|
||||||
|
\fIsegname\fP, and adds it to the list of segments pointed to by
|
||||||
|
\fIptfig\->PHSEG\fP. The new segment is
|
||||||
|
added in front of the list, and becomes itself the list head. The segment name
|
||||||
|
is an optional information, and does not allow the segment identification. When
|
||||||
|
not needed, this parameter should be set to \fINULL\fP.
|
||||||
|
.br
|
||||||
|
The parameters \fInodename\fP, \fIlayer\fP and \fIwidth\fP fill respectivly
|
||||||
|
the \fINAME\fP, \fILAYER\fP and \fIWIDTH\fP fields of the \fIphseg\fP structure.
|
||||||
|
.br
|
||||||
|
\fIx1\fP, \fIy1\fP, \fIx2\fP, \fIy2\fP are sorted to warranty that the fields
|
||||||
|
\fIX1\fP and \fIY1\fP contain the minimum of, respectivly, \fIx1\fP, \fIx2\fP
|
||||||
|
and \fIy1\fP, \fIy2\fP, and the \fIX2\fP, \fIY2\fP fields the maximum.
|
||||||
|
.br
|
||||||
|
The \fITYPE\fP field is computed by the \fBaddphseg\fP function.
|
||||||
|
It will be either \fBVER\fP if \fIx1\fP equals \fIx2\fP, or \fBHOR\fP if
|
||||||
|
\fIy1\fP equals \fIy2\fP.
|
||||||
|
.br
|
||||||
|
The \fIwidth\fP is a layer extension that takes place in perpendicular to the
|
||||||
|
segment \fITYPE\fP.
|
||||||
|
.br
|
||||||
|
For a list of valid \fIlayer\fPs, and details on the structure, see
|
||||||
|
\fBphseg\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddphseg\fP returns a pointer to the newly created segment.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphseg wrong layer code \fIlayer\fP in
|
||||||
|
\fIx1\fP, \fIy1\fP, \fIx2\fP, \fIy2\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIlayer\fP parameter is out of range, and does not represent a legal
|
||||||
|
symbolic layer. See \fBphseg\fP(3) for a complete list of layers.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphseg : \fIx1\fP, \fIy1\fP, \fIx2\fP, \fIy2\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The segment coordinates are such that the segment is neither vertical nor
|
||||||
|
horizontal. So it's not a legal symbolic segment.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phseg_list \(**du_seg(pfd, pfs)
|
||||||
|
phfig_list \(**pfd, \(**pfs;
|
||||||
|
{
|
||||||
|
phseg_list \(**ps;
|
||||||
|
/\(** names don't matter \(**/
|
||||||
|
for (ps = pfs\->PHSEG; ps != NULL; ps = ps\->NEXT)
|
||||||
|
addphseg(pfd, ps\->LAYER, ps\->WIDTH, ps\->X1, ps\->Y1,
|
||||||
|
ps\->X2, ps\->Y2, NULL);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phseg (3),
|
||||||
|
.BR delphseg (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
.\" $Id: addphvia.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addphvia.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphvia
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addphvia
|
||||||
|
.XE0 \}
|
||||||
|
.TH ADDPHVIA 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addphvia \- create a physical via
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phvia_list \(**addphvia(ptfig, viatype, x, y)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char viatype;
|
||||||
|
long x, y;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the via should be added
|
||||||
|
.TP
|
||||||
|
\fIviatype\fP
|
||||||
|
Contact type
|
||||||
|
.TP
|
||||||
|
\fIx, y\fP
|
||||||
|
Coordinates of the center of the via.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddphvia\fP creates a new via whose center is at the given coordinates,
|
||||||
|
and adds it to the
|
||||||
|
list of vias pointed to by \fIptfig\->PHVIA\fP. The new via is
|
||||||
|
added in front of the list, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The parameters \fIviatype\fP, \fIx\fP and \fIy\fP fill respectivly
|
||||||
|
the \fITYPE\fP, \fIXVIA\fP and \fIYVIA\fP fields of the \fIphvia\fP structure.
|
||||||
|
.br
|
||||||
|
For a list of valid \fIviatype\fPs, and details on the structure, see
|
||||||
|
\fBphvia\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddphvia\fP returns a pointer to the newly created via.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal addphvia viatype : \fIviatype\fP at
|
||||||
|
\fIx\fP, \fIy\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The via type is not a predefined contact. For a list of legal via types,
|
||||||
|
see \fBphvia\fP(3).
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phvia_list \(**via_dup(pfd, pfs) /\(** duplicate vias \(**/
|
||||||
|
phfig_list \(**pfd, \(**pfs;
|
||||||
|
{
|
||||||
|
phvia_list \(**pv;
|
||||||
|
for (pv = pfs\->phvia; pv != NULL; pv = pv\->NEXT)
|
||||||
|
addphvia(pfd, pv\->TYPE, ps\->XVIA, ps\->YVIA);
|
||||||
|
return pfd\->PHVIA;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phvia (3),
|
||||||
|
.BR delphvia (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
.\" $Id: addptype.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)addptype.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addptype
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
addptype
|
||||||
|
.XE4 \}
|
||||||
|
.TH ADDPTYPE 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
addptype \- create a \fBptype\fP and add it to a \fBptype_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
ptype_list \(**addptype(pthead,type,ptdata)
|
||||||
|
ptype_list \(**pthead;
|
||||||
|
void \(**ptdata;
|
||||||
|
long type;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIpthead\fP
|
||||||
|
Pointer to a \fBptype\fP list
|
||||||
|
.TP
|
||||||
|
\fItype\fP
|
||||||
|
Flag indicating the pointer owner
|
||||||
|
.TP
|
||||||
|
\fIptdata\fP
|
||||||
|
Generic pointer to any kind of information
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBaddptype\fP creates a new \fBptype\fP element and adds it to the
|
||||||
|
front of the list pointed to by \fIpthead\fP, and becomes itself the list head.
|
||||||
|
.br
|
||||||
|
The \fBptype_list\fPs are mosty used to create lists of homogeneous
|
||||||
|
elements in mbk, but also for trees, graphs, and so on.
|
||||||
|
.br
|
||||||
|
The \fItype\fP argument indicates the pointer type, at the C type meaning,
|
||||||
|
for its owner.
|
||||||
|
.br
|
||||||
|
The \fItype\fPs allow to access the pointers with adequat cast, and for example
|
||||||
|
to share informations in the \fIUSER\fP fields of mbk structures.
|
||||||
|
.br
|
||||||
|
The \fIptdata\fP points to any kind of list or may itself be a value, if proper
|
||||||
|
cast is performed at compilation time, and fills the \fIDATA\fP field of the
|
||||||
|
\fBptype\fP structure.
|
||||||
|
For details on the structure, see \fBptype\fR(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBaddptype\fP returns a pointer to the new head of list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mph.h"
|
||||||
|
void corner(ptfig, name)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
phins_list \(**i = getphins(ptfig, name);
|
||||||
|
num_list \(**ptnum;
|
||||||
|
phfig_list \(**model;
|
||||||
|
model = getphfig(i\->FIGNAME);
|
||||||
|
ptnum = addnum((num_list \(**)NULL, model\->X2 - model\->X1);
|
||||||
|
ptnum = addnum(ptnum, model\->Y2 - model\->Y1);
|
||||||
|
i\->USER = addptype(i\->USER, (long)PLACEABOX, (void \(**)ptnum);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR ptype (3),
|
||||||
|
.BR freeptype (3),
|
||||||
|
.BR getptype (3),
|
||||||
|
.BR delptype (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
.\" $Id: alliancebanner.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)alliancebanner.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.ie t \{\
|
||||||
|
.fp 4 C \}
|
||||||
|
.el \{\
|
||||||
|
.fp 4 B \}
|
||||||
|
.TH ALLIANCEBANNER 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
alliancebanner \- display the standardized Alliance banner
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.ft 4
|
||||||
|
#include "mut.h"
|
||||||
|
void alliancebanner(tool, tv, comment, date, av)
|
||||||
|
char \(**tool, \(**tv, \(**comment, \(**date, \(**av;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\f4tool\fP
|
||||||
|
Name of the tool.
|
||||||
|
This is what will be displayed as banner.
|
||||||
|
.TP 20
|
||||||
|
\f4tv\fP
|
||||||
|
Tool version.
|
||||||
|
.TP 20
|
||||||
|
\f4comment\fP
|
||||||
|
Indicates the tool's usefulness.
|
||||||
|
.TP 20
|
||||||
|
\f4date\fP
|
||||||
|
Copyright dates.
|
||||||
|
.TP 20
|
||||||
|
\f4av\fP
|
||||||
|
Alliance version.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBalliancebanner\fP ouputs on \f4stdout\fR a standardized banner with
|
||||||
|
the name of the tool in large letters, and a cartouche containing some
|
||||||
|
informations about the Alliance CAD system.
|
||||||
|
This function is to be used by all the Alliance tools, and expect a
|
||||||
|
display 80 columns wide.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.ft 4
|
||||||
|
#include "ba315n.h"
|
||||||
|
#define nfloptitle(name) \\
|
||||||
|
alliancebanner("nFloP", VERSION,\\
|
||||||
|
"not a FloorPlan router", "92, 93",\\
|
||||||
|
ALLIANCE_VERSION)
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR alliance (1).
|
||||||
|
|
||||||
|
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
\f4alliancebanner: Error: Resulting size bigger than 80 columns not allowed\fR
|
||||||
|
.RS
|
||||||
|
The \fItool\fR argument must be such that its resulting size isn't wider that
|
||||||
|
80 culumns.
|
||||||
|
This means, since the character set is proportional, that the longest name
|
||||||
|
to be output is about 8 characters long.
|
||||||
|
.RE
|
||||||
|
\f4alliancebanner: Error: Character out of [0-9A-Za-z] range\fR
|
||||||
|
.RS
|
||||||
|
The \fItool\fR parameter has a non allowed character in it.
|
||||||
|
For simplicity purposes, only numbers and letters are accepted.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
.\" $Id: append.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)append.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
append
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
append
|
||||||
|
.XE4 \}
|
||||||
|
.TH APPEND 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
append \- append a \fBchain_list\fP to an other \fBchain_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
chain_list \(**append(pt1, pt2)
|
||||||
|
chain_list \(**pt1,\(**pt2;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIpt1\fP
|
||||||
|
Pointer to a \fBchain_list\fP
|
||||||
|
.TP
|
||||||
|
\fIpt2\fP
|
||||||
|
Pointer to a \fBchain_list\fP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBappend\fP appends the contains of the \fBchain_list\fP pointed to by
|
||||||
|
\fIpt2\fP at the end of the one pointed to by \fIpt1\fP.
|
||||||
|
.br
|
||||||
|
The lists consistency is warranted by the use of the adequat \fBadd\fI
|
||||||
|
functions.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBappend\fP returns a pointer to the new head of list.
|
||||||
|
If \fIpt1\fP is not \fBNULL\fP, it has the value of \fIpt1\fP, else it is
|
||||||
|
\fIpt2\fP.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
void sig_names(s0, s1)
|
||||||
|
losig_list \(**s0, \(**s1;
|
||||||
|
{
|
||||||
|
s0\->NAMECHAIN = append(s0\->NAMECHAIN, s1\->NAMECHAIN);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR chain (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
.\" $Id: bigvia.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)bigvia.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
bigvia
|
||||||
|
.XE
|
||||||
|
.XS1 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
bigvia
|
||||||
|
.XE1 \}
|
||||||
|
.TH BIGVIA 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
bigvia \- draws a non minimal via as a bunch of vias
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void \(**bigvia(figure, viatype, x, y, dx, dy)
|
||||||
|
phfig_list \(**figure;
|
||||||
|
char viatype;
|
||||||
|
long x, y, dx, dy;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIfigure\fP
|
||||||
|
Pointer to the physical figure in the which vias must be put.
|
||||||
|
.TP 20
|
||||||
|
\fIviatype\fP
|
||||||
|
Contact type to be put.
|
||||||
|
.TP 20
|
||||||
|
\fIx, y\fP
|
||||||
|
Coordinate of the center of the bigvia.
|
||||||
|
.TP 20
|
||||||
|
\fIdx, dy\fP
|
||||||
|
Maximun rectangle to be filled with vias.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBbigvia\fP draws as many vias as necessary to fill the rectangle defined by
|
||||||
|
its \fIdx\fP and \fPdy\fP arguments.
|
||||||
|
The ``bigvia'' center is indicated with \fIdx\fP and \fPdy\fP, thus making this
|
||||||
|
function much like \fBaddphvia\fP.
|
||||||
|
The necessary segments are drawn to avoid having notches or other drc rules
|
||||||
|
violated.
|
||||||
|
.br
|
||||||
|
This function is tipically used by routers when connecting two non minimal wires,
|
||||||
|
like supplies or clocks.
|
||||||
|
.br
|
||||||
|
The values for drawing the via correctly, ie avoid drc violations, are taken
|
||||||
|
from the idps set of rules, and are not changeable at run time.
|
||||||
|
.SH ERRORS
|
||||||
|
.RS
|
||||||
|
"*** mbk error ***
|
||||||
|
bigvia impossible : negative values dx, dy in figure figure at (x, y)"
|
||||||
|
.RE
|
||||||
|
If either \fIdx\fP or \fIdy\fP are negative, the function complains and exits.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
#define BigVia(x, y, dx, dy) \\
|
||||||
|
bigvia(WORK_PHFIG, CONT_VIA, x, y, dx, dy)
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addphvia (3),
|
||||||
|
.BR addphseg (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
.\" $Id: chain.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)chain.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
chain
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
chain
|
||||||
|
.XE4 \}
|
||||||
|
.TH CHAIN 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY STRUCTURE DEFINITIONS"
|
||||||
|
.SH NAME
|
||||||
|
chain \- mbk lisp-like service structure
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBchain\fP is used for any purpose, when a list of pointer is required.
|
||||||
|
The use of this structure is strongly recommanded, when such a need occurs.
|
||||||
|
.LP
|
||||||
|
The declarations needed to work on \fBchain\fP are available in the header file
|
||||||
|
\fI"/labo/include/mut315.h"\fP, where '\fI315\fP' is the actual mbk version.
|
||||||
|
.LP
|
||||||
|
The following C structure supports the description of the chain :
|
||||||
|
.RS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.ta 3n 20n 30n
|
||||||
|
typedef struct chain {
|
||||||
|
struct chain \(**NEXT;
|
||||||
|
void \(**DATA;
|
||||||
|
} chain_list;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.TP 20
|
||||||
|
\fINEXT\fP
|
||||||
|
Pointer to the next \fBchain\fP of the list.
|
||||||
|
.TP
|
||||||
|
\fIDATA\fP
|
||||||
|
Generic pointer used to point to any kind of object. Do not forget to
|
||||||
|
cast the pointer back to its previous type when using this field.
|
||||||
|
.TP
|
||||||
|
Remark :
|
||||||
|
a specialized memory allocator has been built in order to create and free
|
||||||
|
\fBchain_list\fPs, so absolutly avoid to create or free them an other way than
|
||||||
|
through the access functions.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addchain (3),
|
||||||
|
.BR freechain (3),
|
||||||
|
.BR delchain (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,112 @@
|
||||||
|
.\" $Id: checkloconorder.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)checkloconorder.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
checkloconorder
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
checkloconorder
|
||||||
|
.XE2 \}
|
||||||
|
.TH CHECKLOCONORDER 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
checkloconorder \- checks the consistency of a list of logical connectors
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void checkloconorder(connectors)
|
||||||
|
locon_list \(**connectors;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIconnectors\fP
|
||||||
|
Pointer to the head of the connector list that is to be sorted
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBcheckloconorder\fP checks the list of logical connectors pointed to
|
||||||
|
by \fI\(**connectors\fP for conformity towards \fBmbk\fP(1) consistency
|
||||||
|
rules.
|
||||||
|
Checks are done to warranty :
|
||||||
|
.TP 20
|
||||||
|
\fBorder\fP
|
||||||
|
the functions checks that vectorized connectors are ordered and evolve
|
||||||
|
monotonically, with a step of 1.
|
||||||
|
.TP 20
|
||||||
|
\fBname unicity\fP
|
||||||
|
Vector radicals may not appear as single entity.
|
||||||
|
.TP 20
|
||||||
|
\fBname validity\fP
|
||||||
|
No space should appear in the name, but a single one followed by a number
|
||||||
|
in a vector.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** radical \fIname\fP already used in a
|
||||||
|
connector"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIname\fP is already used in a connector, either vectorized or not,
|
||||||
|
and therefore cannot be used once more.
|
||||||
|
This ensures that \fBf\fP and \fBf 3\fP will not be used simultaneously.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** the radical \fIname\fP has a spurious
|
||||||
|
vectorized value"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIname\fP is seen as a vector in \fBmbk\fP(1), but its index is not a
|
||||||
|
number or some text follows that number.
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** the radical \fIname\fP is not
|
||||||
|
vectorized properly"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The \fIname\fP is seen as a vector in \fBmbk\fP(1), but its index changes
|
||||||
|
in such a way that it is not monotonically increasing or decreasing with
|
||||||
|
a step of 1.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void savewithcheck(figname)
|
||||||
|
char \(**figname;
|
||||||
|
{
|
||||||
|
lofig_list \(**figure = getlocon(figname, 'A');
|
||||||
|
checkloconorder(figure->LOCON);
|
||||||
|
savelofig(figure);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR addlocon (3),
|
||||||
|
.BR dellocon (3),
|
||||||
|
.BR checkloconorder (3),
|
||||||
|
.BR qsort (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
.\" $Id: concatname.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)concatname.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
concatname
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
concatname
|
||||||
|
.XE4 \}
|
||||||
|
.TH CONCATNAME 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
concatname \- concatenate two names with user separator
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
char \(**concatname(s, t)
|
||||||
|
char \(**s, \(**t;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIs\fP
|
||||||
|
Pointer to a string
|
||||||
|
.TP
|
||||||
|
\fIt\fP
|
||||||
|
Pointer to a string
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBconcatname\fP function adds the separator defined by \fBMBK_SEPAR\fP(1),
|
||||||
|
and then the string \fIt\fP at the end of string \fIs\fP. This is not like a
|
||||||
|
\fBstrcat\fP(3) of the standard library, because \fIs\fP is not beeing modified.
|
||||||
|
The string returned has already been put in the names dictionary by
|
||||||
|
a call to \fBnamealloc\fP(3).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBconcatname\fP returns a pointer to a string in the name hash table.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
void flat_sig_alias(ptsig, insname)
|
||||||
|
losig_list \(**ptsig;
|
||||||
|
char \(**insname;
|
||||||
|
{
|
||||||
|
chain_list \(**pt;
|
||||||
|
for (pt = ptsig\->NAMECHAIN; pt; pt = pt\->NEXT)
|
||||||
|
pt\->DATA = (void \(**)concatname(insname, (char \(**)pt\->DATA);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR namealloc (3),
|
||||||
|
.BR MBK_SEPAR (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
.\" $Id: defab.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)defab.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
defab
|
||||||
|
.XE \}
|
||||||
|
.TH DEFAB 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
defab \- defines the \fIabutment box\fP of a \fBphfig\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void defab(ptfig, x1, y1, x2, y2)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
long x1, x2, y1, y2;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to a \fBphfig\fP
|
||||||
|
.TP
|
||||||
|
\fIx1, y1, x2, y2\fP
|
||||||
|
Coordinates of the \fIabutment box\fP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdefab\fP redefines the \fIabutment box\fP of the figure pointed to by
|
||||||
|
\fIptfig\fP.
|
||||||
|
It overwrite any existing value in the \fIXAB1\fP, \fIYAB1\fP, \fIXAB2\fP and
|
||||||
|
\fIYAB2\fP by the given arguments.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void add_half_rules(fig)
|
||||||
|
phfig_list \(**fig;
|
||||||
|
{
|
||||||
|
defab(fig, fig\->XAB1 + HALF_RULE, fig\->YAB1 + HALF_RULE,
|
||||||
|
fig\->XAB2 + HALF_RULE, fig\->YAB2 + HALF_RULE);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
.\" $Id: delchain.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delchain.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delchain
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delchain
|
||||||
|
.XE4 \}
|
||||||
|
.TH DELCHAIN 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delchain \- delete an element of a \fBchain_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
chain_list \(**delchain(pthead, ptdel)
|
||||||
|
chain_list \(**pthead;
|
||||||
|
chain_list \(**ptdel;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIpthead\fP
|
||||||
|
Pointer to a \fBchain\fP list
|
||||||
|
.TP
|
||||||
|
\fIptdel\fP
|
||||||
|
Pointer to the element to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelchain\fP deletes the element of the \fBchain_list\fP pointed to by
|
||||||
|
\fIptdel\fP in the list pointed to by \fIpthead\fP.
|
||||||
|
The list consistency is maintainded, and the element put back in the list
|
||||||
|
of free blocks.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelchain\fP returns a pointer to the new head of list if the \fIptdel\fP
|
||||||
|
pointer used to belong to the list. In most case, it has the value of
|
||||||
|
\fIpthead\fP. If the pointer doesn't belong to the list, \fBNULL\fP is returned.
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** delchain impossible : pointer NULL"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
At least one of the arguments are pointing to \fBNULL\fP, and that clear that
|
||||||
|
such a pointer can't be deleted, or used for freeing.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void delete_match(c0, c1)
|
||||||
|
chain_list \(**c0, \(**c1;
|
||||||
|
{
|
||||||
|
chain_list \(**t0, \(**t1, \(**next;
|
||||||
|
for (t0 = c0; t0; t0 = next)
|
||||||
|
for (t1 = c1; t1; t1 = t1\->NEXT)
|
||||||
|
if (t1\->DATA == t0\->DATA)
|
||||||
|
next = delchain(c0, t0);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR chain (3),
|
||||||
|
.BR addchain (3),
|
||||||
|
.BR freechain (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
.\" $Id: delht.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delht.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
|
||||||
|
.\" slightly modified by Fred Petrot for mbk adaptation on 22/06/92
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delht
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delht
|
||||||
|
.XE4 \}
|
||||||
|
.TH DELHT 3 "October 1, 1997" "ASIM/LIP6" "MBK HASH TABLE MANAGEMENT FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delht \- removes an hash table
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
#include "mut.h"
|
||||||
|
void delht(table)
|
||||||
|
ht \(**table;
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fItable\fP
|
||||||
|
Hash table pointer
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelht()\fP removes the hash table pointed to by \fItable\fP from
|
||||||
|
memory.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
checksigname(p)
|
||||||
|
lofig_list \(**p;
|
||||||
|
{
|
||||||
|
ht \(**h;
|
||||||
|
int i;
|
||||||
|
char \(**amatla;
|
||||||
|
for (i = 0, ptsig = p->LOSIG; ptsig; i++, ptsig = ptsig->NEXT);
|
||||||
|
h = addht(i);
|
||||||
|
for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT)
|
||||||
|
addhtitem(h, ptcon->NAME, 0);
|
||||||
|
for (ptsig = p->LOSIG; ptsig; ptsig = ptsig->NEXT) {
|
||||||
|
if (ptsig->TYPE == INTERNAL) {
|
||||||
|
amatla = getsigname(ptsig);
|
||||||
|
if (!sethtitem(h, amatla, 0)) {
|
||||||
|
printf("N %s;\\n", amatla);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delht(h);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addht (3),
|
||||||
|
.BR addhtitem (3),
|
||||||
|
.BR gethtitem (3),
|
||||||
|
.BR delhtitem (3),
|
||||||
|
.BR viewht (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
.\" $Id: delhtitem.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delhtitem.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
|
||||||
|
.\" slightly modified by Fred Petrot for mbk adaptation on 22/06/92
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delhtitem
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delhtitem
|
||||||
|
.XE4 \}
|
||||||
|
.TH DELHTITEM 3 "October 1, 1997" "ASIM/LIP6" "MBK HASH TABLE MANAGEMENT FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delhtitem \- removes an item in an hash table
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.nf
|
||||||
|
#include "mut.h"
|
||||||
|
int delhtitem(table, key)
|
||||||
|
ht \(**table;
|
||||||
|
void \(**key;
|
||||||
|
.fi
|
||||||
|
.ft R
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fItable\fP
|
||||||
|
Hash table pointer
|
||||||
|
.TP 20
|
||||||
|
\fIkey\fP
|
||||||
|
Key used by the hash coding function indicating the item to be deleted
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelhtitem()\fP removes an item in the hash table pointed to by \fItable\fP.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
If the key doesn't exist, the function returns \fBEMPTYHT\fP,
|
||||||
|
if it does, then its associated value is returned.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.nf
|
||||||
|
#include "mut.h"
|
||||||
|
checksigname(p, h)
|
||||||
|
lofig_list \(**p;
|
||||||
|
ht \(**h;
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
char \(**amatla;
|
||||||
|
/\(** check for signal and connector name unicity \(**/
|
||||||
|
for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT)
|
||||||
|
addhtitem(h, ptcon->NAME, 0);
|
||||||
|
for (ptsig = p->LOSIG; ptsig; ptsig = ptsig->NEXT) {
|
||||||
|
if (ptsig->TYPE == INTERNAL) {
|
||||||
|
amatla = getsigname(ptsig);
|
||||||
|
if (!sethtitem(h, amatla, 0)) {
|
||||||
|
printf("N %s;\\n", amatla);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/\(** keep only internal signal names in the hash table \(**/
|
||||||
|
for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT)
|
||||||
|
(void)delhtitem(h, ptcon->NAME);
|
||||||
|
}
|
||||||
|
.fi
|
||||||
|
.ft R
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addth (3),
|
||||||
|
.BR delht (3),
|
||||||
|
.BR addhtitem (3),
|
||||||
|
.BR gethtitem (3),
|
||||||
|
.BR sethtitem (3),
|
||||||
|
.BR viewht (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
.\" $Id: dellocon.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)dellocon.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellocon
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellocon
|
||||||
|
.XE2 \}
|
||||||
|
.TH DELLOCON 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
dellocon \- delete a logical connector
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
int dellocon(ptfig, name)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**name;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the connector should be deleted
|
||||||
|
.TP
|
||||||
|
\fIname\fP
|
||||||
|
Name of the connector to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdellocon\fP deletes the connector called \fIname\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP. The list consistency is maintained, and the space
|
||||||
|
freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdellocon\fP returns \fB1\fP if the connector has been deleted, \fB0\fP
|
||||||
|
if no such connector exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
char \(**was_existing(p, s)
|
||||||
|
lofig_list \(**p;
|
||||||
|
char \(**s;
|
||||||
|
{
|
||||||
|
return dellocon(p, s) ? "you just killed it!\n"
|
||||||
|
: "wasn't here anyway\n";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR addlocon (3),
|
||||||
|
.BR getlocon (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
.\" $Id: dellofig.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)dellofig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellofig
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellofig
|
||||||
|
.XE2 \}
|
||||||
|
.TH DELLOFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
dellofig \- delete and free a logical figure
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
int dellofig(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be deleted
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdellofig\fP deletes the figure called \fIfigname\fP from the list of
|
||||||
|
logical figure in memory. All the lists of elements belonging to the figure
|
||||||
|
are also deleted and freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdellofig\fP returns \fB1\fP if the figure was delete, and \fB0\fP if no
|
||||||
|
figure called \fIfigname\fP was present in memory.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void delete_na2_y()
|
||||||
|
{
|
||||||
|
if (dellofig("na2_y"))
|
||||||
|
(void)fputs("deleted na2_y successfully", stdout);
|
||||||
|
else
|
||||||
|
(void)fputs("na2_y not present in ram !", stdout);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR addlofig (3),
|
||||||
|
.BR getlofig (3),
|
||||||
|
.BR loadlofig (3),
|
||||||
|
.BR savelofig (3),
|
||||||
|
.BR flattenlofig (3),
|
||||||
|
.BR rflattenlofig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
.\" $Id: delloins.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delloins.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delloins
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delloins
|
||||||
|
.XE2 \}
|
||||||
|
.TH DELLOINS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delloins \- delete a logical instance
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
int delloins(ptfig, insname)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the instance should be deleted
|
||||||
|
.TP
|
||||||
|
\fIinsname\fP
|
||||||
|
Name of the instance to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelloins\fP delete the instance called \fIinsname\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP. This instance is warrantied to be unique, because
|
||||||
|
its name is an identifier at the given hierarchical level.
|
||||||
|
The list consistency is maintainded, and the space freed. The instance
|
||||||
|
connectors are also freed, since if the instance disapear, no more connections
|
||||||
|
can occur on it.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelloins\fP returns \fB1\fP if the instance has been deleted, \fB0\fP
|
||||||
|
if no such instance exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
char \(**was_existing(ptfig, insname)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
{
|
||||||
|
return delloins(ptfig, insname) ? "you just killed it!"
|
||||||
|
: "wasn't here anyway";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR loins (3),
|
||||||
|
.BR addloins (3),
|
||||||
|
.BR getloins (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
.\" $Id: dellosig.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)dellosig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellosig
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellosig
|
||||||
|
.XE2 \}
|
||||||
|
.TH DELLOSIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
dellosig \- delete a logical signal
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
int dellosig(ptfig, index)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
long index;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the signal should be deleted
|
||||||
|
.TP
|
||||||
|
\fIindex\fP
|
||||||
|
Index of the signal to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdellosig\fP delete the signal that has \fIindex\fP as \fIINDEX\fP
|
||||||
|
in the figure pointed to by \fIptfig\fP.
|
||||||
|
The list consistency is maintainded, and the space freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdellosig\fP returns \fB1\fP if the signal has been deleted, \fB0\fP
|
||||||
|
if the signal index does not exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
char \(**was_existing(ptfig, index)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
long index;
|
||||||
|
{
|
||||||
|
return dellosig(ptfig, index) ? "you just killed it!"
|
||||||
|
: "wasn't here anyway";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR addlosig (3),
|
||||||
|
.BR getlosig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
.\" $Id: dellotrs.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)dellotrs.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellotrs
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
dellotrs
|
||||||
|
.XE2 \}
|
||||||
|
.TH DELLOTRS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
dellotrs \- delete a logical transistor
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
int dellotrs(ptfig, pttrs)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
lotrs_list \(**pttrs;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the transistor should be deleted
|
||||||
|
.TP
|
||||||
|
\fIpttrs\fP
|
||||||
|
Pointer to the transistor to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdellotrs\fP delete the transistor pointed to by \fIpttrs\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP.
|
||||||
|
The list consistency is maintainded, and the space freed. The transistor
|
||||||
|
connectors are also freed, since if the transistor disapear,
|
||||||
|
no more connections can occur on it.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdellotrs\fP returns \fB1\fP if the transistor has been deleted, \fB0\fP
|
||||||
|
if the transistor pointer does nit exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
char \(**was_existing(ptfig, pttrs)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
lotrs_list \(**pttrs;
|
||||||
|
{
|
||||||
|
return dellotrs(ptfig, pttrs) ? "you just killed it!"
|
||||||
|
: "wasn't here anyway";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR lotrs (3),
|
||||||
|
.BR addlotrs (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
.\" $Id: delnum.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delnum.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delnum
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delnum
|
||||||
|
.XE4 \}
|
||||||
|
.TH DELNUM 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delnum \- delete an element of a \fBnum_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
num_list \(**delnum(pthead, ptdel)
|
||||||
|
num_list \(**pthead, \(**ptdel;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIpthead\fP
|
||||||
|
Pointer to a \fBnum\fP list
|
||||||
|
.TP
|
||||||
|
\fIptdel\fP
|
||||||
|
Pointer to the element to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelnum\fP deletes the element of the \fBnum_list\fP pointed to by
|
||||||
|
\fIptdel\fP in the list pointed to by \fIpthead\fP.
|
||||||
|
The list consistency is maintainded, and the element put back in the list
|
||||||
|
of free blocks.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelnum\fP returns a pointer to the new head of list if the \fIptdel\fP
|
||||||
|
pointer used to belong to the list. In most case, it has the value of
|
||||||
|
\fIpthead\fP. If the pointer doesn't belong to the list, \fBNULL\fP is returned.
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** delnum impossible : pointer NULL"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
At least one of the arguments are pointing to \fBNULL\fP, and that clear that
|
||||||
|
such a pointer can't be deleted.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void delete_match(c0, c1)
|
||||||
|
num_list \(**c1, \(**c2;
|
||||||
|
{
|
||||||
|
num_list \(**t0, \(**t1, \(**next;
|
||||||
|
for (t0 = c0; t0; t0 = next)
|
||||||
|
for (t1 = c1; t1; t1 = t1\->NEXT)
|
||||||
|
if (t1\->DATA == t0\->DATA)
|
||||||
|
next = delnum(c0, t0);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR num (3),
|
||||||
|
.BR addnum (3),
|
||||||
|
.BR freenum (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
.\" $Id: delphcon.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delphcon.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphcon
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphcon
|
||||||
|
.XE0 \}
|
||||||
|
.TH DELPHCON 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delphcon \- delete a physical connector
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
int delphcon(ptfig, ptcon)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phcon_list \(**ptcon;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the connector should be deleted
|
||||||
|
.TP
|
||||||
|
\fIptcon\fP
|
||||||
|
Pointer to the connector to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelphcon\fP delete the connector pointed to by \fIptcon\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP.
|
||||||
|
The list and index consistency is maintainded, and the space freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelphcon\fP returns \fB1\fP if the connector has been deleted, \fB0\fP
|
||||||
|
if no such connector exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
char \(**was_existing(ptfig, ptcon)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phcon_list \(**ptcon;
|
||||||
|
{
|
||||||
|
/\(** if only one exists, it's this one \(**/
|
||||||
|
return delphcon(ptfig, ptcon) ? "you just killed it!\n"
|
||||||
|
: "wasn't here anyway\n";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phcon (3),
|
||||||
|
.BR addphcon (3),
|
||||||
|
.BR getphcon (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
.\" $Id: delphfig.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delphfig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphfig
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphfig
|
||||||
|
.XE0 \}
|
||||||
|
.TH DELPHFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delphfig \- delete and free a physical figure
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
int delphfig(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be deleted
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelphfig\fP deletes the figure called \fIfigname\fP from the list of
|
||||||
|
physical figure in memory. All the lists of elements belonging to the figure
|
||||||
|
are also deleted and freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelphfig\fP returns \fB1\fP if the figure was delete, and \fB0\fP if no
|
||||||
|
figure called \fIfigname\fP was present in memory.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void delete_na2_y()
|
||||||
|
{
|
||||||
|
if (delphfig("na2_y"))
|
||||||
|
(void)fputs("deleted na2_y successfully", stdout);
|
||||||
|
else
|
||||||
|
(void)fputs("na2_y not present in ram !", stdout);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR addphfig (3),
|
||||||
|
.BR getphfig (3),
|
||||||
|
.BR loadphfig (3),
|
||||||
|
.BR savephfig (3),
|
||||||
|
.BR flattenphfig (3),
|
||||||
|
.BR rflattenphfig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
.\" $Id: delphins.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delphins.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphins
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphins
|
||||||
|
.XE0 \}
|
||||||
|
.TH DELPHINS 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delphins \- delete a physical instance
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
int delphins(ptfig, insname)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the instance should be deleted
|
||||||
|
.TP
|
||||||
|
\fIinsname\fP
|
||||||
|
Name of the instance to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelphins\fP delete the instance called \fIinsname\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP. This instance is warrantied to be unique, because
|
||||||
|
its name is an identifier at the given hierarchical level.
|
||||||
|
The list consistency is maintainded, and the space freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelphins\fP returns \fB1\fP if the instance has been deleted, \fB0\fP
|
||||||
|
if no such instance exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
char \(**was_existing(ptfig, insname)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
{
|
||||||
|
return delphins(ptfig, insname) ? "you just killed it!"
|
||||||
|
: "wasn't here anyway";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phins (3),
|
||||||
|
.BR addphins (3),
|
||||||
|
.BR getphins (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
.\" $Id: delphref.3,v 1.1 2002/03/08 13:51:01 fred Exp $
|
||||||
|
.\" @(#)delphref.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphref
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphref
|
||||||
|
.XE0 \}
|
||||||
|
.TH DELPHREF 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delphref \- delete a physical reference
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
int delphref(ptfig, ptref)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phref_list \(**ptref;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the reference should be deleted
|
||||||
|
.TP
|
||||||
|
\fIptref\fP
|
||||||
|
Pointer to the reference to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelphref\fP delete the reference pointed to by \fIptref\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP.
|
||||||
|
The list consistency is maintainded, and the space freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelphref\fP returns \fB1\fP if the reference has been deleted, \fB0\fP
|
||||||
|
if no such reference exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
char \(**was_existing(ptfig, ptref)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phref_list \(**ptref;
|
||||||
|
{
|
||||||
|
/\(** if only one exists, it's this one \(**/
|
||||||
|
return delphref(ptfig, ptref) ? "you just killed it!"
|
||||||
|
: "wasn't here anyway";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phref (3),
|
||||||
|
.BR addphref (3),
|
||||||
|
.BR getphref (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
.\" $Id: delphseg.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)delphseg.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphseg
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphseg
|
||||||
|
.XE0 \}
|
||||||
|
.TH DELPHSEG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delphseg \- delete a physical segment
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
int delphseg(ptfig, ptseg)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phseg_list \(**ptseg;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the segment should be deleted
|
||||||
|
.TP
|
||||||
|
\fIptseg\fP
|
||||||
|
Pointer to the segment to be deleted
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelphseg\fP delete the segment pointed to by \fIptseg\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP.
|
||||||
|
The list consistency is maintainded, and the space freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelphseg\fP returns \fB1\fP if the segment has been deleted, \fB0\fP
|
||||||
|
if no such segment exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
char \(**was_existing(ptfig, ptseg)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phseg_list \(**ptseg;
|
||||||
|
{
|
||||||
|
/\(** if only one exists, it's this one \(**/
|
||||||
|
return delphseg(ptfig, ptseg) ? "you just killed it!"
|
||||||
|
: "wasn't here anyway";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phseg (3),
|
||||||
|
.BR addphseg (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
.\" $Id: delphvia.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)delphvia.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphvia
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delphvia
|
||||||
|
.XE0 \}
|
||||||
|
.TH DELPHVIA 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delphvia \- delete a physical via
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
int delphvia(ptfig, ptvia)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phvia_list \(**ptvia;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the via should be deleted
|
||||||
|
.TP
|
||||||
|
\fIptvia\fP
|
||||||
|
Pointer to the via to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelphvia\fP delete the via pointed to by \fIptvia\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP.
|
||||||
|
The list consistency is maintainded, and the space freed.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelphvia\fP returns \fB1\fP if the via has been deleted, \fB0\fP
|
||||||
|
if no such via exists in the list.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
char \(**was_existing(ptfig, ptvia)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
phvia_list \(**ptvia;
|
||||||
|
{
|
||||||
|
/\(** if only one exists, it's this one \(**/
|
||||||
|
return delphvia(ptfig, ptvia) ? "you just killed it!"
|
||||||
|
: "wasn't here anyway";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phvia (3),
|
||||||
|
.BR addphvia (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
.\" $Id: delptype.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)delptype.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delptype
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
delptype
|
||||||
|
.XE4 \}
|
||||||
|
.TH DELPTYPE 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
delptype \- delete an element of a \fBptype_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
ptype_list \(**delptype(pthead, type)
|
||||||
|
ptype_list \(**pthead;
|
||||||
|
long type;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIpthead\fP
|
||||||
|
Pointer to a \fBptype\fP list
|
||||||
|
.TP
|
||||||
|
\fItype\fP
|
||||||
|
The pointer of this type is to be deleted.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdelptype\fP deletes the element of the \fBptype_list\fP that has the type
|
||||||
|
\fItype\fP in the list pointed to by \fIpthead\fP.
|
||||||
|
The list consistency is maintained, and the element put back in the list
|
||||||
|
of free blocks.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBdelptype\fP returns a pointer to the new head of list if a \fItype\fPd
|
||||||
|
pointer used to belong to the list. In most case, it has the value of
|
||||||
|
\fIpthead\fP. If the \fItype\fP doesn't belong to the list, \fBNULL\fP is
|
||||||
|
returned.
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** delptype impossible : pthead = NULL"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The pointer to the head of list is \fBNULL\fP, and that clear that
|
||||||
|
such a list can't be ran thru.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mph.h"
|
||||||
|
void delete_user(ptfig)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
{
|
||||||
|
phins_list \(**i;
|
||||||
|
for (i = ptfig\->PHINS; i; i = i\->NEXT)
|
||||||
|
i\->USER = delptype(i\->USER, PLACEABOX);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR ptype (3),
|
||||||
|
.BR addptype (3),
|
||||||
|
.BR getptype (3),
|
||||||
|
.BR freeptype (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
.\" $Id: downstr.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)downstr.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
downstr
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
downstr
|
||||||
|
.XE4 \}
|
||||||
|
.TH DOWNSTR 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
downstr \- convert a string to lower case
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void downstr(s, t)
|
||||||
|
char \(**s, \(**t;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIs\fP
|
||||||
|
Pointer to the source string
|
||||||
|
.TP
|
||||||
|
\fIt\fP
|
||||||
|
Pointer to the destination string
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBdownstr\fP converts the \fIs\fP string to lower case in \fIt\fP.
|
||||||
|
The space for \fIt\fP must be allocated by the caller, and be at least
|
||||||
|
\fBstrlen(s) + 1\fP long.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void cmp()
|
||||||
|
{
|
||||||
|
char \(**s = "PWET", t[5];
|
||||||
|
downstr(s, t);
|
||||||
|
if (strcmp(t, "pwet")) {
|
||||||
|
fprintf(stderr, "Downstr sucks, man");
|
||||||
|
EXIT();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR upstr (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
.\" $Id: filepath.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)filepath.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
filepath
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
filepath
|
||||||
|
.XE4 \}
|
||||||
|
.TH FILEPATH 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
filepath \- return the whole search path of a file
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
char \(**filepath(name, extension)
|
||||||
|
char \(**name, \(**extension;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIname\fP
|
||||||
|
Name of the file to be search for
|
||||||
|
.TP
|
||||||
|
\fIextension\fP
|
||||||
|
File extension
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBfilepath\fP return the absolute path of a cell.
|
||||||
|
This is useful for error messages, since the caller of mbk file functions
|
||||||
|
is not able to specify explicitly which file it opened.
|
||||||
|
Having such an information is also necessary when last modification times or
|
||||||
|
access times are needed, as for consistency checks.
|
||||||
|
The file is searched through the environment variable \fBMBK_WORK_LIB\fP(1),
|
||||||
|
and if not found, through \fBMBK_CATA_LIB\fP(1) in the user defined order.
|
||||||
|
.br
|
||||||
|
The file to be searched is called \fIname.extension\fP, if extension is not
|
||||||
|
\fBNULL\fP, else it is \fIname\fP. If \fIextension\fP is the empty string,
|
||||||
|
\fB""\fP, then the file name will be \fIname.\fP\ .
|
||||||
|
.br
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBfilepath\fP returns \fBNULL\fP on failure, ie the file is not in the pathes,
|
||||||
|
or the absolute path on success.
|
||||||
|
The value returned, when not \fBNULL\fP, is stored in a \fBstatic\fP buffer,
|
||||||
|
so this values is to use at return time or copied into a user buffer.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mph.h"
|
||||||
|
void vti_error(fig, error)
|
||||||
|
phfig_list \(**fig;
|
||||||
|
char *(*error)();
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Syntax error in %s\\n", filepath(fig->NAME, "cp"));
|
||||||
|
fprintf(stderr, "%s\\n", error());
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR MBK_WORK_LIB (1),
|
||||||
|
.BR MBK_CATA_LIB (1),
|
||||||
|
.BR mbkfopen (3).
|
||||||
|
.BR mbkunlink (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
.\" $Id: flattenlofig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)flattenlofig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
flattenlofig
|
||||||
|
.XE
|
||||||
|
.XS3 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
flattenlofig
|
||||||
|
.XE3 \}
|
||||||
|
.TH FLATTENLOFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
flattenlofig \- flatten a instance in a logical figure
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void flattenlofig(ptfig, insname, concat)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
char concat;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to a logical figure
|
||||||
|
.TP
|
||||||
|
\fIinsname\fP
|
||||||
|
Name of the instance to be flattened
|
||||||
|
.TP
|
||||||
|
\fIconcat\fP
|
||||||
|
Name generation mode
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBflattenlofig\fP flattens the instance called \fIinsname\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP. Flattening means incorporating the
|
||||||
|
contents of the instance in the figure and removing it from its instance list.
|
||||||
|
.br
|
||||||
|
the \fIconcat\fP argument can take either the value \fBYES\fP in which case the
|
||||||
|
name of the objects comming from the instance are named
|
||||||
|
\fIinsname'X'objectname\fP, where \fI'X'\fP is the caracter set int the
|
||||||
|
\fBMBK_SEPAR\fP(1) environment variable, or the value \fBNO\fP, and then the
|
||||||
|
object name remains inchanged. This is quite dangerous since name unicity is
|
||||||
|
no more warrantied, and may cause the flatten to fail. See \fBMBK_SEPAR\fP(1),
|
||||||
|
\fBmbkenv\fP(3) and \fBconcatname\fP(3) for details.
|
||||||
|
.SH ERRORS
|
||||||
|
No errors can directly result from a call to \fBflattenlofig\fP, but since it
|
||||||
|
uses many other mbk functions, it may be an error starting point.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void flatten_na2_y_s(ptfig)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
{
|
||||||
|
loins_list \(**pt;
|
||||||
|
for (pt = ptfig\->LOINS; pt; pt = pt\->NEXT) /\(** scan instance list \(**/
|
||||||
|
if (!strcmp(pt\->FIGNAME, "na2_y"))
|
||||||
|
flattenlofig(ptfig, pt\->INSNAME, NO);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR mbkenv (3),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR addlofig (3),
|
||||||
|
.BR getlofig (3),
|
||||||
|
.BR dellofig (3),
|
||||||
|
.BR loadlofig (3),
|
||||||
|
.BR savelofig (3),
|
||||||
|
.BR rflattenlofig (3),
|
||||||
|
.BR MBK_SEPAR (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
.\" $Id: flattenphfig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)flatenphfig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
flattenphfig
|
||||||
|
.XE
|
||||||
|
.XS1 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
flattenphfig
|
||||||
|
.XE1 \}
|
||||||
|
.TH FLATTENPHFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
flatenphfig \- flatten a instance in a figure
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void flatenphfig(ptfig, insname, concat)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
char concat;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to a physical figure
|
||||||
|
.TP
|
||||||
|
\fIinsname\fP
|
||||||
|
Name of the instance to be flattened
|
||||||
|
.TP
|
||||||
|
\fIconcat\fP
|
||||||
|
Name generation mode
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBflatenphfig\fP flattens the instance called \fIinsname\fP in the figure
|
||||||
|
pointed to by \fIptfig\fP. Flattening means incorporating the
|
||||||
|
contents of the instance in the figure and removing it from its instance list.
|
||||||
|
.br
|
||||||
|
the \fIconcat\fP argument can take either the value \fBYES\fP in which case the
|
||||||
|
name of the object comming from the instance are named
|
||||||
|
\fIinsname'X'objectname\fP, where \fI'X'\fP is the caracter set int the
|
||||||
|
\fBMBK_SEPAR\fP(1) environment variable, or the value \fBNO\fP, and then the
|
||||||
|
object name remains inchanged. This is quite dangerous since name unicity is
|
||||||
|
no more warrantied, and may cause the flatten to fail. See \fBMBK_SEPAR(1)\fP,
|
||||||
|
\fBmbkenv(3)\fP and \fBconcatname(3)\fP for details.
|
||||||
|
.SH ERRORS
|
||||||
|
No errors can directly result from a call to \fBflatenphfig\fP, but since it
|
||||||
|
uses many other mbk functions, it may be an error starting point.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void flatten_na2_y_s(ptfig)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
{
|
||||||
|
phins_list \(**pt;
|
||||||
|
for (pt = ptfig\->PHINS; pt; pt = pt\->NEXT) /\(** scan instance list \(**/
|
||||||
|
if (!strcmp(pt\->FIGNAME, "na2_y"))
|
||||||
|
flatenphfig(ptfig, pt\->INSNAME, NO);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR mbkenv (3),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR addphfig (3),
|
||||||
|
.BR getphfig (3),
|
||||||
|
.BR delphfig (3),
|
||||||
|
.BR loadphfig (3),
|
||||||
|
.BR savephfig (3),
|
||||||
|
.BR rflatenphfig (3),
|
||||||
|
.BR MBK_SEPAR (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
.\" $Id: freechain.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)freechain.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freechain
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freechain
|
||||||
|
.XE4 \}
|
||||||
|
.TH FREECHAIN 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
freechain \- free a \fBchain_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void freechain(pt)
|
||||||
|
chain_list \(**pt;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIpt\fP
|
||||||
|
Pointer to the \fBchain\fP list to be freed
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBfreechain\fP frees the \fBchain_list\fP pointed to by \fIpt\fP.
|
||||||
|
All the elements of the list are put back in the list of free blocks.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void free_from(c, i) /\(** erase list from ith element \(**/
|
||||||
|
chain_list \(**c;
|
||||||
|
int i;
|
||||||
|
{
|
||||||
|
chain_list \(**t;
|
||||||
|
while (i--)
|
||||||
|
c = c\->NEXT;
|
||||||
|
t = c\->NEXT, c\->NEXT = NULL;
|
||||||
|
freechain(t);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR chain (3),
|
||||||
|
.BR addchain (3),
|
||||||
|
.BR delchain (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
.\" $Id: freelomodel.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)freelomodel.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freelomodel
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freelomodel
|
||||||
|
.XE2 \}
|
||||||
|
.TH FREELOMODEL 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
freelomodel \- free a \fBlofig_list\fP for temporary models
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void freelomodel(ptmodel)
|
||||||
|
lofig_list \(**ptmodel;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIptmodel\fP
|
||||||
|
Pointer to the model list to be freed
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBfreelomodel\fP free the \fBlofig_list\fP pointed to by \fIptmodel\fP.
|
||||||
|
All the elements of the list are given back to the system.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void end_of_parse() /\(** erase model list \(**/
|
||||||
|
{
|
||||||
|
freelomodel(MODEL);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR addlomodel (3),
|
||||||
|
.BR getlomodel (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
.\" $Id: freenum.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)freenum.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freenum
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freenum
|
||||||
|
.XE4 \}
|
||||||
|
.TH FREENUM 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
freenum \- free a \fBnum_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void freenum(pt)
|
||||||
|
num_list \(**pt;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIpt\fP
|
||||||
|
Pointer to the \fBnum\fP list to be freed
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBfreenum\fP frees the \fBnum_list\fP pointed to by \fIpt\fP.
|
||||||
|
All the elements of the list are put back in the list of free blocks.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void free_from(c, i) /\(** erase list from ith element \(**/
|
||||||
|
num_list \(**c;
|
||||||
|
int i;
|
||||||
|
{
|
||||||
|
num_list \(**t;
|
||||||
|
while (i--)
|
||||||
|
c = c\->NEXT;
|
||||||
|
t = c\->NEXT, c\->NEXT = NULL;
|
||||||
|
freenum(t);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR num (3),
|
||||||
|
.BR addnum (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
.\" $Id: freeptype.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)freeptype.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freeptype
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
freeptype
|
||||||
|
.XE4 \}
|
||||||
|
.TH FREEPTYPE 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
freeptype \- free a \fBptype_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
ptype_list \(**freeptype(pt)
|
||||||
|
ptype_list \(**pt;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIpt\fP
|
||||||
|
Pointer to the ptype list to be freed
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBfreeptype\fP frees the \fBptype_list\fP pointed to by \fIpt\fP.
|
||||||
|
All the elements of the list are put back in the list of free blocks.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void free_from(c, i) /\(** erase list from ith element \(**/
|
||||||
|
ptype_list \(**c;
|
||||||
|
int i;
|
||||||
|
{
|
||||||
|
ptype_list \(**t;
|
||||||
|
while (i--)
|
||||||
|
c = c\->NEXT;
|
||||||
|
t = c\->NEXT, c\->NEXT = NULL;
|
||||||
|
freeptype(t);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR ptype (3),
|
||||||
|
.BR addptype (3),
|
||||||
|
.BR getptype (3),
|
||||||
|
.BR delptype (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
.\" $Id: gethtitem.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)gethtitem.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
|
||||||
|
.\" slightly modified by Fred Petrot for mbk adaptation on 22/06/92
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
gethtitem
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
gethtitem
|
||||||
|
.XE4 \}
|
||||||
|
.TH GETHTITEM 3 "October 1, 1997" "ASIM/LIP6" "MBK HASH TABLE MANAGEMENT FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
gethtitem \- searches an item in a hash table
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.nf
|
||||||
|
#include "mut.h"
|
||||||
|
int gethtitem(table, key)
|
||||||
|
ht \(**table;
|
||||||
|
void \(**key;
|
||||||
|
.fi
|
||||||
|
.ft R
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fItable\fP
|
||||||
|
Hash table pointer
|
||||||
|
.TP 20
|
||||||
|
\fIkey\fP
|
||||||
|
Key used by the hash coding function
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgethtitem()\fP searches an item in the hash table pointed to by \fItable\fP.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
If the key \fIkey\fP exists, the associated value is returned,
|
||||||
|
if it doesn't, the function returns \fBEMPTYHT\fP.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.nf
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "mut.h"
|
||||||
|
check(p)
|
||||||
|
losig_list *p;
|
||||||
|
{
|
||||||
|
char *amatla;
|
||||||
|
losig_list *ptsig;
|
||||||
|
locon_list *ptcon;
|
||||||
|
ht *h;
|
||||||
|
for (i = 0, ptsig = p->LOSIG; ptsig; i++, ptsig = ptsig->NEXT);
|
||||||
|
h = addht(i);
|
||||||
|
/* two connectors can't have the same name! */
|
||||||
|
for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT)
|
||||||
|
addhtitem(h, ptcon->NAME, 0);
|
||||||
|
for (ptsig = p->LOSIG; ptsig; ptsig = ptsig->NEXT) {
|
||||||
|
if (ptsig->TYPE == INTERNAL) {
|
||||||
|
amatla = getsigname(ptsig);
|
||||||
|
/* this is nicely done with sethtitem! */
|
||||||
|
if (gethtitem(h, amatla) == EMPTYHT) {
|
||||||
|
printf("N %s;\\n", amatla);
|
||||||
|
addhtitem(h, amatla, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delht();
|
||||||
|
}
|
||||||
|
.fi
|
||||||
|
.ft R
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addht (3),
|
||||||
|
.BR delht (3),
|
||||||
|
.BR addhtitem (3),
|
||||||
|
.BR delhtitem (3),
|
||||||
|
.BR viewht (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
.\" $Id: getlocon.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getlocon.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlocon
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlocon
|
||||||
|
.XE2 \}
|
||||||
|
.TH GETLOCON 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getlocon \- retrieve a logical connector
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
locon_list \(**getlocon(ptfig, name)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**name;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the connector should be seeked
|
||||||
|
.TP
|
||||||
|
\fIname\fP
|
||||||
|
Name of the connector
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetlocon\fP looks in the list of connectors of the logical model pointed
|
||||||
|
to by \fIptfig\fP for a connector identified by its \fIname\fP, since it
|
||||||
|
should be unique at a given hierachical level.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetlocon\fP returns a pointer to the given connector.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** getlocon impossible :
|
||||||
|
connector \fIname\fP doesn't exist in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No connector matches the name.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
locon_list \(**exist(figname, conname)
|
||||||
|
char \(**figname, \(**conname;
|
||||||
|
{
|
||||||
|
return getlocon(getlofig(figname), conname);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR addlocon (3),
|
||||||
|
.BR dellocon (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
.\" $Id: getlofig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getlofig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlofig
|
||||||
|
.XE
|
||||||
|
.XS3 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlofig
|
||||||
|
.XE3 \}
|
||||||
|
.TH GETLOFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getlofig \- give back a pointer to a \fIlofig\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
lofig_list \(**getlofig(figname, mode)
|
||||||
|
char \(**figname;
|
||||||
|
char mode;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be created
|
||||||
|
.TP
|
||||||
|
\fImode\fP
|
||||||
|
Demanded mode for the figure
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetlofig\fP returns a pointer to the figure called \fIfigname\fP with the
|
||||||
|
warranty that the expected information is present in memory.
|
||||||
|
.br
|
||||||
|
If \fImode\fP is \fB'A'\fP then the figure has all its lists filled, else
|
||||||
|
the figure may either be complete or interface only.
|
||||||
|
.br
|
||||||
|
This function allows to completly mask disk access for applications
|
||||||
|
programs. If the figure is in memory, with the specified \fImode\fP,
|
||||||
|
then the function returns the appropriate pointer. Else, the function performs
|
||||||
|
a call to the \fBloadlofig(3)\fP and returns a pointer to the loaded
|
||||||
|
figure.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetlofig\fP returns a pointer to the wanted figure.
|
||||||
|
.SH ERRORS
|
||||||
|
\fBgetlofig\fP cannot give any errors, but the subsequent calls it performs
|
||||||
|
to parsers do. So the source of trouble may be the call to \fBgetlofig\fP.
|
||||||
|
See \fBloadlofig\fP(3) for details.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
lofig_list \(**na2_y()
|
||||||
|
{
|
||||||
|
/\(** find in memory or load from disk na2_y \(**/
|
||||||
|
return getlofig("na2_y", 'A');
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR addlofig (3),
|
||||||
|
.BR dellofig (3),
|
||||||
|
.BR loadlofig (3),
|
||||||
|
.BR savelofig (3),
|
||||||
|
.BR flattenlofig (3),
|
||||||
|
.BR rflattenlofig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
.\" $Id: getloins.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getloins.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getloins
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getloins
|
||||||
|
.XE2 \}
|
||||||
|
.TH GETLOINS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getloins \- retrieve a logical instance
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
loins_list \(**getloins(ptfig, name)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**name;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the instance should be seeked
|
||||||
|
.TP
|
||||||
|
\fIname\fP
|
||||||
|
Name of the instance
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetloins\fP looks in the list of instances of the logical model pointed
|
||||||
|
to by \fIptfig\fP for a instance identified by its \fIname\fP. This instance
|
||||||
|
is unique, since the \fIname\fP is the instance identifier.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetloins\fP returns a pointer to the instance that matches the
|
||||||
|
\fIname\fP.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal getloins instance \fIname\fP doesn't exist
|
||||||
|
in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No instance is called \fIname\fP in the figure.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
loins_list \(**get_ins_by_name(figname, insname)
|
||||||
|
char \(**figname, \(**insname;
|
||||||
|
{
|
||||||
|
return getloins(getlofig(figname), insname);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR loins (3),
|
||||||
|
.BR addloins (3),
|
||||||
|
.BR delloins (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
.\" $Id: getlomodel.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getlomodel.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlomodel
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlomodel
|
||||||
|
.XE2 \}
|
||||||
|
.TH GETLOMODEL 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getlomodel \- retrieve a model from a \fBlofig_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
lofig_list \(**getlomodel(model, name)
|
||||||
|
lofig_list \(**model;
|
||||||
|
char \(**name;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fImodel\fP
|
||||||
|
Pointer to a lofig list
|
||||||
|
.TP
|
||||||
|
\fIname\fP
|
||||||
|
String indicating the model to be looked for
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetlomodel\fP seeks a \fBlofig\fP element in the list pointed to by
|
||||||
|
\fImodel\fP.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetlomodel\fP returns a pointer to the \fBlofig\fP that match the \fIname\fP.
|
||||||
|
If no \fBlofig\fP has the given \fIname\fP, then \fBNULL\fP is returned.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
locon_list *get_model_cons(model, name)
|
||||||
|
lofig_list \(**model;
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
lofig_list \(**p = getlomodel(model, name);
|
||||||
|
return p ? p\->LOCON : NULL;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR addlomodel (3),
|
||||||
|
.BR freelomodel (3),
|
||||||
|
.BR dellomodel (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
.\" $Id: getlosig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getlosig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlosig
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getlosig
|
||||||
|
.XE2 \}
|
||||||
|
.TH GETLOSIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getlosig \- retrieve a logical signal
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
losig_list \(**getlosig(ptfig, index)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
long index;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the signal should be seeked
|
||||||
|
.TP
|
||||||
|
\fIindex\fP
|
||||||
|
Index of the signal
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetlosig\fP looks in the list of signals of the logical model pointed
|
||||||
|
to by \fIptfig\fP for a signal identified by its \fIindex\fP. This signal
|
||||||
|
is unique, since the \fIindex\fP is the signal identifier.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetlosig\fP returns a pointer to the signal that matches the
|
||||||
|
\fIindex\fP.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal getlosig signal \fIindex\fP doesn't exist
|
||||||
|
in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No signal has \fIindex\fP as \fIINDEX\fP in the figure.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
losig_list \(**get_sig_by_name(figname, index)
|
||||||
|
char \(**figname;
|
||||||
|
long index;
|
||||||
|
{
|
||||||
|
return getlosig(getlofig(figname), index);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR addlosig (3),
|
||||||
|
.BR dellosig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
.\" $Id: getphcon.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getphcon.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphcon
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphcon
|
||||||
|
.XE0 \}
|
||||||
|
.TH GETPHCON 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getphcon \- retrieve a physical connector
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phcon_list \(**getphcon(ptfig, conname, index)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**conname;
|
||||||
|
long index;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the connector should be seeked
|
||||||
|
.TP
|
||||||
|
\fIconname\fP
|
||||||
|
Name of the connector
|
||||||
|
.TP
|
||||||
|
\fIindex\fP
|
||||||
|
Connector index
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetphcon\fP looks in the list of connectors of the physical model pointed
|
||||||
|
to by \fIptfig\fP for a connector identified by its \fIconname\fP and
|
||||||
|
\fIindex\fP. Both are needed to make sure the right connector is given back
|
||||||
|
since \fIn\fP internally wired connectors have the same name.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetphcon\fP returns a pointer to the given connector.
|
||||||
|
.SH ERRORS
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal getphcon connector \fIconname.index\fP
|
||||||
|
doesn't exist in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No connectors match both arguments.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phcon_list \(**exist(figname, conname)
|
||||||
|
char \(**figname, \(**conname;
|
||||||
|
{
|
||||||
|
/\(** if only one exists, it's this one \(**/
|
||||||
|
return getphcon(getphfig(figname), conname, 0L);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phcon (3),
|
||||||
|
.BR addphcon (3),
|
||||||
|
.BR delphcon (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
.\" $Id: getphfig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getphfig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphfig
|
||||||
|
.XE
|
||||||
|
.XS1 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphfig
|
||||||
|
.XE1 \}
|
||||||
|
.TH GETPHFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getphfig \- give back a pointer to a \fIphfig\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phfig_list \(**getphfig(figname, mode)
|
||||||
|
char \(**figname;
|
||||||
|
char mode;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be created
|
||||||
|
\fImode\fP
|
||||||
|
Demanded mode for the figure
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetphfig\fP returns a pointer to the figure called \fIfigname\fP with the
|
||||||
|
warranty that the expected information is present in memory.
|
||||||
|
.br
|
||||||
|
If \fImode\fP is \fB'A'\fP then the figure has all its lists filled, else
|
||||||
|
the figure may either be complete or interface only.
|
||||||
|
.br
|
||||||
|
This function allows to completly mask disk access for applications
|
||||||
|
programs. If the figure is in memory, with the specified \fImode\fP,
|
||||||
|
then the function returns the appropriate pointer. Else, the function performs
|
||||||
|
a call to the \fBloadphfig\fP(3) and returns a pointer to the loaded
|
||||||
|
figure.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetphfig\fP returns a pointer to the wanted figure.
|
||||||
|
.SH ERRORS
|
||||||
|
\fBgetphfig\fP cannot give any errors, but the subsequent calls it performs
|
||||||
|
to parsers do. So the source of trouble may be the call to \fBgetphfig\fP.
|
||||||
|
See \fBloadphfig\fP(3) for details.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phfig_list \(**na2_y()
|
||||||
|
{
|
||||||
|
/\(** find in memory or load from disk na2_y \(**/
|
||||||
|
return getphfig("na2_y", 'A');
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR addphfig (3),
|
||||||
|
.BR delphfig (3),
|
||||||
|
.BR loadphfig (3),
|
||||||
|
.BR savephfig (3),
|
||||||
|
.BR flattenphfig (3),
|
||||||
|
.BR rflattenphfig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
.\" $Id: getphins.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getphins.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphins
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphins
|
||||||
|
.XE0 \}
|
||||||
|
.TH GETPHINS 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getphins \- retrieve a physical instance
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phins_list \(**getphins(ptfig, insname)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**insname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the instance should be seeked
|
||||||
|
.TP
|
||||||
|
\fIinsname\fP
|
||||||
|
Name of the instance
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetphins\fP looks in the list of instances of the physical model pointed
|
||||||
|
to by \fIptfig\fP for a instance identified by its \fIinsname\fP.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetphins\fP returns a pointer to the instance that matches the
|
||||||
|
\fIinsname\fP.
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal getphins instance \fIinsname\fP doesn't exist
|
||||||
|
in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No instance is called \fIinsname\fP in the figure.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phins_list \(**exist(figname, insname)
|
||||||
|
char \(**figname, \(**insname;
|
||||||
|
{
|
||||||
|
return getphins(getphfig(figname), insname);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phins (3),
|
||||||
|
.BR addphins (3),
|
||||||
|
.BR delphins (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
.\" $Id: getphref.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getphref.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphref
|
||||||
|
.XE
|
||||||
|
.XS0 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getphref
|
||||||
|
.XE0 \}
|
||||||
|
.TH GETPHREF 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getphref \- retrieve a physical reference
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phref_list \(**getphref(ptfig, refname)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**refname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the reference should be seeked
|
||||||
|
.TP
|
||||||
|
\fIrefname\fP
|
||||||
|
Name of the reference
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetphref\fP looks in the list of references of the physical model pointed
|
||||||
|
to by \fIptfig\fP for a reference identified by its \fIrefname\fP.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetphref\fP returns a pointer to the reference that matches the
|
||||||
|
\fIrefname\fP.
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** illegal getphref reference \fIrefname\fP doesn't exist
|
||||||
|
in figure \fIptfig\->NAME\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No reference is called \fIrefname\fP in the figure.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phref_list \(**exist(figname, refname)
|
||||||
|
char \(**figname, \(**refname;
|
||||||
|
{
|
||||||
|
return getphref(getphfig(figname), refname);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phref (3),
|
||||||
|
.BR addphref (3),
|
||||||
|
.BR delphref (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
.\" $Id: getptype.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getptype.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getptype
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getptype
|
||||||
|
.XE4 \}
|
||||||
|
.TH GETPTYPE 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getptype \- retrieve a \fBptype\fP from a \fBptype_list\fP
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
ptype_list \(**getptype(pthead,type)
|
||||||
|
ptype_list \(**pthead;
|
||||||
|
long type;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIpthead\fP
|
||||||
|
Pointer to a \fBptype\fP list
|
||||||
|
.TP
|
||||||
|
\fItype\fP
|
||||||
|
Flag indicating the pointer owner
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgetptype\fP looks for a \fBptype\fP element in the list pointed to by
|
||||||
|
\fIpthead\fP.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetptype\fP returns a pointer to the \fBptype\fP that match the \fItype\fP.
|
||||||
|
Be careful, it is not the \fIptype\->DATA\fP that is returned.
|
||||||
|
If no \fBptype\fP has the given \fItype\fP, then \fBNULL\fP is returned.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mph.h"
|
||||||
|
void get_corner(ptfig, name, x2, y2)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**name;
|
||||||
|
int \(**x2, \(**y2;
|
||||||
|
{
|
||||||
|
phins_list \(**i = getphins(ptfig, name);
|
||||||
|
ptype_list \(**p = getptype(i\->USER, (long)PLACEABOX);
|
||||||
|
\(**x2 = (num_list \(**)(p\->DATA)\->DATA;
|
||||||
|
\(**y2 = (num_list \(**)(p\->DATA)\->NEXT\->DATA;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR ptype (3),
|
||||||
|
.BR addptype (3),
|
||||||
|
.BR freeptype (3),
|
||||||
|
.BR delptype (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
.\" $Id: getsigname.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)getsigname.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
getsigname
|
||||||
|
.XE \}
|
||||||
|
.TH GETSIGNAME 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
getsigname \- choose a signal name in alias list
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
char \(**getsigname(ptsig)
|
||||||
|
losig_list \(**ptsig;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIptsig\fP
|
||||||
|
Pointer to \fBlosig_list\fP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBgetsigname\fP function choose the higher hierachical level name of the
|
||||||
|
alias list of a signal.
|
||||||
|
The alias list is pointer to by the \fINAMECHAIN\fP pointer of the \fBlosig\fP
|
||||||
|
structure, and contains zero or more names corresponding to the signal.
|
||||||
|
Since the signal may result from a flatten, instance names may be concatenated
|
||||||
|
to the actual signal name.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgetsigname\fP returns the higher hierachy level name, if
|
||||||
|
\fIptsig\->NAMECHAIN\fP is not \fBNULL\fP, else a name constructed with
|
||||||
|
the signal \fBINDEX\fP is returned.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void print_signame(p)
|
||||||
|
losig_list \(**p;
|
||||||
|
{
|
||||||
|
fprintf(stdout, "signal name : %s\\n", getsigname(p));
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR chain (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
|
@ -0,0 +1,70 @@
|
||||||
|
.\" $Id: givelosig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)givelosig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
givelosig
|
||||||
|
.XE
|
||||||
|
.XS3 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
givelosig
|
||||||
|
.XE3 \}
|
||||||
|
.TH GIVELOSIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
givelosig \- give a logical signal
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
losig_list \(**givelosig(ptfig, index)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
long index;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to the figure in which the signal should be seeked or created
|
||||||
|
.TP
|
||||||
|
\fIindex\fP
|
||||||
|
Index of the signal to find or create
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgivelosig\fP looks in the list of signals of the logical model pointed
|
||||||
|
to by \fIptfig\fP for a signal identified by its \fIindex\fP. If this signal
|
||||||
|
exists, then its pointer is returned, else, the signal is created, with
|
||||||
|
direction, \fIDIR\fP, \fBUNKNOWN\fP, and \fITYPE\fP \fBINTERNAL\fP, and, of
|
||||||
|
course \fIINDEX\fP \fIindex\fP, and the pointer is returned.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBgivelosig\fP returns a pointer to the signal.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
losig_list \(**give_sig_by_name(figname, index)
|
||||||
|
char \(**figname;
|
||||||
|
long index;
|
||||||
|
{
|
||||||
|
/\(** never fails \(**/
|
||||||
|
return givelosig(getlofig(figname), index);
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR addlosig (3),
|
||||||
|
.BR dellosig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
.\" $Id: guessextdir.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)guessextdir.2 1.00 92/10/27 ; Labo masi cao-vlsi; Author : Vincent POUILLEY
|
||||||
|
.\"modified by Frederic Petrot to meet english language requirements!
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
guessextdir
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
guessextdir
|
||||||
|
.XE2 \}
|
||||||
|
.TH GUESSEXTDIR 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
guessextdir \- guess external connectors directions from internal connectors directions
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
int guessextdir(ptfig)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to a lofig_list
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBguessextdir\fP function guesses external connectors directions from
|
||||||
|
internal connectors' ones.
|
||||||
|
The translation table below indicates the resulting direction
|
||||||
|
for two internals connectors.
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
IN OUT INOUT UNKNOWN TRISTATE TRANSCV
|
||||||
|
IN IN INOUT INOUT IN TRANSCV TRANSCV
|
||||||
|
OUT INOUT OUT+ INOUT+ OUT OUT+ TRANSCV+
|
||||||
|
INOUT INOUT INOUT+ INOUT+ INOUT INOUT+ INOUT+
|
||||||
|
UNKNOWN IN OUT INOUT UNKNOWN TRISTATE TRANSCV
|
||||||
|
TRISTATE TRANSCV OUT+ INOUT+ TRISTATE TRISTATE TRANSCV
|
||||||
|
TRANSCV TRANSCV TRANSCV+ INOUT+ TRANSCV TRANSCV TRANSCV
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBguessextdir\fP returns \fB1\fP on success, \fB0\fP
|
||||||
|
if there is an error in the translation.
|
||||||
|
.SH ERROR
|
||||||
|
The values followed by a \fB+\fP character in the translation table indicate
|
||||||
|
an error.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
lofig_list \(** getgoodlofig(figname, mode)
|
||||||
|
char \(**figname;
|
||||||
|
char mode;
|
||||||
|
{
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
ptfig = getlofig(figname, mode);
|
||||||
|
restorealldir(ptfig);
|
||||||
|
guessextdir(ptfig);
|
||||||
|
return ptfig;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR getlofig (3),
|
||||||
|
.BR restorealldir (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
.\" $Id: incatalog.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)incatalog.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incatalog
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incatalog
|
||||||
|
.XE4 \}
|
||||||
|
.TH INCATALOG 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
incatalog \- test if cell belongs to the catalog file
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
int incatalog(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the cell to be checked
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBincatalog\fP checks a cell represented by its \fIfigname\fP beeing
|
||||||
|
present in the catalog file with the \fB'C'\fP attribut.
|
||||||
|
.br
|
||||||
|
This means that when flattening, the hierachy destruction stops when
|
||||||
|
encountering a cell belonging to the catalog.
|
||||||
|
This is meant for both logical and physical views, of course.
|
||||||
|
.br
|
||||||
|
The catalog is the sum of all the catalogs of the cells libraries specified
|
||||||
|
in the \fBMBK_CATA_LIB\fP(1) and \fBMBK_WORK_LIB\fP(1).
|
||||||
|
The catalogs of the \fBMBK_CATA_LIB\fP(1) are the files called \fBCATAL\fP,
|
||||||
|
and the \fBMBK_WORK_LIB\fP(1) is by default \fBCATAL\fP but can be changed
|
||||||
|
to \fBMBK_CATAL_NAME\fP(1).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBincatalog\fP returns \fB0\fP if the cell does not belong to the catalog
|
||||||
|
with the \fB'C'\fP attribut,
|
||||||
|
a value different from \fB0\fP if it does.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
char \(**tell_if_incatalog(name)
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
return incatalog(name) ? "Jawohl, mein Herr" : "Nein, danke";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR incatalogfeed (3),
|
||||||
|
.BR incatalogdelete (3),
|
||||||
|
.BR incataloggds (3),
|
||||||
|
.BR MBK_CATAL_NAME (1),
|
||||||
|
.BR MBK_CATA_LIB (1),
|
||||||
|
.BR MBK_WORK_LIB (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
.\" $Id: incatalogdelete.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)incatalogdelete.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incatalogdelete
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incatalogdelete
|
||||||
|
.XE4 \}
|
||||||
|
.TH INCATALOGDELETE 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
incatalogdelete \- test if cell belongs to the catalog file
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
int incatalogdelete(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the cell to be checked
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBincatalogdelete\fP checks a cell represented by its \fIfigname\fP beeing
|
||||||
|
present in the catalog file with the \fB'D'\fP attribut.
|
||||||
|
This means that the cell is to be deleted from the catalog.
|
||||||
|
\fBincatalogdelete\fP returns \fB0\fP if the cell does not belong to the
|
||||||
|
catalog with the \fB'D'\fP attribut, \fB1\fP if it does.
|
||||||
|
.br
|
||||||
|
The catalog is the sum of all the catalogs of the cells libraries specified
|
||||||
|
in the \fBMBK_CATA_LIB\fP(1) and \fBMBK_WORK_LIB\fP(1).
|
||||||
|
The catalogs of the \fBMBK_CATA_LIB\fP(1) are the files called \fBCATAL\fP,
|
||||||
|
and the \fBMBK_WORK_LIB\fP(1) is by default \fBCATAL\fP but can be changed
|
||||||
|
to \fBMBK_CATAL_NAME\fP(1).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBincatalogdelete\fP returns \fB0\fP if the cell does not belong to the
|
||||||
|
catalog with the \fB'D'\fP attribut,
|
||||||
|
a value different from \fB0\fP if it does.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
char \(**tell_if_incatalogdelete(name)
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
return incatalogdelete(name) ? "Not checked for catalog" : "Checked";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR incatalog (3),
|
||||||
|
.BR incatalogfeed (3).
|
||||||
|
.BR incataloggds (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
.\" $Id: incatalogfeed.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)incatalogfeed.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incatalogfeed
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incatalogfeed
|
||||||
|
.XE4 \}
|
||||||
|
.TH INCATALOGFEED 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
incatalogfeed \- test if cell belongs to the catalog file
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
int incatalogfeed(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the cell to be checked
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBincatalogfeed\fP checks a cell represented by its \fIfigname\fP beeing
|
||||||
|
present in the catalog file with the \fI'F'\fP attribut.
|
||||||
|
This means that the cell is a feed through, and does not have a logical
|
||||||
|
equivalent representation while beeing physicaly used.
|
||||||
|
.br
|
||||||
|
This information is mostly needed by routers, since \fI"logical feed through"\fP
|
||||||
|
has no design meaning.
|
||||||
|
.br
|
||||||
|
The catalog is the sum of all the catalogs of the cells libraries specified
|
||||||
|
in the \fBMBK_CATA_LIB\fP(1) and \fBMBK_WORK_LIB\fP(1).
|
||||||
|
The catalogs of the \fBMBK_CATA_LIB\fP(1) are the files called \fBCATAL\fP,
|
||||||
|
and the \fBMBK_WORK_LIB\fP(1) is by default \fBCATAL\fP but can be changed
|
||||||
|
to \fBMBK_CATAL_NAME\fP(1).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBincatalogfeed\fP returns \fB0\fP if the cell does not belong to the
|
||||||
|
catalog with the \fB'F'\fP attribut,
|
||||||
|
a value different from \fB0\fP if it does.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
char \(**tell_if_incatalogfeed(name)
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
return incatalogfeed(name) ? "Jawohl, mein Herr" : "Nein, danke";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR incatalog (3),
|
||||||
|
.BR incatalogdelete (3),
|
||||||
|
.BR incataloggds (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
.\" $Id: incataloggds.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)incataloggds.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incataloggds
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
incataloggds
|
||||||
|
.XE4 \}
|
||||||
|
.TH INCATALOGGDS 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
incataloggds \- test if cell belongs to the catalog file
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
int incataloggds(figname)
|
||||||
|
char \(**figname;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the cell to be checked
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBincataloggds\fP checks a cell represented by its \fIfigname\fP beeing
|
||||||
|
present in the catalog file with the \fB'G'\fP attribut.
|
||||||
|
This means that the cell is a phantom of a gds cell.
|
||||||
|
.br
|
||||||
|
This is useful when traducing a symbolic layout into physical one, because
|
||||||
|
then the \fB'G'\fP attribued cells are not to be translated, but just replaced
|
||||||
|
in the output.
|
||||||
|
This is mostly used for pads.
|
||||||
|
.br
|
||||||
|
The catalog is the sum of all the catalogs of the cells libraries specified
|
||||||
|
in the \fBMBK_CATA_LIB\fP(1) and \fBMBK_WORK_LIB\fP(1).
|
||||||
|
The catalogs of the \fBMBK_CATA_LIB\fP(1) are the files called \fBCATAL\fP,
|
||||||
|
and the \fBMBK_WORK_LIB\fP(1) is by default \fBCATAL\fP but can be changed
|
||||||
|
to \fBMBK_CATAL_NAME\fP(1).
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBincataloggds\fP returns \fB0\fP if the cell does not belong to the
|
||||||
|
catalog with the \fB'G'\fP attribut,
|
||||||
|
a value different from \fB0\fP if it does.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
char \(**tell_if_incataloggds(name)
|
||||||
|
char \(**name;
|
||||||
|
{
|
||||||
|
return incataloggds(name) ? "Jawohl, es ist ein pad" : "Nein, keine";
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR incatalog (3),
|
||||||
|
.BR incatalogdelete (3),
|
||||||
|
.BR incatalogfeed (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
.\" $Id: instanceface.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)instanceface.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
instanceface
|
||||||
|
.XE
|
||||||
|
.XS1 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
instanceface
|
||||||
|
.XE1 \}
|
||||||
|
.TH INSTANCEFACE 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
instanceface \- returns the face of a connector in a placed instance
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void \(**instanceface(modelface, symmetry)
|
||||||
|
char modelface, symmetry;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fImodelface\fP
|
||||||
|
Face of a connector in its figure.
|
||||||
|
.TP 20
|
||||||
|
\fIsymmetry\fP
|
||||||
|
Geometrical operation applied to the instanciation of the figure.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBinstanceface\fP determines the orientation of a connector in an instance of
|
||||||
|
its model.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
char channelFace(channelDir, i, c)
|
||||||
|
char channelDir;
|
||||||
|
phins_list *i;
|
||||||
|
phcon_list *c;
|
||||||
|
{
|
||||||
|
if (channelDir == VER)
|
||||||
|
switch (instanceface(c->ORIENT, i->TRANSF)) {
|
||||||
|
case EAST :
|
||||||
|
return WEST;
|
||||||
|
case WEST :
|
||||||
|
return EAST;
|
||||||
|
default :
|
||||||
|
return instanceface(c->ORIENT, i->TRANSF);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
switch (instanceface(c->ORIENT, i->TRANSF)) {
|
||||||
|
case NORTH :
|
||||||
|
return SOUTH;
|
||||||
|
case SOUTH :
|
||||||
|
return NORTH;
|
||||||
|
default :
|
||||||
|
return instanceface(c->ORIENT, i->TRANSF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR phcon (3),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR phins (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
.\" $Id: instr.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)instr.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
instr
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
instr
|
||||||
|
.XE4 \}
|
||||||
|
.TH INSTR 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
instr \- find an occurence of a string in a string, starting at a
|
||||||
|
specified character.
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
char \(**instr(s, find, from)
|
||||||
|
char \(**s, \(**find, from;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIs\fP
|
||||||
|
Pointer to the string to be searched for the pattern
|
||||||
|
.TP
|
||||||
|
\fIfind\fP
|
||||||
|
Pointer to the string to be found, the pattern
|
||||||
|
.TP
|
||||||
|
\fIfrom\fP
|
||||||
|
Character to be searched backwards before searching for the pattern
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBinstr\fP searches the first occurence of the string \fIfind\fP in the string
|
||||||
|
\fIs\fP, starting its search at the last occurence of the \fIfrom\fP character
|
||||||
|
in the string \fIs\fP.
|
||||||
|
.LP
|
||||||
|
If either \fIs\fP or \fIfind\fP is \fBNULL\fP, the function returns \fBNULL\fP.
|
||||||
|
If \fIfrom\fP is \fB(char)0\fP, the pattern is searched from the begining of
|
||||||
|
\fIs\fP.
|
||||||
|
.br
|
||||||
|
This quite exotic behaviour is useful to search the occurence of a name in a
|
||||||
|
string resulting from a flatten, when only a terminal object name is to be
|
||||||
|
taken into account.
|
||||||
|
.SH RETURN VALUES
|
||||||
|
\fBinstr\fP return \fBNULL\fP either if the pattern \fIfind\fP is not present
|
||||||
|
in the searched string \fIs\fP, or if one at least of these two string are
|
||||||
|
\fBNULL\fP.
|
||||||
|
If the pattern is found, a value different from \fBNULL\fP is returned.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
/* check for the pattern 'ck' anywhere in the string */
|
||||||
|
#define contains_ck(name) instr(name, "ck", '\0')
|
||||||
|
/* check for the pattern 'ck' in the signal name, not instance ones */
|
||||||
|
#define isclock(ptsig) instr(getsigname(ptsig), "ck", SEPAR)
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR isvdd (3),
|
||||||
|
.BR isvss (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
.\" $Id: isvdd.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)isvdd.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
isvdd
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
isvdd
|
||||||
|
.XE4 \}
|
||||||
|
.TH ISVDD 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
isvdd \-tells if a name contains the pattern defined by the user
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void isvdd(s)
|
||||||
|
char \(**s;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIs\fP
|
||||||
|
Pointer to the string to be check as power high
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBisvdd\fP searches an occurence of the string defined by the \fBMBK_VDD\fP(1)
|
||||||
|
environment variable in the string \fIs\fP.
|
||||||
|
If this string is not set by the user, its default value is "vdd".
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBisvdd\fP return \fBNULL\fP the pattern is not present
|
||||||
|
If the pattern is found, a value different from \fBNULL\fP is returned.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
find_a_vdd(f)
|
||||||
|
lofig_list *f;
|
||||||
|
{
|
||||||
|
locon_list *c;
|
||||||
|
losig_list *s;
|
||||||
|
/* first check connectors */
|
||||||
|
for (c = f->LOCON; c; c = c->NEXT) {
|
||||||
|
if (isvdd(c->NAME))
|
||||||
|
return c->SIG;
|
||||||
|
if (isvdd(getsigname(c->SIG)))
|
||||||
|
return c->SIG;
|
||||||
|
}
|
||||||
|
/* then check internal signals */
|
||||||
|
for (s = f->LOSIG; s; s = s->NEXT)
|
||||||
|
if (s->TYPE == INTERNAL)
|
||||||
|
if (isvdd(getsigname(s)))
|
||||||
|
return s;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR mbkenv (3),
|
||||||
|
.BR instr (3),
|
||||||
|
.BR isvss (3),
|
||||||
|
.BR MBK_VDD (1),
|
||||||
|
.BR MBK_VSS (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
.\" $Id: isvss.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)isvss.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
isvss
|
||||||
|
.XE
|
||||||
|
.XS4 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
isvss
|
||||||
|
.XE4 \}
|
||||||
|
.TH ISVSS 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
isvss \-tells if a name contains the pattern defined by the user
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
void isvss(s)
|
||||||
|
char \(**s;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIs\fP
|
||||||
|
Pointer to the string to be check as power high
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBisvss\fP searches an occurence of the string defined by the \fBMBK_VSS\fP(1)
|
||||||
|
environment variable in the string \fIs\fP.
|
||||||
|
If this string is not set by the user, its default value is "vss".
|
||||||
|
.SH RETURN VALUE
|
||||||
|
\fBisvss\fP return \fBNULL\fP the pattern is not present
|
||||||
|
If the pattern is found, a value different from \fBNULL\fP is returned.
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
find_a_vss(f)
|
||||||
|
lofig_list *f;
|
||||||
|
{
|
||||||
|
locon_list *c;
|
||||||
|
losig_list *s;
|
||||||
|
/* first check connectors */
|
||||||
|
for (c = f->LOCON; c; c = c->NEXT) {
|
||||||
|
if (isvss(c->NAME))
|
||||||
|
return c->SIG;
|
||||||
|
if (isvss(getsigname(c->SIG)))
|
||||||
|
return c->SIG;
|
||||||
|
}
|
||||||
|
/* then check internal signals */
|
||||||
|
for (s = f->LOSIG; s; s = s->NEXT)
|
||||||
|
if (s->TYPE == INTERNAL)
|
||||||
|
if (isvss(getsigname(s)))
|
||||||
|
return s;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR mbkenv (3),
|
||||||
|
.BR instr (3),
|
||||||
|
.BR isvdd (3),
|
||||||
|
.BR MBK_VDD (1),
|
||||||
|
.BR MBK_VSS (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,146 @@
|
||||||
|
.\" $Id: libpat.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)pat.2 106 Sep 30 1996 UPMC; Pirouz BAZARGAN SABET
|
||||||
|
.TH LIBPAT 3 "October 1, 1997" "ASIM/LIP6" "cao\-vlsi reference manual"
|
||||||
|
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH NAME
|
||||||
|
.PP
|
||||||
|
\fBPAT\fP \- Generic pattern data structure
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.PP
|
||||||
|
\fBPAT\fP is a generic data structure supporting vlsi concepts.
|
||||||
|
It allows representation of a sequence of simulation patterns in a data
|
||||||
|
structure.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The goal of \fBPAT\fP is to define an ad hoc single data structure (object),
|
||||||
|
with well known fixed meaning for each concept manipulated in pattern
|
||||||
|
description. So any tools that needs to access simulation patterns can be
|
||||||
|
build upon it, using these structures.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
For each object (data structure), a set of functions has been defined in order
|
||||||
|
to add, delete or access it. These functions are defined in a low\-level library
|
||||||
|
\fIlibPat106.a\fP. Some other functions are higher level. They are defined in a
|
||||||
|
high\-level library \fIlibPhl106.a\fP. There are also some parsers\-drivers.
|
||||||
|
A parser reads a pattern description file in a given format and build up a
|
||||||
|
complete \fBPAT\fP data base. A driver creates a text file in a given format
|
||||||
|
from a \fBPAT\fP data base. A \fBpat\fP format parser\-driver is available
|
||||||
|
in the \fIlibPpt106.a\fP library.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Pattern description envolves the following notions (for further details see
|
||||||
|
pat(5)):
|
||||||
|
|
||||||
|
.TP 20
|
||||||
|
\fIinput\fP
|
||||||
|
port controlled by the user
|
||||||
|
.TP 20
|
||||||
|
\fIoutput\fP
|
||||||
|
signal or port observed by the user
|
||||||
|
.TP 20
|
||||||
|
\fIinitialization\fP
|
||||||
|
forcing the value of a register
|
||||||
|
.TP 20
|
||||||
|
\fIpattern sequence\fP
|
||||||
|
list of values to be forced on inputs or to be checked as the result of the
|
||||||
|
simulation on outputs
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The input\-output list is represented by two data structures: \fIpagrp\fP
|
||||||
|
contains informations relative to actual or virtual arraies and, \fIpaiol\fP
|
||||||
|
represents a one\-bit input\-output. Both are simply chained lists. However,
|
||||||
|
to make a more efficient access to \fIpaiol\fP structures, they are organized
|
||||||
|
in a table. So, a \fIpaiol\fP can also be addressed using an offset.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Another group of data structures is used to represent a pattern. \fIpaini\fP
|
||||||
|
contains values to be forced into registers before processing the pattern.
|
||||||
|
An event (a modification of value) on an input\-output is given by a
|
||||||
|
\fIpaevt\fP structure. A third structure, \fIpapat\fP gathers all information
|
||||||
|
concerning a pattern (including initializations \- \fIpaini\fP \- and events \-
|
||||||
|
\fIpaevt\fP).
|
||||||
|
|
||||||
|
.PP
|
||||||
|
A \fIpacom\fP is used to represent a comment.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Finally, all these structures can be accessed through a unique structure,
|
||||||
|
\fIpaseq\fP, designed to represent a complete sequence of simulation patterns.
|
||||||
|
|
||||||
|
.SH ORGANIZATION
|
||||||
|
.PP
|
||||||
|
In order to use \fBPAT\fP, concepts on use of libraries are needed. And, since
|
||||||
|
these libraries are under development, the code is subject to change.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
To enable work, a static version of each library is always present for the
|
||||||
|
user. Libraries and header files are suffixed by a number (the library's
|
||||||
|
version). The programmer can prefer to work with an earlier version of a
|
||||||
|
library rather than the most recent one. However, it is recommended to adapt
|
||||||
|
softwares to libraries as soon as possible in order to spotlight potential
|
||||||
|
compatibility problems before old libraries are removed.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
A \fImakefile\fP is necessary for all \fBPAT\fP applications.
|
||||||
|
This is required because any soft must be easily recompilable, and knowing
|
||||||
|
the needed libraries for a \fBPAT\fP based program is not an easy matter.
|
||||||
|
It can't be achieved by an other way, so do use \fImakefile\fP.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
In terms of software organization, \fBPAT\fP is splitted into two libraries
|
||||||
|
for the basic functions, a header file for structures and variable declarations
|
||||||
|
and, up to now, one parser\-driver library for \fBpat\fP format.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
It is to be noticed that library's version number is incremented when, at least,
|
||||||
|
one function composing the library has been modified. Therefore, \fBPAT\fP
|
||||||
|
libraries may evolve independently form each other.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Here follows the list of the libraries and their contents.
|
||||||
|
|
||||||
|
.TP 20
|
||||||
|
libPat106.a:
|
||||||
|
\fBpat_addpaseq, pat_addpagrp,\fP
|
||||||
|
\fBpat_addpaiol, pat_addpapat,\fP
|
||||||
|
\fBpat_addpaevt, pat_addpaini,\fP
|
||||||
|
\fBpat_addpacom, pat_frepaini,\fP
|
||||||
|
\fBpat_frepaiol, pat_frepacom,\fP
|
||||||
|
\fBpat_frepapat, pat_frepaevt,\fP
|
||||||
|
\fBpat_crtpaiol\fP
|
||||||
|
|
||||||
|
.TP 20
|
||||||
|
libPhl106.a:
|
||||||
|
\fBpat_debug, pat_getcount\fP
|
||||||
|
|
||||||
|
.TP 20
|
||||||
|
libPpt106.a:
|
||||||
|
\fBpat_lodpaseq, pat_savpaseq,\fP
|
||||||
|
\fBpat_drvpat, pat_prspat\fP
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The libraries are organized in such a way that no cycle can appear through
|
||||||
|
calls. It means that, if in a given library a function calls another function
|
||||||
|
in another library, then none of the functions of this one does call any
|
||||||
|
function that belongs to the first library.
|
||||||
|
|
||||||
|
.SH EXAMPLE
|
||||||
|
.PP
|
||||||
|
In order to use \fBPAT\fP libraries, one needs something like this in its
|
||||||
|
\fImakefile\fP:
|
||||||
|
|
||||||
|
.RS
|
||||||
|
HEADER = -I/labo/include
|
||||||
|
.br
|
||||||
|
LIB = -L/labo/lib -lPat106 -lPhl106 -lPpt106 -lMut315
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.PP
|
||||||
|
mbk(1), pat(5)
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,138 @@
|
||||||
|
.\" $Id: loadlofig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)loadlofig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
loadlofig
|
||||||
|
.XE
|
||||||
|
.XS3 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
loadlofig
|
||||||
|
.XE3 \}
|
||||||
|
.TH LOADLOFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
loadlofig \- load a new logical cell model from disk
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void loadlofig(ptfig, figname, mode)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
char \(**figname;
|
||||||
|
char mode;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to an allocated but empty \fIlofig\fP
|
||||||
|
.TP
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be loaded
|
||||||
|
.TP
|
||||||
|
\fImode\fP
|
||||||
|
Loading mode
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBloadlofig\fP fills the \fIlofig\fP pointed to by \fIptfig\fP with the
|
||||||
|
contents of a disk file called \fIfigname\fP. The loading mode may be either
|
||||||
|
\fB'A'\fP, then the entire content is parsed, or \fB'P'\fP then only
|
||||||
|
connectors and extrernal signals are loaded in memory, or \fB'C'\fP, that
|
||||||
|
loads the "complement" of an already partially loaded cell in order to
|
||||||
|
keep the same pointer when accessing the same file.
|
||||||
|
.br
|
||||||
|
The \fBloadlofig\fP(3) function in fact performs a call to a parser, choosen
|
||||||
|
by the \fBMBK_IN_LO\fP(1) environment variable. The directories searched for the
|
||||||
|
file are first the one sets by \fBMBK_WORK_LIB\fP(1) and then, in the described
|
||||||
|
order, the ones set by \fBMBK_CATA_LIB\fP(1).
|
||||||
|
See \fBMBK_IN_LO\fP(1), \fBMBK_WORK_LIB\fP(1), \fBMBK_CATA_LIB\fP(1) and
|
||||||
|
\fBmbkenv\fP(3) for details.
|
||||||
|
.SH ERRORS
|
||||||
|
Some errors resulting from a call to \fBloadlofig\fP are due to the parsers,
|
||||||
|
and are prefixed by the parser format (pf).
|
||||||
|
.br
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** not supported logical input format 'xxx'"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The environment variable \fBMBK_IN_LO\fP is not set to a legal logical
|
||||||
|
format.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** pfloadlofig : could not open file \fIfigname\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No file called \fIfigname.ext\fP, where \fIext\fP is the file format extension,
|
||||||
|
has been found in the directories set by the environment.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** pfloadlofig : syntax error line x parsing \fIfigname.ext\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
Either the file has been corrupted and its syntax is not legal, or there is a
|
||||||
|
bug in the given parser.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
lofig_list \(**get_the_lofig(figname, mode)
|
||||||
|
char \(**figname;
|
||||||
|
char mode;
|
||||||
|
{
|
||||||
|
lofig_list \(**pt;
|
||||||
|
for (pt = HEAD_LOFIG; pt; pt = pt\->NEXT) /\(** scan figure list \(**/
|
||||||
|
if (!strcmp(pt\->NAME, figname))
|
||||||
|
break;
|
||||||
|
if (!pt) { /\(** figure doesn't exist \(**/
|
||||||
|
pt = addlofig(figname);
|
||||||
|
pt\->MODE = mode == 'A' ? mode : 'P';
|
||||||
|
loadlofig(pt, figname, pt\->MODE);
|
||||||
|
return pt;
|
||||||
|
}
|
||||||
|
if (ptfig\->MODE != 'A') { /\(** figure exists interface only \(**/
|
||||||
|
if (mode == 'A') {
|
||||||
|
pt\->MODE = 'A';
|
||||||
|
loadlofig(pt, figname, 'C');
|
||||||
|
return pt;
|
||||||
|
} else
|
||||||
|
return pt;
|
||||||
|
} else /\(** figure exists interface and body \(**/
|
||||||
|
return pt;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR mbkenv (3),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR addlofig (3),
|
||||||
|
.BR getlofig (3),
|
||||||
|
.BR dellofig (3),
|
||||||
|
.BR savelofig (3),
|
||||||
|
.BR flattenlofig (3),
|
||||||
|
.BR rflattenlofig (3),
|
||||||
|
.BR MBK_IN_LO (1),
|
||||||
|
.BR MBK_WORK_LIB (1),
|
||||||
|
.BR MBK_CATA_LIB (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,139 @@
|
||||||
|
.\" $Id: loadphfig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)loadphfig.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
loadphfig
|
||||||
|
.XE
|
||||||
|
.XS1 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
loadphfig
|
||||||
|
.XE1 \}
|
||||||
|
.TH LOADPHFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL UTILITY FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
loadphfig \- load a new physical cell model from disk
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
void loadphfig(ptfig, figname, mode)
|
||||||
|
phfig_list \(**ptfig;
|
||||||
|
char \(**figname;
|
||||||
|
char mode;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETERS
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to an allocated but empty \fIphfig\fP
|
||||||
|
.TP
|
||||||
|
\fIfigname\fP
|
||||||
|
Name of the figure to be loaded
|
||||||
|
.TP
|
||||||
|
\fImode\fP
|
||||||
|
Loading mode
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBloadphfig\fP fills the \fIphfig\fP pointed to by \fIptfig\fP with the
|
||||||
|
contents of a disk file called \fIfigname\fP. The loading mode may be either
|
||||||
|
\fB'A'\fP, then the entire content is parsed, or \fB'P'\fP then only
|
||||||
|
connectors, abutment box, and through routes are loaded, or \fB'C'\fP, that
|
||||||
|
finishes to fill an already loaded figure in \fB'P'\fP mode, in order to have
|
||||||
|
it all in memory. This last mode allows to keep the same \fIptfig\fP pointer
|
||||||
|
when reaccessing the same file.
|
||||||
|
.br
|
||||||
|
The \fBloadphfig\fP function in fact performs a call to a parser, choosen
|
||||||
|
by the \fBMBK_IN_PH\fP(1) environment variable. The directories seached for the
|
||||||
|
file are first the one set by \fBMBK_WORK_LIB\fP(1) and then, in the described
|
||||||
|
order, the ones set by \fBMBK_CATA_LIB\fP(1).
|
||||||
|
See \fBMBK_IN_PH\fP(1), \fBMBK_WORK_LIB\fP(1), \fBMBK_CATA_LIB\fP(1) and
|
||||||
|
\fBmbkenv\fP(3) for details.
|
||||||
|
.SH ERRORS
|
||||||
|
Some errors resulting from a call to \fBloadphfig\fP are due to the parsers,
|
||||||
|
and are prefixed by the parser format (pf).
|
||||||
|
.br
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** not supported physical input format 'xxx'"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
The environment variable \fIMBK_IN_PH\fP is not set to a legal physical
|
||||||
|
format.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** pfloadphfig : could not open file \fIfigname\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
No file called \fIfigname.ext\fP, where \fIext\fP is the file format extension,
|
||||||
|
has been found in the directories set by the environment.
|
||||||
|
.RE
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** pfloadphfig : syntax error line x parsing \fIfigname.ext\fP"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
Either the file has been corrupted and its syntax is not legal, or there is a
|
||||||
|
bug in the given parser.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mph.h"
|
||||||
|
phfig_list \(**get_the_phfig(figname, mode)
|
||||||
|
char \(**figname;
|
||||||
|
char mode;
|
||||||
|
{
|
||||||
|
phfig_list \(**pt;
|
||||||
|
for (pt = HEAD_PHFIG; pt; pt = pt\->NEXT) /\(** scan figure list \(**/
|
||||||
|
if (!strcmp(pt\->NAME, figname))
|
||||||
|
break;
|
||||||
|
if (!pt) { /\(** figure doesn't exist \(**/
|
||||||
|
pt = addphfig(figname);
|
||||||
|
pt\->MODE = mode == 'A' ? mode : 'P';
|
||||||
|
loadphfig(pt, figname, pt\->MODE);
|
||||||
|
return pt;
|
||||||
|
}
|
||||||
|
if (ptfig\->MODE != 'A') { /\(** figure exists interface only \(**/
|
||||||
|
if (mode == 'A') {
|
||||||
|
pt\->MODE = 'A';
|
||||||
|
loadphfig(pt, figname, 'C');
|
||||||
|
return pt;
|
||||||
|
} else
|
||||||
|
return pt;
|
||||||
|
} else /\(** figure exists interface and body \(**/
|
||||||
|
return pt;
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR mbkenv (3),
|
||||||
|
.BR phfig (3),
|
||||||
|
.BR addphfig (3),
|
||||||
|
.BR getphfig (3),
|
||||||
|
.BR delphfig (3),
|
||||||
|
.BR savephfig (3),
|
||||||
|
.BR flattenphfig (3),
|
||||||
|
.BR rflattenphfig (3),
|
||||||
|
.BR MBK_IN_PH (1),
|
||||||
|
.BR MBK_WORK_LIB (1),
|
||||||
|
.BR MBK_CATA_LIB (1).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,119 @@
|
||||||
|
.\" $Id: locon.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)locon.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
locon
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
locon
|
||||||
|
.XE2 \}
|
||||||
|
.TH LOCON 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL STRUCTURE DEFINITIONS"
|
||||||
|
.SH NAME
|
||||||
|
locon \- mbk logical connector
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBlocon\fP is used to describe a connector of the logical view
|
||||||
|
of a figure. Connectors are describing the cell interface, and are the link
|
||||||
|
between its physical and logical views, so the names must be the same.
|
||||||
|
.LP
|
||||||
|
The declarations needed to work on \fBlocon\fP are available in the header file
|
||||||
|
\fI"/labo/include/mlo404.h"\fP, where '\fI404\fP' is the actual mbk version.
|
||||||
|
.LP
|
||||||
|
The following C structure supports the description of the logical connector :
|
||||||
|
.RS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.ta 3n 20n 30n
|
||||||
|
typedef struct locon {
|
||||||
|
struct locon \(**NEXT;
|
||||||
|
char \(**NAME;
|
||||||
|
struct losig \(**SIG;
|
||||||
|
void \(**ROOT;
|
||||||
|
char DIRECTION;
|
||||||
|
char TYPE;
|
||||||
|
struct ptype \(**USER;
|
||||||
|
} locon_list;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.TP 20
|
||||||
|
\fINEXT\fP
|
||||||
|
Pointer to the next \fBlocon\fP of the list.
|
||||||
|
.TP
|
||||||
|
\fINAME\fP
|
||||||
|
Name of the connector. It identifies the connector, so it should unique in a
|
||||||
|
given logical figure. A logical connector with a given name correspond to the
|
||||||
|
physical connector or connectors of this name.
|
||||||
|
.TP
|
||||||
|
\fISIG\fP
|
||||||
|
Pointer to the signal linked to the connector. This signal is, of course,
|
||||||
|
unique. See \fBlosig\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fIROOT\fP
|
||||||
|
Pointer to the object it belongs to. This object may be either a \fBlofig\fP,
|
||||||
|
or a \fBloins\fP, depending on the type of the connector.
|
||||||
|
See \fBlofig\fP(3) and \fBloins\fP for details.
|
||||||
|
.TP
|
||||||
|
\fIDIRECTION\fP
|
||||||
|
This indicates the way of the information going through the connector.
|
||||||
|
Six directions are legal :
|
||||||
|
.RS
|
||||||
|
.TP 20
|
||||||
|
\fBIN\fP
|
||||||
|
input
|
||||||
|
.TP
|
||||||
|
\fBOUT\fP
|
||||||
|
output
|
||||||
|
.TP
|
||||||
|
\fBINOUT\fP
|
||||||
|
input and output
|
||||||
|
.TP
|
||||||
|
\fBUNKNOWN\fP
|
||||||
|
no information is available
|
||||||
|
.TP
|
||||||
|
\fBTRISTATE\fP
|
||||||
|
tristate output
|
||||||
|
.TP
|
||||||
|
\fBTRANSCV\fP
|
||||||
|
tristate output and input
|
||||||
|
.RE
|
||||||
|
.fi
|
||||||
|
.TP
|
||||||
|
\fITYPE\fP
|
||||||
|
Character indicating if the connector belongs to a model or an instance. It
|
||||||
|
can take two values :
|
||||||
|
.RS
|
||||||
|
.TP 20
|
||||||
|
\fBEXTERNAL\fP
|
||||||
|
for figure connectors
|
||||||
|
.TP
|
||||||
|
\fBINTERNAL\fP
|
||||||
|
for instance connectors
|
||||||
|
.LP
|
||||||
|
The \fITYPE\fP is needed to appropriatly cast the \fIROOT\fP field, and must
|
||||||
|
be approriatly filled by the parsers. A misuse of it may cause strange
|
||||||
|
behaviours.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
\fIUSER\fP
|
||||||
|
Pointer to a ptype list, see \fBptype\fP for details, that is a general purpose
|
||||||
|
pointer used to share informations on the connector.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk(1),
|
||||||
|
.BR mbk(3),
|
||||||
|
.BR addlocon (3),
|
||||||
|
.BR getlocon (3),
|
||||||
|
.BR dellocon (3),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR ptype (3),
|
||||||
|
.BR loins (3),
|
||||||
|
.BR lofig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,118 @@
|
||||||
|
.\" $Id: lofig.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)lofig.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
lofig
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
lofig
|
||||||
|
.XE2 \}
|
||||||
|
.TH LOFIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL STRUCTURE DEFINITIONS"
|
||||||
|
.SH NAME
|
||||||
|
lofig \- mbk logical figure
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBlofig\fP is used to describe a hierarchical level of the logical view
|
||||||
|
of a figure. The logical view is also called the netlist, for list of nets,
|
||||||
|
because it represents the interconections between elements of a cell.
|
||||||
|
.LP
|
||||||
|
The declarations needed to work on \fBlofig\fP are available in the header file
|
||||||
|
\fI"/labo/include/mlo404.h"\fP, where '\fI404\fP' is the actual mbk version.
|
||||||
|
.LP
|
||||||
|
The following C structure supports the description of the netlist
|
||||||
|
representation :
|
||||||
|
.RS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.ta 3n 20n 30n
|
||||||
|
typedef struct lofig {
|
||||||
|
struct lofig \(**NEXT;
|
||||||
|
struct chain \(**MODELCHAIN;
|
||||||
|
struct locon \(**LOCON;
|
||||||
|
struct losig \(**LOSIG;
|
||||||
|
struct ptype \(**BKSIG;
|
||||||
|
struct loins \(**LOINS;
|
||||||
|
struct lotrs \(**LOTRS;
|
||||||
|
char \(**NAME;
|
||||||
|
char MODE;
|
||||||
|
struct ptype \(**USER;
|
||||||
|
} lofig_list;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.TP 20
|
||||||
|
\fINEXT\fP
|
||||||
|
Pointer to the next \fBlofig\fP loaded in ram.
|
||||||
|
.TP
|
||||||
|
\fINAME\fP
|
||||||
|
Name of the figure. It identifies a figure (or \fImodel\fP), so it should
|
||||||
|
be unique in order to warranty consistency of cells libraries. In order
|
||||||
|
to ensure this consistency, the \fINAME\fP field must be filled with the
|
||||||
|
disk file name while parsing, and must be used as file name for driving.
|
||||||
|
.TP
|
||||||
|
\fILOINS\fP
|
||||||
|
Pointer to the head of the list of instances being used for the model
|
||||||
|
description. See \fBloins\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fILOCON\fP
|
||||||
|
Pointer to the head of the list of connectors (terminals) of the model.
|
||||||
|
See \fBlocon\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fILOSIG\fP
|
||||||
|
Pointer to the head of the list of signal of the model.
|
||||||
|
See \fBlosig\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fIBKSIG\fP
|
||||||
|
Pointer to a hash table that contains arrays of \fILOSIG\fP. It is only an
|
||||||
|
other way to represent the same elements that in the list, but allows a
|
||||||
|
faster access. The Mbk Logical Functions warranty the consitency between
|
||||||
|
the two representations.
|
||||||
|
.TP
|
||||||
|
\fILOTRS\fP
|
||||||
|
Pointer to the list of transistors belonging to the figure. It is to be noticed
|
||||||
|
that transistors are not instances of a particular type.
|
||||||
|
.TP
|
||||||
|
\fIMODE\fP
|
||||||
|
Caracter indicating the status of the figure in memory. This field can
|
||||||
|
take two values :
|
||||||
|
.RS
|
||||||
|
.TP 10
|
||||||
|
.B \'A\'
|
||||||
|
all the cell is loaded in ram.
|
||||||
|
.TP
|
||||||
|
.B \'P\'
|
||||||
|
only information concerning the model interface is present, that
|
||||||
|
means connectors, and signals linked to external connectors.
|
||||||
|
All other lists are empty.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
\fIMODELCHAIN\fP
|
||||||
|
Pointer to a chain list, see \fBchain\fP(3) for details, of names. These are
|
||||||
|
the names of the models that are at least instanciated once in the figure.
|
||||||
|
.TP
|
||||||
|
\fIUSER\fP
|
||||||
|
Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general
|
||||||
|
purpose pointer used to share informations on the model.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addlofig (3),
|
||||||
|
.BR getlofig (3),
|
||||||
|
.BR dellofig (3),
|
||||||
|
.BR loadlofig (3),
|
||||||
|
.BR savelofig (3),
|
||||||
|
.BR loins (3),
|
||||||
|
.BR lotrs (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR ptype (3),
|
||||||
|
.BR chain (3),
|
||||||
|
.BR phfig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
.\" $Id: lofigchain.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)lofigchain.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
lofigchain
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
lofigchain
|
||||||
|
.XE2 \}
|
||||||
|
.TH LOFIGCHAIN 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS"
|
||||||
|
.SH NAME
|
||||||
|
lofigchain \- creates a netlist in terms of connectors on signals
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH SYNOPSYS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mlo.h"
|
||||||
|
void lofigchain(ptfig)
|
||||||
|
lofig_list \(**ptfig;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH PARAMETER
|
||||||
|
.TP 20
|
||||||
|
\fIptfig\fP
|
||||||
|
Pointer to a lofig_list
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBlofigchain\fP function creates the dual representation of natural
|
||||||
|
mbk netlists. In mbk, netlists are described in terms of signal attached to
|
||||||
|
connectors.
|
||||||
|
With \fBlofigchain\fP, one can have the dual sight : connectors attached to
|
||||||
|
signals.
|
||||||
|
This can be very useful, depending on the application, but it's also memory
|
||||||
|
consuming on big netlists, since two views of the same thing are present in
|
||||||
|
memory at the same time.
|
||||||
|
.LP
|
||||||
|
The information resulting of a call to \fBlofigchain\fP is present in the
|
||||||
|
\fIUSER\fP field of all signals of the figure, accessible through
|
||||||
|
\fIptfig\->LOSIG\fP. The \fIUSER\fP field has a \fBptype\fP typed
|
||||||
|
\fILOFIGCHAIN\fP, that points on a \fBchain_list\fP whose \fIDATA\fP points on
|
||||||
|
each \fBlocon\fP beeing connected to the given signal.
|
||||||
|
.SH ERROR
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
"\(**\(**\(** mbk error \(**\(**\(** lofigchain impossible : figure \fIptfig\->NAME\fP is
|
||||||
|
interface only"
|
||||||
|
.ft R
|
||||||
|
.RS
|
||||||
|
In order to be valid, the netlist resulting of a call to \fBlofigchain\fP must
|
||||||
|
be done on a figure entirely loaded in ram. See \fBgetlofig\fP for details.
|
||||||
|
.RE
|
||||||
|
.SH EXAMPLE
|
||||||
|
.ta 3n 6n 9n 12n 15n 18n 21n
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
#include "mut.h"
|
||||||
|
#include "mlo.h"
|
||||||
|
void print_netlist(p)
|
||||||
|
lofig_list \(**p;
|
||||||
|
{
|
||||||
|
losig_list \(**s;
|
||||||
|
chain_list \(**c;
|
||||||
|
lofigchain(p);
|
||||||
|
for (s = p\->LOSIG; s; s = s\->NEXT){
|
||||||
|
(void)fprintf(stdout, "signal : index = %ld name = %s\\n",
|
||||||
|
s\->INDEX, getsigname(s));
|
||||||
|
c = (chain_list \(**)(getptype(s\->USER, (long)LOFIGCHAIN)\->DATA);
|
||||||
|
while (c) {
|
||||||
|
fprintf(stdout, "conname : %s\\n",
|
||||||
|
(locon_list \(**)(c\->DATA)\->NAME);
|
||||||
|
c = c\->NEXT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR losig (3),
|
||||||
|
.BR getlofig (3),
|
||||||
|
.BR loadlofig (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
.\" $Id: log.3,v 1.1 2002/03/08 13:51:02 fred Exp $
|
||||||
|
.\" @(#)log.2 0.0 92/08/01 UPMC; Author: Luc Burgun
|
||||||
|
.pl -.4
|
||||||
|
.TH LOG 3 "October 1, 1997" "ASIM/LIP6" "cao\-vlsi reference manual"
|
||||||
|
.SH NAME
|
||||||
|
\fBlog\fP \- logical representations for boolean functions and utilities.
|
||||||
|
.so man1/alc_origin.1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBlog\fP is a set of structures and functions that permits to manipulate several representations of boolean functions. Several programs and libraries of the \fIcao-vlsi cad tools\fP rest on the \fIlog\fP package. Two different kind of functions are available for:
|
||||||
|
.TP 20
|
||||||
|
Prefixed representation for boolean functions
|
||||||
|
.TP 20
|
||||||
|
Ordered binary decision diagrams representation
|
||||||
|
.SH EXAMPLE
|
||||||
|
Let's suppose that actual mbk version is 'nnn'.
|
||||||
|
In order to use log, \fIlibMutnnn.a\fP library must be called.
|
||||||
|
.br
|
||||||
|
\fImakefile\fP:
|
||||||
|
.br
|
||||||
|
HEADER = -I/labo/include
|
||||||
|
.br
|
||||||
|
LIB = -L/labo/lib -lMutnnn -ltshmmm -lablmmm -lbddmmm
|
||||||
|
.br
|
||||||
|
Each library can be called separatly. The "logmmm.h" header file must be inserted in the files that use the functions or the structures defined in a library.
|
||||||
|
.br
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR beh (1),
|
||||||
|
.SH AUTHOR
|
||||||
|
L. BURGUN salle 30 T. 55-65 Universite P&M Curie - 4 pl. Jussieu - FRANCE
|
||||||
|
.br
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
.\" $Id: loins.3,v 1.1 2002/03/08 13:51:03 fred Exp $
|
||||||
|
.\" @(#)loins.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
loins
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
loins
|
||||||
|
.XE2 \}
|
||||||
|
.TH LOINS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL STRUCTURE DEFINITIONS"
|
||||||
|
.SH NAME
|
||||||
|
loins \- mbk logical instance
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBloins\fP is used to describe an instance of the logical view
|
||||||
|
of a figure.
|
||||||
|
.LP
|
||||||
|
The declarations needed to work on \fBloins\fP are available in the header file
|
||||||
|
\fI"/labo/include/mlo404.h"\fP, where '\fI404\fP' is the actual mbk version.
|
||||||
|
.LP
|
||||||
|
The following C structure supports the description of the logical instance :
|
||||||
|
.RS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.ta 3n 20n 30n
|
||||||
|
typedef struct loins {
|
||||||
|
struct loins \(**NEXT;
|
||||||
|
struct locon \(**LOCON;
|
||||||
|
char \(**INSNAME;
|
||||||
|
char \(**FIGNAME;
|
||||||
|
struct ptype \(**USER;
|
||||||
|
} loins_list;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.TP 20
|
||||||
|
\fINEXT\fP
|
||||||
|
Pointer to the next \fBloins\fP of the list.
|
||||||
|
.TP
|
||||||
|
\fIINSNAME\fP
|
||||||
|
Local name of the instance. It identifies the instance at a given hierarchical
|
||||||
|
level, so it should unique. When working on both layout and netlist views of
|
||||||
|
a cell, instance names should be the same on each representation.
|
||||||
|
.TP
|
||||||
|
\fIFIGNAME\fP
|
||||||
|
Name of the model of the instanciated cell.
|
||||||
|
.TP
|
||||||
|
\fILOCON\fP
|
||||||
|
Pointer to the head of the list of connectors of the instance. Consistency
|
||||||
|
between the connectors of the instance and the connectors of its model on disk
|
||||||
|
is not ensured by the parsers, because a model local to the file beeing parsed
|
||||||
|
is used, not the possible model on disk. See \fBlocon\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fIUSER\fP
|
||||||
|
Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general purpose
|
||||||
|
pointer used to share informations on the instance.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addloins (3),
|
||||||
|
.BR getloins (3),
|
||||||
|
.BR delloins (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR ptype (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
.\" $Id: losig.3,v 1.1 2002/03/08 13:51:03 fred Exp $
|
||||||
|
.\" @(#)losig.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
losig
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
losig
|
||||||
|
.XE2 \}
|
||||||
|
.TH LOSIG 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL STRUCTURE DEFINITIONS"
|
||||||
|
.SH NAME
|
||||||
|
losig \- mbk logical signal
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBlosig\fP is used to describe a logical signal.
|
||||||
|
.LP
|
||||||
|
The declarations needed to work on \fBlosig\fP are available in the header file
|
||||||
|
\fI"/labo/include/mlo404.h"\fP, where '\fI404\fP' is the actual mbk version.
|
||||||
|
.LP
|
||||||
|
The following C structure supports the description of the logical signal :
|
||||||
|
.RS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.ta 3n 20n 30n
|
||||||
|
typedef struct losig {
|
||||||
|
struct losig \(**NEXT;
|
||||||
|
struct chain \(**NAMECHAIN;
|
||||||
|
float CAPA;
|
||||||
|
long INDEX;
|
||||||
|
char TYPE;
|
||||||
|
struct ptype \(**USER;
|
||||||
|
} losig_list;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.TP 20
|
||||||
|
\fINEXT\fP
|
||||||
|
Pointer to the next \fBlosig\fP of the list.
|
||||||
|
.TP
|
||||||
|
\fIINDEX\fP
|
||||||
|
Long integer beeing the signal identifier. It represents the net
|
||||||
|
number at a given hierachical level, and must be unique.
|
||||||
|
.TP
|
||||||
|
\fINAMECHAIN\fP
|
||||||
|
Pointer to a list of names, aliases, attached to the signal. If no names
|
||||||
|
are given then the field points to \fINULL\fP. Many names can be present if
|
||||||
|
the signal result of the flatten of a netlist.
|
||||||
|
See \fBchain\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fICAPA\fP
|
||||||
|
Floating point number containing the value of the total capacitance attached
|
||||||
|
to a signal in respect to ground. This field may be set to zero, since it
|
||||||
|
make sens only if the signal is the result of a layout extraction, or has
|
||||||
|
been used for electrical simulation purposes.
|
||||||
|
.TP
|
||||||
|
\fITYPE\fP
|
||||||
|
This field can take two legal values depending on the types of the connectors
|
||||||
|
attached to it. See \fBlocon\fP(3) for detail.
|
||||||
|
.RS
|
||||||
|
.TP 20
|
||||||
|
\fBEXTERNAL\fP
|
||||||
|
The signal is connected at least to one external
|
||||||
|
connector, a connector of the figure beeing described.
|
||||||
|
.TP
|
||||||
|
\fBINTERNAL\fP
|
||||||
|
The signal is connected only to instances or
|
||||||
|
transistors connectors.
|
||||||
|
.LP
|
||||||
|
The tools using the \fITYPE\fP should fill it with care, since unexpected
|
||||||
|
results may appear if the consistency with connectors is violated.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
\fIUSER\fP
|
||||||
|
Pointer to a ptype list, see \fBptype\fP(3) for details, that is a general
|
||||||
|
purpose pointer used to share informations on the signal.
|
||||||
|
.TP
|
||||||
|
Remark :
|
||||||
|
the netlist view is given in terms of connectors pointing to signals,
|
||||||
|
but it may be useful to have also the dual representation, in term of
|
||||||
|
list of connectors attached to a single signal. This may be obtained by
|
||||||
|
the \fBlofigchain\fP function.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addlosig (3),
|
||||||
|
.BR getlosig (3),
|
||||||
|
.BR dellosig (3),
|
||||||
|
.BR lofigchain (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR chain (3),
|
||||||
|
.BR ptype (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
|
@ -0,0 +1,115 @@
|
||||||
|
.\" $Id: lotrs.3,v 1.1 2002/03/08 13:51:03 fred Exp $
|
||||||
|
.\" @(#)lotrs.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
|
||||||
|
.if t \{\
|
||||||
|
.so man1/alc_contents.mac
|
||||||
|
.XS \n%
|
||||||
|
.ti 0.2i
|
||||||
|
lotrs
|
||||||
|
.XE
|
||||||
|
.XS2 \n%
|
||||||
|
.ti 0.2i
|
||||||
|
lotrs
|
||||||
|
.XE2 \}
|
||||||
|
.TH LOTRS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL STRUCTURE DEFINITIONS"
|
||||||
|
.SH NAME
|
||||||
|
lotrs \- mbk logical transistor
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBlotrs\fP is used to describe a logical transistor. It is mostly used
|
||||||
|
to describe leaf cells in terms of transistors interconnections, and as a
|
||||||
|
result of layout extractions. Since the only target technology is CMOS, only
|
||||||
|
NMOS and PMOS transistors are used.
|
||||||
|
.LP
|
||||||
|
The declarations needed to work on \fBlotrs\fP are available in the header file
|
||||||
|
\fI"/labo/include/mlo404.h"\fP, where '\fI404\fP' is the actual mbk version.
|
||||||
|
.LP
|
||||||
|
The following C structure supports the description of the logical transistor :
|
||||||
|
.RS
|
||||||
|
.nf
|
||||||
|
.if n \{\
|
||||||
|
.ft B \}
|
||||||
|
.if t \{\
|
||||||
|
.ft CR \}
|
||||||
|
.ta 3n 20n 30n
|
||||||
|
typedef struct lotrs {
|
||||||
|
struct lotrs \(**NEXT;
|
||||||
|
struct locon \(**DRAIN;
|
||||||
|
struct locon \(**GRID;
|
||||||
|
struct locon \(**SOURCE;
|
||||||
|
long X,Y;
|
||||||
|
unsigned short WIDTH, LENGTH;
|
||||||
|
unsigned short PS, PD;
|
||||||
|
unsigned short XS, XD;
|
||||||
|
char TYPE;
|
||||||
|
struct ptype \(**USER;
|
||||||
|
} lotrs_list;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.TP 20
|
||||||
|
\fINEXT\fP
|
||||||
|
Pointer to the next \fBlotrs\fP of the list.
|
||||||
|
.TP
|
||||||
|
\fIDRAIN\fP
|
||||||
|
Pointer to the drain connector of the transistor. This connector is,
|
||||||
|
of course unique. See \fBlocon\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fIGRID\fP
|
||||||
|
Pointer to the grid connector of the transistor. This connector is,
|
||||||
|
of course unique. See \fBlocon\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fISOURCE\fP
|
||||||
|
Pointer to the source connector of the transistor. This connector is,
|
||||||
|
of course unique. See \fBlocon\fP(3) for details.
|
||||||
|
.TP
|
||||||
|
\fIX, Y\fP
|
||||||
|
Coordinates of the transistor in a layout. These informations have sens only if
|
||||||
|
the transistor netlist is the result of a layout extraction. They are
|
||||||
|
otherwise set to zero.
|
||||||
|
These coordinates are given in micron times the scale factor \fBSCALE_X\fP,
|
||||||
|
since the extracted view is technology
|
||||||
|
dependant.
|
||||||
|
.TP
|
||||||
|
\fIWIDTH, LENGTH\fP
|
||||||
|
Respectivly width and length of the transistor grid.
|
||||||
|
.TP
|
||||||
|
\fIPS, PD\fP
|
||||||
|
Respectivly perimeter of the source and drain, in micron times the scale
|
||||||
|
factor \fBSCALE_X\fP.
|
||||||
|
.TP
|
||||||
|
\fIXS, XD\fP
|
||||||
|
These values are needed to compute respectivly the source and drain areas.
|
||||||
|
Let \fIAs\fP be the source area in square microns, and \fIWidth\fP be the
|
||||||
|
transistor grid width in micron, then
|
||||||
|
\fIlotrs->XS = As / Width * SCALE_X\fP
|
||||||
|
.TP
|
||||||
|
\fITYPE\fP
|
||||||
|
Canal type of the transistor. Two legal values are available :
|
||||||
|
.RS
|
||||||
|
.TP 20
|
||||||
|
\fBTRANSN\fP
|
||||||
|
N type MOS transistor
|
||||||
|
.TP
|
||||||
|
\fBTRANSP\fP
|
||||||
|
P type MOS transistor
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
\fIUSER\fP
|
||||||
|
Pointer to a ptype list, see \fBptype\fP(3) for details,
|
||||||
|
that is a general purpose
|
||||||
|
pointer used to share informations on the transistor.
|
||||||
|
.TP
|
||||||
|
Remark :
|
||||||
|
The transistors do not have a bulk connector, since in integrated techniques
|
||||||
|
NMOS transistor bulk is always set to ground, and PMOS transistor bulk is
|
||||||
|
always set to positive supply.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR mbk (1),
|
||||||
|
.BR addlotrs (3),
|
||||||
|
.BR dellotrs (3),
|
||||||
|
.BR locon (3),
|
||||||
|
.BR lofig (3),
|
||||||
|
.BR ptype (3).
|
||||||
|
|
||||||
|
|
||||||
|
.so man1/alc_bug_report.1
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue