Ignore:
Timestamp:
Feb 28, 2014, 4:45:35 PM (10 years ago)
Author:
haoliu
Message:

(RWT) merging the lastest modification in trunk:

Modification in vci_cc_vcache_wrapper:
a) Non cacheable write request will not any more be sent by multi_write_buffer.

A write non cacheable access is retreated with a synchronous way, like the
read non cacheable access. When Cache L1 receives a write non cacheable request,
it will block the processor until the response of this request arrives.
The advantage of this method is that the cache L1 can supply the virtual address
to OS when it receives a bus error response.

b) In VCI_CMD_STATE, the unc_read request will not check the multi_write_buffer for

an matching address. But the CAS and SC request must be check this point
before sent to the target.

Modifcation in vci_mem_cache:
Change an assert in memcache for the modification in cache L1(UNC WRITE)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/RWT/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp

    r644 r646  
    14041404                            // ==> TYPE_WRITE = X100 with the TSAR encoding
    14051405                            // ==> mask = 0b0111 = 0x7
    1406                             assert(((p_vci_tgt.pktid.read() & 0x7) == 0x4) and
     1406                            assert(((p_vci_tgt.pktid.read() & 0x7) == 0x4 or (p_vci_tgt.pktid.read() == 0x0)) and
    14071407                                    "The type specified in the pktid field is incompatible with the WRITE CMD");
    14081408                            r_tgt_cmd_fsm = TGT_CMD_WRITE;
Note: See TracChangeset for help on using the changeset viewer.