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

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