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

📄 ntkapi.c

📁 主要进行大规模的电路综合
💻 C
📖 第 1 页 / 共 2 页
字号:
//    assert( pNetBackup == NULL || pNet->pNetBackup == NULL );    pNet->pNetBackup = pNetBackup;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Ntk_NetworkSetStep( Ntk_Network_t * pNet, int iStep ){//    assert( pNet->iStep == 0 );    pNet->iStep = iStep;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Ntk_NodeSetName( Ntk_Node_t * pNode, char * pName ){    assert( pName == NULL || pNode->pName == NULL );    pNode->pName = pName;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Ntk_NodeSetSubtype( Ntk_Node_t * pNode, int Subtype ){    assert( pNode->Subtype == 0 );    pNode->Subtype = Subtype;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Ntk_NodeSetValueNum( Ntk_Node_t * pNode, int nValues ){//    assert( pNode->nValues == -1 );    pNode->nValues = nValues;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Ntk_NodeSetData( Ntk_Node_t * pNode, char * pData ){    pNode->pData = pData;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/void Ntk_NodeSetNetwork( Ntk_Node_t * pNode, Ntk_Network_t * pNet ){    assert( pNode->pNet == NULL );    pNode->pNet = pNet;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/bool Ntk_NodeIsCi( Ntk_Node_t * pNode ){    return (bool)(pNode->Type == MV_NODE_CI);}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/bool Ntk_NodeIsCo( Ntk_Node_t * pNode ){    return (bool)(pNode->Type == MV_NODE_CO);}/**Function*************************************************************  Synopsis    [Returns 1 if the node is a "CO driver".]  Description [A CO driver is an internal node, whose only fanout is a CO.]                 SideEffects []  SeeAlso     []***********************************************************************/bool Ntk_NodeIsCoDriver( Ntk_Node_t * pNode ){    Ntk_Node_t * pFanout;    if ( Ntk_NodeReadFanoutNum(pNode) == 1 )    {        pFanout = Ntk_NodeReadFanoutNode( pNode, 0 );        if ( pFanout->Type == MV_NODE_CO )            return 1;    }    return 0;}/**Function*************************************************************  Synopsis    [Returns 1 if the has one or more CO fanouts.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/bool Ntk_NodeIsCoFanin( Ntk_Node_t * pNode ){    Ntk_Node_t * pFanout;    Ntk_Pin_t * pPin;    Ntk_NodeForEachFanout( pNode, pPin, pFanout )    {        if ( Ntk_NodeIsCo(pFanout) )            return 1;    }    return 0;}/**Function*************************************************************  Synopsis    [If the intenal node has exactly one CO fanout, returns this CO.]  Description []                 SideEffects []  SeeAlso     []***********************************************************************/Ntk_Node_t * Ntk_NodeHasCoName( Ntk_Node_t * pNode ){    Ntk_Node_t * pFanout, * pFanoutCo;    Ntk_Pin_t * pPin;    int Counter;    // the node cannot have CO name if it is CI    if ( pNode->Type != MV_NODE_INT )        return NULL;    // the node ahs a CO name if it is an internal node,    // whose set of fanouts contains exactly one CO    Counter = 0;    Ntk_NodeForEachFanout( pNode, pPin, pFanout )        if ( pFanout->Type == MV_NODE_CO )        {            pFanoutCo = pFanout;            Counter++;        }    if ( Counter == 1 )        return pFanoutCo;    return NULL;}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/bool Ntk_NodeIsInternal( Ntk_Node_t * pNode ){    return (bool)(pNode->Type == MV_NODE_INT);}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/bool Ntk_NodeIsConstant( Ntk_Node_t * pNode ){    Fnc_Function_t * pF;    pF = Ntk_NodeReadFunc( pNode );    return (bool)(Vm_VarMapReadVarsInNum( Fnc_FunctionReadVm(pF) ) == 0);}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/bool Ntk_NodeBelongsToLatch( Ntk_Node_t * pNode ){    return (bool)(pNode->Subtype == MV_BELONGS_TO_LATCH);}/**Function*************************************************************  Synopsis    []  Description []                 SideEffects []  SeeAlso     []***********************************************************************/int Ntk_NodeReadDefault( Ntk_Node_t * pNode ){    Cvr_Cover_t * pCvr;    assert( pNode->Type == MV_NODE_INT );    pCvr = Ntk_NodeReadFuncCvr( pNode );    if ( pCvr == NULL )        return -1;    return Cvr_CoverReadDefault(pCvr);}///////////////////////////////////////////////////////////////////////////                       END OF FILE                                ///////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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