Changeset 571 for trunk/softs/test_llsc
- Timestamp:
- Oct 31, 2013, 5:47:51 PM (11 years ago)
- Location:
- trunk/softs/test_llsc
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/softs/test_llsc/scripts/LLSCTestGenerator/Program.hpp
r546 r571 89 89 res << " tab = (int *) SRL_MEMSPACE_ADDR(memspace);" << endl; 90 90 res << " srl_barrier_t barrier = SRL_GET_BARRIER(barrier);" << endl; 91 res << " srl_barrier_t barrier2 = SRL_GET_BARRIER(barrier2);" << endl; 91 92 res << endl; 92 93 res << " // Initialisation du tableau" << endl; … … 99 100 res << " run0();" << endl; 100 101 res << endl; 101 res << " barrier_wait(barrier );" << endl;102 res << " barrier_wait(barrier2);" << endl; 102 103 res << endl; 103 104 res << " for (i = 0; i < " << tab_size << "; i++) {" << endl; … … 158 159 res << " tab = (int *) SRL_MEMSPACE_ADDR(memspace);" << endl; 159 160 res << " srl_barrier_t barrier = SRL_GET_BARRIER(barrier);" << endl; 161 res << " srl_barrier_t barrier2 = SRL_GET_BARRIER(barrier2);" << endl; 160 162 res << " int thread_id = SRL_GET_CONST(id);" << endl; 161 163 res << endl; … … 174 176 res << " }" << endl; 175 177 res << endl; 176 res << " barrier_wait(barrier );" << endl;178 res << " barrier_wait(barrier2);" << endl; 177 179 res << endl; 178 180 res << " srl_exit();" << endl; -
trunk/softs/test_llsc/scripts/functions.c
r536 r571 7 7 "move $16, %0 \n" 8 8 "giet_lock_try : \n" 9 "lw $2, 0($16) \n" 9 10 "ll $2, 0($16) \n" 10 11 "bnez $2, giet_lock_try \n" -
trunk/softs/test_llsc/scripts/run_simus.py
r536 r571 23 23 nb_locks = 20 24 24 nb_max_incr = 2000 25 nb_procs = 425 nb_procs = 64 26 26 27 27 … … 105 105 # Quit if results obtained by simulation are incorrect 106 106 print "diff", term_filename, os.path.join(data_dir, res_natif) 107 output = subprocess.Popen([ 'diff', term_filename, os.path.join(data_dir, res_natif) ] ).communicate()[0]108 if output != None:107 output = subprocess.Popen([ 'diff', term_filename, os.path.join(data_dir, res_natif) ], stdout = subprocess.PIPE).communicate()[0] 108 if output != "": 109 109 break; 110 110 -
trunk/softs/test_llsc/scripts/test_llsc.py
r546 r571 15 15 cluster_x = int(sys.argv[1]) 16 16 cluster_y = int(sys.argv[2]) 17 memspace_size = int(sys.argv[3]) 17 memspace_size = int(sys.argv[3]) * 4 18 18 19 19 nb_procs = 4 … … 27 27 'table': MemspacePort(), 28 28 'barrier': BarrierPort(), 29 'barrier2': BarrierPort(), 29 30 }, 30 31 impls = [ … … 44 45 'table': MemspacePort(), 45 46 'barrier': BarrierPort(), 47 'barrier2': BarrierPort(), 46 48 'id' : ConstPort(), 47 49 }, … … 57 59 58 60 barrier = Barrier('barrier') 61 barrier2 = Barrier('barrier2') 59 62 memspace = Memspace('memspace', memspace_size) 60 63 … … 66 69 'table' : memspace, 67 70 'barrier' : barrier, 71 'barrier2' : barrier2, 68 72 }, 69 73 defines = {} ), … … 75 79 'table' : memspace, 76 80 'barrier' : barrier, 81 'barrier2' : barrier2, 77 82 'id' : i, 78 83 }, 79 84 defines = {} ), 80 85 81 82 83 84 86 tcg = dsx.Tcg('test_llsc', *tasks) 85 87 86 mpr = Mapper(hd ,tcg)88 mpr = Mapper(hd, tcg) 87 89 88 90 mpr.map('task_llsc_main', cluster = 0, proc = 0, stack = "PSEG_RAM_0") … … 95 97 mpr.map(const, pseg = 'PSEG_RAM_0') 96 98 99 97 100 mpr.map('memspace', pseg = "PSEG_RAM_0") 98 101 mpr.map('barrier', pseg = "PSEG_RAM_0") 102 mpr.map('barrier2', pseg = "PSEG_RAM_0") 99 103 100 104 mpr.map(tcg, code = 'PSEG_RAM_0', data = 'PSEG_RAM_0', ptab = "PSEG_RAM_0") 101 105 mpr.map('system', boot = 'PSEG_RAM_0', kernel = 'PSEG_RAM_0', scheduler = True) 102 106 103 mpr.generate(dsx.Giet(outdir = '.', vaddr_replicated_peri_inc = 0x2000, debug = True))107 mpr.generate(dsx.Giet(outdir = '.', vaddr_replicated_peri_inc = 0x2000, debug = False)) 104 108 -
trunk/softs/test_llsc/top.cpp
r546 r571 231 231 //////////////////////i///////////////////////////////////// 232 232 233 #define MAX_FROZEN_CYCLES 1000000 233 #define MAX_FROZEN_CYCLES 100000000 234 234 235 235 ///////////////////////////////////////////////////////// … … 725 725 loader, 726 726 frozen_cycles, 727 debug_from 727 debug_from, 728 728 debug_ok and (cluster(x,y) == debug_memc_id), 729 729 debug_ok and (cluster(x,y) == debug_proc_id) … … 921 921 p_rsp_signame << "[SIG]PROC_" << x << "_" << y << "_" << l << " RSP" ; 922 922 923 clusters[x][y]->proc[l]->print_trace(); 924 clusters[x][y]->wi_proc[l]->print_trace(); 925 clusters[x][y]->signal_vci_ini_proc[l].print_trace(proc_signame.str()); 926 clusters[x][y]->signal_dspin_p2m_proc[l].print_trace(p2m_signame.str()); 927 clusters[x][y]->signal_dspin_m2p_proc[l].print_trace(m2p_signame.str()); 928 clusters[x][y]->signal_dspin_cmd_proc_i[l].print_trace(p_cmd_signame.str()); 929 clusters[x][y]->signal_dspin_rsp_proc_i[l].print_trace(p_rsp_signame.str()); 930 931 clusters[x][y]->xbar_rsp_d->print_trace(); 932 clusters[x][y]->xbar_cmd_d->print_trace(); 933 clusters[x][y]->signal_dspin_cmd_l2g_d.print_trace("[SIG]L2G CMD"); 934 clusters[x][y]->signal_dspin_cmd_g2l_d.print_trace("[SIG]G2L CMD"); 935 clusters[x][y]->signal_dspin_rsp_l2g_d.print_trace("[SIG]L2G RSP"); 936 clusters[x][y]->signal_dspin_rsp_g2l_d.print_trace("[SIG]G2L RSP"); 923 for (int _x = 0, _y = 0; _x != XMAX; (_y == YMAX - 1 ? _x++, _y = 0 : _y++)) { 924 for (int _l = 0; _l < NB_PROCS_MAX; _l++) { 925 clusters[_x][_y]->proc[_l]->print_trace(); 926 } 927 } 928 //clusters[x][y]->wi_proc[l]->print_trace(); 929 //clusters[x][y]->signal_vci_ini_proc[l].print_trace(proc_signame.str()); 930 //clusters[x][y]->signal_dspin_p2m_proc[l].print_trace(p2m_signame.str()); 931 //clusters[x][y]->signal_dspin_m2p_proc[l].print_trace(m2p_signame.str()); 932 //clusters[x][y]->signal_dspin_cmd_proc_i[l].print_trace(p_cmd_signame.str()); 933 //clusters[x][y]->signal_dspin_rsp_proc_i[l].print_trace(p_rsp_signame.str()); 934 935 //clusters[x][y]->xbar_rsp_d->print_trace(); 936 //clusters[x][y]->xbar_cmd_d->print_trace(); 937 //clusters[x][y]->signal_dspin_cmd_l2g_d.print_trace("[SIG]L2G CMD"); 938 //clusters[x][y]->signal_dspin_cmd_g2l_d.print_trace("[SIG]G2L CMD"); 939 //clusters[x][y]->signal_dspin_rsp_l2g_d.print_trace("[SIG]L2G RSP"); 940 //clusters[x][y]->signal_dspin_rsp_g2l_d.print_trace("[SIG]G2L RSP"); 937 941 938 942 // trace memc[debug_memc_id] … … 954 958 955 959 clusters[x][y]->memc->print_trace(); 956 clusters[x][y]->wt_memc->print_trace();957 clusters[x][y]->signal_vci_tgt_memc.print_trace(smemc.str());958 clusters[x][y]->signal_vci_xram.print_trace(sxram.str());959 clusters[x][y]->signal_dspin_p2m_memc.print_trace(sp2m.str());960 clusters[x][y]->signal_dspin_m2p_memc.print_trace(sm2p.str());961 clusters[x][y]->signal_dspin_cmd_memc_t.print_trace(m_cmd_signame.str());962 clusters[x][y]->signal_dspin_rsp_memc_t.print_trace(m_rsp_signame.str());960 //clusters[x][y]->wt_memc->print_trace(); 961 //clusters[x][y]->signal_vci_tgt_memc.print_trace(smemc.str()); 962 //clusters[x][y]->signal_vci_xram.print_trace(sxram.str()); 963 //clusters[x][y]->signal_dspin_p2m_memc.print_trace(sp2m.str()); 964 //clusters[x][y]->signal_dspin_m2p_memc.print_trace(sm2p.str()); 965 //clusters[x][y]->signal_dspin_cmd_memc_t.print_trace(m_cmd_signame.str()); 966 //clusters[x][y]->signal_dspin_rsp_memc_t.print_trace(m_rsp_signame.str()); 963 967 964 968 // trace replicated peripherals 965 //clusters[1][1]->mdma->print_trace();966 //clusters[1][1]->signal_vci_tgt_mdma.print_trace("[SIG]MDMA_TGT_1_1");967 //clusters[1][1]->signal_vci_ini_mdma.print_trace("[SIG]MDMA_INI_1_1");969 //clusters[1][1]->mdma->print_trace(); 970 //clusters[1][1]->signal_vci_tgt_mdma.print_trace("[SIG]MDMA_TGT_1_1"); 971 //clusters[1][1]->signal_vci_ini_mdma.print_trace("[SIG]MDMA_INI_1_1"); 968 972 969 973 970 974 // trace external peripherals 971 size_t io_x = cluster_io_id / YMAX;972 size_t io_y = cluster_io_id % YMAX;975 //size_t io_x = cluster_io_id / YMAX; 976 //size_t io_y = cluster_io_id % YMAX; 973 977 974 clusters[io_x][io_y]->brom->print_trace();975 clusters[io_x][io_y]->wt_brom->print_trace();976 clusters[io_x][io_y]->signal_vci_tgt_brom.print_trace("[SIG]BROM");977 clusters[io_x][io_y]->signal_dspin_cmd_brom_t.print_trace("[SIG]BROM CMD");978 clusters[io_x][io_y]->signal_dspin_rsp_brom_t.print_trace("[SIG]BROM RSP");979 980 //clusters[io_x][io_y]->bdev->print_trace();981 //clusters[io_x][io_y]->signal_vci_tgt_bdev.print_trace("[SIG]BDEV_TGT");982 //clusters[io_x][io_y]->signal_vci_ini_bdev.print_trace("[SIG]BDEV_INI");978 //clusters[io_x][io_y]->brom->print_trace(); 979 //clusters[io_x][io_y]->wt_brom->print_trace(); 980 //clusters[io_x][io_y]->signal_vci_tgt_brom.print_trace("[SIG]BROM"); 981 //clusters[io_x][io_y]->signal_dspin_cmd_brom_t.print_trace("[SIG]BROM CMD"); 982 //clusters[io_x][io_y]->signal_dspin_rsp_brom_t.print_trace("[SIG]BROM RSP"); 983 984 //clusters[io_x][io_y]->bdev->print_trace(); 985 //clusters[io_x][io_y]->signal_vci_tgt_bdev.print_trace("[SIG]BDEV_TGT"); 986 //clusters[io_x][io_y]->signal_vci_ini_bdev.print_trace("[SIG]BDEV_INI"); 983 987 } 984 988
Note: See TracChangeset
for help on using the changeset viewer.