source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Two_Level_Branch_Predictor_Glue/src/Two_Level_Branch_Predictor_Glue_genMealy_predict_bht_address.cpp @ 43

Last change on this file since 43 was 3, checked in by kane, 17 years ago

1) Ajout d'un "printer" XML pour la configuration de paramètres

2) Fin du composant "Two_Level_Branch_Predictor"

validation * systemc

  • vhdl
File size: 1.3 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Two_Level_Branch_Predictor_Glue/include/Two_Level_Branch_Predictor_Glue.h"
10#include "Include/BitManipulation.h"
11
12namespace morpheo {
13namespace behavioural {
14namespace stage_1_ifetch {
15namespace predictor {
16namespace meta_predictor {
17namespace two_level_branch_predictor {
18namespace two_level_branch_predictor_glue {
19
20  void Two_Level_Branch_Predictor_Glue::genMealy_predict_bht_address (void)
21  {
22    log_printf(FUNC,Two_Level_Branch_Predictor_Glue,"genMealy_predict_address","Begin");
23
24    if (_param._have_bht)
25      for (uint32_t i=0; i<_param._nb_prediction; i++)
26        {
27          // Address
28          Taddress_t     address = PORT_READ(in_PREDICT_ADDRESS [i]);
29          Taddress_t bht_address = range<Taddress_t>(_param._size_address, address, _param._bht_size_address);
30         
31          PORT_WRITE (out_PREDICT_BHT_ADDRESS [i], bht_address);
32        }
33   
34    log_printf(FUNC,Two_Level_Branch_Predictor_Glue,"genMealy_predict_address","End");
35  };
36
37}; // end namespace two_level_branch_predictor_glue
38}; // end namespace two_level_branch_predictor
39}; // end namespace meta_predictor
40}; // end namespace predictor
41}; // end namespace stage_1_ifetch
42}; // end namespace behavioural
43}; // end namespace morpheo             
44#endif
Note: See TracBrowser for help on using the repository browser.