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

📄 fmdata.c

📁 主要进行大规模的电路综合
💻 C
字号:
/**CFile****************************************************************  FileName    [fmData.c]  PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]  Synopsis    [Procedures to access user's data stored in Sh_Node_t.]  Author      [MVSIS Group]    Affiliation [UC Berkeley]  Date        [Ver. 1.0. Started - February 1, 2003.]  Revision    [$Id: fmData.c,v 1.3 2003/05/27 23:15:32 alanmi Exp $]***********************************************************************/#include "fmInt.h"///////////////////////////////////////////////////////////////////////////                        DECLARATIONS                              //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                     FUNCTION DEFITIONS                           ////////////////////////////////////////////////////////////////////////////**Function*************************************************************  Synopsis    [Retrieves the global BDD of the node.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/DdNode * Fm_DataGetNodeGlo( Sh_Node_t * pNode ){    Sh_Node_t * pNodeR;    bool fCompl;    pNodeR = Sh_Regular(pNode);    fCompl = Sh_IsComplement(pNode);    if ( pNodeR->pData == 0 )        return NULL;    return Cudd_NotCond( (DdNode *)pNodeR->pData,  fCompl );}/**Function*************************************************************  Synopsis    [Retrieves the second global BDD of the node.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/DdNode * Fm_DataGetNodeGloZ( Sh_Node_t * pNode ){    Sh_Node_t * pNodeR;    bool fCompl;    pNodeR = Sh_Regular(pNode);    fCompl = Sh_IsComplement(pNode);    if ( pNodeR->pData2 == 0 )        return NULL;    return Cudd_NotCond( (DdNode *)pNodeR->pData2,  fCompl );}/**Function*************************************************************  Synopsis    [Retrieves the global BDD of the node.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Fm_DataSetNodeGlo( Sh_Node_t * pNode, DdNode * bGlo ){    Sh_Node_t * pNodeR;    bool fCompl;    pNodeR = Sh_Regular(pNode);    fCompl = Sh_IsComplement(pNode);    assert( pNodeR->pData == 0 );    pNodeR->pData = (unsigned)Cudd_NotCond( bGlo, fCompl );}/**Function*************************************************************  Synopsis    [Retrieves the global BDD of the node.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Fm_DataSetNodeGloZ( Sh_Node_t * pNode, DdNode * bGlo ){    Sh_Node_t * pNodeR;    bool fCompl;    pNodeR = Sh_Regular(pNode);    fCompl = Sh_IsComplement(pNode);    assert( pNodeR->pData2 == 0 );    pNodeR->pData2 = (unsigned)Cudd_NotCond( bGlo, fCompl );}/**Function*************************************************************  Synopsis    [Retrieves the global BDD of the node.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Fm_DataSwapNodeGloAndGloZ( Sh_Node_t * pNode ){    unsigned Temp;    Sh_Node_t * pNodeR;    bool fCompl;    pNodeR = Sh_Regular(pNode);    fCompl = Sh_IsComplement(pNode);    assert( pNodeR->pData  );    assert( pNodeR->pData2 );    Temp           = pNodeR->pData;    pNodeR->pData  = pNodeR->pData2;    pNodeR->pData2 = Temp;}/**Function*************************************************************  Synopsis    [Derefs all BDDs at the node.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Fm_DataDerefNodeGlo( DdManager * dd, Sh_Node_t * pNode ){    Sh_Node_t * pNodeR;    pNodeR = Sh_Regular(pNode);    if ( pNodeR->pData )    {        Cudd_RecursiveDeref( dd, (DdNode *)pNodeR->pData );        pNodeR->pData = 0;    }    if ( pNodeR->pData2 )    {        Cudd_RecursiveDeref( dd, (DdNode *)pNodeR->pData2 );        pNodeR->pData2 = 0;    }}///////////////////////////////////////////////////////////////////////////                       END OF FILE                                ///////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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