Ignore:
Timestamp:
May 14, 2008, 3:09:48 PM (16 years ago)
Author:
rosiere
Message:
  • Ifetch_unit : systemC test ok
  • modif shell script and makefile.tools : SHELL=/bin/bash
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_allocation.cpp

    r82 r85  
    213213
    214214      {
    215         dest = _name;
    216 
    217 #ifdef POSITION
    218         _component->interface_map (src ,"address",
    219                                    dest,"icache_req");
    220         _component->interface_map (src                     ,"address",
    221                                    dest+"_ifetch_unit_glue","address");
    222 #endif
     215        dest = _name+"_ifetch_queue";
    223216
    224217        for (uint32_t i=0; i<_param->_nb_instruction; i++)
    225218          {
    226219#ifdef POSITION
    227             _component->interface_map (src                 ,"address_"+toString(i),
    228                                        dest+"_ifetch_queue","address_"+toString(i));
    229 #endif
    230             PORT_MAP(_component,src                ,"out_ADDRESS_"+toString(i)+"_INSTRUCTION_ENABLE",
    231                                 dest+"_ifetch_queue", "in_ADDRESS_"+toString(i)+"_INSTRUCTION_ENABLE");
     220            _component->interface_map (src ,"address_"+toString(i),
     221                                       dest,"address_"+toString(i));
     222#endif
     223            COMPONENT_MAP(_component,src ,"out_ADDRESS_"+toString(i)+"_INSTRUCTION_ENABLE",
     224                                     dest, "in_ADDRESS_"+toString(i)+"_INSTRUCTION_ENABLE");
    232225          }
    233226
    234         PORT_MAP(_component,src ,"out_ADDRESS_VAL"                        ,
    235                             dest+"_ifetch_unit_glue", "in_ICACHE_REQ_ADDRESS_VAL"         );
    236         PORT_MAP(_component,src , "in_ADDRESS_ACK"                        ,
    237                             dest+"_ifetch_unit_glue","out_ICACHE_REQ_ADDRESS_ACK"         );
    238         PORT_MAP(_component,src ,"out_ADDRESS_INSTRUCTION_ADDRESS"        ,
    239                             dest,"out_ICACHE_REQ_ADDRESS");
    240         PORT_MAP(_component,src ,"out_ADDRESS_INSTRUCTION_ADDRESS"        ,
    241                             dest+"_ifetch_queue", "in_ADDRESS_INSTRUCTION_ADDRESS"        );
    242227        if (_param->_have_port_instruction_ptr)
    243         PORT_MAP(_component,src ,"out_ADDRESS_INST_IFETCH_PTR"            ,
    244                             dest+"_ifetch_queue", "in_ADDRESS_INST_IFETCH_PTR"            );
    245         PORT_MAP(_component,src ,"out_ADDRESS_BRANCH_STATE"               ,
    246                             dest+"_ifetch_queue", "in_ADDRESS_BRANCH_STATE"               );
     228        COMPONENT_MAP(_component,src ,"out_ADDRESS_INST_IFETCH_PTR"            ,
     229                                 dest, "in_ADDRESS_INST_IFETCH_PTR"            );
     230        COMPONENT_MAP(_component,src ,"out_ADDRESS_BRANCH_STATE"               ,
     231                                 dest, "in_ADDRESS_BRANCH_STATE"               );
    247232        if (_param->_have_port_branch_update_prediction_id)
    248         PORT_MAP(_component,src ,"out_ADDRESS_BRANCH_UPDATE_PREDICTION_ID",
    249                             dest+"_ifetch_queue", "in_ADDRESS_BRANCH_UPDATE_PREDICTION_ID");
     233        COMPONENT_MAP(_component,src ,"out_ADDRESS_BRANCH_UPDATE_PREDICTION_ID",
     234                                 dest, "in_ADDRESS_BRANCH_UPDATE_PREDICTION_ID");
     235
     236        dest = _name+"_ifetch_unit_glue";
     237
     238#ifdef POSITION
     239        _component->interface_map (src ,"address",
     240                                   dest,"address");
     241#endif
     242
     243        COMPONENT_MAP(_component,src ,"out_ADDRESS_VAL"           ,
     244                                 dest, "in_ICACHE_REQ_ADDRESS_VAL");
     245        COMPONENT_MAP(_component,src , "in_ADDRESS_ACK"           ,
     246                                 dest,"out_ICACHE_REQ_ADDRESS_ACK");
     247        COMPONENT_MAP(_component,src ,"out_ADDRESS_INSTRUCTION_ADDRESS",
     248                                 dest, "in_ICACHE_REQ_ADDRESS_ADDRESS");
    250249      }
    251250
     
    302301#endif
    303302
    304         PORT_MAP(_component,src , "in_EVENT_VAL"    ,dest ,"out_EVENT_ADDRESS_VAL");
    305         PORT_MAP(_component,src ,"out_EVENT_ACK"    ,dest , "in_EVENT_ADDRESS_ACK");
    306         PORT_MAP(_component,src , "in_EVENT_ADDRESS",_name, "in_EVENT_ADDRESS");
     303        COMPONENT_MAP(_component,src , "in_EVENT_VAL"    ,dest ,"out_EVENT_ADDRESS_VAL");
     304        COMPONENT_MAP(_component,src ,"out_EVENT_ACK"    ,dest , "in_EVENT_ADDRESS_ACK");
     305
     306
     307        dest = _name;
     308        PORT_MAP(_component,src , "in_EVENT_ADDRESS",dest, "in_EVENT_ADDRESS");
    307309      }
    308310    }
     
    333335#endif
    334336
     337        if (_param->_have_port_queue_ptr)
     338        PORT_MAP(_component,src ,"out_ADDRESS_IFETCH_QUEUE_ID"            ,
     339                            dest,"out_ICACHE_REQ_PACKET_ID"               );
     340
    335341        for (uint32_t i=0; i<_param->_nb_instruction; i++)
    336342          {
     
    339345                                       dest+"_address_management","address_"+toString(i));
    340346#endif
    341            
    342             PORT_MAP(_component,src                       , "in_ADDRESS_"+toString(i)+"_INSTRUCTION_ENABLE"         ,
    343                                 dest+"_address_management","out_ADDRESS_"+toString(i)+"_INSTRUCTION_ENABLE"         );
     347
     348            //out_ADDRESS_INSTRUCTION_ENABLE - address_management
    344349          }
    345350
    346         PORT_MAP(_component,src , "in_ADDRESS_VAL"                        ,
    347                             dest+"_ifetch_unit_glue"  ,"out_ICACHE_REQ_QUEUE_VAL"                        );
    348         PORT_MAP(_component,src ,"out_ADDRESS_ACK"                        ,
    349                             dest+"_ifetch_unit_glue"  , "in_ICACHE_REQ_QUEUE_ACK"                        );
    350         if (_param->_have_port_queue_ptr)
    351         PORT_MAP(_component,src ,"out_ADDRESS_IFETCH_QUEUE_ID"            ,
    352                             dest                      ,"out_ICACHE_REQ_PACKET_ID"               );
    353         PORT_MAP(_component,src , "in_ADDRESS_INSTRUCTION_ADDRESS"        ,
    354                             dest+"_address_management","out_ADDRESS_INSTRUCTION_ADDRESS"        );
    355         if (_param->_have_port_instruction_ptr)
    356         PORT_MAP(_component,src , "in_ADDRESS_INST_IFETCH_PTR"            ,
    357                             dest+"_address_management","out_ADDRESS_INST_IFETCH_PTR"            );
    358         PORT_MAP(_component,src , "in_ADDRESS_BRANCH_STATE"               ,
    359                             dest+"_address_management","out_ADDRESS_BRANCH_STATE"               );
    360         if (_param->_have_port_branch_update_prediction_id)
    361         PORT_MAP(_component,src , "in_ADDRESS_BRANCH_UPDATE_PREDICTION_ID",
    362                             dest+"_address_management","out_ADDRESS_BRANCH_UPDATE_PREDICTION_ID");
     351        dest = _name+"_ifetch_unit_glue";
     352
     353        COMPONENT_MAP(_component,src , "in_ADDRESS_VAL"         ,
     354                                 dest,"out_ICACHE_REQ_QUEUE_VAL");
     355        COMPONENT_MAP(_component,src ,"out_ADDRESS_ACK"         ,
     356                                 dest, "in_ICACHE_REQ_QUEUE_ACK");
     357        COMPONENT_MAP(_component,src , "in_ADDRESS_INSTRUCTION_ADDRESS",
     358                                 dest,"out_ICACHE_REQ_QUEUE_ADDRESS");
     359        // in_ADDRESS_INST_IFETCH_PTR             - address_management
     360        // in_ADDRESS_BRANCH_STATE                - address_management
     361        // in_ADDRESS_BRANCH_UPDATE_PREDICTION_ID - address_management
    363362      }
    364363
     
    428427#endif
    429428
    430         PORT_MAP(_component,src , "in_EVENT_RESET_VAL",dest,"out_EVENT_QUEUE_VAL");
    431         PORT_MAP(_component,src ,"out_EVENT_RESET_ACK",dest, "in_EVENT_QUEUE_ACK");
     429        COMPONENT_MAP(_component,src , "in_EVENT_RESET_VAL",dest,"out_EVENT_QUEUE_VAL");
     430        COMPONENT_MAP(_component,src ,"out_EVENT_RESET_ACK",dest, "in_EVENT_QUEUE_ACK");
    432431      }
    433432    }
     
    458457#endif
    459458       
    460         PORT_MAP(_component,src ,"out_ICACHE_REQ_VAL"        ,dest                      ,"out_ICACHE_REQ_VAL");
    461         PORT_MAP(_component,src , "in_ICACHE_REQ_ADDRESS_VAL",dest+"_address_management","out_ADDRESS_VAL");
    462         PORT_MAP(_component,src ,"out_ICACHE_REQ_QUEUE_VAL"  ,dest+"_ifetch_queue"      , "in_ADDRESS_VAL"  );
    463         PORT_MAP(_component,src , "in_ICACHE_REQ_ACK"        ,dest                      , "in_ICACHE_REQ_ACK");
    464         PORT_MAP(_component,src ,"out_ICACHE_REQ_ADDRESS_ACK",dest+"_address_management", "in_ADDRESS_ACK");
    465         PORT_MAP(_component,src , "in_ICACHE_REQ_QUEUE_ACK"  ,dest+"_ifetch_queue"      ,"out_ADDRESS_ACK");
    466         PORT_MAP(_component,src ,"out_ICACHE_REQ_TYPE"       ,dest                      ,"out_ICACHE_REQ_TYPE");
     459        PORT_MAP(_component,src ,"out_ICACHE_REQ_VAL"    ,dest,"out_ICACHE_REQ_VAL");
     460        PORT_MAP(_component,src , "in_ICACHE_REQ_ACK"    ,dest, "in_ICACHE_REQ_ACK");
     461        PORT_MAP(_component,src ,"out_ICACHE_REQ_TYPE"   ,dest,"out_ICACHE_REQ_TYPE");
     462        PORT_MAP(_component,src ,"out_ICACHE_REQ_ADDRESS",dest,"out_ICACHE_REQ_ADDRESS");
     463
     464        // in_ICACHE_REQ_ADDRESS_VAL     - address_management
     465        //out_ICACHE_REQ_QUEUE_VAL       - ifetch_queue     
     466        //out_ICACHE_REQ_ADDRESS_ACK     - address_management
     467        // in_ICACHE_REQ_QUEUE_ACK       - ifetch_queue     
     468        // in_ICACHE_REQ_ADDRESS_ADDRESS - address_management
     469        //out_ICACHE_REQ_QUEUE_ADDRESS   - ifetch_queue     
     470
    467471      }
    468472
     
    476480
    477481        PORT_MAP(_component,src , "in_EVENT_VAL"        ,dest                      , "in_EVENT_VAL"        );
    478         PORT_MAP(_component,src ,"out_EVENT_ADDRESS_VAL",dest+"_address_management", "in_EVENT_VAL"        );
    479         PORT_MAP(_component,src ,"out_EVENT_QUEUE_VAL"  ,dest+"_ifetch_queue"      , "in_EVENT_RESET_VAL"  );
    480482        PORT_MAP(_component,src ,"out_EVENT_ACK"        ,dest                      ,"out_EVENT_ACK"        );
    481         PORT_MAP(_component,src , "in_EVENT_ADDRESS_ACK",dest+"_address_management","out_EVENT_ACK"        );
    482         PORT_MAP(_component,src , "in_EVENT_QUEUE_ACK"  ,dest+"_ifetch_queue"      ,"out_EVENT_RESET_ACK"  );
     483
     484        //out_EVENT_ADDRESS_VAL - address_management
     485        //out_EVENT_QUEUE_VAL   - ifetch_queue     
     486        // in_EVENT_ADDRESS_ACK - address_management
     487        // in_EVENT_QUEUE_ACK   - ifetch_queue     
    483488      }
    484489    }
    485490
    486491    // ~~~~~[ Others ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    487      _component->test_map();
     492    if (DEBUG_Ifetch_unit == true)
     493      _component->test_map();
    488494
    489495#ifdef POSITION
Note: See TracChangeset for help on using the changeset viewer.