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

📄 ntk.h

📁 主要进行大规模的电路综合
💻 H
📖 第 1 页 / 共 3 页
字号:
// data-test node APIsextern bool              Ntk_NodeIsCi( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsCo( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsCoDriver( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsCoFanin( Ntk_Node_t * pNode );extern Ntk_Node_t *      Ntk_NodeHasCoName( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsInternal( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsConstant( Ntk_Node_t * pNode );extern bool              Ntk_NodeBelongsToLatch( Ntk_Node_t * pNode );// data-test network APIs/*=== ntkCheck.c ====================================================*/extern int               Ntk_NetworkCheck( Ntk_Network_t * pNet );extern int               Ntk_NetworkCheckNode( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern int               Ntk_NetworkCheckLatch( Ntk_Network_t * pNet, Ntk_Latch_t * pLatch );/*=== ntkDfs.c =======================================================*/extern void              Ntk_NetworkDfs( Ntk_Network_t * pNet, int fFromOutputs );extern void              Ntk_NetworkDfsNodes( Ntk_Network_t * pNet, Ntk_Node_t * ppNodes[], int nNodes, int fFromOutputs );extern int               Ntk_NetworkLevelize( Ntk_Network_t * pNet, int fFromOutputs );extern int               Ntk_NetworkLevelizeNodes( Ntk_Node_t * ppNodes[], int nNodes, int fFromOutputs );extern int               Ntk_NetworkGetNumLevels( Ntk_Network_t * pNet );extern bool              Ntk_NetworkIsAcyclic( Ntk_Network_t * pNet );extern bool              Ntk_NetworkIsAcyclic1( Ntk_Network_t * pNet );extern bool              Ntk_NetworkIsAcyclic2( Ntk_Network_t * pNet );extern int               Ntk_NetworkComputeNodeSupport( Ntk_Network_t * pNet, Ntk_Node_t * pNodes[], int nNodes );extern int               Ntk_NetworkInterleaveNodes( Ntk_Network_t * pNet, Ntk_Node_t * pNodes[], int nNodes );extern int               Ntk_NetworkComputeNodeTfi( Ntk_Network_t * pNet, Ntk_Node_t * pNodes[], int nNodes, int Depth, bool fIncludeCis, bool fExistPath );extern int               Ntk_NetworkComputeNodeTfo( Ntk_Network_t * pNet, Ntk_Node_t * pNodes[], int nNodes, int Depth, bool fIncludeCos, bool fExistPath ); extern bool              Ntk_NodeHasCoInTfo( Ntk_Node_t * pNode );/*=== ntkFanio.c ===================================================*/// node fanin/fanout APIsextern Ntk_Node_t *      Ntk_NodeReadFaninNode( Ntk_Node_t * pNode, int i );extern Ntk_Node_t *      Ntk_NodeReadFanoutNode( Ntk_Node_t * pNode, int i );extern int               Ntk_NodeReadFaninIndex( Ntk_Node_t * pNode, Ntk_Node_t * pFanin );extern int               Ntk_NodeReadFanoutIndex( Ntk_Node_t * pNode, Ntk_Node_t * pFanout );extern int               Ntk_NodeReadFanins( Ntk_Node_t * pNode, Ntk_Node_t * pFanins[] );extern int               Ntk_NodeReadFanouts( Ntk_Node_t * pNode, Ntk_Node_t * pFanouts[] );extern void              Ntk_NodeReadFanioValues( Ntk_Node_t * pNode, int * pValues );extern void              Ntk_NodeReduceFanins( Ntk_Node_t * pNode, int * pSupport );extern Ntk_Pin_t *       Ntk_NodeAddFanin( Ntk_Node_t * pNode, Ntk_Node_t * pFanin );extern Ntk_Pin_t *       Ntk_NodeAddFanout( Ntk_Node_t * pNode, Ntk_Node_t * pFanout );extern void              Ntk_NodeAddFaninFanout( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern void              Ntk_NodeDeleteFaninFanout( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern void              Ntk_NodeTransferFanout( Ntk_Node_t * pNodeFrom, Ntk_Node_t * pNodeTo );extern void              Ntk_NodePatchFanin( Ntk_Node_t * pNode, Ntk_Node_t * pFaninOld, Ntk_Node_t * pFaninNew );extern Vm_VarMap_t *     Ntk_NodeAssignVm( Ntk_Node_t * pNode );extern bool              Ntk_NodeSupportContain( Ntk_Node_t * pNode1, Ntk_Node_t * pNode2 );/*=== ntkLatch.c ====================================================*/extern Ntk_Latch_t *     Ntk_LatchCreate( Ntk_Network_t * pNet, Ntk_Node_t * pNode, char * pNameInput, char * pNameOutput );extern Ntk_Latch_t *     Ntk_LatchDup( Ntk_Network_t * pNet, Ntk_Latch_t * pLatch );extern void              Ntk_LatchDelete( Ntk_Latch_t * pLatch );extern void              Ntk_LatchAdjustInput( Ntk_Network_t * pNet, Ntk_Latch_t * pLatch );extern void              Ntk_NetworkAddLatch( Ntk_Network_t * pNet, Ntk_Latch_t * pLatch );extern void              Ntk_NetworkDeleteLatch( Ntk_Latch_t * pLatch );/*=== ntkNames.c ====================================================*/extern char *            Ntk_NodeGetNamePrintable( Ntk_Node_t * pNode );extern char *            Ntk_NodeGetNameLong( Ntk_Node_t * pNode );extern char *            Ntk_NodeGetNameShort( Ntk_Node_t * pNode );extern char *            Ntk_NodeGetNameUniqueLong( Ntk_Node_t * pNode );extern char *            Ntk_NodeGetNameUniqueShort( Ntk_Node_t * pNode );extern char *            Ntk_NodeAssignName( Ntk_Node_t * pNode, char * pName );extern char *            Ntk_NodeRemoveName( Ntk_Node_t * pNode );extern int               Ntk_NodeCompareByNameAndId( Ntk_Node_t ** ppN1, Ntk_Node_t ** ppN2 );extern int               Ntk_NodeCompareByNameAndIdOrder( Ntk_Node_t ** ppN1, Ntk_Node_t ** ppN2 );extern int               Ntk_NodeCompareByValueAndId( Ntk_Node_t ** ppN1, Ntk_Node_t ** ppN2 );extern int               Ntk_NodeCompareByLevel( Ntk_Node_t ** ppN1, Ntk_Node_t ** ppN2 );extern bool              Ntk_NetworkIsModeShort( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkFindOrAddNodeByName( Ntk_Network_t * pNet, char * pName, Ntk_NodeType_t Type );extern Ntk_Node_t *      Ntk_NetworkFindNodeByName( Ntk_Network_t * pNet, char * pName );extern Ntk_Node_t *      Ntk_NetworkFindNodeByNameWithMode( Ntk_Network_t * pNet, char * pName );extern Ntk_Node_t *      Ntk_NetworkFindNodeByNameLong( Ntk_Network_t * pNet, char * pName );extern Ntk_Node_t *      Ntk_NetworkFindNodeByNameShort( Ntk_Network_t * pNet, char * pName );extern Ntk_Node_t *      Ntk_NetworkFindNodeById( Ntk_Network_t * pNet, int Id );extern char *            Ntk_NetworkRegisterNewName( Ntk_Network_t * pNet, char * pName );extern void              Ntk_NetworkRenameNodes( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkCollectNodeByName( Ntk_Network_t * pNet, char * pName, int fCollectCis );extern void              Ntk_NetworkCollectIoNames( Ntk_Network_t * pNet, char *** ppsLeaves, char *** ppsRoots );/*=== ntkNode.c =====================================================*/extern Ntk_Node_t *      Ntk_NodeCreate( Ntk_Network_t * pNet, char * pName, Ntk_NodeType_t Type, int nValues );extern Ntk_Node_t *      Ntk_NodeCreateConstant( Ntk_Network_t * pNet, int nValues, unsigned Pol );extern Ntk_Node_t *      Ntk_NodeCreateOneInputNode( Ntk_Network_t * pNet, Ntk_Node_t * pFanin, int nValuesIn, int nValuesOut, unsigned Pols[] );extern Ntk_Node_t *      Ntk_NodeCreateTwoInputBinary( Ntk_Network_t * pNet, Ntk_Node_t * ppFanins[], unsigned TruthTable );extern Ntk_Node_t *      Ntk_NodeCreateDecoder( Ntk_Network_t * pNet, Ntk_Node_t * pNode1, Ntk_Node_t * pNode2 );extern Ntk_Node_t *      Ntk_NodeCreateDecoderGeneral( Ntk_Node_t ** ppNodes, int nNodes, int * pValueAssign, int nTotalValues, int nOutputValues);extern void              Ntk_NodeCreateEncoded( Ntk_Node_t * pNode, Ntk_Node_t ** ppNodes, int nNodes, int * pValueAssign, int nTotalValues, int nOutputValues);extern void              Ntk_NodeCreateEncoders( Ntk_Network_t * pNet, Ntk_Node_t * pNode, int nValues1, int nValues2, Ntk_Node_t ** ppNode1, Ntk_Node_t ** ppNode2 );extern Ntk_Node_t *      Ntk_NodeCreateCollector( Ntk_Network_t * pNet, Ntk_Node_t * ppFanins[], int nValues, int DefValue );extern Ntk_Node_t *      Ntk_NodeCreateFromNetwork( Ntk_Network_t * pNet, char ** psCiNames );extern Ntk_Node_t *      Ntk_NodeDup( Ntk_Network_t * pNetNew, Ntk_Node_t * pNode );extern Ntk_Node_t *      Ntk_NodeClone( Ntk_Network_t * pNetNew, Ntk_Node_t * pNode );extern void              Ntk_NodeReplace( Ntk_Node_t * pNode, Ntk_Node_t * pNodeNew );extern void              Ntk_NodeDelete( Ntk_Node_t * pNode );extern void              Ntk_NodeRecycle( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern bool              Ntk_NodeIsTooLarge( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsBinaryBuffer( Ntk_Node_t * pNode );extern bool              Ntk_NodesCanBeMerged( Ntk_Node_t * pNode1, Ntk_Node_t * pNode2 );extern bool              Ntk_NodeDeterminize( Ntk_Node_t * pNode );/*=== ntkNodeHeap.c =======================================================*/extern Ntk_NodeHeap_t *  Ntk_NodeHeapStart();extern void              Ntk_NodeHeapStop( Ntk_NodeHeap_t * p );extern void              Ntk_NodeHeapPrint( FILE * pFile, Ntk_NodeHeap_t * p );extern void              Ntk_NodeHeapCheck( Ntk_NodeHeap_t * p );extern void              Ntk_NodeHeapCheckOne( Ntk_NodeHeap_t * p, Ntk_Node_t * pNode );extern void              Ntk_NodeHeapInsert( Ntk_NodeHeap_t * p, Ntk_Node_t * pNode );  extern void              Ntk_NodeHeapUpdate( Ntk_NodeHeap_t * p, Ntk_Node_t * pNode );  extern void              Ntk_NodeHeapDelete( Ntk_NodeHeap_t * p, Ntk_Node_t * pNode );  extern int               Ntk_NodeHeapReadMaxWeight( Ntk_NodeHeap_t * p );extern int               Ntk_NodeHeapCountNodes( Ntk_NodeHeap_t * p, int WeightLimit );  extern Ntk_Node_t *      Ntk_NodeHeapReadMax( Ntk_NodeHeap_t * p );  extern Ntk_Node_t *      Ntk_NodeHeapGetMax( Ntk_NodeHeap_t * p );  /*=== ntkSort.c ====================================================*/extern int               Ntk_NetworkCompactNodeIds( Ntk_Network_t * pNet );extern int               Ntk_NetworkOrderFanins( Ntk_Network_t * pNet );extern int               Ntk_NodeOrderFanins( Ntk_Node_t * pNode );extern int *             Ntk_NodeRelinkFanins( Ntk_Node_t * pNode );extern void              Ntk_NetworkReassignIds( Ntk_Network_t * pNet );extern void              Ntk_NodeCompactFanins( Ntk_Node_t * pNode, Ntk_Node_t * pFaninDup );/*=== ntkSubnetwork.c ====================================================*/extern Ntk_Network_t *   Ntk_SubnetworkExtract( Ntk_Network_t * pNet );extern void              Ntk_SubnetworkInsert( Ntk_Network_t * pNet, Ntk_Network_t * pNetSub );extern void              Ntk_SubnetworkWriteIntoFile( Ntk_Network_t * pNet, char * FileName, bool fBinary );/*=== ntkUtils.c ====================================================*/extern Ntk_Network_t *   Ntk_NetworkAlloc( Mv_Frame_t * pMvsis );extern Ntk_Network_t *   Ntk_NetworkDup( Ntk_Network_t * pNet, Fnc_Manager_t * pMan );extern void              Ntk_NetworkDelete( Ntk_Network_t * pNet );extern void              Ntk_NetworkAddNode( Ntk_Network_t * pNet, Ntk_Node_t * pNode, bool fConnect ); extern Ntk_Node_t *      Ntk_NetworkAddNodeCo( Ntk_Network_t * pNet, Ntk_Node_t * pNode, bool fConnect );extern void              Ntk_NetworkTransformNodeIntToCo( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern void              Ntk_NetworkTransformCiToCo( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern void              Ntk_NetworkTransformNodeIntToCi( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern void              Ntk_NetworkDeleteNode( Ntk_Network_t * pNet, Ntk_Node_t * pNode, bool fConnect, bool fDeleteNode ); extern bool              Ntk_NetworkIsBinary( Ntk_Network_t * pNet );extern bool              Ntk_NetworkIsND( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkReadCiNode( Ntk_Network_t * pNet, int i );extern Ntk_Node_t *      Ntk_NetworkReadCoNode( Ntk_Network_t * pNet, int i );extern int               Ntk_NetworkReadCiIndex( Ntk_Network_t * pNet, Ntk_Node_t * pNode );extern int               Ntk_NetworkReadCoIndex( Ntk_Network_t * pNet, Ntk_Node_t * pNode );/*=== ntkTravId.c =========================================================*/extern int               Ntk_NetworkReadTravId( Ntk_Network_t * pNet );extern void              Ntk_NetworkIncrementTravId( Ntk_Network_t * pNet );extern int               Ntk_NodeReadTravId( Ntk_Node_t * pNode );extern void              Ntk_NodeSetTravId( Ntk_Node_t * pNode, int TravId );extern void              Ntk_NodeSetTravIdCurrent( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsTravIdCurrent( Ntk_Node_t * pNode );extern bool              Ntk_NodeIsTravIdPrevious( Ntk_Node_t * pNode );extern void              Ntk_NetworkStartSpecial( Ntk_Network_t * pNet );extern void              Ntk_NetworkStopSpecial( Ntk_Network_t * pNet );extern void              Ntk_NetworkAddToSpecial( Ntk_Node_t * pNode );extern void              Ntk_NetworkMoveSpecial( Ntk_Node_t * pNode );extern void              Ntk_NetworkResetSpecial( Ntk_Network_t * pNet );extern int               Ntk_NetworkCountSpecial( Ntk_Network_t * pNet );extern void              Ntk_NetworkCreateSpecialFromArray( Ntk_Network_t * pNet, Ntk_Node_t * ppNodes[], int nNodes );extern int               Ntk_NetworkCreateArrayFromSpecial( Ntk_Network_t * pNet, Ntk_Node_t * ppNodes[] );extern void              Ntk_NetworkPrintSpecial( Ntk_Network_t * pNet );extern void              Ntk_NetworkPrintArray( Ntk_Node_t ** ppNodes, int nNodes );/*=== ntkMinBase.c ====================================================*/extern bool              Ntk_NodeMakeMinimumBase( Ntk_Node_t * pNode );/*=== ntkNodeCol.c ====================================================*/extern bool              Ntk_NetworkCollapseNodes( Ntk_Node_t * pNode, Ntk_Node_t * pFanin );extern Ntk_Node_t *      Ntk_NodeCollapse( Ntk_Node_t * pNode, Ntk_Node_t * pFanin );extern Ntk_Node_t *      Ntk_NodeMakeCommonBase( Ntk_Node_t * pNode1, Ntk_Node_t * pNode2, int * pTransMapN1, int * pTransMapN2 );///////////////////////////////////////////////////////////////////////////                        ITERATORS                                 ///////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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