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

📄 ntki.h

📁 主要进行大规模的电路综合
💻 H
字号:
/**CFile****************************************************************  FileName    [ntki.h]  PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]  Synopsis    [Declarations of the network/node interface package.]  Author      [MVSIS Group]    Affiliation [UC Berkeley]  Date        [Ver. 1.0. Started - February 1, 2003.]  Revision    [$Id: ntki.h,v 1.4 2003/05/27 23:14:30 alanmi Exp $]***********************************************************************/ #ifndef __NTKI_H__#define __NTKI_H__///////////////////////////////////////////////////////////////////////////                          INCLUDES                                ///////////////////////////////////////////////////////////////////////////#include "mv.h"#include "ntkInt.h"///////////////////////////////////////////////////////////////////////////                         PARAMETERS                               //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                         BASIC TYPES                              //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                     FUNCTION DEFITIONS                           ////////////////////////////////////////////////////////////////////////////*=== ntkiCollapse.c =====================================================*/extern Ntk_Network_t *   Ntk_NetworkCollapse( Ntk_Network_t * pNet, bool fVerbose );extern void              Ntk_NetworkCollapseNode( Ntk_Network_t * pNet, Ntk_Node_t * pNode );/*=== ntkiDecomp.c =========================================================*/extern void              Ntk_NetworkDecomp( Ntk_Network_t * pNet );/*=== ntkiDefault.c =========================================================*/extern void              Ntk_NetworkResetDefault( Ntk_Network_t * pNet );extern void              Ntk_NetworkForceDefault( Ntk_Network_t * pNet );extern void              Ntk_NetworkComputeDefault( Ntk_Network_t * pNet );extern void              Ntk_NodeForceDefault( Ntk_Node_t * pNode );extern void              Ntk_NodeResetDefault( Ntk_Node_t * pNode, int AcceptType );extern bool              Ntk_NodeTestAcceptCvr( Cvr_Cover_t * pCvr, Cvr_Cover_t * pCvrMin, int AcceptType, bool fVerbose );extern int               Ntk_NetworkGetAcceptType( Ntk_Network_t * pNet );extern Mvc_Cover_t *     Ntk_NodeComputeDefault( Ntk_Node_t * pNode );extern Ft_Node_t *       Ntk_NodeFactorDefault( Ntk_Node_t * pNode );extern void              Ntk_NetworkFfResetDefault( Ntk_Network_t * pNet, bool fVerbose );extern void              Ntk_NodeFfResetDefault( Ntk_Node_t * pNode, int AcceptType, bool fVerbose );/*=== ntkiEliminate.c =====================================================*/extern bool              Ntk_NetworkEliminate( Ntk_Network_t * pNet, int nNodesElim, int nCubeLimit, int nFaninLimit, int WeightLimit, bool fUseCostBdd, bool fVerbosity );extern int               Ntk_NetworkGetNodeValueSop( Ntk_Node_t * pNode );extern int               Ntk_EliminateGetNodeWeightBdd( Ntk_Node_t * pNode );extern int               Ntk_EliminateGetNodeWeightSop( Ntk_Node_t * pNode );extern int               Ntk_EliminateSetCollapsingWeightBdd( Ntk_Node_t * pNode, Ntk_Pin_t * pPin, Ntk_Node_t * pFanin );extern int               Ntk_EliminateSetCollapsingWeightSop( Ntk_Node_t * pNode, Ntk_Pin_t * pPin, Ntk_Node_t * pFanin );/*=== ntkiFxu.c =========================================================*/extern bool              Ntk_NetworkFastExtract( Ntk_Network_t * pNet, Fxu_Data_t * p );extern void              Ntk_NetworkFxFreeInfo( Fxu_Data_t * p );/*=== ntkiGlobal.c ====================================================*/extern void              Ntk_NetworkGlobalMdd                ( DdManager * dd, Ntk_Network_t * pNet, Vm_VarMap_t ** ppVm, char *** ppCiNames, DdNode **** ppMdds, DdNode **** ppMddsExdc );extern DdNode ***        Ntk_NetworkGlobalMddCompute         ( DdManager * dd, Ntk_Network_t * pNet, char ** psLeavesByName, int nLeaves, char ** psRootsByName, int nRoots, Vmx_VarMap_t * pVmx );extern DdNode ***        Ntk_NetworkGlobalMddEmpty           ( DdManager * dd, int * pValues, int nOuts );extern DdNode ***        Ntk_NetworkGlobalMddDup             ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds );extern DdNode ***        Ntk_NetworkGlobalMddOr              ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds1, DdNode *** ppMdds2  );extern DdNode ***        Ntk_NetworkGlobalMddConvertExdc     ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMddsExdc );extern void              Ntk_NetworkGlobalMddMinimize        ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds1, DdNode *** ppMdds2 );extern void              Ntk_NetworkGlobalMddDeref           ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds );extern bool              Ntk_NetworkGlobalMddCheckEquality   ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds1, DdNode *** ppMdds2 );extern bool              Ntk_NetworkGlobalMddCheckContainment( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds1, DdNode *** ppMdds2 );extern bool              Ntk_NetworkGlobalMddCheckND         ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds );extern DdNode *          Ntk_NetworkGlobalMddErrorTrace      ( DdManager * dd, int * pValues, int nOuts, DdNode *** ppMdds1, DdNode *** ppMdds2, int * Out, int * Value );extern void              Ntk_NetworkGlobalMddPrintErrorTrace ( FILE * pFile, DdManager * dd, Vmx_VarMap_t * pVmx, DdNode * bTrace, int Out, char * pNameOut, int nValue, char * psLeavesByName[] );extern Vmx_VarMap_t *    Ntk_NetworkGlobalGetVmx             ( Ntk_Network_t * pNet, char ** aLeavesByName );extern Vmx_VarMap_t *    Ntk_NetworkGlobalGetVmxArray        ( Ntk_Node_t ** ppNodes, int nNodes );extern char **           Ntk_NetworkGlobalGetOutputs         ( Ntk_Network_t * pNet );extern int *             Ntk_NetworkGlobalGetOutputValues    ( Ntk_Network_t * pNet );extern char **           Ntk_NetworkGlobalGetOutputsAndValues( Ntk_Network_t * pNet, int ** ppValues );extern DdNode **         Ntk_NodeGlobalMdd         ( DdManager * dd, Ntk_Node_t * pNode );extern DdNode *          Ntk_NodeGlobalMddCollapse( DdManager * ddGlo, DdNode * bFuncLoc, Ntk_Node_t * pNode );/*=== ntkiMerge.c ====================================================*/extern void              Ntk_NetworkMerge( Ntk_Network_t * pNet, int nNodes );extern Ntk_Node_t *      Ntk_NetworkMergeNodes( Ntk_Node_t * pNode1, Ntk_Node_t * pNode2 );extern Ntk_Node_t *      Ntk_NodeMerge( Ntk_Node_t * pNode1, Ntk_Node_t * pNode2 );/*=== ntkiOrder.c ====================================================*/extern st_table *        Ntk_NetworkOrder( Ntk_Network_t * pNet, bool fUseDfs );extern st_table *        Ntk_NetworkOrderByName( Ntk_Network_t * pNet, bool fUseDfs );extern char **           Ntk_NetworkOrderArrayByName( Ntk_Network_t * pNet, bool fUseDfs );extern void              Ntk_NetworkReorder( Ntk_Network_t * pNet, int fVerbose );extern bool              Ntk_NodeReorderMvr( Ntk_Node_t * pNode );/*=== ntkiPower.c ====================================================*/extern void              Ntk_NetworkComputePower( Ntk_Network_t * pNet, int nLayers );extern void              Ntk_NetworkNonDeterminize( Ntk_Network_t * pNet, double Prob );/*=== ntkiPrint.c ====================================================*/extern void              Ntk_NetworkPrintStats( FILE * pFile, Ntk_Network_t * pNet, bool fComputeCvr, bool fComputeMvr, bool fShort );extern void		         Ntk_NodePrintStats( FILE * fp, Ntk_Node_t * node, bool cvr, bool mvr );extern void              Ntk_NetworkPrintIo( FILE * pFile, Ntk_Network_t * pNet, int nNodes );extern void              Ntk_NodePrintCvr( FILE * fp, Ntk_Node_t * pNode, bool fPrintDefault, bool fPrintPositional );extern void              Ntk_NodePrintMvr( FILE * pFile, Ntk_Node_t * pNode );extern void              Ntk_NodePrintFlex( FILE * pFile, Ntk_Node_t * pNode, Mvr_Relation_t * pFlex );extern void              Ntk_NodePrintMvrFlex( FILE * pFile, Ntk_Node_t * pNode, DdNode * bFlex );extern void              Ntk_NetworkPrintValue( FILE * pFile, Ntk_Network_t * pNet, int nNodes );extern void              Ntk_NetworkPrintRange( FILE * pFile, Ntk_Network_t * pNet, int nNodes );extern void              Ntk_NodePrintValue( FILE * pFile, Ntk_Node_t * pNode );extern void              Ntk_NodePrintRange( FILE * pFile, Ntk_Node_t * pNode );extern void              Ntk_NodePrintFactor( FILE * pFile, Ntk_Node_t * pNode );extern void              Ntk_NetworkPrintLevel( FILE * pFile, Ntk_Network_t * pNet, int nNodes, int fFromOutputs );extern void              Ntk_NetworkPrintNd( FILE * pFile, Ntk_Network_t * pNet );extern void              Ntk_NodePrintCvrLiterals( FILE * pFile, Vm_VarMap_t * pVm, Ntk_Node_t * pFanins[], Mvc_Cover_t * Cover, int nVars, int * pPos );extern void              Ntk_NodePrintCvrPositional( FILE * pFile, Vm_VarMap_t * pVm, Mvc_Cover_t * Cover, int nVars );extern int               Ntk_NodePrintOutputName( FILE * pFile, char * pNameOut, int nValuesOut, int iSet );/*=== ntkiResub.c ============================================================*/extern void              Ntk_NetworkResub( Ntk_Network_t * pNet, int nCandsMax, bool fVerbose );extern bool              Ntk_NetworkResubNode( Ntk_Node_t * pNode, Mvr_Relation_t * pMvr, int AcceptType, int nCandsMax, bool fVerbose );extern Ntk_Node_t *      Ntk_NetworkGetResubNode( Ntk_Node_t * pNode, Mvr_Relation_t * pMvr, int nCandsMax );extern Ntk_Node_t **     Ntk_NetworkOrderNodesByLevel( Ntk_Network_t * pNet, bool fFromOutputs );/*=== ntkiSat.c ======================================================*/extern void              Ntk_NetworkWriteSat( Ntk_Network_t * pNet1, Ntk_Network_t * pNet2, char * pFileName ); extern void              Ntk_NetworkWriteClauses( Ntk_Network_t * pNet, char * pFileName ); /*=== ntkiStrash.c =========================================================*/extern Ntk_Network_t *   Ntk_NetworkStrash( Ntk_Network_t * pNet );/*=== ntkiSweep.c ================-----====================================*/extern bool              Ntk_NetworkSweep( Ntk_Network_t * pNet, bool fSweepConsts, bool fSweepBuffers, bool fSweepIsets, bool fVerbose );extern bool              Ntk_NetworkSweepNode( Ntk_Node_t * pNode, bool fSweepConsts, bool fSweepBuffers, bool fVerbose );extern bool              Ntk_NetworkSweepIsets( Ntk_Node_t * pNode, bool fVerbose );extern void              Ntk_NetworkSweepTransformFanouts( Ntk_Node_t * pNode, Ntk_Node_t * pTrans );/*=== ntkiVerify.c =====================================================*/extern void              Ntk_NetworkVerify( Ntk_Network_t * pNet1, Ntk_Network_t * pNet2, int fVerbose );///////////////////////////////////////////////////////////////////////////                       END OF FILE                                ///////////////////////////////////////////////////////////////////////////#endif

⌨️ 快捷键说明

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