Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Types | Public Member Functions | List of all members
cache_if Class Referenceabstract

#include <cache_if.h>

Inheritance diagram for cache_if:
Collaboration diagram for cache_if:

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

Member Enumeration Documentation

Data type describing type of cache implementing this interface.

Enumerator
icache 
dcache 
nocache 

Constructor & Destructor Documentation

virtual cache_if::~cache_if ( )
inlinevirtual

Member Function Documentation

virtual unsigned int cache_if::check_mode ( )
pure virtual

returns the mode bits of the cache

Implemented in vectorcache, nocache, ivectorcache, and dvectorcache.

virtual void cache_if::clkcng ( sc_core::sc_time &  clk)
pure virtual

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::clkcng().

virtual void cache_if::dbg_out ( unsigned int  line)
pure virtual

display of cache lines for debug

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::exec_data().

virtual void cache_if::flush ( sc_core::sc_time *  t,
unsigned int debug,
bool  is_dbg 
)
pure virtual
virtual t_cache_type cache_if::get_cache_type ( )
pure virtual

Returns type of cache implementing this interface.

Implemented in vectorcache, nocache, ivectorcache, and dvectorcache.

virtual void cache_if::read_cache_entry ( unsigned int  address,
unsigned int data,
sc_core::sc_time *  t 
)
pure virtual

read data cache entries/data (ASI 0xf)

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::exec_data().

virtual void cache_if::read_cache_tag ( unsigned int  address,
unsigned int data,
sc_core::sc_time *  t 
)
pure virtual

read data cache tags (ASI 0xe)

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::exec_data().

virtual unsigned int cache_if::read_config_reg ( sc_core::sc_time *  t)
pure virtual

read cache configuration register (ASI 0x2)

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::exec_data().

virtual void cache_if::snoop_invalidate ( const t_snoop snoop,
const sc_core::sc_time &  delay 
)
pure virtual

snooping function (invalidates cache line(s))

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::snoopingCallBack().

virtual void cache_if::write_cache_entry ( unsigned int  address,
unsigned int data,
sc_core::sc_time *  t 
)
pure virtual

write data cache entries/data (ASI 0xf)

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::exec_data().

virtual void cache_if::write_cache_tag ( unsigned int  address,
unsigned int data,
sc_core::sc_time *  t 
)
pure virtual

write data cache tags (ASI 0xe)

Implemented in vectorcache, and nocache.

Referenced by mmu_cache_base::exec_data().


The documentation for this class was generated from the following file: