source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMealy.cpp @ 81

Last change on this file since 81 was 81, checked in by rosiere, 16 years ago
  • Finish Environment (and test)
  • Continue predictor_unit
  • Add external tools
  • svn keyword "Id" set
  • Property svn:keywords set to Id
File size: 1.2 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id: Functionnal_unit_genMealy.cpp 81 2008-04-15 18:40:01Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace core {
14namespace multi_execute_loop {
15namespace execute_loop {
16namespace multi_execute_unit {
17namespace execute_unit {
18namespace functionnal_unit {
19
20
21#undef  FUNCTION
22#define FUNCTION "Functionnal_unit::genMealy"
23  void Functionnal_unit::genMealy (void)
24  {
25    log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
26
27    bool execute_out_transaction = (PORT_READ(in_EXECUTE_OUT_ACK) and
28                                    (reg_BUSY and (_execute_operation->_timing._latence == 0)));
29
30    internal_EXECUTE_IN_ACK = not reg_BUSY or (reg_BUSY and execute_out_transaction);
31
32    PORT_WRITE(out_EXECUTE_IN_ACK, internal_EXECUTE_IN_ACK);
33
34    log_printf(FUNC,Functionnal_unit,FUNCTION,"End");
35  };
36
37}; // end namespace functionnal_unit
38}; // end namespace execute_unit
39}; // end namespace multi_execute_unit
40}; // end namespace execute_loop
41}; // end namespace multi_execute_loop
42}; // end namespace core
43
44}; // end namespace behavioural
45}; // end namespace morpheo             
46#endif
Note: See TracBrowser for help on using the repository browser.