source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_msg_error.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: 2.0 KB
Line 
1/*
2 * $Id: Parameters_msg_error.cpp 116 2009-04-30 13:51:41Z moulu $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/include/Types.h"
9#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h"
10#include <sstream>
11
12namespace morpheo                    {
13namespace behavioural {
14namespace core {
15namespace multi_execute_loop {
16namespace execute_loop {
17namespace multi_execute_unit {
18namespace execute_unit {
19namespace functionnal_unit {
20
21
22#undef  FUNCTION
23#define FUNCTION "Functionnal_unit::msg_error"
24  Parameters_test Parameters::msg_error(void)
25  {
26    log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
27
28    Parameters_test test("Functionnal_unit");
29
30//     for (uint32_t i=0; i<_nb_type; i++)
31//       for (uint32_t j=0; j<_nb_operation; j++)
32//      if (_timing[i][j]._delay != _timing[i][j]._latence)
33//        test.error(toString(_("For the type '%d', and the operation '%d', the delay and the latence must be equal.\n"),i,j));
34   
35//     if ((_timing[TYPE_ALU][OPERATION_ALU_ADD]._delay   != 1) or
36//         (_timing[TYPE_ALU][OPERATION_ALU_ADD]._latence != 1))
37//       test.error(toString(_("Valid timing for operation [%d][%d] is : {%d,%d}.\n"),TYPE_ALU,OPERATION_ALU_ADD,1,1));
38
39
40    if (_have_groupe_MAC and ((_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MAC  ]._latence == 0) or
41                              (_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MACRC]._latence == 0) or
42                              (_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MSB  ]._latence == 0)))
43      test.error(_("The functionnal unit implements a MAC unit, the latence to operation OPERATION_ALU_L_MAC, OPERATION_ALU_L_MACRC and OPERATION_ALU_L_MSB must be higher than 0.\n"));
44
45    log_printf(FUNC,Functionnal_unit,FUNCTION,"End");
46
47    return test;
48  };
49
50}; // end namespace functionnal_unit
51}; // end namespace execute_unit
52}; // end namespace multi_execute_unit
53}; // end namespace execute_loop
54}; // end namespace multi_execute_loop
55}; // end namespace core
56}; // end namespace behavioural
57}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.