... #include // DELETE ME #include // DELETE ME using std::runtime_error; // DELETE ME ... while (procs_idx_) { NetProcTop*idx = procs_idx_; procs_idx_ = idx->next_; fun->process(this, idx); string expectedHierarchicalLatchPath( "OpenSPARCT1.ctu_top_rptr.so_lockup" ); // DELETE ME if ( strcmp( idx->scope()->module_name().str(), "bw_u1_scanlg_2x" ) == 0 && idx->scope()->name() == expectedHierarchicalLatchPath ) // DELETE ME { // DELETE ME cout << "Fully qualified hierarchical name is " << idx->scope()->name() << endl; // DELETE ME hname_t latchPath( "OpenSPARCT1" ); // DELETE ME latchPath.append( "ctu_top_rptr" ); // DELETE ME latchPath.append( "so_lockup" ); // DELETE ME NetScope *latchScopePtr = this->find_scope( latchPath ); // DELETE ME if ( latchScopePtr == 0 ) // DELETE ME { // DELETE ME throw runtime_error( "latchScopePtr is null." ); // DELETE ME } // DELETE ME Link *linkPtr = latchScopePtr->find_signal("ck")->pin(0U).nexus()->first_nlink(); // DELETE ME while ( linkPtr ) // DELETE ME { // DELETE ME if ( linkPtr->get_obj()->scope() == latchScopePtr ) // DELETE ME { // DELETE ME cout << "Type name of object connected to ck in latch scope is " << typeid( *linkPtr->get_obj() ).name() << endl; // DELETE ME NetLogic *derivedPtr = dynamic_cast < NetLogic * > ( linkPtr->get_obj() ); // DELETE ME if ( derivedPtr != 0 ) // DELETE ME { // DELETE ME cout << "Name of nexus on output side of NOT gate is " << derivedPtr->pin(0U).nexus()->name() << endl; // DELETE ME Link *innerLinkPtr = derivedPtr->pin(0U).nexus()->first_nlink(); // DELETE ME while ( innerLinkPtr ) // DELETE ME { // DELETE ME cout << "Type name of object connected to _s6 is " << typeid( *innerLinkPtr->get_obj() ).name() << endl; // DELETE ME innerLinkPtr = innerLinkPtr->next_nlink(); // DELETE ME } // DELETE ME } // DELETE ME } // DELETE ME linkPtr = linkPtr->next_nlink(); // DELETE ME } // DELETE ME } // DELETE ME } ...