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