| /**CFile**************************************************************** |
| |
| FileName [ver.h] |
| |
| SystemName [ABC: Logic synthesis and verification system.] |
| |
| PackageName [Verilog parser.] |
| |
| Synopsis [External declarations.] |
| |
| Author [Alan Mishchenko] |
| |
| Affiliation [UC Berkeley] |
| |
| Date [Ver. 1.0. Started - August 19, 2006.] |
| |
| Revision [$Id: ver.h,v 1.00 2006/08/19 00:00:00 alanmi Exp $] |
| |
| ***********************************************************************/ |
| |
| #ifndef ABC__base__ver__ver_h |
| #define ABC__base__ver__ver_h |
| |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// INCLUDES /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| #include <stdio.h> |
| #include "base/abc/abc.h" |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// PARAMETERS /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| |
| |
| ABC_NAMESPACE_HEADER_START |
| |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// BASIC TYPES /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| typedef struct Ver_Man_t_ Ver_Man_t; |
| typedef struct Ver_Stream_t_ Ver_Stream_t; |
| |
| struct Ver_Man_t_ |
| { |
| // internal parameters |
| int fMapped; // mapped verilog |
| int fUseMemMan; // allocate memory manager in the networks |
| int fCheck; // checks network for currectness |
| // input file stream |
| char * pFileName; |
| Ver_Stream_t * pReader; |
| int fNameLast; |
| ProgressBar * pProgress; |
| // current design |
| Abc_Des_t * pDesign; |
| st__table * tName2Suffix; |
| // error handling |
| FILE * Output; |
| int fTopLevel; |
| int fError; |
| char sError[2000]; |
| // intermediate structures |
| Vec_Ptr_t * vNames; |
| Vec_Ptr_t * vStackFn; |
| Vec_Int_t * vStackOp; |
| Vec_Int_t * vPerm; |
| }; |
| |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// MACRO DEFINITIONS /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// ITERATORS /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// FUNCTION DECLARATIONS /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| /*=== verCore.c ========================================================*/ |
| extern Abc_Des_t * Ver_ParseFile( char * pFileName, Abc_Des_t * pGateLib, int fCheck, int fUseMemMan ); |
| extern void Ver_ParsePrintErrorMessage( Ver_Man_t * p ); |
| /*=== verFormula.c ========================================================*/ |
| extern void * Ver_FormulaParser( char * pFormula, void * pMan, Vec_Ptr_t * vNames, Vec_Ptr_t * vStackFn, Vec_Int_t * vStackOp, char * pErrorMessage ); |
| extern void * Ver_FormulaReduction( char * pFormula, void * pMan, Vec_Ptr_t * vNames, char * pErrorMessage ); |
| /*=== verParse.c ========================================================*/ |
| extern int Ver_ParseSkipComments( Ver_Man_t * p ); |
| extern char * Ver_ParseGetName( Ver_Man_t * p ); |
| /*=== verStream.c ========================================================*/ |
| extern Ver_Stream_t * Ver_StreamAlloc( char * pFileName ); |
| extern void Ver_StreamFree( Ver_Stream_t * p ); |
| extern char * Ver_StreamGetFileName( Ver_Stream_t * p ); |
| extern int Ver_StreamGetFileSize( Ver_Stream_t * p ); |
| extern int Ver_StreamGetCurPosition( Ver_Stream_t * p ); |
| extern int Ver_StreamGetLineNumber( Ver_Stream_t * p ); |
| |
| extern int Ver_StreamIsOkey( Ver_Stream_t * p ); |
| extern char Ver_StreamScanChar( Ver_Stream_t * p ); |
| extern char Ver_StreamPopChar( Ver_Stream_t * p ); |
| extern void Ver_StreamSkipChars( Ver_Stream_t * p, char * pCharsToSkip ); |
| extern void Ver_StreamSkipToChars( Ver_Stream_t * p, char * pCharsToStop ); |
| extern char * Ver_StreamGetWord( Ver_Stream_t * p, char * pCharsToStop ); |
| |
| |
| |
| ABC_NAMESPACE_HEADER_END |
| |
| |
| |
| #endif |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// END OF FILE /// |
| //////////////////////////////////////////////////////////////////////// |
| |