00001 #ifndef _AC_CACHE_IF_H 00002 #define _AC_CACHE_IF_H 00003 00004 #include "ac_parms.H" 00005 00006 class ac_cache_if { 00007 public: 00008 virtual void request_block(ac_cache_if* client, unsigned address, unsigned size_bytes) = 0; 00009 virtual void request_write_byte(ac_cache_if* client, unsigned address, unsigned char datum) = 0; 00010 virtual void request_write_half(ac_cache_if* client, unsigned address, unsigned short datum) = 0; 00011 virtual void request_write(ac_cache_if* client, unsigned address, ac_word datum) = 0; 00012 virtual void request_write_block(ac_cache_if* client, unsigned address, char* datum, unsigned size_bytes) = 0; 00013 00014 virtual void response_block(char* block) = 0; 00015 virtual void response_write_byte() = 0; 00016 virtual void response_write_half() = 0; 00017 virtual void response_write() = 0; 00018 virtual void response_write_block() = 0; 00019 00020 virtual void bindToNext(ac_cache_if& next) = 0; 00021 virtual void bindToPrevious(ac_cache_if& previous) = 0; 00022 00023 00024 }; 00025 00026 void bind(ac_cache_if& previous, ac_cache_if& next); 00027 00028 #endif