主要进行大规模的电路综合

源代码在线查看: vm.h

软件大小: 1503 K
上传用户: jhjfjh22544
关键词: 大规模 电路
下载地址: 免注册下载 普通下载 VIP

相关代码

				/**CFile****************************************************************								  FileName    [vm.h]								  PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]								  Synopsis    [Declarations of the variable map (VM) package.]								  Author      [MVSIS Group]				  				  Affiliation [UC Berkeley]								  Date        [Ver. 1.0. Started - February 1, 2003.]								  Revision    [$Id: vm.h,v 1.13 2003/05/27 23:15:22 alanmi Exp $]								***********************************************************************/								#ifndef __VM_H__				#define __VM_H__								////////////////////////////////////////////////////////////////////////				///                          INCLUDES                                ///				////////////////////////////////////////////////////////////////////////				#include "mvtypes.h"								////////////////////////////////////////////////////////////////////////				///                         PARAMETERS                               ///				////////////////////////////////////////////////////////////////////////								////////////////////////////////////////////////////////////////////////				///                    STRUCTURE DEFINITIONS                         ///				////////////////////////////////////////////////////////////////////////								////////////////////////////////////////////////////////////////////////				///                       MACRO DEFITIONS                            ///				////////////////////////////////////////////////////////////////////////								typedef struct VmManagerStruct    Vm_Manager_t;    // the MV relation manager				typedef struct VmVarMapStruct     Vm_VarMap_t;     // the mapping of variables								////////////////////////////////////////////////////////////////////////				///                     FUNCTION DEFITIONS                           ///				////////////////////////////////////////////////////////////////////////								/*=== Vm.c =======================================================*/				/*=== VmApi.c ====================================================*/				extern Vm_Manager_t *   Vm_VarMapReadMan( Vm_VarMap_t * p );				extern int              Vm_VarMapReadVarsInNum( Vm_VarMap_t * p );				extern int              Vm_VarMapReadVarsOutNum( Vm_VarMap_t * p );				extern int              Vm_VarMapReadVarsNum( Vm_VarMap_t * p );				extern int              Vm_VarMapReadValuesInNum( Vm_VarMap_t * p );				extern int              Vm_VarMapReadValuesOutNum( Vm_VarMap_t * p );				extern int              Vm_VarMapReadValuesNum( Vm_VarMap_t * p );				extern int              Vm_VarMapReadValues( Vm_VarMap_t * p, int iVar );				extern int              Vm_VarMapReadValuesFirst( Vm_VarMap_t * p, int iVar );				extern int              Vm_VarMapReadValuesOutput( Vm_VarMap_t * p );				extern int *            Vm_VarMapReadValuesArray( Vm_VarMap_t * p );				extern int *            Vm_VarMapReadValuesFirstArray( Vm_VarMap_t * p );				extern int *            Vm_VarMapGetStorageSupport1( Vm_VarMap_t * p );				extern int *            Vm_VarMapGetStorageSupport2( Vm_VarMap_t * p );				extern int *            Vm_VarMapGetStoragePermute( Vm_VarMap_t * p );				extern int *            Vm_VarMapGetStorageArray1( Vm_VarMap_t * p );				extern int *            Vm_VarMapGetStorageArray2( Vm_VarMap_t * p );				extern bool             Vm_VarMapIsBinary( Vm_VarMap_t * p );				extern bool             Vm_VarMapIsBinaryInput( Vm_VarMap_t * p );				/*=== VmMan.c ====================================================*/				extern Vm_Manager_t *   Vm_ManagerAlloc();				extern void             Vm_ManagerFree( Vm_Manager_t * p );				extern Vm_Manager_t *   Vm_ManagerRef( Vm_Manager_t * p );				extern void             Vm_ManagerDeref( Vm_Manager_t * p );				/*=== VmMap.c ====================================================*/				extern Vm_VarMap_t *    Vm_VarMapLookup( Vm_Manager_t * p, int nVarsIn, int nVarsOut, int * pValues );				extern Vm_VarMap_t *    Vm_VarMapRef( Vm_VarMap_t * pVm );				extern Vm_VarMap_t *    Vm_VarMapDeref( Vm_VarMap_t * pVm );				/*=== VmUtils.c ====================================================*/				extern Vm_VarMap_t *    Vm_VarMapCreateOneDiff( Vm_VarMap_t * pVm, int iVar, int nVarValuesNew );				extern Vm_VarMap_t *    Vm_VarMapCreateExpanded( Vm_VarMap_t * pVmBase, Vm_VarMap_t * pVmExt, int * pVarsUsed );				extern Vm_VarMap_t *    Vm_VarMapCreateReduced( Vm_VarMap_t * pVm, int * pVarsUsed );				extern Vm_VarMap_t *    Vm_VarMapCreatePermuted( Vm_VarMap_t * pVm, int * pPermuteInv );				extern Vm_VarMap_t *    Vm_VarMapCreatePower( Vm_VarMap_t * pVm, int Degree );				extern Vm_VarMap_t *    Vm_VarMapCreateExtended( Vm_VarMap_t * pVm, int nValues );				extern Vm_VarMap_t *    Vm_VarMapCreateAdded( Vm_VarMap_t * pVm1, Vm_VarMap_t * pVm2 );				extern Vm_VarMap_t *    Vm_VarMapCreateInputOutput( Vm_VarMap_t * pVmIn, Vm_VarMap_t * pVmOut );				extern Vm_VarMap_t *    Vm_VarMapCreateInputOutputSet( Vm_VarMap_t * pVmIn, Vm_VarMap_t * pVmOut, bool fUseSetIns, bool fUseSetOuts );								////////////////////////////////////////////////////////////////////////				///                       END OF FILE                                ///				////////////////////////////////////////////////////////////////////////								#endif							

相关资源