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

Last change on this file since 72 was 72, checked in by rosiere, 16 years ago
  • SystemC de l'unite fonctionnelle.
  • gestion des groupes / instructions custom
File size: 1.2 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id$
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.