📄 vmx.h
字号:
/**CFile**************************************************************** FileName [vmx.h] PackageName [MVSIS 2.0: Multi-valued logic synthesis system.] Synopsis [Declarations of the extended variable map (VMX) package.] Author [MVSIS Group] Affiliation [UC Berkeley] Date [Ver. 1.0. Started - February 1, 2003.] Revision [$Id: vmx.h,v 1.11 2003/05/27 23:15:25 alanmi Exp $]***********************************************************************/#ifndef __VMX_H__#define __VMX_H__/* The extended variable map (VMX) provides additional information compared to the original variable map (VM). This information concerns the binary encoding of MV variables, and is used to derive and manipulate MVfunctions and relation in the MVP package. An open question is: Should Vmx reference Vm object it refers to, or Vm object is referenced only by the node?*//////////////////////////////////////////////////////////////////////////// INCLUDES ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// PARAMETERS ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// STRUCTURE DEFINITIONS ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// MACRO DEFITIONS ///////////////////////////////////////////////////////////////////////////typedef struct VmxManagerStruct Vmx_Manager_t; // the VMX managertypedef struct VmxVarMapStruct Vmx_VarMap_t; // the VMX data structure/////////////////////////////////////////////////////////////////////////// FUNCTION DEFITIONS ////////////////////////////////////////////////////////////////////////////*=== Vmx.c =======================================================*//*=== VmxApi.c ====================================================*/extern Vmx_Manager_t * Vmx_VarMapReadMan( Vmx_VarMap_t * p );extern Vm_VarMap_t * Vmx_VarMapReadVm( Vmx_VarMap_t * p );extern int * Vmx_VarMapReadBits( Vmx_VarMap_t * p );extern int * Vmx_VarMapReadBitsFirst( Vmx_VarMap_t * p );extern int Vmx_VarMapReadBitsNum( Vmx_VarMap_t * p );extern int * Vmx_VarMapReadBitsOrder( Vmx_VarMap_t * p );/*=== VmxMan.c ====================================================*/extern Vmx_Manager_t * Vmx_ManagerAlloc();extern void Vmx_ManagerFree( Vmx_Manager_t * p );extern Vmx_Manager_t * Vmx_ManagerRef( Vmx_Manager_t * p );extern void Vmx_ManagerDeref( Vmx_Manager_t * p );/*=== VmxMap.c ====================================================*/extern Vmx_VarMap_t * Vmx_VarMapLookup( Vmx_Manager_t * pMan, Vm_VarMap_t * pVmxMv, int nBits, int * pBitsOrder );extern Vmx_VarMap_t * Vmx_VarMapRef( Vmx_VarMap_t * pVmx );extern Vmx_VarMap_t * Vmx_VarMapDeref( Vmx_VarMap_t * pVmx );extern void Vmx_VarMapPrint( Vmx_VarMap_t * pVmx );/*=== VmxCode.c ===================================================*/extern DdNode ** Vmx_VarMapEncodeMap( DdManager * dd, Vmx_VarMap_t * pVmx );extern DdNode ** Vmx_VarMapEncodeMapUsingVars( DdManager * dd, DdNode * pbVars[], Vmx_VarMap_t * pVmx );extern DdNode ** Vmx_VarMapEncodeVar( DdManager * dd, Vmx_VarMap_t * pVmx, int iVar );extern void Vmx_VarMapEncodeDeref( DdManager * dd, Vmx_VarMap_t * pVmxBin, DdNode ** pbCodes );extern DdNode * Vmx_VarMapCharCube( DdManager * dd, Vmx_VarMap_t * pVmxBin, int iVar );extern DdNode * Vmx_VarMapCharCubeInput( DdManager * dd, Vmx_VarMap_t * pVmx );extern DdNode * Vmx_VarMapCharCubeOutput( DdManager * dd, Vmx_VarMap_t * pVmx );extern void Vmx_VarMapDecode( Vmx_VarMap_t * pVmxBin, int * pCubeBin, int * pCubeM );/*=== VmxUtils.c ===================================================*/extern Vmx_VarMap_t * Vmx_VarMapCreateExpanded( Vmx_VarMap_t * pVmxN, Vm_VarMap_t * pVmNew, int * pTransNInv );extern Vmx_VarMap_t * Vmx_VarMapCreateReduced( Vmx_VarMap_t * pVmx, int * pSuppMv );extern Vmx_VarMap_t * Vmx_VarMapCreatePermuted( Vmx_VarMap_t * pVmx, int * pPermuteInv );extern Vmx_VarMap_t * Vmx_VarMapCreateOrdered( Vmx_VarMap_t * pVmx, int * pPermuteInv );extern Vmx_VarMap_t * Vmx_VarMapCreateReordered( Vmx_VarMap_t * pVmx, int * pOrder, int nBinVars );extern Vmx_VarMap_t * Vmx_VarMapCreatePower( Vmx_VarMap_t * pVmx, int Degree );extern Vmx_VarMap_t * Vmx_VarMapCreateAppended( Vmx_VarMap_t * pVmx, Vm_VarMap_t * pVmNew );/////////////////////////////////////////////////////////////////////////// END OF FILE ///////////////////////////////////////////////////////////////////////////#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -