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

📄 simpint.h

📁 主要进行大规模的电路综合
💻 H
字号:
/**CFile****************************************************************  FileName    [simpInt.h]  PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]  Synopsis    [Two-level node minimization internal header file.]  Author      [MVSIS Group]    Affiliation [UC Berkeley]  Date        [Ver. 1.0. Started - February 1, 2003.]  Revision    [$Id: simpInt.h,v 1.16 2003/05/27 23:16:15 alanmi Exp $]***********************************************************************/#ifndef _SIMPINT#define _SIMPINT#include "mv.h"#include "simp.h"/*---------------------------------------------------------------------------*//* Constant declarations                                                     *//*---------------------------------------------------------------------------*//*---------------------------------------------------------------------------*//* Type declarations                                                         *//*---------------------------------------------------------------------------*//*---------------------------------------------------------------------------*//* Macro declarations                                                        *//*---------------------------------------------------------------------------*/#define SIMP_EXEC(fct, T)        \    {long t=ptime(); fct; T+=ptime()-t;}#define Simp_DaemonGetNodeData(n)     (Simp_Node_t*)Ntk_NodeReadData((n))#define Simp_DaemonSetNodeData(n,d)   Ntk_NodeSetData((n),(void*)(d))/*---------------------------------------------------------------------------*//* Structure declarations                                                    *//*---------------------------------------------------------------------------*//**Struct**********************************************************************  Synopsis    [Information for the toplevel routine.]  Description []******************************************************************************/struct SimpInfoStruct {    bool verbose;    bool fPhase;              /* perform phase assignment (reset the default ) */    bool fFilter;             /* filter out CI's outside TFI to speed up "fs"  */    bool fConser;             /* be convervative in Espresso: skip large nodes */    bool fSparse;             /* apply make sparse after Espresso minimization */    bool fRelatn;             /* heuristic relation minimizer with sharp oper  */    bool use_exdc;            /* utilize the EXDC network whenever possible    */    bool use_bres;            /* utilize the boolean resub of subset support nodes */    int  dc_type;             /* type of DC: 0-CODC, 1-SDC, 2-complete         */        bool timeout_occur;       /* TRUE if a timeout has occured                 */             int  nIter;               /* index of the iteration time                    */    long timeout_net;         /* time allowed for processing each node          */    long timeout_node;        /* time allowed for processing the whole network  */    long time_left_node;      /* time left for processing this node             */    long time_start_node;     /* the last recorded time                         */             long time_mini;           /* time spent in Espresso minimization            */    long time_imag;           /* time spent in image computation                */    long time_cspf;           /* time spent in compatability computation        */    long time_glob;           /* time spent in global BDD construction          */        Ntk_Node_t **    ppNodes; /* BDD ID -> CI node   s      */    Mva_Func_t   ** ppbCoGlo; /* global BDD for CI's        */        DdManager      *    ddmg; /* global MDD manager         */    Mvc_Manager_t  * pMvcMem; /* Mvc memory manager         */    Vmx_VarMap_t   *    pVmx; /* x-var-map for global MDD's */    Ntk_Network_t  * network; /* mv network being operated  */    Simp_Method_t     method; /* simplification method      */    Simp_AcceptType_t accept; /* acceptance criterion       */};/**Struct**********************************************************************  Synopsis    [Information stored for each node in the network.]  Description []******************************************************************************/struct SimpNodeStruct {    bool fBadnode;        /* orphans having no fanouts               */    bool fVisited;        /* used in codc network traversal          */        st_table *   stCi;    /* supporting CI's used in CODC compatible */        DdNode   ** lMspf;    /* list of MSPF's on fanin edges           */    DdNode   *  pCodc;    /* calculated CSPF of this node            */};/*---------------------------------------------------------------------------*//* Internal function prototypes                                              *//*---------------------------------------------------------------------------*//*==== simpFull.c ====*/EXTERN sarray_t   *SimpComputeBfsOrder(Ntk_Network_t *net,Simp_Info_t *pInfo);/*======== simpOdc.c ========*/EXTERN void        SimpComputeMspf(Ntk_Node_t *node, Simp_Info_t *pInfo);EXTERN DdNode  *   SimpFilterGlobal(Simp_Info_t *pInfo, DdNode *F, st_table *tfi);/*======== simpSdc.c ========*/EXTERN Ntk_Node_t *SimpNodeCreateFromFanins(Ntk_Network_t *pNet,sarray_t *lFanin);EXTERN void        SimpNodeAssignMvc(Ntk_Node_t *pNode, Mvc_Cover_t *pMvc);/*======== simpMvf.c ========*/EXTERN void        SimpMvaArrayListFree( sarray_t **list,int size,int start );EXTERN void        SimpMvaArrayFree( sarray_t *lFuncs, int iStart);EXTERN st_table *  SimpMvaComputeSupport( Mva_Func_t *pMva, Simp_Info_t *simp_info);/*======== simpUtil.c ========*/EXTERN Ntk_Node_t  *SimpNodeClone( Ntk_Node_t *pNode );EXTERN Ntk_Node_t  *SimpNodeOr( Ntk_Node_t *pNode1, Ntk_Node_t *pNode2 );EXTERN Ntk_Node_t  *SimpNodeComplement( Ntk_Node_t *pNode );EXTERN bool         SimpNodeCompareFanin( Ntk_Node_t *p1, Ntk_Node_t *p2);EXTERN void         SimpNodeReplace( Ntk_Node_t *pNode, Ntk_Node_t *pNodeNew);EXTERN bool         SimpTimeOutCheckNode(Simp_Info_t *pInfo);EXTERN void         SimpTimeOutStartNode(Simp_Info_t *pInfo, long time_left);#endif /* _SIMP */

⌨️ 快捷键说明

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