📄 ntki.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 + -