Changeset 479 for branches/ODCCP/modules/vci_mem_cache/caba/source/include
- Timestamp:
- Jul 29, 2013, 11:31:38 AM (11 years ago)
- Location:
- branches/ODCCP/modules/vci_mem_cache
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ODCCP/modules/vci_mem_cache
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/trunk/modules/vci_mem_cache merged eligible /branches/v5/modules/vci_mem_cache 441-467
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/ODCCP/modules/vci_mem_cache/caba/source/include/vci_mem_cache.h
r460 r479 54 54 #define TRT_ENTRIES 4 // Number of entries in TRT 55 55 #define UPT_ENTRIES 4 // Number of entries in UPT 56 #define IVT_ENTRIES 4 // Number of entries in IVT 56 57 #define HEAP_ENTRIES 1024 // Number of entries in HEAP 57 58 … … 122 123 CC_SEND_WRITE_IDLE, 123 124 CC_SEND_CAS_IDLE, 124 CC_SEND_CLEANUP_IDLE,125 125 CC_SEND_CONFIG_INVAL_HEADER, 126 126 CC_SEND_CONFIG_INVAL_NLINE, 127 127 CC_SEND_CONFIG_BRDCAST_HEADER, 128 128 CC_SEND_CONFIG_BRDCAST_NLINE, 129 CC_SEND_CLEANUP_ACK,130 129 CC_SEND_XRAM_RSP_BRDCAST_HEADER, 131 130 CC_SEND_XRAM_RSP_BRDCAST_NLINE, … … 163 162 CONFIG_DIR_REQ, 164 163 CONFIG_DIR_ACCESS, 165 CONFIG_DIR_ UPT_LOCK,164 CONFIG_DIR_IVT_LOCK, 166 165 CONFIG_BC_SEND, 167 166 CONFIG_BC_WAIT, … … 211 210 WRITE_MISS_XRAM_REQ, 212 211 WRITE_BC_TRT_LOCK, 213 WRITE_BC_ UPT_LOCK,212 WRITE_BC_IVT_LOCK, 214 213 WRITE_BC_DIR_INVAL, 215 214 WRITE_BC_CC_SEND, … … 255 254 IXR_CMD_XRAM_IDLE, 256 255 IXR_CMD_CLEANUP_IDLE, 256 IXR_CMD_TRT_LOCK, 257 257 IXR_CMD_READ, 258 258 IXR_CMD_WRITE, … … 276 276 CAS_UPT_NEXT, 277 277 CAS_BC_TRT_LOCK, 278 CAS_BC_ UPT_LOCK,278 CAS_BC_IVT_LOCK, 279 279 CAS_BC_DIR_INVAL, 280 280 CAS_BC_CC_SEND, … … 302 302 CLEANUP_HEAP_CLEAN, 303 303 CLEANUP_HEAP_FREE, 304 CLEANUP_ UPT_LOCK,305 CLEANUP_ UPT_DECREMENT,306 CLEANUP_ UPT_CLEAR,304 CLEANUP_IVT_LOCK, 305 CLEANUP_IVT_DECREMENT, 306 CLEANUP_IVT_CLEAR, 307 307 CLEANUP_WRITE_RSP, 308 308 CLEANUP_CONFIG_ACK, … … 332 332 ALLOC_TRT_XRAM_RSP, 333 333 ALLOC_TRT_IXR_RSP, 334 ALLOC_TRT_CLEANUP 334 ALLOC_TRT_CLEANUP, 335 ALLOC_TRT_IXR_CMD 335 336 }; 336 337 … … 338 339 enum alloc_upt_fsm_state_e 339 340 { 340 ALLOC_UPT_CONFIG,341 341 ALLOC_UPT_WRITE, 342 ALLOC_UPT_XRAM_RSP, 343 ALLOC_UPT_MULTI_ACK, 344 ALLOC_UPT_CLEANUP, 345 ALLOC_UPT_CAS 342 ALLOC_UPT_CAS, 343 ALLOC_UPT_MULTI_ACK 344 }; 345 346 /* States of the ALLOC_IVT fsm */ 347 enum alloc_ivt_fsm_state_e 348 { 349 ALLOC_IVT_WRITE, 350 ALLOC_IVT_XRAM_RSP, 351 ALLOC_IVT_CLEANUP, 352 ALLOC_IVT_CAS, 353 ALLOC_IVT_CONFIG 346 354 }; 347 355 … … 492 500 uint32_t m_cpt_cas_fsm_upt_used; // NB cycles UPT LOCK used 493 501 494 uint32_t m_cpt_ upt_unused; // NB cycles UPT LOCK unused502 uint32_t m_cpt_ivt_unused; // NB cycles UPT LOCK unused 495 503 496 504 uint32_t m_cpt_read_fsm_heap_lock; // wait HEAP LOCK … … 536 544 soclib::caba::VciTarget<vci_param_int> p_vci_tgt; 537 545 soclib::caba::VciInitiator<vci_param_ext> p_vci_ixr; 538 soclib::caba::DspinInput<dspin_in_width> p_dspin_in; 539 soclib::caba::DspinOutput<dspin_out_width> p_dspin_out; 546 soclib::caba::DspinInput<dspin_in_width> p_dspin_p2m; 547 soclib::caba::DspinOutput<dspin_out_width> p_dspin_m2p; 548 soclib::caba::DspinOutput<dspin_out_width> p_dspin_clack; 540 549 541 550 VciMemCache( … … 553 562 const size_t trt_lines=TRT_ENTRIES, 554 563 const size_t upt_lines=UPT_ENTRIES, 564 const size_t ivt_lines=IVT_ENTRIES, 555 565 const size_t debug_start_cycle=0, 556 566 const bool debug_ok=false ); … … 588 598 TransactionTab m_trt; // xram transaction table 589 599 uint32_t m_upt_lines; 590 UpdateTab m_upt; // pending update & invalidate 600 UpdateTab m_upt; // pending update 601 UpdateTab m_ivt; // pending invalidate 591 602 CacheDirectory m_cache_directory; // data cache directory 592 603 CacheData m_cache_data; // data array[set][way][word] … … 677 688 sc_signal<size_t> r_config_heap_next; // current pointer to scan HEAP 678 689 679 sc_signal<size_t> r_config_ upt_index; // UPT index690 sc_signal<size_t> r_config_ivt_index; // IVT index 680 691 681 692 // Buffer between CONFIG fsm and TGT_RSP fsm (send a done response to L1 cache) … … 866 877 sc_signal<size_t> r_cleanup_to_tgt_rsp_pktid; // transaction pktid 867 878 868 // Buffer between CLEANUP fsm and CC_SEND fsm (acknowledge a cleanup command from L1)869 sc_signal<bool> r_cleanup_to_cc_send_req; // valid request870 sc_signal<size_t> r_cleanup_to_cc_send_srcid; // L1 srcid871 sc_signal<size_t> r_cleanup_to_cc_send_set_index; // L1 set index872 sc_signal<size_t> r_cleanup_to_cc_send_way_index; // L1 way index873 sc_signal<bool> r_cleanup_to_cc_send_inst; // Instruction Cleanup Ack874 875 879 /////////////////////////////////////////////////////// 876 880 // Registers controlled by CAS fsm … … 960 964 sc_signal<size_t> r_xram_rsp_victim_ptr; // victim line pointer to the heap 961 965 sc_signal<data_t> * r_xram_rsp_victim_data; // victim line data 962 sc_signal<size_t> r_xram_rsp_ upt_index; // UPT entry index966 sc_signal<size_t> r_xram_rsp_ivt_index; // IVT entry index 963 967 sc_signal<size_t> r_xram_rsp_next_ptr; // Next pointer to the heap 964 968 … … 1041 1045 1042 1046 //////////////////////////////////////////////////// 1047 // Registers controlled by ALLOC_IVT fsm 1048 //////////////////////////////////////////////////// 1049 1050 sc_signal<int> r_alloc_ivt_fsm; 1051 1052 //////////////////////////////////////////////////// 1043 1053 // Registers controlled by ALLOC_HEAP fsm 1044 1054 //////////////////////////////////////////////////// … … 1056 1066 sc_signal<uint32_t> r_cleanup_pktid; 1057 1067 sc_signal<data_t> *r_cleanup_data; // buffer for saving data from cleanup 1068 sc_signal<data_t> *r_ixr_cmd_data; // buffer for saving data from cleanup 1058 1069 sc_signal<bool> r_cleanup_contains_data; 1059 1070 sc_signal<bool> r_cleanup_ncc;
Note: See TracChangeset
for help on using the changeset viewer.