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

📄 cvr.h

📁 主要进行大规模的电路综合
💻 H
字号:
/**CFile****************************************************************  FileName    [cvr.h]  PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]  Synopsis    [External declarations of Cvr.]  Description [A Cvr_Cover_t is a data structure, similar to Tbl_Table_t, that  represents a multi-valued output SOP. It is inherited from the cube  (pset_family) structure used in ESPRESSO, but extends to multi-valued  outputs.   A Cvr_Cover_t is a static array of SOP (pset_family), eached called an i-set  of the cover. The size of the array is the same as the number of output  values. One of the output i-set is designated as the default valued and its  cover is by definition the complement of all other i-sets. The Cvr structure  has indexes to keep track of the number of output values and which value is  the default.   A Cvr_Cover_t can optionally have a compressed representation. Given a   priority ordering of all output values, each i-set can be minimized using  don't cares consisting of i-sets that preceeds it in the ordering. This has  direct application in functional simulation and software synthesis.]  Author      [MVSIS Group]  Affiliation [UC Berkeley]  Date        [Ver. 1.0. Started - February 1, 2003.]  Revision    [$Id: cvr.h,v 1.25 2003/05/27 23:14:56 alanmi Exp $]***********************************************************************/#ifndef __CVR_H__#define __CVR_H__///////////////////////////////////////////////////////////////////////////                    STRUCTURE DEFINITIONS                         ///////////////////////////////////////////////////////////////////////////typedef struct CvrCoverStruct      Cvr_Cover_t;   typedef Mvc_Cover_t *              Cvr_Iset_t;///////////////////////////////////////////////////////////////////////////                          INCLUDES                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                         PARAMETERS                               //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                       GLOBAL VARIABLES                           //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                       MACRO DEFITIONS                            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                     FUNCTION DEFITIONS                           ////////////////////////////////////////////////////////////////////////////*=== cvrApi.c ========================================================*/EXTERN Cvr_Cover_t *   Cvr_CoverCreate( Vm_VarMap_t * pVm, Mvc_Cover_t ** pIsets );EXTERN Cvr_Cover_t *   Cvr_CoverDup( Cvr_Cover_t * p );EXTERN void            Cvr_CoverFree( Cvr_Cover_t * p );EXTERN Mvc_Cover_t **  Cvr_CoverReadIsets( Cvr_Cover_t * p );EXTERN Mvc_Cover_t *   Cvr_CoverReadIsetByIndex( Cvr_Cover_t * p, int ind );EXTERN int             Cvr_CoverReadDefault( Cvr_Cover_t * p );EXTERN Vm_VarMap_t *   Cvr_CoverReadVm( Cvr_Cover_t * p );EXTERN void            Cvr_CoverSetIsets( Cvr_Cover_t * p, Mvc_Cover_t ** pIsets );EXTERN void            Cvr_CoverSetVm( Cvr_Cover_t * p, Vm_VarMap_t * pVm );EXTERN int             Cvr_CoverReadCubeNum( Cvr_Cover_t * p );EXTERN int             Cvr_CoverReadLitSopNum( Cvr_Cover_t * p );EXTERN int             Cvr_CoverReadLitSopValueNum( Cvr_Cover_t * p );/*=== cvrFunc.c ===================================================*/EXTERN void            Cvr_CoverComputeDefault (Cvr_Cover_t *cvr);EXTERN void            Cvr_CoverResetDefault (Cvr_Cover_t *cvr);EXTERN void            Cvr_CoverSetDefault  (Cvr_Cover_t *cvr, int i);EXTERN bool            Cvr_CoverIsConst (Cvr_Cover_t *cvr, unsigned *bPos);EXTERN void            Cvr_CoverAdjust  (Cvr_Cover_t *pCnew, Vm_VarMap_t *pVmNew,                                         int *lPos);EXTERN Cvr_Cover_t *   Cvr_CoverCreateAdjusted(Cvr_Cover_t *pCvr,Vm_VarMap_t *pVmNew,                                         int *pnPos);EXTERN Mvc_Cover_t *   Cvr_IsetAdjust (Mvc_Cover_t *pIset, Vm_VarMap_t *pMnew,                                       Vm_VarMap_t *pMold, int *pnPos);EXTERN Cvr_Cover_t *   Cvr_CoverCreatePermuted( Cvr_Cover_t * pCvr, int * pPermuteInv );EXTERN Cvr_Cover_t *   Cvr_CoverCreateAdjust  (Cvr_Cover_t *pCnew, Vm_VarMap_t *pVmNew,                                               int *lPos);EXTERN int             Cvr_CoverCountLiterals( Vm_VarMap_t * pVm, Mvc_Cover_t * pCover );EXTERN int             Cvr_CoverCountLiteralValues( Vm_VarMap_t * pVm, Mvc_Cover_t * pCover );EXTERN Cvr_Cover_t *   Cvr_CoverOr  ( Cvr_Cover_t *pCvr1, Cvr_Cover_t *pCvr2 );EXTERN Cvr_Cover_t *   Cvr_CoverCreateCollapsed( Cvr_Cover_t * pCvrN, Cvr_Cover_t * pCvrF,                            Vm_VarMap_t * pVmNew, int * pTransMapNInv, int * pTransMapF );EXTERN Cvr_Cover_t *   Cvr_CoverCreateExpanded( Cvr_Cover_t * pCvr, Vm_VarMap_t * pVmNew );EXTERN bool            Cvr_CoverIsND( Mvc_Data_t * pData, Cvr_Cover_t * pCvr );EXTERN int             Cvr_CoverCountLitsWithValue( Mvc_Data_t * pData, Cvr_Cover_t * pCvr, int iVar, int iValue );/*=== cvrEspresso.c ===================================================*/EXTERN void            Cvr_CoverEspressoRelation( Cvr_Cover_t * pCf, Mvc_Cover_t * pCd,                                                  int method, bool fSparse,                                                  bool fConserve, bool fPhase );EXTERN void            Cvr_CoverEspresso( Cvr_Cover_t * pCvr, Mvc_Cover_t *pCd,int Method,                                          bool fSparse, bool fConserve, bool fPhase );EXTERN Mvc_Cover_t *   Cvr_IsetEspresso( Vm_VarMap_t * pVm,                                          Mvc_Cover_t *OnSet, Mvc_Cover_t *DcSet, int Method,                                         bool fSparse, bool fConserve);EXTERN Mvc_Cover_t *   Cvr_CoverComplement( Vm_VarMap_t *pVm, Mvc_Cover_t *pMvc );EXTERN void            Cvr_CubeCleanUp( void );/*=== cvrFactor.c ===================================================*/EXTERN Ft_Tree_t *     Cvr_CoverFactor( Cvr_Cover_t * pCvr );EXTERN int             Cvr_CoverReadLitFacNum( Cvr_Cover_t * p );EXTERN int             Cvr_CoverReadLeafValueNum( Cvr_Cover_t * p );EXTERN Ft_Tree_t *     Cvr_CoverReadTree( Cvr_Cover_t * p );EXTERN void            Cvr_CoverFreeFactor( Cvr_Cover_t * p );/*=== cvrUtils.c ===================================================*/EXTERN int             Cvr_CoverSupport( Cvr_Cover_t *pCvr, int *pSuppMv );EXTERN Cvr_Cover_t *   Cvr_CoverCreateMinimumBase( Cvr_Cover_t *pCvr, int *pSuppMv );EXTERN Mvc_Cube_t *    Cvr_CoverCreateCube( Cvr_Cover_t *pCvr );EXTERN void            Cvr_CoverDestroyCube( Cvr_Cover_t *pCvr, Mvc_Cube_t *pMvcCube );EXTERN void            Cvr_CubeClean( Cvr_Cover_t *pCvr, Mvc_Cube_t *pCube );EXTERN void            Cvr_CoverPrint( Cvr_Cover_t *pCvr );///////////////////////////////////////////////////////////////////////////                       END OF FILE                                ///////////////////////////////////////////////////////////////////////////#endif

⌨️ 快捷键说明

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