SoCRocket
Transaction-Level Modeling Framework for Space Applications
#include <cache_if.h>
Public Types | |
| enum | t_cache_type { icache, dcache, nocache } |
| Data type describing type of cache implementing this interface. More... | |
Public Member Functions | |
| virtual void | flush (sc_core::sc_time *t, unsigned int *debug, bool is_dbg)=0 |
| flush cache More... | |
| virtual void | read_cache_tag (unsigned int address, unsigned int *data, sc_core::sc_time *t)=0 |
| read data cache tags (ASI 0xe) More... | |
| virtual void | write_cache_tag (unsigned int address, unsigned int *data, sc_core::sc_time *t)=0 |
| write data cache tags (ASI 0xe) More... | |
| virtual void | read_cache_entry (unsigned int address, unsigned int *data, sc_core::sc_time *t)=0 |
| read data cache entries/data (ASI 0xf) More... | |
| virtual void | write_cache_entry (unsigned int address, unsigned int *data, sc_core::sc_time *t)=0 |
| write data cache entries/data (ASI 0xf) More... | |
| virtual unsigned int | read_config_reg (sc_core::sc_time *t)=0 |
| read cache configuration register (ASI 0x2) More... | |
| virtual unsigned int | check_mode ()=0 |
| returns the mode bits of the cache More... | |
| virtual t_cache_type | get_cache_type ()=0 |
| Returns type of cache implementing this interface. More... | |
| virtual void | snoop_invalidate (const t_snoop &snoop, const sc_core::sc_time &delay)=0 |
| snooping function (invalidates cache line(s)) More... | |
| virtual void | clkcng (sc_core::sc_time &clk)=0 |
| virtual void | dbg_out (unsigned int line)=0 |
| display of cache lines for debug More... | |
| virtual | ~cache_if () |
Public Member Functions inherited from mem_if | |
| virtual void | mem_write (unsigned int addr, unsigned int asi, unsigned char *data, unsigned int length, sc_core::sc_time *t, unsigned int *debug, bool is_dbg, bool &cacheable, bool is_lock=false) |
| virtual bool | mem_read (unsigned int addr, unsigned int asi, unsigned char *data, unsigned int length, sc_core::sc_time *t, unsigned int *debug, bool is_dbg, bool &cacheable, bool is_lock=false) |
| virtual | ~mem_if () |
|
inlinevirtual |
|
pure virtual |
returns the mode bits of the cache
Implemented in vectorcache, nocache, ivectorcache, and dvectorcache.
|
pure virtual |
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::clkcng().
|
pure virtual |
display of cache lines for debug
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::exec_data().
|
pure virtual |
flush cache
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::exec_data(), mmu_cache::exec_instr(), and mmu_cache_base::write_ccr().
|
pure virtual |
Returns type of cache implementing this interface.
Implemented in vectorcache, nocache, ivectorcache, and dvectorcache.
|
pure virtual |
read data cache entries/data (ASI 0xf)
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::exec_data().
|
pure virtual |
read data cache tags (ASI 0xe)
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::exec_data().
|
pure virtual |
read cache configuration register (ASI 0x2)
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::exec_data().
|
pure virtual |
snooping function (invalidates cache line(s))
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::snoopingCallBack().
|
pure virtual |
write data cache entries/data (ASI 0xf)
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::exec_data().
|
pure virtual |
write data cache tags (ASI 0xe)
Implemented in vectorcache, and nocache.
Referenced by mmu_cache_base::exec_data().