source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_msg_error.cpp @ 15

Last change on this file since 15 was 15, checked in by rosiere, 17 years ago

Interface normalisé
Début du banc de registres multi niveaux

File size: 2.8 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h"
9#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h"
10#include <sstream>
11using namespace std;
12
13namespace morpheo                    {
14namespace behavioural {
15namespace generic {
16namespace registerfile {
17namespace registerfile_multi_banked {
18
19
20  string Parameters::msg_error(void)
21  {
22    log_printf(FUNC,RegisterFile_Multi_Banked,"msg_error","Begin");
23
24    string msg = "";
25
26    if ((_nb_port_read  * 
27         _nb_port_write * 
28         _nb_word       *
29         _size_word     *
30         _nb_bank       ) == 0)
31      {
32        msg += "  - All paramameters must be > 0\n";
33      }
34
35    if (not is_multiple(_nb_port_read,_nb_bank))
36      {
37        msg += "  - nb_port_read must be a multiple of nb_bank\n";
38        msg +=  "    * nb_port_read                    : " + toString(_nb_port_read ) + "\n";
39        msg +=  "    * nb_bank                         : " + toString(_nb_bank      ) + "\n";
40      }
41
42    if (not is_multiple(_nb_port_write,_nb_bank))
43      {
44        msg += "  - nb_port_write must be a multiple of nb_bank\n";
45        msg +=  "    * nb_port_write                   : " + toString(_nb_port_write) + "\n";
46        msg +=  "    * nb_bank                         : " + toString(_nb_bank      ) + "\n";
47      }
48
49    if (not is_multiple(_nb_word,_nb_bank))
50      {
51        msg += "  - nb_word must be a multiple of nb_bank\n";
52        msg +=  "    * nb_word                         : " + toString(_nb_word      ) + "\n";
53        msg +=  "    * nb_bank                         : " + toString(_nb_bank      ) + "\n";
54      }
55
56    if ((8*sizeof(Tdata_t)) < _size_word)
57      {
58        msg += "  - type \"Tdata_t\" is too little to the size defined by size_word\n";
59        msg +=  "    * size_word                       : " + toString(_size_word) + "\n";
60        msg +=  "    * Tdata_t                   (bits): " + toString(8*(sizeof(Tdata_t))) + "\n";
61      }
62
63    if ((8*sizeof(Taddress_t)) < log2(_nb_word))
64      {
65        msg += "  - type \"Taddress_t\" is too little to the size defined by nb_word\n";
66        msg +=  "    * nb_word                         : " + toString(_nb_word)    + "\n";
67        msg +=  "      > size                   (bits) : " + toString(log2(_nb_word)) + "\n";
68        msg +=  "    * Taddress_t               (bits) : " + toString(8*(sizeof(Taddress_t))) + "\n";
69      }
70
71    if (_nb_word < 2)
72      {
73        msg += "  - nb_word must be >= 2\n";
74        msg += "    * nb_word                         : " + toString(_nb_word)    + "\n";
75      }
76
77
78    return msg;
79
80    log_printf(FUNC,RegisterFile_Multi_Banked,"msg_error","End");
81  };
82
83}; // end namespace registerfile_multi_banked
84}; // end namespace registerfile
85}; // end namespace generic
86
87}; // end namespace behavioural
88}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.