Mercurial > pygar
annotate modules/bluespec/Pygar/lab4/ProcessorSystemRRR.h @ 75:a15cc186e07d pygar svn.76
[svn r76] should be fully parameterized for however many cores we want (not fully tested)
author | punk |
---|---|
date | Wed, 12 May 2010 03:14:53 -0400 |
parents | 74716e9a81cc |
children |
rev | line source |
---|---|
rlm@8 | 1 |
rlm@8 | 2 #ifndef _PROCESSORSYSTEMRRR_ |
rlm@8 | 3 #define _PROCESSORSYSTEMRRR_ |
rlm@8 | 4 |
rlm@8 | 5 #include <stdio.h> |
rlm@8 | 6 #include <sys/time.h> |
rlm@8 | 7 |
rlm@8 | 8 #include "asim/provides/low_level_platform_interface.h" |
rlm@8 | 9 #include "asim/provides/funcp_simulated_memory.h" |
rlm@8 | 10 #include "asim/provides/rrr.h" |
rlm@8 | 11 |
rlm@8 | 12 |
rlm@8 | 13 |
rlm@8 | 14 typedef class PROCESSORSYSTEMRRR_SERVER_CLASS* PROCESSORSYSTEMRRR_SERVER; |
rlm@8 | 15 class PROCESSORSYSTEMRRR_SERVER_CLASS: public RRR_SERVER_CLASS, public PLATFORMS_MODULE_CLASS |
rlm@8 | 16 { |
rlm@8 | 17 private: |
rlm@8 | 18 // self-instantiation |
rlm@8 | 19 static PROCESSORSYSTEMRRR_SERVER_CLASS instance; |
rlm@8 | 20 FUNCP_SIMULATED_MEMORY_CLASS *memory; |
rlm@8 | 21 |
rlm@8 | 22 |
rlm@8 | 23 // server stub |
rlm@8 | 24 RRR_SERVER_STUB serverStub; |
rlm@8 | 25 |
rlm@8 | 26 int count; |
rlm@8 | 27 |
rlm@8 | 28 public: |
rlm@8 | 29 PROCESSORSYSTEMRRR_SERVER_CLASS(); |
rlm@8 | 30 ~PROCESSORSYSTEMRRR_SERVER_CLASS(); |
rlm@8 | 31 |
rlm@8 | 32 // static methods |
rlm@8 | 33 static PROCESSORSYSTEMRRR_SERVER GetInstance() { return &instance; } |
rlm@8 | 34 |
rlm@8 | 35 // required RRR methods |
rlm@8 | 36 void Init(PLATFORMS_MODULE); |
rlm@8 | 37 void Uninit(); |
rlm@8 | 38 void Cleanup(); |
rlm@8 | 39 |
rlm@8 | 40 // |
rlm@8 | 41 // RRR service methods |
rlm@8 | 42 // |
rlm@8 | 43 |
rlm@8 | 44 UINT32 MemoryRequestLoad (UINT32 address); |
rlm@8 | 45 void MemoryRequestStore (UINT32 address, UINT32 data); |
rlm@8 | 46 }; |
rlm@8 | 47 |
rlm@8 | 48 |
rlm@8 | 49 |
rlm@8 | 50 // include server stub |
rlm@8 | 51 #include "asim/rrr/server_stub_PROCESSORSYSTEMRRR.h" |
rlm@8 | 52 |
rlm@8 | 53 #endif |