<?xml version="1.0" encoding="ISO-8859-1"?>

<description>

   <comment>
     Ce composant décrit un prédicteur de branchement à deux niveaux
   </comment>

   <entity name="two_level_branch_predictor"
           type="Two_Level_Branch_Predictor"
           schema="1" >

      <port name="clock"           
            localisation="west" 
            direction="in">
        Port d'horloge                                                    
      </port>
      <port name="predict"         
            localisation="west" 
            direction="in">
        Interface de prediction : demande de la direction pour une adresse
      </port>
      <port name="branch_complete" 
            localisation="east"
            direction="out">
        Interface de mise à jour des branchement                           
      </port>

   </entity>

   <architecture>

     <component name="two_level_branch_predictor-branch_history_table"
                 type="Branch_History_Table"
                 size_x="10"
                 pos_x="50"
                 size_y="10"
                 pos_y="20" >

         <port_map name="clock"        
                   component="two_level_branch_predictor"
                   port="clock" />
         <port_map name="predict" 
                   component="two_level_branch_predictor"
                   port="predict"/>
	
         <port_map name="interne" 
                   component="two_level_branch_predictor-two_level_branch_predictor_glue"
                   port="interne"/>
	
         <port_map name="branch_complete"
                   component="two_level_branch_predictor"
                   port="branch_complete" />

      </component>

      <component name="two_level_branch_predictor-pattern_history_table" 
                 type="Pattern_History_Table"   
                 size_x="10"
                 pos_x="50"
                 size_y="10"
                 pos_y="80" >

         <port_map name="clock" 
                   component="two_level_branch_predictor"
                   port="clock" />
         <port_map name="predict"
                   component="two_level_branch_predictor"
                   port="predict"/>
         <port_map name="branch_complete"
                   component="two_level_branch_predictor"
                   port="branch_complete" />

      </component>


      <component name="two_level_branch_predictor-two_level_branch_predictor_glue"
                 type="Two_Level_Branch_Predictor_Glue"
                 size_x="10"
                 pos_x="50"
                 size_y="10"
                 pos_y="50" >

         <port_map name="interne" 
                   component="two_level_branch_predictor-branch_history_table"
                   port="interne"/>
         <port_map name="predict"
                   component="two_level_branch_predictor"
                   port="predict" />
         <port_map name="branch_complete"
                   component="two_level_branch_predictor"
                   port="branch_complete" />

      </component>

   </architecture>

</description>
