Ignore:
Timestamp:
Feb 16, 2010, 1:35:48 PM (15 years ago)
Author:
rosiere
Message:

Various modif (add test, and vhdl)

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/include
Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Allocation.h

    r135 r137  
    337337    for (uint32_t it1=0; it1<iterator_1; it1++)                         \
    338338      {                                                                 \
    339         interface [it1] = _interfaces->set_interface( name+separator+toString(it1), direction, localisation, str); \
     339        interface [it1] = _interfaces->set_interface(((toString(name)!="")?(name+separator):"")+toString(it1), direction, localisation, str); \
    340340      }                                                                 \
    341341  }
     
    351351    for (uint32_t it1=0; it1<iterator_1; it1++)                         \
    352352      {                                                                 \
    353         interface [it1] = _interfaces->set_interface( name+separator+toString(it1)); \
     353        interface [it1] = _interfaces->set_interface(((toString(name)!="")?(name+separator):"")+toString(it1)); \
    354354      }                                                                 \
    355355  }
     
    559559        for (uint32_t it2=0; it2<iterator_2; it2++)                     \
    560560          {                                                             \
    561             interface [it1][it2] = _interfaces->set_interface( name+separator+toString(it1)+separator+toString(it2), direction, localisation, str); \
     561            interface [it1][it2] = _interfaces->set_interface(((toString(name)!="")?(name+separator):"")+toString(it1)+separator+toString(it2), direction, localisation, str); \
    562562          }                                                             \
    563563      }                                                                 \
     
    579579        for (uint32_t it2=0; it2<iterator_2; it2++)                     \
    580580          {                                                             \
    581             interface [it1][it2] = _interfaces->set_interface( name+separator+toString(it1)+separator+toString(it2)); \
     581            interface [it1][it2] = _interfaces->set_interface(((toString(name)!="")?(name+separator):"")+toString(it1)+separator+toString(it2)); \
    582582          }                                                             \
    583583      }                                                                 \
     
    849849            for (uint32_t it3=0; it3<iterator_3; it3++)                 \
    850850              {                                                         \
    851                 interface [it1][it2][it3] = _interfaces->set_interface( name+separator+toString(it1)+separator+toString(it2)+separator+toString(it3), direction, localisation, str); \
     851                interface [it1][it2][it3] = _interfaces->set_interface(((toString(name)!="")?(name+separator):"")+toString(it1)+separator+toString(it2)+separator+toString(it3), direction, localisation, str); \
    852852              }                                                         \
    853853          }                                                             \
     
    875875            for (uint32_t it3=0; it3<iterator_3; it3++)                 \
    876876              {                                                         \
    877                 interface [it1][it2][it3] = _interfaces->set_interface( name+separator+toString(it1)+separator+toString(it2)+separator+toString(it3)); \
     877                interface [it1][it2][it3] = _interfaces->set_interface(((toString(name)!="")?(name+separator):"")+toString(it1)+separator+toString(it2)+separator+toString(it3)); \
    878878              }                                                         \
    879879          }                                                             \
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Constants.h

    r117 r137  
    11381138//   };
    11391139
     1140  inline std::string toString_instruction(const uint32_t& x)
     1141  {
     1142    switch (x)
     1143      {
     1144      // ORBIS
     1145      case morpheo::behavioural::INSTRUCTION_L_ADD                          : return "l.add";
     1146      case morpheo::behavioural::INSTRUCTION_L_ADDC                         : return "l.addc";
     1147      case morpheo::behavioural::INSTRUCTION_L_ADDI                         : return "l.addi";
     1148      case morpheo::behavioural::INSTRUCTION_L_ADDIC                        : return "l.addic";
     1149      case morpheo::behavioural::INSTRUCTION_L_AND                          : return "l.and";
     1150      case morpheo::behavioural::INSTRUCTION_L_ANDI                         : return "l.andi";
     1151      case morpheo::behavioural::INSTRUCTION_L_BF                           : return "l.bf";
     1152      case morpheo::behavioural::INSTRUCTION_L_BNF                          : return "l.bnf";
     1153      case morpheo::behavioural::INSTRUCTION_L_CMOV                         : return "l.cmov";
     1154      case morpheo::behavioural::INSTRUCTION_L_CSYNC                        : return "l.csync";
     1155      case morpheo::behavioural::INSTRUCTION_L_CUST1                        : return "l.cust1";
     1156      case morpheo::behavioural::INSTRUCTION_L_CUST2                        : return "l.cust2";
     1157      case morpheo::behavioural::INSTRUCTION_L_CUST3                        : return "l.cust3";
     1158      case morpheo::behavioural::INSTRUCTION_L_CUST4                        : return "l.cust4";
     1159      case morpheo::behavioural::INSTRUCTION_L_CUST5                        : return "l.cust5";
     1160      case morpheo::behavioural::INSTRUCTION_L_CUST6                        : return "l.cust6";
     1161      case morpheo::behavioural::INSTRUCTION_L_CUST7                        : return "l.cust7";
     1162      case morpheo::behavioural::INSTRUCTION_L_CUST8                        : return "l.cust8";
     1163      case morpheo::behavioural::INSTRUCTION_L_DIV                          : return "l.div";
     1164      case morpheo::behavioural::INSTRUCTION_L_DIVU                         : return "l.divu";
     1165      case morpheo::behavioural::INSTRUCTION_L_EXTBS                        : return "l.extbs";
     1166      case morpheo::behavioural::INSTRUCTION_L_EXTBZ                        : return "l.extbz";
     1167      case morpheo::behavioural::INSTRUCTION_L_EXTHS                        : return "l.exths";
     1168      case morpheo::behavioural::INSTRUCTION_L_EXTHZ                        : return "l.exthz";
     1169      case morpheo::behavioural::INSTRUCTION_L_EXTWS                        : return "l.extws";
     1170      case morpheo::behavioural::INSTRUCTION_L_EXTWZ                        : return "l.extwz";
     1171      case morpheo::behavioural::INSTRUCTION_L_FF1                          : return "l.ff1";
     1172      case morpheo::behavioural::INSTRUCTION_L_FL1                          : return "l.fl1";
     1173      case morpheo::behavioural::INSTRUCTION_L_J                            : return "l.j";
     1174      case morpheo::behavioural::INSTRUCTION_L_JAL                          : return "l.jal";
     1175      case morpheo::behavioural::INSTRUCTION_L_JALR                         : return "l.jalr";
     1176      case morpheo::behavioural::INSTRUCTION_L_JR                           : return "l.jr";
     1177      case morpheo::behavioural::INSTRUCTION_L_LBS                          : return "l.lbs";
     1178      case morpheo::behavioural::INSTRUCTION_L_LBZ                          : return "l.lbz";
     1179      case morpheo::behavioural::INSTRUCTION_L_LD                           : return "l.ld";
     1180      case morpheo::behavioural::INSTRUCTION_L_LHS                          : return "l.lhs";
     1181      case morpheo::behavioural::INSTRUCTION_L_LHZ                          : return "l.lhz";
     1182      case morpheo::behavioural::INSTRUCTION_L_LWS                          : return "l.lws";
     1183      case morpheo::behavioural::INSTRUCTION_L_LWZ                          : return "l.lwz";
     1184      case morpheo::behavioural::INSTRUCTION_L_MAC                          : return "l.mac";
     1185      case morpheo::behavioural::INSTRUCTION_L_MACI                         : return "l.maci";
     1186      case morpheo::behavioural::INSTRUCTION_L_MACRC                        : return "l.macrc";
     1187      case morpheo::behavioural::INSTRUCTION_L_MFSPR                        : return "l.mfspr";
     1188      case morpheo::behavioural::INSTRUCTION_L_MOVHI                        : return "l.movhi";
     1189      case morpheo::behavioural::INSTRUCTION_L_MSB                          : return "l.msb";
     1190      case morpheo::behavioural::INSTRUCTION_L_MSYNC                        : return "l.msync";
     1191      case morpheo::behavioural::INSTRUCTION_L_MTSPR                        : return "l.mtspr";
     1192      case morpheo::behavioural::INSTRUCTION_L_MUL                          : return "l.mul";
     1193      case morpheo::behavioural::INSTRUCTION_L_MULI                         : return "l.muli";
     1194      case morpheo::behavioural::INSTRUCTION_L_MULU                         : return "l.mulu";
     1195      case morpheo::behavioural::INSTRUCTION_L_NOP                          : return "l.nop";
     1196      case morpheo::behavioural::INSTRUCTION_L_OR                           : return "l.or";
     1197      case morpheo::behavioural::INSTRUCTION_L_ORI                          : return "l.ori";
     1198      case morpheo::behavioural::INSTRUCTION_L_PSYNC                        : return "l.psync";
     1199      case morpheo::behavioural::INSTRUCTION_L_RFE                          : return "l.rfe";
     1200      case morpheo::behavioural::INSTRUCTION_L_ROR                          : return "l.ror";
     1201      case morpheo::behavioural::INSTRUCTION_L_RORI                         : return "l.rori";
     1202      case morpheo::behavioural::INSTRUCTION_L_SB                           : return "l.sb";
     1203      case morpheo::behavioural::INSTRUCTION_L_SD                           : return "l.sd";
     1204      case morpheo::behavioural::INSTRUCTION_L_SFEQ                         : return "l.sfeq";
     1205      case morpheo::behavioural::INSTRUCTION_L_SFEQI                        : return "l.sfeqi";
     1206      case morpheo::behavioural::INSTRUCTION_L_SFGES                        : return "l.sfges";
     1207      case morpheo::behavioural::INSTRUCTION_L_SFGESI                       : return "l.sfgesi";
     1208      case morpheo::behavioural::INSTRUCTION_L_SFGEU                        : return "l.sfgeu";
     1209      case morpheo::behavioural::INSTRUCTION_L_SFGEUI                       : return "l.sfgeui";
     1210      case morpheo::behavioural::INSTRUCTION_L_SFGTS                        : return "l.sfgts";
     1211      case morpheo::behavioural::INSTRUCTION_L_SFGTSI                       : return "l.sfgtsi";
     1212      case morpheo::behavioural::INSTRUCTION_L_SFGTU                        : return "l.sfgtu";
     1213      case morpheo::behavioural::INSTRUCTION_L_SFGTUI                       : return "l.sfgtui";
     1214      case morpheo::behavioural::INSTRUCTION_L_SFLES                        : return "l.sfles";
     1215      case morpheo::behavioural::INSTRUCTION_L_SFLESI                       : return "l.sflesi";
     1216      case morpheo::behavioural::INSTRUCTION_L_SFLEU                        : return "l.sfleu";
     1217      case morpheo::behavioural::INSTRUCTION_L_SFLEUI                       : return "l.sfleui";
     1218      case morpheo::behavioural::INSTRUCTION_L_SFLTS                        : return "l.sflts";
     1219      case morpheo::behavioural::INSTRUCTION_L_SFLTSI                       : return "l.sfltsi";
     1220      case morpheo::behavioural::INSTRUCTION_L_SFLTU                        : return "l.sfltu";
     1221      case morpheo::behavioural::INSTRUCTION_L_SFLTUI                       : return "l.sfltui";
     1222      case morpheo::behavioural::INSTRUCTION_L_SFNE                         : return "l.sfne";
     1223      case morpheo::behavioural::INSTRUCTION_L_SFNEI                        : return "l.sfnei";
     1224      case morpheo::behavioural::INSTRUCTION_L_SH                           : return "l.sh";
     1225      case morpheo::behavioural::INSTRUCTION_L_SLL                          : return "l.sll";
     1226      case morpheo::behavioural::INSTRUCTION_L_SLLI                         : return "l.slli";
     1227      case morpheo::behavioural::INSTRUCTION_L_SRA                          : return "l.sra";
     1228      case morpheo::behavioural::INSTRUCTION_L_SRAI                         : return "l.srai";
     1229      case morpheo::behavioural::INSTRUCTION_L_SRL                          : return "l.srl";
     1230      case morpheo::behavioural::INSTRUCTION_L_SRLI                         : return "l.srli";
     1231      case morpheo::behavioural::INSTRUCTION_L_SUB                          : return "l.sub";
     1232      case morpheo::behavioural::INSTRUCTION_L_SW                           : return "l.sw";
     1233      case morpheo::behavioural::INSTRUCTION_L_SYS                          : return "l.sys";
     1234      case morpheo::behavioural::INSTRUCTION_L_TRAP                         : return "l.trap";
     1235      case morpheo::behavioural::INSTRUCTION_L_XOR                          : return "l.xor";
     1236      case morpheo::behavioural::INSTRUCTION_L_XORI                         : return "l.xori";
     1237      // ORFPX
     1238      case morpheo::behavioural::INSTRUCTION_LF_ADD_D                       : return "lf.add_d";
     1239      case morpheo::behavioural::INSTRUCTION_LF_ADD_S                       : return "lf.add_s";
     1240      case morpheo::behavioural::INSTRUCTION_LF_CUST1_D                     : return "lf.cust1_d";
     1241      case morpheo::behavioural::INSTRUCTION_LF_CUST1_S                     : return "lf.cust1_s";
     1242      case morpheo::behavioural::INSTRUCTION_LF_DIV_D                       : return "lf.div_d";
     1243      case morpheo::behavioural::INSTRUCTION_LF_DIV_S                       : return "lf.div_s";
     1244      case morpheo::behavioural::INSTRUCTION_LF_FTOI_D                      : return "lf.ftoi_d";
     1245      case morpheo::behavioural::INSTRUCTION_LF_FTOI_S                      : return "lf.ftoi_s";
     1246      case morpheo::behavioural::INSTRUCTION_LF_ITOF_D                      : return "lf.itof_d";
     1247      case morpheo::behavioural::INSTRUCTION_LF_ITOF_S                      : return "lf.itof_s";
     1248      case morpheo::behavioural::INSTRUCTION_LF_MADD_D                      : return "lf.madd_d";
     1249      case morpheo::behavioural::INSTRUCTION_LF_MADD_S                      : return "lf.madd_s";
     1250      case morpheo::behavioural::INSTRUCTION_LF_MUL_D                       : return "lf.mul_d";
     1251      case morpheo::behavioural::INSTRUCTION_LF_MUL_S                       : return "lf.mul_s";
     1252      case morpheo::behavioural::INSTRUCTION_LF_REM_D                       : return "lf.rem_d";
     1253      case morpheo::behavioural::INSTRUCTION_LF_REM_S                       : return "lf.rem_s";
     1254      case morpheo::behavioural::INSTRUCTION_LF_SFEQ_D                      : return "lf.sfeq_d";
     1255      case morpheo::behavioural::INSTRUCTION_LF_SFEQ_S                      : return "lf.sfeq_s";
     1256      case morpheo::behavioural::INSTRUCTION_LF_SFGE_D                      : return "lf.sfge_d";
     1257      case morpheo::behavioural::INSTRUCTION_LF_SFGE_S                      : return "lf.sfge_s";
     1258      case morpheo::behavioural::INSTRUCTION_LF_SFGT_D                      : return "lf.sfgt_d";
     1259      case morpheo::behavioural::INSTRUCTION_LF_SFGT_S                      : return "lf.sfgt_s";
     1260      case morpheo::behavioural::INSTRUCTION_LF_SFLE_D                      : return "lf.sfle_d";
     1261      case morpheo::behavioural::INSTRUCTION_LF_SFLE_S                      : return "lf.sfle_s";
     1262      case morpheo::behavioural::INSTRUCTION_LF_SFLT_D                      : return "lf.sflt_d";
     1263      case morpheo::behavioural::INSTRUCTION_LF_SFLT_S                      : return "lf.sflt_s";
     1264      case morpheo::behavioural::INSTRUCTION_LF_SFNE_D                      : return "lf.sfne_d";
     1265      case morpheo::behavioural::INSTRUCTION_LF_SFNE_S                      : return "lf.sfne_s";
     1266      case morpheo::behavioural::INSTRUCTION_LF_SUB_D                       : return "lf.sub_d";
     1267      case morpheo::behavioural::INSTRUCTION_LF_SUB_S                       : return "lf.sub_s";
     1268      // ORVDX
     1269      case morpheo::behavioural::INSTRUCTION_LV_ADD_B                       : return "lv.add_b";
     1270      case morpheo::behavioural::INSTRUCTION_LV_ADD_H                       : return "lv.add_h";
     1271      case morpheo::behavioural::INSTRUCTION_LV_ADDS_B                      : return "lv.adds_b";
     1272      case morpheo::behavioural::INSTRUCTION_LV_ADDS_H                      : return "lv.adds_h";
     1273      case morpheo::behavioural::INSTRUCTION_LV_ADDU_B                      : return "lv.addu_b";
     1274      case morpheo::behavioural::INSTRUCTION_LV_ADDU_H                      : return "lv.addu_h";
     1275      case morpheo::behavioural::INSTRUCTION_LV_ADDUS_B                     : return "lv.addus_b";
     1276      case morpheo::behavioural::INSTRUCTION_LV_ADDUS_H                     : return "lv.addus_h";
     1277      case morpheo::behavioural::INSTRUCTION_LV_ALL_EQ_B                    : return "lv.all_eq_b";
     1278      case morpheo::behavioural::INSTRUCTION_LV_ALL_EQ_H                    : return "lv.all_eq_h";
     1279      case morpheo::behavioural::INSTRUCTION_LV_ALL_GE_B                    : return "lv.all_ge_b";
     1280      case morpheo::behavioural::INSTRUCTION_LV_ALL_GE_H                    : return "lv.all_ge_h";
     1281      case morpheo::behavioural::INSTRUCTION_LV_ALL_GT_B                    : return "lv.all_gt_b";
     1282      case morpheo::behavioural::INSTRUCTION_LV_ALL_GT_H                    : return "lv.all_gt_h";
     1283      case morpheo::behavioural::INSTRUCTION_LV_ALL_LE_B                    : return "lv.all_le_b";
     1284      case morpheo::behavioural::INSTRUCTION_LV_ALL_LE_H                    : return "lv.all_le_h";
     1285      case morpheo::behavioural::INSTRUCTION_LV_ALL_LT_B                    : return "lv.all_lt_b";
     1286      case morpheo::behavioural::INSTRUCTION_LV_ALL_LT_H                    : return "lv.all_lt_h";
     1287      case morpheo::behavioural::INSTRUCTION_LV_ALL_NE_B                    : return "lv.all_ne_b";
     1288      case morpheo::behavioural::INSTRUCTION_LV_ALL_NE_H                    : return "lv.all_ne_h";
     1289      case morpheo::behavioural::INSTRUCTION_LV_AND                         : return "lv.and";
     1290      case morpheo::behavioural::INSTRUCTION_LV_ANY_EQ_B                    : return "lv.any_eq_b";
     1291      case morpheo::behavioural::INSTRUCTION_LV_ANY_EQ_H                    : return "lv.any_eq_h";
     1292      case morpheo::behavioural::INSTRUCTION_LV_ANY_GE_B                    : return "lv.any_ge_b";
     1293      case morpheo::behavioural::INSTRUCTION_LV_ANY_GE_H                    : return "lv.any_ge_h";
     1294      case morpheo::behavioural::INSTRUCTION_LV_ANY_GT_B                    : return "lv.any_gt_b";
     1295      case morpheo::behavioural::INSTRUCTION_LV_ANY_GT_H                    : return "lv.any_gt_h";
     1296      case morpheo::behavioural::INSTRUCTION_LV_ANY_LE_B                    : return "lv.any_le_b";
     1297      case morpheo::behavioural::INSTRUCTION_LV_ANY_LE_H                    : return "lv.any_le_h";
     1298      case morpheo::behavioural::INSTRUCTION_LV_ANY_LT_B                    : return "lv.any_lt_b";
     1299      case morpheo::behavioural::INSTRUCTION_LV_ANY_LT_H                    : return "lv.any_lt_h";
     1300      case morpheo::behavioural::INSTRUCTION_LV_ANY_NE_B                    : return "lv.any_ne_b";
     1301      case morpheo::behavioural::INSTRUCTION_LV_ANY_NE_H                    : return "lv.any_ne_h";
     1302      case morpheo::behavioural::INSTRUCTION_LV_AVG_B                       : return "lv.avg_b";
     1303      case morpheo::behavioural::INSTRUCTION_LV_AVG_H                       : return "lv.avg_h";
     1304      case morpheo::behavioural::INSTRUCTION_LV_CMP_EQ_B                    : return "lv.cmp_eq_b";
     1305      case morpheo::behavioural::INSTRUCTION_LV_CMP_EQ_H                    : return "lv.cmp_eq_h";
     1306      case morpheo::behavioural::INSTRUCTION_LV_CMP_GE_B                    : return "lv.cmp_ge_b";
     1307      case morpheo::behavioural::INSTRUCTION_LV_CMP_GE_H                    : return "lv.cmp_ge_h";
     1308      case morpheo::behavioural::INSTRUCTION_LV_CMP_GT_B                    : return "lv.cmp_gt_b";
     1309      case morpheo::behavioural::INSTRUCTION_LV_CMP_GT_H                    : return "lv.cmp_gt_h";
     1310      case morpheo::behavioural::INSTRUCTION_LV_CMP_LE_B                    : return "lv.cmp_le_b";
     1311      case morpheo::behavioural::INSTRUCTION_LV_CMP_LE_H                    : return "lv.cmp_le_h";
     1312      case morpheo::behavioural::INSTRUCTION_LV_CMP_LT_B                    : return "lv.cmp_lt_b";
     1313      case morpheo::behavioural::INSTRUCTION_LV_CMP_LT_H                    : return "lv.cmp_lt_h";
     1314      case morpheo::behavioural::INSTRUCTION_LV_CMP_NE_B                    : return "lv.cmp_ne_b";
     1315      case morpheo::behavioural::INSTRUCTION_LV_CMP_NE_H                    : return "lv.cmp_ne_h";
     1316      case morpheo::behavioural::INSTRUCTION_LV_CUST1                       : return "lv.cust1";
     1317      case morpheo::behavioural::INSTRUCTION_LV_CUST2                       : return "lv.cust2";
     1318      case morpheo::behavioural::INSTRUCTION_LV_CUST3                       : return "lv.cust3";
     1319      case morpheo::behavioural::INSTRUCTION_LV_CUST4                       : return "lv.cust4";
     1320      case morpheo::behavioural::INSTRUCTION_LV_MADDS_H                     : return "lv.madds_h";
     1321      case morpheo::behavioural::INSTRUCTION_LV_MAX_B                       : return "lv.max_b";
     1322      case morpheo::behavioural::INSTRUCTION_LV_MAX_H                       : return "lv.max_h";
     1323      case morpheo::behavioural::INSTRUCTION_LV_MERGE_B                     : return "lv.merge_b";
     1324      case morpheo::behavioural::INSTRUCTION_LV_MERGE_H                     : return "lv.merge_h";
     1325      case morpheo::behavioural::INSTRUCTION_LV_MIN_B                       : return "lv.min_b";
     1326      case morpheo::behavioural::INSTRUCTION_LV_MIN_H                       : return "lv.min_h";
     1327      case morpheo::behavioural::INSTRUCTION_LV_MSUBS_H                     : return "lv.msubs_h";
     1328      case morpheo::behavioural::INSTRUCTION_LV_MULS_H                      : return "lv.muls_h";
     1329      case morpheo::behavioural::INSTRUCTION_LV_NAND                        : return "lv.nand";
     1330      case morpheo::behavioural::INSTRUCTION_LV_NOR                         : return "lv.nor";
     1331      case morpheo::behavioural::INSTRUCTION_LV_OR                          : return "lv.or";
     1332      case morpheo::behavioural::INSTRUCTION_LV_PACK_B                      : return "lv.pack_b";
     1333      case morpheo::behavioural::INSTRUCTION_LV_PACK_H                      : return "lv.pack_h";
     1334      case morpheo::behavioural::INSTRUCTION_LV_PACKS_B                     : return "lv.packs_b";
     1335      case morpheo::behavioural::INSTRUCTION_LV_PACKS_H                     : return "lv.packs_h";
     1336      case morpheo::behavioural::INSTRUCTION_LV_PACKUS_B                    : return "lv.packus_b";
     1337      case morpheo::behavioural::INSTRUCTION_LV_PACKUS_H                    : return "lv.packus_h";
     1338      case morpheo::behavioural::INSTRUCTION_LV_PERM_N                      : return "lv.perm_n";
     1339      case morpheo::behavioural::INSTRUCTION_LV_RL_B                        : return "lv.rl_b";
     1340      case morpheo::behavioural::INSTRUCTION_LV_RL_H                        : return "lv.rl_h";
     1341      case morpheo::behavioural::INSTRUCTION_LV_SLL                         : return "lv.sll";
     1342      case morpheo::behavioural::INSTRUCTION_LV_SLL_B                       : return "lv.sll_b";
     1343      case morpheo::behavioural::INSTRUCTION_LV_SLL_H                       : return "lv.sll_h";
     1344      case morpheo::behavioural::INSTRUCTION_LV_SRA_B                       : return "lv.sra_b";
     1345      case morpheo::behavioural::INSTRUCTION_LV_SRA_H                       : return "lv.sra_h";
     1346      case morpheo::behavioural::INSTRUCTION_LV_SRL                         : return "lv.srl";
     1347      case morpheo::behavioural::INSTRUCTION_LV_SRL_B                       : return "lv.srl_b";
     1348      case morpheo::behavioural::INSTRUCTION_LV_SRL_H                       : return "lv.srl_h";
     1349      case morpheo::behavioural::INSTRUCTION_LV_SUB_B                       : return "lv.sub_b";
     1350      case morpheo::behavioural::INSTRUCTION_LV_SUB_H                       : return "lv.sub_h";
     1351      case morpheo::behavioural::INSTRUCTION_LV_SUBS_B                      : return "lv.subs_b";
     1352      case morpheo::behavioural::INSTRUCTION_LV_SUBS_H                      : return "lv.subs_h";
     1353      case morpheo::behavioural::INSTRUCTION_LV_SUBU_B                      : return "lv.subu_b";
     1354      case morpheo::behavioural::INSTRUCTION_LV_SUBU_H                      : return "lv.subu_h";
     1355      case morpheo::behavioural::INSTRUCTION_LV_SUBUS_B                     : return "lv.subus_b";
     1356      case morpheo::behavioural::INSTRUCTION_LV_SUBUS_H                     : return "lv.subus_h";
     1357      case morpheo::behavioural::INSTRUCTION_LV_UNPACK_B                    : return "lv.unpack_b";
     1358      case morpheo::behavioural::INSTRUCTION_LV_UNPACK_H                    : return "lv.unpack_h";
     1359      case morpheo::behavioural::INSTRUCTION_LV_XOR                         : return "lv.xor";
     1360
     1361      default : return "";
     1362      }
     1363  };
     1364
    11401365}; // end namespace morpheo             
    11411366
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_signal.h

    r129 r137  
    1111# ifdef DEBUG_SIGNAL
    1212
    13 #include <set>
    14 #include "Common/include/Message.h"
     13#include <map>
     14#include <list>
     15#include <string>
    1516
    1617namespace morpheo {
    1718namespace behavioural {
    1819
    19   extern std::set<void *> _debug_signal;
     20  class debug_signal
     21  {
     22  private : std::map <void *,std::string> _signal;
     23  private : std::list<std::string>        _signal_access;
     24
     25  public  : void add       (void *      signal,
     26                            std::string name);
     27  public  : void write     (void *      signal);
     28  public  : void end_cycle (void);
     29  public  : void print     (void);
     30  };
    2031 
    21 #  define DEBUG_SIGNAL_ADD(signal)                                      \
     32  extern debug_signal _debug_signal;
     33 
     34#  define DEBUG_SIGNAL_ADD(signal,name)                                 \
    2235  do                                                                    \
    2336    {                                                                   \
    24       morpheo::behavioural::_debug_signal.insert(static_cast<void *>( signal)); \
     37      morpheo::behavioural::_debug_signal.add(signal,name);            \
    2538    } while(0)
     39
     40  // Test if signal is previously define 
    2641 
    27 #  define DEBUG_SIGNAL_ACCESS(signal)                                   \
     42#  define DEBUG_SIGNAL_WRITE(signal)                                    \
    2843  do                                                                    \
    2944    {                                                                   \
    30       if (morpheo::behavioural::_debug_signal.find(static_cast<void *>(signal)) == morpheo::behavioural::_debug_signal.end()) \
    31         msgError("At file %s, in line %d, invalid signal.\n",__FILE__,__LINE__); \
     45      morpheo::behavioural::_debug_signal.write(signal);                \
    3246    } while(0)
     47
     48#  define DEBUG_SIGNAL_END_CYCLE()                      \
     49  do                                                    \
     50    {                                                   \
     51      morpheo::behavioural::_debug_signal.end_cycle();  \
     52    } while (0)
     53
     54#  define DEBUG_SIGNAL_PRINT()                          \
     55  do                                                    \
     56    {                                                   \
     57      morpheo::behavioural::_debug_signal.print();      \
     58    } while (0)
    3359 
    3460}; // end namespace behavioural         
    3561}; // end namespace morpheo             
    3662# else
    37 #  define DEBUG_SIGNAL_ADD(signal)    do {} while (0)
    38 #  define DEBUG_SIGNAL_ACCESS(signal) do {} while (0)
     63#  define DEBUG_SIGNAL_ADD(signal,name) do {} while (0)
     64#  define DEBUG_SIGNAL_WRITE(signal)    do {} while (0)
     65#  define DEBUG_SIGNAL_END_CYCLE()      do {} while (0)
     66#  define DEBUG_SIGNAL_PRINT()          do {} while (0)
    3967# endif
    4068
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h

    r129 r137  
    161161      _sc_signal_map  = sc_signal;
    162162
    163       DEBUG_SIGNAL_ADD(sc_signal);
     163      DEBUG_SIGNAL_ADD(sc_signal,_name);
    164164
    165165      if (typeid(T) == typeid(bool    ))
Note: See TracChangeset for help on using the changeset viewer.