- Timestamp:
- Jun 1, 2010, 1:49:54 AM (15 years ago)
- Location:
- trunk/modules
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/vci_cc_vcache_wrapper2_multi/caba/source/include/vci_cc_vcache_wrapper2_multi.h
r4 r37 393 393 sc_signal<bool> r_vci_rsp_ins_ok; 394 394 sc_signal<bool> r_vci_rsp_data_ok; 395 sc_signal<bool> r_dcache_tlb_sc_fail; 395 396 396 397 data_t *r_icache_miss_buf; -
trunk/modules/vci_cc_vcache_wrapper2_multi/caba/source/src/vci_cc_vcache_wrapper2_multi.cpp
r18 r37 279 279 r_vci_rsp_ins_ok("r_vci_rsp_ins_ok"), 280 280 r_vci_rsp_data_ok("r_vci_rsp_data_ok"), 281 r_dcache_tlb_sc_fail("r_dcache_tlb_sc_fail"), 281 282 282 283 r_vci_tgt_fsm("r_vci_tgt_fsm"), … … 520 521 521 522 r_dcache_cc_check = false; 523 r_dcache_tlb_sc_fail = false; 522 524 523 525 // activity counters … … 3000 3002 r_dcache_inval_tlb_rsp = false; 3001 3003 r_dcache_fsm = DCACHE_IDLE; 3004 if ( r_dcache_tlb_sc_fail ) r_dcache_tlb_sc_fail = false; 3002 3005 m_cost_data_tlb_miss_frz++; 3003 3006 } … … 3006 3009 r_dcache_inval_rsp = false; 3007 3010 r_dcache_fsm = DCACHE_IDLE; 3011 if ( r_dcache_tlb_sc_fail ) r_dcache_tlb_sc_fail = false; 3008 3012 } 3009 else if ( r_dcache_tlb_ ll_dirty_req)3013 else if ( r_dcache_tlb_sc_fail ) 3010 3014 { 3015 r_dcache_tlb_ll_dirty_req = true; 3011 3016 r_vci_rsp_data_ok = false; 3017 r_dcache_tlb_sc_fail = false; 3012 3018 r_dcache_fsm = DCACHE_LL_DIRTY_WAIT; 3013 3019 } … … 3245 3251 r_dcache_inval_tlb_rsp = false; 3246 3252 r_dcache_fsm = DCACHE_IDLE; 3253 if ( r_dcache_tlb_sc_fail ) r_dcache_tlb_sc_fail = false; 3247 3254 m_cost_data_tlb_miss_frz++; 3248 3255 } … … 3251 3258 r_dcache_inval_rsp = false; 3252 3259 r_dcache_fsm = DCACHE_IDLE; 3260 if ( r_dcache_tlb_sc_fail ) r_dcache_tlb_sc_fail = false; 3253 3261 } 3254 else if ( r_dcache_tlb_ ll_acc_req)3262 else if ( r_dcache_tlb_sc_fail ) 3255 3263 { 3264 r_dcache_tlb_ll_acc_req = true; 3256 3265 r_vci_rsp_data_ok = false; 3266 r_dcache_tlb_sc_fail = false; 3257 3267 r_dcache_fsm = DCACHE_TLB1_LL_WAIT; 3258 3268 } … … 3717 3727 r_dcache_inval_tlb_rsp = false; 3718 3728 r_dcache_fsm = DCACHE_IDLE; 3729 if ( r_dcache_tlb_sc_fail ) r_dcache_tlb_sc_fail = false; 3719 3730 m_cost_data_tlb_miss_frz++; 3720 3731 } … … 3723 3734 r_dcache_inval_rsp = false; 3724 3735 r_dcache_fsm = DCACHE_IDLE; 3736 if ( r_dcache_tlb_sc_fail ) r_dcache_tlb_sc_fail = false; 3725 3737 } 3726 else if ( r_dcache_tlb_ ll_acc_req)3738 else if ( r_dcache_tlb_sc_fail ) 3727 3739 { 3740 r_dcache_tlb_ll_acc_req = true; 3741 r_dcache_tlb_sc_fail = false; 3728 3742 r_vci_rsp_data_ok = false; 3729 3743 r_dcache_fsm = DCACHE_TLB2_LL_WAIT; … … 4685 4699 r_dcache_inval_rsp = false; 4686 4700 r_dcache_fsm = DCACHE_IDLE; 4701 if ( r_dcache_tlb_sc_fail ) r_dcache_tlb_sc_fail = false; 4687 4702 m_cost_data_tlb_miss_frz++; 4688 4703 } 4689 else if ( r_dcache_ itlb_ll_acc_req)4704 else if ( r_dcache_tlb_sc_fail ) 4690 4705 { 4706 r_dcache_itlb_ll_acc_req = true; 4691 4707 r_vci_rsp_data_ok = false; 4708 r_dcache_tlb_sc_fail = false; 4692 4709 r_dcache_fsm = DCACHE_ITLB_LL_WAIT; 4693 4710 } … … 5291 5308 else if ( p_vci_ini_rw.rdata.read() == 1 ) // store conditional is not successful 5292 5309 { 5293 r_dcache_ itlb_ll_acc_req= true;5310 r_dcache_tlb_sc_fail = true; 5294 5311 } 5295 5312 r_vci_rsp_data_ok = true; … … 5394 5411 else if ( p_vci_ini_rw.rdata.read() == 1 ) // store conditional is not successful 5395 5412 { 5396 r_dcache_tlb_ ll_acc_req= true;5413 r_dcache_tlb_sc_fail = true; 5397 5414 } 5398 5415 r_vci_rsp_data_ok = true; … … 5432 5449 else if ( p_vci_ini_rw.rdata.read() == 1 ) // store conditional is not successful 5433 5450 { 5434 r_dcache_tlb_ ll_dirty_req= true;5451 r_dcache_tlb_sc_fail = true; 5435 5452 } 5436 5453 r_vci_rsp_data_ok = true; -
trunk/modules/vci_cc_vcache_wrapper2_v1/caba/source/include/vci_cc_vcache_wrapper2_v1.h
r2 r37 373 373 sc_signal<bool> r_vci_rsp_ins_error; 374 374 sc_signal<bool> r_vci_rsp_data_error; 375 sc_signal<bool> r_dcache_tlb_sc_fail; 375 376 376 377 data_t *r_icache_miss_buf; -
trunk/modules/vci_cc_vcache_wrapper2_v1/caba/source/src/vci_cc_vcache_wrapper2_v1.cpp
r13 r37 275 275 r_vci_rsp_ins_error("r_vci_rsp_ins_error"), 276 276 r_vci_rsp_data_error("r_vci_rsp_data_error"), 277 r_dcache_tlb_sc_fail("r_dcache_tlb_sc_fail"), 277 278 278 279 r_vci_tgt_fsm("r_vci_tgt_fsm"), … … 514 515 515 516 r_dcache_cc_check = false; 517 r_dcache_tlb_sc_fail = false; 516 518 517 519 // activity counters … … 3006 3008 3007 3009 if (r_dcache_inval_tlb_rsp) r_dcache_inval_tlb_rsp = false; 3008 if (r_dcache_inval_rsp) r_dcache_inval_rsp = false; } 3010 if (r_dcache_inval_rsp) r_dcache_inval_rsp = false; 3011 } 3009 3012 else 3010 3013 { … … 3014 3017 r_dcache_inval_tlb_rsp = false; 3015 3018 r_dcache_fsm = DCACHE_IDLE; 3019 if (r_dcache_tlb_sc_fail) r_dcache_tlb_sc_fail = false; 3016 3020 m_cost_data_tlb_miss_frz++; 3017 3021 } … … 3019 3023 { 3020 3024 r_dcache_inval_rsp = false; 3025 if (r_dcache_tlb_sc_fail) r_dcache_tlb_sc_fail = false; 3021 3026 r_dcache_fsm = DCACHE_IDLE; 3022 3027 } 3023 else if ( r_dcache_tlb_ ll_dirty_req)3028 else if ( r_dcache_tlb_sc_fail ) 3024 3029 { 3030 r_dcache_tlb_ll_dirty_req = true; 3031 r_dcache_tlb_sc_fail = false; 3025 3032 r_dcache_fsm = DCACHE_LL_DIRTY_WAIT; 3026 3033 } … … 3252 3259 r_dcache_inval_tlb_rsp = false; 3253 3260 r_dcache_fsm = DCACHE_IDLE; 3261 if (r_dcache_tlb_sc_fail) r_dcache_tlb_sc_fail = false; 3254 3262 m_cost_data_tlb_miss_frz++; 3255 3263 } … … 3257 3265 { 3258 3266 r_dcache_inval_rsp = false; 3267 if (r_dcache_tlb_sc_fail) r_dcache_tlb_sc_fail = false; 3259 3268 r_dcache_fsm = DCACHE_IDLE; 3260 3269 } 3261 else if ( r_dcache_tlb_ ll_acc_req)3270 else if ( r_dcache_tlb_sc_fail ) 3262 3271 { 3272 r_dcache_tlb_sc_fail = false; 3273 r_dcache_tlb_ll_acc_req = true; 3263 3274 r_dcache_fsm = DCACHE_TLB1_LL_WAIT; 3264 3275 } … … 3713 3724 { 3714 3725 r_dcache_inval_tlb_rsp = false; 3726 if (r_dcache_tlb_sc_fail) r_dcache_tlb_sc_fail = false; 3715 3727 r_dcache_fsm = DCACHE_IDLE; 3716 3728 m_cost_data_tlb_miss_frz++; … … 3719 3731 { 3720 3732 r_dcache_inval_rsp = false; 3733 if (r_dcache_tlb_sc_fail) r_dcache_tlb_sc_fail = false; 3721 3734 r_dcache_fsm = DCACHE_IDLE; 3722 3735 } 3723 else if ( r_dcache_tlb_ ll_acc_req)3736 else if ( r_dcache_tlb_sc_fail ) 3724 3737 { 3738 r_dcache_tlb_ll_acc_req = true; 3739 r_dcache_tlb_sc_fail = false; 3725 3740 r_dcache_fsm = DCACHE_TLB2_LL_WAIT; 3726 3741 } … … 4676 4691 r_dcache_inval_rsp = false; 4677 4692 r_dcache_fsm = DCACHE_IDLE; 4693 if (r_dcache_tlb_sc_fail) r_dcache_tlb_sc_fail = false; 4678 4694 m_cost_data_tlb_miss_frz++; 4679 4695 } 4680 else if ( r_dcache_ itlb_ll_acc_req)4696 else if ( r_dcache_tlb_sc_fail ) 4681 4697 { 4698 r_dcache_tlb_sc_fail = false; 4699 r_dcache_itlb_ll_acc_req = true; 4682 4700 r_dcache_fsm = DCACHE_ITLB_LL_WAIT; 4683 4701 } … … 5226 5244 else if ( p_vci_ini_rw.rdata.read() == 1 ) // store conditional is not successful 5227 5245 { 5228 r_dcache_itlb_ll_acc_req = true; 5246 r_dcache_tlb_sc_fail = true; 5247 //r_dcache_itlb_ll_acc_req = true; 5229 5248 } 5230 5249 r_dcache_itlb_sc_acc_req = false; … … 5330 5349 else if ( p_vci_ini_rw.rdata.read() == 1 ) // store conditional is not successful 5331 5350 { 5332 r_dcache_tlb_ll_acc_req = true; 5351 r_dcache_tlb_sc_fail = true; 5352 //r_dcache_tlb_ll_acc_req = true; 5333 5353 } 5334 5354 r_dcache_tlb_sc_acc_req = false; … … 5368 5388 else if ( p_vci_ini_rw.rdata.read() == 1 ) // store conditional is not successful 5369 5389 { 5370 r_dcache_tlb_ll_dirty_req = true; 5390 r_dcache_tlb_sc_fail = true; 5391 //r_dcache_tlb_ll_dirty_req = true; 5371 5392 } 5372 5393 r_dcache_tlb_sc_dirty_req = false;
Note: See TracChangeset
for help on using the changeset viewer.