⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cudd.h

📁 主要进行大规模的电路综合
💻 H
📖 第 1 页 / 共 4 页
字号:
/**CHeaderFile*****************************************************************  FileName    [cudd.h]  PackageName [cudd]  Synopsis    [The University of Colorado decision diagram package.]  Description [External functions and data strucures of the CUDD package.  <ul>  <li> To turn on the gathering of statistics, define DD_STATS.  <li> To link with mis, define DD_MIS.  </ul>  Modified by Abelardo Pardo to interface it to VIS.  ]  SeeAlso     []  Author      [Fabio Somenzi]  Copyright [This file was created at the University of Colorado at  Boulder.  The University of Colorado at Boulder makes no warranty  about the suitability of this software for any purpose.  It is  presented on an AS IS basis.]  Revision    [$Id: cudd.h,v 1.1.1.1 2003/02/24 22:23:50 wjiang Exp $]******************************************************************************/#ifndef _CUDD#define _CUDD/*---------------------------------------------------------------------------*//* Nested includes                                                           *//*---------------------------------------------------------------------------*/#include "mtr.h"#include "epd.h"/*---------------------------------------------------------------------------*//* Constant declarations                                                     *//*---------------------------------------------------------------------------*/#define CUDD_VERSION "2.3.1"#ifndef SIZEOF_VOID_P#define SIZEOF_VOID_P 4#endif#ifndef SIZEOF_INT#define SIZEOF_INT 4#endif#ifndef SIZEOF_LONG#define SIZEOF_LONG 4#endif#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endif#define CUDD_VALUE_TYPE		double#define CUDD_OUT_OF_MEM		-1/* The sizes of the subtables and the cache must be powers of two. */#define CUDD_UNIQUE_SLOTS	256	/* initial size of subtables */#define CUDD_CACHE_SLOTS	262144	/* default size of the cache *//* Constants for residue functions. */#define CUDD_RESIDUE_DEFAULT	0#define CUDD_RESIDUE_MSB	1#define CUDD_RESIDUE_TC		2/* CUDD_MAXINDEX is defined in such a way that on 32-bit and 64-bit** machines one can cast an index to (int) without generating a negative** number.*/#if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4#define CUDD_MAXINDEX		(((DdHalfWord) ~0) >> 1)#else#define CUDD_MAXINDEX		((DdHalfWord) ~0)#endif/* CUDD_CONST_INDEX is the index of constant nodes.  Currently this** is a synonim for CUDD_MAXINDEX. */#define CUDD_CONST_INDEX	CUDD_MAXINDEX/* These constants define the digits used in the representation of** arbitrary precision integers.  The two configurations tested use 8** and 16 bits for each digit.  The typedefs should be in agreement** with these definitions.*/#define DD_APA_BITS	16#define DD_APA_BASE	(1 << DD_APA_BITS)#define DD_APA_MASK	(DD_APA_BASE - 1)#define DD_APA_HEXPRINT	"%04x"/*---------------------------------------------------------------------------*//* Stucture declarations                                                     *//*---------------------------------------------------------------------------*//*---------------------------------------------------------------------------*//* Type declarations                                                         *//*---------------------------------------------------------------------------*//**Enum************************************************************************  Synopsis    [Type of reordering algorithm.]  Description [Type of reordering algorithm.]******************************************************************************/typedef enum {    CUDD_REORDER_SAME,    CUDD_REORDER_NONE,    CUDD_REORDER_RANDOM,    CUDD_REORDER_RANDOM_PIVOT,    CUDD_REORDER_SIFT,    CUDD_REORDER_SIFT_CONVERGE,    CUDD_REORDER_SYMM_SIFT,    CUDD_REORDER_SYMM_SIFT_CONV,    CUDD_REORDER_WINDOW2,    CUDD_REORDER_WINDOW3,    CUDD_REORDER_WINDOW4,    CUDD_REORDER_WINDOW2_CONV,    CUDD_REORDER_WINDOW3_CONV,    CUDD_REORDER_WINDOW4_CONV,    CUDD_REORDER_GROUP_SIFT,    CUDD_REORDER_GROUP_SIFT_CONV,    CUDD_REORDER_ANNEALING,    CUDD_REORDER_GENETIC,    CUDD_REORDER_LINEAR,    CUDD_REORDER_LINEAR_CONVERGE,    CUDD_REORDER_LAZY_SIFT,    CUDD_REORDER_EXACT} Cudd_ReorderingType;/**Enum************************************************************************  Synopsis    [Type of aggregation methods.]  Description [Type of aggregation methods.]******************************************************************************/typedef enum {    CUDD_NO_CHECK,    CUDD_GROUP_CHECK,    CUDD_GROUP_CHECK2,    CUDD_GROUP_CHECK3,    CUDD_GROUP_CHECK4,    CUDD_GROUP_CHECK5,    CUDD_GROUP_CHECK6,    CUDD_GROUP_CHECK7,    CUDD_GROUP_CHECK8,    CUDD_GROUP_CHECK9} Cudd_AggregationType;/**Enum************************************************************************  Synopsis    [Type of hooks.]  Description [Type of hooks.]******************************************************************************/typedef enum {    CUDD_PRE_GC_HOOK,    CUDD_POST_GC_HOOK,    CUDD_PRE_REORDERING_HOOK,    CUDD_POST_REORDERING_HOOK} Cudd_HookType;/**Enum************************************************************************  Synopsis    [Type of error codes.]  Description [Type of  error codes.]******************************************************************************/typedef enum {    CUDD_NO_ERROR,    CUDD_MEMORY_OUT,    CUDD_TOO_MANY_NODES,    CUDD_MAX_MEM_EXCEEDED,    CUDD_INVALID_ARG,    CUDD_INTERNAL_ERROR} Cudd_ErrorType;/**Enum************************************************************************  Synopsis    [Group type for lazy sifting.]  Description [Group type for lazy sifting.]******************************************************************************/typedef enum {    CUDD_LAZY_NONE,    CUDD_LAZY_SOFT_GROUP,    CUDD_LAZY_HARD_GROUP,    CUDD_LAZY_UNGROUP} Cudd_LazyGroupType;/**Enum************************************************************************  Synopsis    [Variable type.]  Description [Variable type. Currently used only in lazy sifting.]******************************************************************************/typedef enum {    CUDD_VAR_PRIMARY_INPUT,    CUDD_VAR_PRESENT_STATE,    CUDD_VAR_NEXT_STATE} Cudd_VariableType;#if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4typedef unsigned int   DdHalfWord;#elsetypedef unsigned short DdHalfWord;#endif#ifdef __osf__#pragma pointer_size save#pragma pointer_size short#endiftypedef struct DdNode DdNode;typedef struct DdChildren {    struct DdNode *T;    struct DdNode *E;} DdChildren;/* The DdNode structure is the only one exported out of the package */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -