93 lines
3.3 KiB
C
93 lines
3.3 KiB
C
/*
|
|
* extract.h --
|
|
*
|
|
* Defines the exported interface to the circuit extractor.
|
|
*
|
|
* rcsid "$Header: /usr/cvsroot/magic-8.0/extract/extract.h,v 1.3 2009/01/30 03:51:02 tim Exp $"
|
|
*
|
|
* *********************************************************************
|
|
* * Copyright (C) 1985, 1990 Regents of the University of California. *
|
|
* * Permission to use, copy, modify, and distribute this *
|
|
* * software and its documentation for any purpose and without *
|
|
* * fee is hereby granted, provided that the above copyright *
|
|
* * notice appear in all copies. The University of California *
|
|
* * makes no representations about the suitability of this *
|
|
* * software for any purpose. It is provided "as is" without *
|
|
* * express or implied warranty. Export of this software outside *
|
|
* * of the United States of America may require an export license. *
|
|
* *********************************************************************
|
|
*
|
|
*/
|
|
|
|
#ifndef _EXTRACT_H
|
|
#define _EXTRACT_H
|
|
|
|
#include "utils/magic.h"
|
|
|
|
/* Extractor warnings */
|
|
#define EXTWARN_DUP 0x01 /* Warn if two nodes have the same name */
|
|
#define EXTWARN_LABELS 0x02 /* Warn if connecting to unlabelled subcell
|
|
* node.
|
|
*/
|
|
#define EXTWARN_FETS 0x04 /* Warn about badly constructed fets */
|
|
|
|
#define EXTWARN_ALL (EXTWARN_DUP|EXTWARN_LABELS|EXTWARN_FETS)
|
|
|
|
extern int ExtDoWarn; /* Bitmask of above */
|
|
|
|
/* Known devices (see ExtTech.c and ExtBasic.c) */
|
|
/* Make sure these match extDevTable in extract/ExtBasic.c and */
|
|
/* also extflat/EFread.c */
|
|
|
|
#define DEV_FET 0 /* FET w/area, perimeter declared */
|
|
#define DEV_MOSFET 1 /* FET w/length, width declared */
|
|
#define DEV_ASYMMETRIC 2 /* Like MOSFET but D,S not swappable */
|
|
#define DEV_BJT 3 /* Bipolar Junction Transistor */
|
|
#define DEV_RES 4 /* Resistor */
|
|
#define DEV_CAP 5 /* Capacitor */
|
|
#define DEV_CAPREV 6 /* Capacitor, terminals reversed */
|
|
#define DEV_DIODE 7 /* Diode */
|
|
#define DEV_PDIODE 8 /* pDiode, same as Diode */
|
|
#define DEV_NDIODE 9 /* nDiode, terminals reversed */
|
|
#define DEV_SUBCKT 10 /* general-purpose subcircuit */
|
|
#define DEV_RSUBCKT 11 /* Resistor-like subcircuit. */
|
|
#define DEV_MSUBCKT 12 /* MOSFET-like subcircuit. */
|
|
#define DEV_CSUBCKT 13 /* Capacitor-like subcircuit. */
|
|
|
|
/* Device names for .ext file output (new in version 7.2) */
|
|
/* (defined in extract/ExtBasic.c *and* extflat/EFread.c) */
|
|
|
|
extern char *extDevTable[];
|
|
|
|
/* Extractor options */
|
|
#define EXT_DOADJUST 0x01 /* Extract hierarchical adjustments */
|
|
#define EXT_DOCAPACITANCE 0x02 /* Extract capacitance */
|
|
#define EXT_DOCOUPLING 0x04 /* Extract coupling capacitance */
|
|
#define EXT_DORESISTANCE 0x08 /* Extract resistance */
|
|
#define EXT_DOLENGTH 0x10 /* Extract pathlengths */
|
|
#define EXT_DOALL 0x1f /* ALL OF THE ABOVE */
|
|
#define EXT_DOLOCAL 0x20 /* Write to local directory only */
|
|
|
|
extern int ExtOptions; /* Bitmask of above */
|
|
|
|
extern bool ExtTechLine();
|
|
extern void ExtTechInit();
|
|
extern void ExtTechFinal();
|
|
extern void ExtSetStyle();
|
|
extern void ExtPrintStyle();
|
|
extern void ExtCell();
|
|
|
|
|
|
#ifdef MAGIC_WRAPPER
|
|
extern bool ExtGetDevInfo();
|
|
extern bool ExtCompareStyle();
|
|
#endif
|
|
|
|
#ifdef THREE_D
|
|
extern void ExtGetZAxis();
|
|
#endif
|
|
|
|
extern void ExtDumpCaps();
|
|
|
|
#endif /* _EXTRACT_H */
|