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().