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

Last change on this file since 116 was 116, checked in by moulu, 15 years ago

1) added a generic multiplier (systemC isn't working with 8bits)
2) added a partial functionnal unit vhdl.

  • Property svn:keywords set to Id
File size: 1.5 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id: Functionnal_unit_genMealy.cpp 116 2009-04-30 13:51:41Z moulu $
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_begin(Functionnal_unit,FUNCTION);
26    log_function(Functionnal_unit,FUNCTION,_name.c_str());
27
28    {
29      internal_EXECUTE_OUT_VAL = (reg_BUSY_OUT and (_execute_operation_out->_timing._latence == 0));
30     
31      PORT_WRITE(out_EXECUTE_OUT_VAL          , internal_EXECUTE_OUT_VAL);
32    }
33
34    {
35      internal_EXECUTE_IN_ACK = (not reg_BUSY_IN or
36                                 (reg_BUSY_IN and (not reg_BUSY_OUT or
37                                                   (internal_EXECUTE_OUT_VAL and PORT_READ(in_EXECUTE_OUT_ACK)))));
38     
39      PORT_WRITE(out_EXECUTE_IN_ACK           , internal_EXECUTE_IN_ACK);
40    }
41
42    log_end(Functionnal_unit,FUNCTION);
43  };
44
45}; // end namespace functionnal_unit
46}; // end namespace execute_unit
47}; // end namespace multi_execute_unit
48}; // end namespace execute_loop
49}; // end namespace multi_execute_loop
50}; // end namespace core
51}; // end namespace behavioural
52}; // end namespace morpheo             
53#endif
Note: See TracBrowser for help on using the repository browser.