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 @ 3

Last change on this file since 3 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.