source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Parameters_msg_error.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: 2.1 KB
Line 
1/*
2 * $Id: Parameters_msg_error.cpp 88 2008-12-10 18:31:39Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/include/Types.h"
9#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/include/Parameters.h"
10#include <sstream>
11
12namespace morpheo                    {
13namespace behavioural {
14namespace core {
15namespace multi_ooo_engine {
16namespace ooo_engine {
17namespace rename_unit {
18namespace register_translation_unit {
19namespace free_list_unit {
20
21
22#undef  FUNCTION
23#define FUNCTION "Free_List_unit::msg_error"
24  Parameters_test Parameters::msg_error(void)
25  {
26    log_printf(FUNC,Free_List_unit,FUNCTION,"Begin");
27
28    Parameters_test test ("Free_List_unit");
29
30    if (_nb_general_register <= _nb_thread*_nb_general_register_logic)
31      test.error(toString(_("The number of physical general register is insufficient. (Minimum : %d)\n"),_nb_thread*_nb_general_register_logic+1));
32    if (_nb_special_register <= _nb_thread*_nb_special_register_logic)
33      test.error(toString(_("The number of physical special register is insufficient. (Minimum : %d)\n"),_nb_thread*_nb_special_register_logic+1));
34    if (not is_multiple (_nb_bank, _nb_pop))
35      test.error(_("Number of pop must be a multiple of number of bank.\n"));
36    if (not is_power2 (_nb_bank))
37      test.error(_("Number of bank must be a power of 2.\n"));
38    if (_nb_general_register < _nb_bank)
39      test.error(_("The number of physical general register must be >= nb_bank.\n"));
40    if (_nb_special_register < _nb_bank)
41      test.error(_("The number of physical special register must be >= nb_bank.\n"));
42
43    if ((_priority != PRIORITY_STATIC) and
44        (_priority != PRIORITY_ROUND_ROBIN))
45      test.error(toString(_("Unsupported priority scheme. Supported scheme are %s and %s.\n"),toString(PRIORITY_STATIC).c_str(),toString(PRIORITY_ROUND_ROBIN).c_str()));
46
47    return test;
48
49    log_printf(FUNC,Free_List_unit,FUNCTION,"End");
50  };
51
52}; // end namespace free_list_unit
53}; // end namespace register_translation_unit
54}; // end namespace rename_unit
55}; // end namespace ooo_engine
56}; // end namespace multi_ooo_engine
57}; // end namespace core
58
59}; // end namespace behavioural
60}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.