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

📄 ntk.h

📁 主要进行大规模的电路综合
💻 H
📖 第 1 页 / 共 3 页
字号:
/**CFile****************************************************************  FileName    [ntk.h]  PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]  Synopsis    [Declarations of the network/node package.]  Author      [MVSIS Group]    Affiliation [UC Berkeley]  Date        [Ver. 1.0. Started - February 1, 2003.]  Revision    [$Id: ntk.h,v 1.45 2003/05/27 23:14:20 alanmi Exp $]***********************************************************************/ #ifndef __NTK_H__#define __NTK_H__///////////////////////////////////////////////////////////////////////////                          INCLUDES                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                         PARAMETERS                               ///////////////////////////////////////////////////////////////////////////// node types: no type, primary input, primary output, internaltypedef enum { MV_NODE_NONE, MV_NODE_CI, MV_NODE_CO, MV_NODE_INT }  Ntk_NodeType_t;// node subtype for combinational inputs/outputs: // node is a PI/PO of the network; node is only an input/output a latchtypedef enum { MV_BELONGS_TO_NET, MV_BELONGS_TO_LATCH }  Ntk_NodeSubtype_t;///////////////////////////////////////////////////////////////////////////                         BASIC TYPES                              ///////////////////////////////////////////////////////////////////////////typedef struct NtkPinStruct        Ntk_Pin_t;       // fanin/fanout pin (16 bytes)typedef struct NtkNodeStruct       Ntk_Node_t;      // the node data structuretypedef struct NtkLatchStruct      Ntk_Latch_t;     // the latch data structuretypedef struct NtkNetworkStruct    Ntk_Network_t;   // the network data structuretypedef struct NtkNodeHeapStruct   Ntk_NodeHeap_t;  // the heap of nodes///////////////////////////////////////////////////////////////////////////                     FUNCTION DEFITIONS                           ////////////////////////////////////////////////////////////////////////////*=== ntk.c ==========================================================*/extern void              Ntk_Init( Mv_Frame_t * pMvsis );extern void              Ntk_End( Mv_Frame_t * pMvsis );/*=== ntkApi.c =======================================================*/// "ntkApi.c" contains only simple lookup/insert type of APIs// more complex APIs are located in other files detailed below// data-access pin APIsextern Ntk_Pin_t *       Ntk_PinReadNext( Ntk_Pin_t * pPin );extern Ntk_Pin_t *       Ntk_PinReadPrev( Ntk_Pin_t * pPin );extern Ntk_Pin_t *       Ntk_PinReadLink( Ntk_Pin_t * pPin );extern Ntk_Node_t *      Ntk_PinReadNode( Ntk_Pin_t * pPin );// data-access latch APIsextern Ntk_Latch_t *     Ntk_LatchReadNext( Ntk_Latch_t * pLatch );extern Ntk_Latch_t *     Ntk_LatchReadPrev( Ntk_Latch_t * pLatch );extern int               Ntk_LatchReadReset( Ntk_Latch_t * pLatch );extern Ntk_Node_t *      Ntk_LatchReadInput( Ntk_Latch_t * pLatch );extern Ntk_Node_t *      Ntk_LatchReadOutput( Ntk_Latch_t * pLatch );extern Ntk_Node_t *      Ntk_LatchReadNode( Ntk_Latch_t * pLatch );extern Ntk_Network_t *   Ntk_LatchReadNet( Ntk_Latch_t * pLatch );extern char *            Ntk_LatchReadData( Ntk_Latch_t * pLatch );// data-access node APIsextern Ntk_Node_t *      Ntk_NodeReadNext( Ntk_Node_t * pNode );extern Ntk_Node_t *      Ntk_NodeReadPrev( Ntk_Node_t * pNode );extern Ntk_Node_t *      Ntk_NodeReadOrder( Ntk_Node_t * pNode );extern int               Ntk_NodeReadId( Ntk_Node_t * pNode );extern char *            Ntk_NodeReadName( Ntk_Node_t * pNode );extern Ntk_NodeType_t    Ntk_NodeReadType( Ntk_Node_t * pNode );extern Ntk_NodeSubtype_t Ntk_NodeReadSubtype( Ntk_Node_t * pNode );extern int               Ntk_NodeReadValueNum( Ntk_Node_t * pNode );extern Ntk_Pin_t *       Ntk_NodeReadFaninPinHead( Ntk_Node_t * pNode );extern Ntk_Pin_t *       Ntk_NodeReadFaninPinTail( Ntk_Node_t * pNode );extern int               Ntk_NodeReadFaninNum( Ntk_Node_t * pNode );extern Ntk_Pin_t *       Ntk_NodeReadFanoutPinHead( Ntk_Node_t * pNode );extern Ntk_Pin_t *       Ntk_NodeReadFanoutPinTail( Ntk_Node_t * pNode );extern int               Ntk_NodeReadFanoutNum( Ntk_Node_t * pNode );extern char *            Ntk_NodeReadData( Ntk_Node_t * pNode );extern Ntk_Network_t *   Ntk_NodeReadNetwork( Ntk_Node_t * pNode );extern Fnc_Manager_t *   Ntk_NodeReadMan( Ntk_Node_t * pNode );extern Fnc_Function_t *  Ntk_NodeReadFunc( Ntk_Node_t * pNode );extern FILE *            Ntk_NodeReadMvsisErr( Ntk_Node_t * pNode );extern FILE *            Ntk_NodeReadMvsisOut( Ntk_Node_t * pNode );// node functionality APIsextern Vm_VarMap_t *     Ntk_NodeReadFuncVm( Ntk_Node_t * pNode );extern Cvr_Cover_t *     Ntk_NodeReadFuncCvr( Ntk_Node_t * pNode );extern Mvr_Relation_t *  Ntk_NodeReadFuncMvr( Ntk_Node_t * pNode );extern DdNode **         Ntk_NodeReadFuncGlo( Ntk_Node_t * pNode );extern Vm_VarMap_t *     Ntk_NodeGetFuncVm( Ntk_Node_t * pNode );extern Cvr_Cover_t *     Ntk_NodeGetFuncCvr( Ntk_Node_t * pNode );extern Mvr_Relation_t *  Ntk_NodeGetFuncMvr( Ntk_Node_t * pNode );extern DdNode **         Ntk_NodeGetFuncGlo( Ntk_Node_t * pNode );extern void              Ntk_NodeWriteFuncVm( Ntk_Node_t * pNode, Vm_VarMap_t * pVm );extern void              Ntk_NodeWriteFuncCvr( Ntk_Node_t * pNode, Cvr_Cover_t * pCvr );extern void              Ntk_NodeWriteFuncMvr( Ntk_Node_t * pNode, Mvr_Relation_t * pMvr );extern void              Ntk_NodeWriteFuncGlo( Ntk_Node_t * pNode, DdNode ** pGlo );extern void              Ntk_NodeSetFuncVm( Ntk_Node_t * pNode, Vm_VarMap_t * pVm );extern void              Ntk_NodeSetFuncCvr( Ntk_Node_t * pNode, Cvr_Cover_t * pCvr );extern void              Ntk_NodeSetFuncMvr( Ntk_Node_t * pNode, Mvr_Relation_t * pMvr );extern void              Ntk_NodeSetFuncGlo( Ntk_Node_t * pNode, DdNode ** pGlo );extern void              Ntk_NodeFreeFuncVm( Ntk_Node_t * pNode );extern void              Ntk_NodeFreeFuncCvr( Ntk_Node_t * pNode );extern void              Ntk_NodeFreeFuncMvr( Ntk_Node_t * pNode );extern void              Ntk_NodeFreeFuncGlo( Ntk_Node_t * pNode );extern int               Ntk_NodeReadDefault( Ntk_Node_t * pNode );extern Fnc_Manager_t *   Ntk_NodeReadMan   ( Ntk_Node_t * pNode );extern Mvr_Manager_t *   Ntk_NodeReadManMvr( Ntk_Node_t * pNode );extern Vm_Manager_t *    Ntk_NodeReadManVm ( Ntk_Node_t * pNode );extern Vmx_Manager_t *   Ntk_NodeReadManVmx( Ntk_Node_t * pNode );extern Mvc_Manager_t *   Ntk_NodeReadManMvc( Ntk_Node_t * pNode );// data-access network APIsextern char *            Ntk_NetworkReadName( Ntk_Network_t * pNet );extern char *            Ntk_NetworkReadSpec( Ntk_Network_t * pNet );extern Mv_Frame_t *      Ntk_NetworkReadMvsis( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkReadCiHead( Ntk_Network_t * pNet ); // pi + latch outputsextern Ntk_Node_t *      Ntk_NetworkReadCiTail( Ntk_Network_t * pNet );extern int               Ntk_NetworkReadCiNum( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkReadCoHead( Ntk_Network_t * pNet ); // po + latch inputsextern Ntk_Node_t *      Ntk_NetworkReadCoTail( Ntk_Network_t * pNet );extern int               Ntk_NetworkReadCoNum( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkReadNodeHead( Ntk_Network_t * pNet ); // only intenalextern Ntk_Node_t *      Ntk_NetworkReadNodeTail( Ntk_Network_t * pNet );extern int               Ntk_NetworkReadNodeIntNum( Ntk_Network_t * pNet );extern Ntk_Latch_t *     Ntk_NetworkReadLatchHead( Ntk_Network_t * pNet ); // latchesextern Ntk_Latch_t *     Ntk_NetworkReadLatchTail( Ntk_Network_t * pNet );extern int               Ntk_NetworkReadLatchNum( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkReadOrder( Ntk_Network_t * pNet );extern Ntk_Node_t *      Ntk_NetworkReadOrderByLevel( Ntk_Network_t * pNet, int Level );extern int               Ntk_NetworkReadNodeTotalNum( Ntk_Network_t * pNet ); // sum total of all nodes (w/o latches)extern int               Ntk_NetworkReadNodeWritableNum( Ntk_Network_t * pNet );extern FILE *            Ntk_NetworkReadMvsisErr( Ntk_Network_t * pNet );extern FILE *            Ntk_NetworkReadMvsisOut( Ntk_Network_t * pNet );extern Ntk_Network_t *   Ntk_NetworkReadBackup( Ntk_Network_t * pNet );extern int               Ntk_NetworkReadStep( Ntk_Network_t * pNet );// network functionality APIsextern Fnc_Manager_t *   Ntk_NetworkReadMan( Ntk_Network_t * pNet );extern Vm_Manager_t *    Ntk_NetworkReadManVm( Ntk_Network_t * pNet );extern Vmx_Manager_t *   Ntk_NetworkReadManVmx( Ntk_Network_t * pNet );extern Mvc_Manager_t *   Ntk_NetworkReadManMvc( Ntk_Network_t * pNet );extern Mvr_Manager_t *   Ntk_NetworkReadManMvr( Ntk_Network_t * pNet );extern DdManager *       Ntk_NetworkReadManDdLoc( Ntk_Network_t * pNet );extern DdManager *       Ntk_NetworkReadManDdGlo( Ntk_Network_t * pNet );extern Ntk_Network_t *   Ntk_NetworkReadNetExdc( Ntk_Network_t * pNet );// data-entry node APIsextern void              Ntk_NodeSetName( Ntk_Node_t * pNode, char * pName );extern void              Ntk_NodeSetSubtype( Ntk_Node_t * pNode, int Subtype );extern void              Ntk_NodeSetValueNum( Ntk_Node_t * pNode, int nValues );extern void              Ntk_NodeSetData( Ntk_Node_t * pNode, char * pData );extern void              Ntk_NodeSetFuncCvr( Ntk_Node_t * pNode, Cvr_Cover_t * pCvr );extern void              Ntk_NodeSetNetwork( Ntk_Node_t * pNode, Ntk_Network_t * pNet );// data-entry network APIsextern void              Ntk_NetworkSetNetExdc( Ntk_Network_t * pNet, Ntk_Network_t * pNetExdc );extern void              Ntk_NetworkSetName( Ntk_Network_t * pNet, char * pName );extern void              Ntk_NetworkSetSpec( Ntk_Network_t * pNet, char * pName );extern void              Ntk_NetworkSetMvsis( Ntk_Network_t * pNet, Mv_Frame_t * pMvsis );extern void              Ntk_NetworkSetBackup( Ntk_Network_t * pNet, Ntk_Network_t * pNetBackup );extern void              Ntk_NetworkSetStep( Ntk_Network_t * pNet, int iStep );

⌨️ 快捷键说明

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