Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMoore.cpp	(revision 104)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMoore.cpp	(revision 105)
@@ -99,5 +99,5 @@
 		      if (_param->_have_port_depth)
 		      PORT_WRITE(out_BRANCH_COMPLETE_DEPTH        [i], entry->depth           );
-		      PORT_WRITE(out_BRANCH_COMPLETE_ADDRESS      [i], entry->data_commit     );
+		      PORT_WRITE(out_BRANCH_COMPLETE_ADDRESS      [i], entry->address_next    );
 // 		      PORT_WRITE(out_BRANCH_COMPLETE_FLAG         [i],(entry->flags&FLAG_F)!=0);
 		      PORT_WRITE(out_BRANCH_COMPLETE_NO_SEQUENCE  [i], entry->no_sequence     );
@@ -117,18 +117,67 @@
     // ===================================================================
     {
-      Tcontrol_t val = false;
-
-      if (not _rob[reg_NUM_BANK_HEAD].empty())
-	{
-	  entry_t    * entry = _rob [reg_NUM_BANK_HEAD].front();
-	  rob_state_t  state = entry->state;
-
-	  val   = (state == ROB_END_EXCEPTION);
-	  
-	  if (val)
-	    {
-	      throw ERRORMORPHEO(FUNCTION,_("Moore : exception is not yet supported (Coming Soon).\n"));
-	    }
-	}
+      internal_UPDATE_VAL = 0;
+      internal_UPDATE_NUM_BANK = reg_NUM_BANK_HEAD;
+
+      if (not _rob[internal_UPDATE_NUM_BANK].empty())
+	{
+          log_printf(TRACE,Commit_unit,FUNCTION,"  * UPDATE");
+          log_printf(TRACE,Commit_unit,FUNCTION,"    * num_bank : %d",internal_UPDATE_NUM_BANK);
+
+	  entry_t * entry = _rob [internal_UPDATE_NUM_BANK].front();
+
+          switch (entry->state)
+            {
+            case ROB_END_EXCEPTION_UPDATE :
+              {
+                internal_UPDATE_VAL = 1;
+                throw ERRORMORPHEO(FUNCTION,_("Moore : exception is not yet supported (Coming Soon).\n"));
+                break;
+              }
+            case ROB_END_LOAD_MISS_UPDATE :
+              {
+                log_printf(TRACE,Commit_unit,FUNCTION,"    * ROB_END_LOAD_MISS_UPDATE");
+
+                internal_UPDATE_VAL = 1;
+
+                Tcontext_t front_end_id = entry->front_end_id;
+                Tcontext_t context_id   = entry->context_id  ;
+
+                log_printf(TRACE,Commit_unit,FUNCTION,"      * front_end_id : %d",front_end_id);
+                log_printf(TRACE,Commit_unit,FUNCTION,"      * context_id   : %d",context_id  );
+
+                if (_param->_have_port_front_end_id)
+                PORT_WRITE(out_UPDATE_FRONT_END_ID    ,front_end_id);
+                if (_param->_have_port_context_id)
+                PORT_WRITE(out_UPDATE_CONTEXT_ID      ,context_id  );
+                if (_param->_have_port_depth)
+                PORT_WRITE(out_UPDATE_DEPTH           ,entry->depth);
+                PORT_WRITE(out_UPDATE_TYPE            ,EVENT_TYPE_LOAD_MISS_SPECULATION);
+//                 PORT_WRITE(out_UPDATE_IS_DELAY_SLOT   ,reg_PC_CURRENT_IS_DS      [front_end_id][context_id]);
+//                 PORT_WRITE(out_UPDATE_ADDRESS         ,reg_PC_CURRENT            [front_end_id][context_id]);
+//                 PORT_WRITE(out_UPDATE_ADDRESS_EPCR_VAL,reg_PC_CURRENT_IS_DS_TAKE [front_end_id][context_id]);
+//                 PORT_WRITE(out_UPDATE_ADDRESS_EPCR    ,reg_PC_NEXT               [front_end_id][context_id]);
+//                 PORT_WRITE(out_UPDATE_ADDRESS_EEAR_VAL,0);
+// //              PORT_WRITE(out_UPDATE_ADDRESS_EEAR    ,);
+
+                PORT_WRITE(out_UPDATE_IS_DELAY_SLOT   ,0);
+                PORT_WRITE(out_UPDATE_ADDRESS         ,reg_PC_NEXT [front_end_id][context_id]);
+                PORT_WRITE(out_UPDATE_ADDRESS_EPCR_VAL,0);
+//              PORT_WRITE(out_UPDATE_ADDRESS_EPCR    ,);
+                PORT_WRITE(out_UPDATE_ADDRESS_EEAR_VAL,0);
+//              PORT_WRITE(out_UPDATE_ADDRESS_EEAR    ,);
+
+                break;
+              }
+            default :
+              {
+//                 internal_UPDATE_VAL = 0; 
+              }
+            }
+	}
+      
+      PORT_WRITE(out_UPDATE_VAL, internal_UPDATE_VAL);
+
+      log_printf(TRACE,Commit_unit,FUNCTION,"  * UPDATE (end)");
     }
  
