Mercurial > pygar
diff modules/bluespec/Pygar/lab4/ProcessorSystemRRR.h @ 8:74716e9a81cc pygar svn.9
[svn r9] Pygar now has the proper directory structure to play nicely with awb. Also, the apm file for audio-core willcompile successfully.
author | rlm |
---|---|
date | Fri, 23 Apr 2010 02:32:05 -0400 |
parents | |
children |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/modules/bluespec/Pygar/lab4/ProcessorSystemRRR.h Fri Apr 23 02:32:05 2010 -0400 1.3 @@ -0,0 +1,53 @@ 1.4 + 1.5 +#ifndef _PROCESSORSYSTEMRRR_ 1.6 +#define _PROCESSORSYSTEMRRR_ 1.7 + 1.8 +#include <stdio.h> 1.9 +#include <sys/time.h> 1.10 + 1.11 +#include "asim/provides/low_level_platform_interface.h" 1.12 +#include "asim/provides/funcp_simulated_memory.h" 1.13 +#include "asim/provides/rrr.h" 1.14 + 1.15 + 1.16 + 1.17 +typedef class PROCESSORSYSTEMRRR_SERVER_CLASS* PROCESSORSYSTEMRRR_SERVER; 1.18 +class PROCESSORSYSTEMRRR_SERVER_CLASS: public RRR_SERVER_CLASS, public PLATFORMS_MODULE_CLASS 1.19 +{ 1.20 + private: 1.21 + // self-instantiation 1.22 + static PROCESSORSYSTEMRRR_SERVER_CLASS instance; 1.23 + FUNCP_SIMULATED_MEMORY_CLASS *memory; 1.24 + 1.25 + 1.26 + // server stub 1.27 + RRR_SERVER_STUB serverStub; 1.28 + 1.29 + int count; 1.30 + 1.31 + public: 1.32 + PROCESSORSYSTEMRRR_SERVER_CLASS(); 1.33 + ~PROCESSORSYSTEMRRR_SERVER_CLASS(); 1.34 + 1.35 + // static methods 1.36 + static PROCESSORSYSTEMRRR_SERVER GetInstance() { return &instance; } 1.37 + 1.38 + // required RRR methods 1.39 + void Init(PLATFORMS_MODULE); 1.40 + void Uninit(); 1.41 + void Cleanup(); 1.42 + 1.43 + // 1.44 + // RRR service methods 1.45 + // 1.46 + 1.47 + UINT32 MemoryRequestLoad (UINT32 address); 1.48 + void MemoryRequestStore (UINT32 address, UINT32 data); 1.49 +}; 1.50 + 1.51 + 1.52 + 1.53 +// include server stub 1.54 +#include "asim/rrr/server_stub_PROCESSORSYSTEMRRR.h" 1.55 + 1.56 +#endif