source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue_genMealy_branch_complete.cpp @ 88

Last change on this file since 88 was 88, checked in by rosiere, 16 years ago

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 1.5 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id: Front_end_Glue_genMealy_branch_complete.cpp 88 2008-12-10 18:31:39Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/include/Front_end_Glue.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace core {
14namespace multi_front_end {
15namespace front_end {
16namespace front_end_glue {
17
18#undef  FUNCTION
19#define FUNCTION "Front_end_Glue::genMealy_branch_complete"
20  void Front_end_Glue::genMealy_branch_complete (void)
21  {
22    log_begin(Front_end_Glue,FUNCTION);
23
24    for (uint32_t i=0; i<_param->_nb_inst_branch_complete; ++i)
25      {
26        Tcontrol_t miss_prediction = PORT_READ(in_BRANCH_COMPLETE_PREDICTION_UNIT_MISS_PREDICTION [i]);
27        PORT_WRITE(out_BRANCH_COMPLETE_MISS_PREDICTION               [i],miss_prediction);
28        PORT_WRITE(out_BRANCH_COMPLETE_CONTEXT_STATE_MISS_PREDICTION [i],miss_prediction);
29
30        Tcontrol_t val = PORT_READ(in_BRANCH_COMPLETE_VAL [i]);
31        PORT_WRITE(out_BRANCH_COMPLETE_PREDICTION_UNIT_VAL [i],val);
32        PORT_WRITE(out_BRANCH_COMPLETE_CONTEXT_STATE_VAL   [i],val);
33
34        Tcontrol_t ack = (PORT_READ(in_BRANCH_COMPLETE_PREDICTION_UNIT_ACK [i]) and
35                          PORT_READ(in_BRANCH_COMPLETE_CONTEXT_STATE_ACK   [i]));
36        PORT_WRITE(out_BRANCH_COMPLETE_ACK [i],ack);     
37      }
38
39    log_end(Front_end_Glue,FUNCTION);
40  };
41
42}; // end namespace front_end_glue
43}; // end namespace front_end
44}; // end namespace multi_front_end
45}; // end namespace core
46
47}; // end namespace behavioural
48}; // end namespace morpheo             
49#endif
Note: See TracBrowser for help on using the repository browser.